CN113435949B - 基于智能合约的去中心化联邦机器学习方法、系统及存储介质 - Google Patents
基于智能合约的去中心化联邦机器学习方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113435949B CN113435949B CN202111000056.3A CN202111000056A CN113435949B CN 113435949 B CN113435949 B CN 113435949B CN 202111000056 A CN202111000056 A CN 202111000056A CN 113435949 B CN113435949 B CN 113435949B
- Authority
- CN
- China
- Prior art keywords
- model
- election
- committee
- nodes
- intelligent contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0226—Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于智能合约的去中心化联邦机器学习方法、系统及存储介质,该方法包括选举阶段、购买阶段和工作阶段:在选举阶段,由旧委员会节点触发选举阶段之后,智能合约平台从旧委员会节点接收选举参数并记录,基于接收的选举参数确定最终选举参数并向各节点通知选举事件,智能合约平台接收参与选举的节点发送的保证金,对参与节点进行排序并基于排序确定出新委员会节点;在购买阶段,接收多个新委员会节点发送的合并模型价格,并基于接收的合并模型价格以投票方式确定最终合并模型价格,并接收各参与训练的节点提交的子模型以及支付的最终合并模型价格;在工作阶段,用于进行对并模型的共识,所述工作阶段包括至少一轮模型验证和合并步骤。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及去中心化的分布式系统,具体涉及一种基于智能合约的去中心化联邦机器学习方法和系统。
背景技术
随着数字技术进入快速发展时期,大数据、人工智能等技术正在引领爆炸性发展,为传统模式的升级和改革带来了新的机遇。一方面,人工智能算法提高了传统的工作效率;另一方面,它们也给数据和网络安全带来了新的挑战。数据岛的问题是一个关键的挑战之一。
智能算法模型的训练需要大量的数据,但对于一些私人数据,如银行数据、医疗数据等,数据收集非常困难。谷歌在2016年提出了联邦机器学习,它可以在没有数据共享的情况下训练模型。联邦机器学习是一种机器学习方法,参与者都可以通过训练子模型的方式达成训练整体模型的目的。参与设备在中央服务器的协调下协同训练模型,同时保持训练数据的分散。用户在本地训练子模型,并将其发送到可信的第三方进行模型合并。与此同时,谷歌提出了两种联邦机器学习算法:FEDSDG和FEDAVG。
谷歌提出的联邦机器学习方法消除了收集所有用户数据的需要,但最近的一些研究发现,存在模型权重将隐私暴露到中心节点的风险等中心化系统的弊端。基于区块链的联邦机器学习是解决这个问题的方法之一。区块链的概念是由中本聪在2008年提出的,是互联网时代的一个创新的应用模型,它应用了分布式数据存储、点对点传输、共识机制、加密算法、时间戳、哈希算法和相关的计算机技术。区块链因其分散、数据不篡改、安全、可靠、可追溯的数据以及集体维护等优点而得到广泛应用。
在联邦机器学习的去中心化探索中,已经有比较不错的整体解决思路。例如,Yuzheng Li等人发表的文章《A Blockchain-Based Decentralized Federated LearningFramework with Committee Consensus》,即通过选举委员会的方式实现了联邦机器学习的去中心化。该方案提出三种模型选举方式,1.以准确率作为权重选举委员会;2.随机选举委员会;3.多种要素选举委员会。该方案同时提出在一种奖励机制,即通过奖励高准确率贡献节点,同时提出了模型的访问费用概念。
然而,现有的联邦机器学习的去中心化系统无法解决选举委员会被恶意攻击的问题。
发明内容
本发明的目的是提供一种去中心化联邦机器学习系统,该系统使用区块链进行全局模型存储和本地模型更新交换。设计了一种委员选举机制,可以有效选举出健壮的委员会,减少恶意攻击。由于传统联邦机器学习依赖于中心服务器,故其存在中心化系统的所有弊端。本发明创造着重解决了联邦机器学习的中心化问题。基于这种去中心化机制,去中心化的联邦机器学习技术得以实现,解决了联邦机器学习的中心化问题。
为解决上述技术问题,本发明提供一种基于智能合约的去中心化联邦机器学习方法,该方法包括选举阶段、购买阶段和工作阶段:
在所述选举阶段,由任一旧委员会节点触发选举阶段之后,智能合约平台从多个旧委员会节点接收选举参数并记录,基于接收的多个选举参数确定最终选举参数并向各节点通知选举事件,智能合约平台接收参与选举的节点发送的保证金,对参与节点进行排序并基于排序确定出新委员会节点;
在所述购买阶段,智能合约平台接收多个新委员会节点发送的合并模型价格,并基于接收的合并模型价格以投票方式确定最终合并模型价格,并在预定时间内接收各参与的节点提交的子模型以及支付的最终合并模型价格;
在所述工作阶段,用于进行对并模型的共识,所述工作阶段包括至少一轮模型验证和合并步骤,每轮模型验证和合并步骤包括:
智能合约平台将接收到的子模型放入待验证队列中以由新委员会节点验证模型的准确性,基于验证结果将准确值大于或等于预定准确性阈值的子模型添加到模型合并队列;
对模型合并队列中的模型进行合并,获得全局模型,上传至全局模型队列中供各节点使用。
在本发明一些实施例中,所述选举阶段包括如下步骤:
由任一旧委员会节点激活选举阶段之后,由智能合约平台向各旧委员会节点通知第一阶段事件并进行初始化操作,并向激活选举阶段的旧委员会节点分发工作积分;
在参与投票的旧委员会节点基于所述第一阶段事件向智能合约平台发送各自的选举参数之后,所述智能合约平台对接收到的选举参数进行排序,基于排序选择选举参数作为选举阶段的参数,并发送第二阶段事件;
智能合约平台接收参与选举的节点基于所述第二阶段事件发送的保证金,基于预定的排名规则对参与选举的节点进行排名,并基于排名选取占系统节点总数的预定比例或预定比例范围的节点作为新委员会节点;
选取出新委员会节点后,智能合约平台对旧委员会节点进行结算并退回选举保证金。
在本发明一些实施例中,所述选举阶段还包括如下步骤:如果参与投票的旧委员会节点数量未达到旧委员会节总量的第一预定比例,则本轮设置阶段作废并重新开始选举阶段;如果参与选举的节点数不足系统节点总数的第二预定比例或预定比例范围的最低值,智能合约平台将开放保证金回退功能,以使得参与选举的节点取回保证金。
在本发明一些实施例中,所述购买阶段还包括如下步骤:所述参与的节点支付的最终合并模型价格作为奖励,由智能合约平台分配给新委员会节点作为奖励;以及由所述新的委员会节点根据模型的特征在模型确定子模型的所述预定准确性阈值。
在本发明一些实施例中,所述预定的排名规则满足以下公式:
在本发明一些实施例中,所述对模型合并队列中的模型进行合并,获得全局模型,上传至全局模型队列中供各节点使用包括以下步骤:
当合并队列内子模型的数量大于所述合并值时,由新委员会节点合并前k个模型,得到全局模型发送给智能合约平台,实施合并的委员会节点获得预定数量的工作积分;以及
智能合约平台分发合并的模型并且验证,需要验证的全局模型存储在全局模型队列中,供节点使用;
所述方法执行多轮次的所述模型验证和合并步骤,直到训练轮数达到指定数目或模型收敛为止。
在本发明一些实施例中,所述工作阶段还包括以下步骤中的一个或多个步骤:
在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差不大于预定的第一百分比值的情况下,该委员会节点获得工作积分;在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差大于所述第二百分比值的情况下,确定验证失败,其中,所述第二百分比值高于所述第一百分比值;在验证失败次数超过委员会节点数量的预定比值的情况下,确定当前委员会节点为恶意节点,清除该委员会节点的账户并将其保证金以按劳分配的方式分发给其他委员会节点;
在委员会节点每次合并模型成功,为该委员会节点分配工作积分;
在委员会节点的合并模型未通过验证的情况下,扣除该委员会节点在当前轮次中的收入。
在本发明一些实施例中,发送方节点与接收方之间通过Swarm网络进行去中心化的文件传送,文件传送的步骤包括:
发送方将文件传送至Swarm网络,从所述Swarm网络获取SwarmID;
当前节点调用智能合约相关函数将SwarmID与接收方的地址上传至智能合约平台;
智能合约平台通过事件的方式通知所有监听者;
作为监听者的接收方收到事件后,调用智能合约取回SwarmID,智能合约平台基于SwarmID进行验证;
接收方根据SwarmID向Swarm网络获取文件实体。
在本发明一些实施例中,参与训练的普通节点向智能合约平台注册节点信息,每一轮训练开始,缴纳购买模型的对应金钱,通过逻辑器与去智能合约平台进行子模型交互,训练结束,普通节点将会获得最新训练模型,往复循环这个过程最终不断迭代模型,进而不断提高模型训练精度。
本发明还提供一种基于智能合约的去中心化联邦机器学习系统,所述系统包含智能合约平台,所述智能合约平台为具有有智能合约功能的区块链平台;所述智能合约平台中包括多方处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时所述系统实现如前所述方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述方法的步骤。
相对于现有的去中心化分布式系统,本发明提供的基于智能合约的去中心化联邦机器学习方法和系统从选举机制做出了创新,从而可以选举出更健壮的委员会,从而提高防止委员会被恶意攻击的能力。
进一步地,在委员会选举方面,引入了保证金机制。在模型分数差距不大时,可以选举出更加健壮的委员会。同时由于base参数的引用,使得恶意节点通过保证金攻击的方法变得困难;
此外,采用仅系统委员会节点的激励机制,非委员会成员需要购买模型,其费用用以激励委员会节点。
此外,通过采用以工作积分为基础的按劳分配方式,具体且公平地实现了激励机制。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
图1为本发明一实施例中去中心化联邦机器学习方法的流程示意图。
图2为本发明另一实施例中去中心化联邦机器学习方法流程示意图。
图3为本发明一实施例中提供的去中心化联邦机器学习系统中选举模块流程示意图。
图4为本发明一实施例中提供的去中心化联邦机器学习系统工作模块流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
为了解决现有技术存在的问题,本发明提出了一种将基于区块链的智能合约应用于联邦机器学习的去中心化机制,该方案使用区块链进行全局模型存储和本地模型更新交换,设计了一种委员选举机制,可以有效选举出健壮的委员会,从而减少恶意攻击。
作为示例,为了实现各个节点之间的去中心化,本发明的技术方案设计了基于以太坊智能合约的去中心化机制,同时使用了基于Swarm网络与智能合约的文件管理方式,也即本发明基于区块链的联邦机器学习使用以太坊智能合约构建了一个基于去中心化机制的去中心化的分布式系统(简称去中心化系统,或称为去中心化联邦机器学习系统)。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。基于区块链的智能合约是区块链网络上可以自动执行的脚本,其一旦部署在区块链网络上,它内部的公开函数都可以被其他任何人调用。以太坊智能合约平台是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币提供去中心化的以太虚拟机来处理点对点合约。Swarm网络是由以太坊基金会主导和开发的一种分布式存储网络,用于提供去中心化的内容存储、内容分布和分发服务,通过Swarm网络能为以太坊网络应用提供服务支持。本发明实施例中,以太坊智能合约平台仅为示例,但并不限于此,本发明同样适用于其他的智能合约平台。
该去中心化系统采用基于准确率与保证金权重的委员会机制、模型验证与合并机制和节点奖惩机制。在节点训练本地模型或合并全局模型后,本发明通过去中心化系统完成模型的迭代,去中心化系统内含模型合并节点选择的共识算法、模型验证算法、奖惩算法等。本发明的去中心化机制中存在两个角色:委员会节点和普通节点。委员会节点是去中心化的核心,从普通节点中通过一定的方式竞选而来,它控制着系统的运行。委员会节点会根据其工作量获得普通节点投入的购买费用。
本发明的去中心化分布式系统有两个组成部分,它们分别是智能合约部分以及逻辑器部分。其中,智能合约部分主要实现去中心化功能,而逻辑器部分主要实现与智能合约部分的沟通以及去中心化逻辑的引导。使用该系统时,每个参与节点都需要通过逻辑器向已经部署完毕的智能合约平台注册节点信息。对于每一轮训练的开始,智能合约平台将通过事件的形式向逻辑器交互,参与节点可以根据自身需要决定是否参与本轮训练。对于参与节点,首先需要向系统缴纳购买模型的对应金钱,同时需要向通过逻辑器与去中心化系统进行子模型交互。若本轮训练结束,参与节点将会获得最新训练模型,缴纳的模型金钱将会作为奖励以按劳分配的方式分配给委员会节点。往复循环这个过程最终不断迭代模型,进而不断提高模型训练精度。
图1所示为本发明一实施例中基于智能合约的去中心化联邦机器学习方法的流程示意图,该方法可包括几个阶段:选举阶段、购买阶段和工作阶段。如图1所示,本发明实施例的方法包括以下步骤S110-S140:
步骤S110,在选举阶段,由任一旧委员会节点触发选举阶段之后,智能合约平台从多个旧委员会节点接收选举参数并记录,基于接收的多个选举参数确定最终选举参数并向各节点通知选举事件,智能合约平台接收参与选举的节点发送的保证金,对参与节点进行排序并基于排序确定出新委员会节点。
在本发明实施例中,新一轮选举工作的开始由旧委员会驱动。一直到新的委员会被成功确定,新委员会的选举过程也总是由旧委员会成员驱动。
任一旧委员会节点触发选举阶段之后,智能合约平台会向各旧委员会节点反馈的通知当前阶段事件的消息,各旧委员会节点收到通知之后便可以向智能合约平台发送自己认为合适的选举参数,智能合约平台接收选举参数并进行记录,然后对这些选举参数进行排序,基于排序选取最终的选举参数并进一步通知旧委员会阶段所选取的最终选取参数并通知选举事件。
在本发明实施例中,在智能合约平台通知选举事件后,参与选举的节点便可以向智能合约平台缴纳保证金。智能合约平台可按照一定的排名规则对参与选举的节点进行排序,并按照排序选择排名靠前的预定比例或预定比例范围的节点作为新委员会节点。
在本发明一些实施例中,如果参与投票的旧委员会节点数量未达到旧委员会节总量的第一预定比例(如1/2,但本发明并不限于此),则本轮设置阶段作废并重新开始选举阶段。
此外,如果参与选举的节点数不足系统节点总数的第二预定比例(如5%,本发明并不限于此)或预定比例范围(5%-7%,但本发明并不限于此)的最低值,智能合约平台将开放保证金回退功能,以使得参与选举的节点取回保证金。
在新委员会选举完成后,便可以进入后续的购买阶段。
步骤S120,在购买阶段,智能合约平台接收多个新委员会节点发送的模型价格,并基于接收的合并模型价格以投票方式确定最终合并模型价格,并在预定时间内接收各参与的节点提交的子模型以及支付的最终合并模型价格。
对于新模型的购买首先需要委员会定价。因此在购买阶段,在新委员会选举完成后。委员会之间将会通过智能合约以投票的方式决定合并模型价格。也即,新委员会节点向智能合约平台发送自己认为合适的合并模型价格,智能合约平台接收到各委员会节点发来的价格后对价格进行排序,基于排名选择一个价格作为最终的合并模型价格,例如基于排名选择价格中位数来作为最终的合并模型价格。
在确定了最终的合并模型价格之后,各节点需要确定是否参与本轮模型训练,如果确定参与本轮模型的训练,则参与训练的节点需要上传子模型并支付最终的合并模型价格。
然后便可以进入工作阶段,采用共识机制来在去中心化网络中达成对合并模型的共识。
步骤S130,在所述工作阶段,用于进行对合并模型的共识。工作阶段包括至少一轮模型验证和合并步骤,每轮模型验证和合并步骤包括:
验证步骤:智能合约平台将接收到的子模型放入待验证队列中以由新委员会节点验证模型的准确性,基于验证结果将准确值大于或等于预定准确性阈值的子模型添加到模型合并队列;以及
合并步骤,对模型合并队列中的模型进行合并,获得全局模型,上传至全局模型队列中供各节点使用。
该步骤S130属于利用共识机制对合并模型的共识步骤。共识机制是指在一个互不信任的去中心化网络中达成共识的机制。在本发明实施例中,基于新委员会节点验证各子模型得到的准确性值来对各子模型进行验证,并在验证成功后加入到模型合并队列以进一步进行合并。合并完成后得到全局模型,全局模型可存储在全局模型队列中,各节点可以基于全局模型进行本地模型的更新。
在本发明的如上去中心化联邦机器学习方法中,由于采用了选举机制来选举出更健壮的委员会,从而提高了防止委员会被恶意攻击的能力。
进一步地,在本发明优选实施例中,还采用奖惩机制,例如:
在选举阶段,每当存在旧委员会节点成功推动选举阶段,该节点获得工作积分。
此外,在购买阶段,参与的节点支付的最终合并模型价格作为奖励,由智能合约平台分配给新委员会节点作为奖励。
此外,在上述工作阶段,在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差不大于预定的第一百分比值(如10%,但并不限于此)的情况下,该委员会节点获得工作积分;在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差大于所述第二百分比值的情况下,确定验证失败,其中该第二百分比值高于第一百分比值;进一步地,在验证失败次数超过委员会节点数量的预定比值(如1/3,但并不限于此)的情况下,确定当前委员会节点为恶意节点,清除该委员会节点的账户并将其保证金以按劳分配的方式分发给其他委员会节点。此外,在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差大于所述第一百分比值且小于等于所述第二百分比值的情况下,既不判定验证成功也不判定验证失败,但系统不会接受该模型,但也不会判定节点作恶。
此外,在工作阶段,委员会节点每次合并模型成功时,为该委员会节点分配工作积分。
进一步地,在工作阶段,在委员会节点的合并模型未通过验证的情况下,扣除该委员会节点在当前轮次中的收入。
本发明实施例中,按劳分配包括:按照各个节点的工作积分占比分配奖励。
在本发明实施例中,选举阶段可以分为多个子阶段,例如可包括开始设置阶段、设置阶段、开始选举阶段、正式选举阶段等多个子阶段,当然本发明并不限于此,还可以划分为更多或更少的子阶段。更具体地,选举阶段还可以包括如下步骤:
步骤S111,由任一旧委员会节点激活选举阶段之后,由智能合约平台向各旧委员会节点通知第一阶段事件并进行初始化操作,并向激活选举阶段的旧委员会节点分发工作积分。
本步骤中,第一阶段事件例如可以是开始设置阶段事件。也即,在本发明实施例中,由任一旧委员会节点激活选举阶段之后,选举阶段将会进入开始设置阶段。在该开始设置阶段,智能合约将通过发送事件的方式向各个旧委员会节点通知该阶段并进行初始化工作,接着进入下一阶段:设置阶段。
步骤S112,在参与投票的旧委员会节点向智能合约平台发送各自的选举参数,智能合约平台对接收到的选举参数进行排序,基于排序选择选举参数作为选举阶段的参数,并发送第二阶段事件。
该步骤涉及设置阶段和开始选举阶段。
例如,在参与投票的旧委员会节点基于收到的开始设置事件在设置阶段向智能合约平台发送各自的选举参数之后,智能合约平台对接收到的选举参数进行排序,排序后取中位数作为最终的选举参数,然后向各旧委员会节点通知选举事件(第二阶段事件),并接着进入正式选举阶段。
步骤S113,智能合约平台接收参与选举的节点基于选举事件发送的保证金,基于预定的排名规则对参与选举的节点进行排名,并基于排名选取占系统节点总数的预定比例(如5%)或预定比例范围(如5%-7%)的节点作为新委员会节点。
该步骤涉及正式选举阶段,在该阶段,在收到选举事件之后,任何节点(委员会阶段和普通节点)都可以参与选举,如果想参与选举就可以向智能合约发送保证金。在由设置阶段决定的选举时间到期之后,任意旧委员会节点便可以推动阶段至选举结束阶段。
在选举结束阶段中,每个竞选节点都会按照一定的排名规则进行排名并选取出不少于系统节点总数5%,不多于系统节点总数7%的节点作为新委员会节点。
在该步骤中,若参与选举的节点数不足系统节点总数5%,系统将开放保证金回退功能,以便参与选举的节点取回保证金。若参与选举的节点数符合数量要求,那么系统将公布一个新委员会的名单。同时,旧委员会所获得的奖惩将会结算并退回当时选举的保证金,新委员会将作为当前委员会接管系统。
在本发明实施例中,预定的排名规则满足以下公式:
其中,p为权重参数,其取值范围是[0,1];acc为平均模型准确率,即为:(当前节点n轮投入模型的准确率之和)/n,如果当前节点在某一轮没有投入模型,即认定该轮次该节点的模型准确率为0;eth为选举时投入的保证金;base表示所有参与选举节点eth排名前50%的平均值;w表示排名权重。p作为一个权重参数,p的设计考量在于,既要考虑到系统的内部因素acc,又要考虑到系统的外部因素eth,一般可采用固定值p=0.3,但本发明并不限于此。
步骤S114,选取出新委员会节点后,智能合约平台对旧委员会节点进行结算并退回选举保证金。
在本发明一些实施例中,步骤S130中的合并步骤进一步可包括:
(2)当合并队列内子模型的数量大于合并值k时,由新委员会节点合并前k个模型,假设待合并队列内模型数量为s并且s<k,此时合并前s个模型。得到全局模型发送给智能合约平台,实施合并的委员会节点获得预定数量的工作积分;以及
(3)智能合约平台分发合并的模型并且验证,需要验证的全局模型存储在全局模型队列中,供节点使用。
本发明的方法执行多轮次的所述模型验证和合并步骤,直到训练轮数达到指定数目或模型收敛为止。
图2为本发明另一实施例中去中心化联邦机器学习方法流程示意图,在该实施例中,选举解决被划分为更多个子阶段。如图2所示,若选举阶段被任意旧委员会节点激活,选举阶段将会进入开始设置阶段。开始设置阶段是选举阶段的子阶段之一,到达该阶段后,智能合约将通过发送事件的方式向各个旧委员会节点通知该阶段并做一些初始化工作,接着进入下一阶段:设置阶段。旧委员会节点自从收到智能合约平台发送的开始设置阶段事件后便在设置阶段向智能合约平台发送自己认为合适的选举参数。系统进入设置阶段便开始获取当前时间并且计时预定时间长度(如一分钟)。在这一分钟之内,智能合约平台收到的选举参数会被记录。由于智能合约平台无法自我驱动的特性,在一分钟到期后,旧委员会成员便可以推动由该设置阶段进入结束设置阶段。结束设置阶段是选举阶段的子阶段之一。在该阶段,参与投票的旧委员会节点发送的选举参数会被智能合约平台排序,排序后取中位数作为最终的选举参数。但如果参与投票的旧委员会节点数量未达到旧委员会节总量的1/2,则本轮设置阶段作废并重新回退至开始设置阶段。若参与投票的旧委员会节点数量达到旧委员会节总量的1/2,则设置成功,系统将进入开始选举阶段。开始选举阶段的工作流程与开始设置阶段基本一致,不同之处在于初始化的数据结构与跳转的下一阶段不同。开始选举阶段之后,系统将进入选举阶段。在选举阶段中,任意节点都可参与选举。在节点收到选举事件之后,就可以向智能合约发送保证金。在由设置阶段决定的选举时间到期之后,任意旧委员会节点便可以推动阶段至选举结束阶段。在选举结束阶段中,智能合约平台会对每个竞选节点都会按照一定的排名规则进行排名并选取出不少于系统节点总数5%,不多于系统节点总数7%的节点作为新委员会节点。若参与选举的节点数不足系统节点总数5%,系统将开放保证金回退功能,以便参与选举的节点取回保证金。若参与选举的节点数符合数量要求,那么系统将公布一个新委员会的名单。同时,旧委员会所获得的奖惩将会结算并退回当时选举时缴纳的保证金,新委员会将作为当前委员会接管系统。
每一轮委员会的选举结果决定方案是将所有参与节点的选举权重排序之后再决定委员会名单。
去中心化联邦机器学习方法中示出了选举阶段多个子阶段的流程示意如图3所示。
对于新模型的购买首先需要委员会定价,因此在新委员会选举完成后,进入购买阶段。在该购买阶段,委员会之间将通过智能合约平台,以投票的方式将自己决定的合并模型价格发送到智能合约平台,最终智能合约平台对收到的合并模型价格进行排序,并基于排序来选择价格中位数作为最终的合并模型定价。在预定时间内(如3分钟之内),各节点需要确定是否参与本轮模型训练,确定要参与本轮训练的节点需要向智能合约平台贡献子模型并支付合并模型价格。其中,由参与训练的节点支付的合并模型价格将作为奖励,以按劳分配的原则分配给委员会节点作为奖励。同时,在购买阶段,委员会节点还会根据模型的特征决定出子模型准确率下限值c,之后系统进入工作阶段。
在工作阶段,包括模型验证步骤和模型合并步骤。其中:
(1)模型验证步骤
在节点向智能合约平台提交最新的子模型之后,其被存储在智能合约平台的待验证队列中。在模型验证步骤中,提交的子模型需要由委员会进一步验证,然后将它们提交到智能合约中的模型合并队列。因此,对于待验证队列中的子模型,智能合约平台会将其分发给每个委员会节点进行验证并启动计时器。委员会节点在接收到智能合约平台发送的子模型后开始验证子模型,即测试子模型的准确性。最后,将准确性结果(或称精度结构)提交给智能合约平台。智能合约平台在计时器结束时对所有委员会节点反馈的子模型的准确性进行排序,并将中位数作为子模型的最终准确值。如果最终准确值大于或等于子模型准确率下限值c,则将子模型添加到要智能合约的待合并队列中,其中,子模型准确率下限值c由委员会节点根据模型的特征在模型购买阶段确定。
(2)模型合并步骤
智能合约平台在每一轮模型合并开始之前都会生成合并值k,并将其分配给委员会。k代表一次性合并子模型的数量。对于不同轮次,k是一个动态变化的值,但在每一轮内保持不变。设计k的目的在于理想化的为每个节点都分配可能的合并机会以获取系统奖励,故k=队列内模型数量n/当前工作节点数。假设目前有t个节点,n个当前队列内的子模型,k=n/t。
当待合并队列中的模型数量大于k时,委员会节点将开始合并该队列中的前k个模型,并将合并的全局模型上载到智能合约平台。智能合约平台再次分发已合并的模型给每个委员会节点并进行验证。需要验证的全局模型存储在全局模型队列中,供委员会节点进行验证,验证后可以供智能合约下的节点使用。此时,待合并队列中的前k个子模型被弹出队列。智能合约平台只接受首个合并模型,这是一种共识机制,若同时存在两个委员会节点同时合并出了模型,则此时智能合约只接受首个模型。
重复上述模型合并过程,直到合并完队列中所有模型为止。
图4示出了中心化联邦机器学习方法中工作阶段流程示意图。
工作阶段实现的如上操作都属于达成共识的过程。
在本发明的上述步骤中,还进一步采取了奖惩机制,该奖惩机制包括如下奖惩原则:
(1)在选举阶段的奖惩原则
(1.1)每当存在旧委员会某位成员成功推动选举阶段,该成员便会获得工作积分。
(1.2)新委员会成立,旧委员会所获得的奖惩将会结算并退回选举时缴纳的保证金。
(2)在工作阶段的奖惩原则:
(2.2)每次委员会节点成功合并模型时,该节点都会获得k工作积分。
(2.3)如果委员会节点对子模型的验证结果与子模型的最终准确值之间的差大于20%,即为验证失败,即;如果失败次数超过委员会节点数量的1/3,该节点被判定为带有恶意,于是清除该节点账户并将其保证金以按劳分配的方式分发给委员会节点。按劳分配的含义在于,将按照各个节点的工作积分占比分配奖励。
(2.4)如果委员会节点的合并模型未通过验证,则该节点在此轮次中的所有收入都将扣除。
本发明实施例中,由于采用了保证金和奖励和惩罚机制可以进一步增加委员会的健壮性,从而使得恶意节点通过保证金攻击的方法变得困难。
在本发明实施例中,由于基于区块链的智能合约平台为计算机网络组成的去中心化的平台,因此,由智能合约平台向各节点通知的消息(如事件)是由作为智能合约平台的一部分的加入了智能合约的某台计算机向各节点发送的。
在本发明实施例的去中心化系统中,由于智能合约平台的去中心化特性,执行智能合约会使用gas(gas为以太坊使用的特殊单位的名称,每次合同或交易的执行需要花费gas),这意味着智能合约不能实现自我调用。基于这种特性,本发明设计并采用了一个自驱动的双向交互系统。智能合约平台与节点间的双向交互系统基于以太坊的事件机制。首先,对智能合约的驱动主要分为两大部分,分别是普通节点与委员会节点。对于委员会节点,例如,在选举过程中存在旧委员会节点通过推动过程的方式获取工作积分,进而使智能合约平台有机会向其他节点发送交互事件。与此同时,交互节点通过监听以太坊事件的方式更新本地状态,从而实现了智能合约平台与节点的双向交互以及过程的驱动。普通节点对智能合约平台状态的驱动主要应用于文件传送。
在本发明实施例的联邦机器学习中,要实现的是去中心化的文件传送,在从发送方A传送文件给接收方B时,本发明实施例提出发送方与接收方之间通过Swarm网络进行去中心化的文件传送,文件传送的步骤包括:
(1)首先,发送方A将文件传送至Swarm网络从而获取SwarmID。Swarm是由以太坊基金会主导和开发的一种分布式存储网络项目,提供去中心化的内容存储、内容分布和分发服务。通过Swarm网络能为以太坊网络应用提供服务支持。在Swarm网络应用中,SwarmID为将某个文件置于Swarm网络后返回的哈希值。
(2)发送方A调用智能合约相关函数将SwarmID与接收方B的地址上传至智能合约平台;
(3)智能合约平台将通过事件通知的方式将SwarmID和接收方B的地址通知给包括接收方B在内的所有监听者;
(4)监听者B若收到此事件,则调用智能合约取回SwarmID,此时智能合约平台将基于SwarmID进行验证;
(5)验证成功后,监听者B根据SwarmID向Swarm网络获取发送方A传送至Swarm网络的文件实体。
相比于现有的去中心化方案,本发明实施例分别从选举机制、委员会工作方式、奖惩机制做出了创新。本发明具有以下优势:
1.在委员会选举方面,引入了保证金机制。在模型分数差距不大时,可以选举出更加健壮的委员会。同时由于base参数的引用,使得恶意节点通过保证金攻击的方法变得困难。
2.针对委员会节点设立激励机制,非委员会成员需要购买模型,其费用用以激励委员会节点。
3.采用以工作积分为基础的按劳分配方式,具体且公平地实现了激励机制。
4.给出了基于智能合约的去中心化选举方案。
5.给出了基于智能合约的委员会工作共识机制,该机制包括模型验证和模型合并。
6. 给出了不同于现有去中心化的传输机制的基于Swarm网络的去中心化的文件传送流程。
与上述方法相应地,本发明还提供了一种基于智能合约的去中心化联邦机器学习系统,该系统包含智能合约平台,该智能合约平台为具有智能合约功能的区块链平台;该智能合约平台中包括计算机设备,各计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如光盘、U盘、软盘、硬盘等。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于智能合约的去中心化联邦机器学习方法,其特征在于,该方法包括选举阶段、购买阶段和工作阶段:
在所述选举阶段,由任一旧委员会节点触发选举阶段之后,智能合约平台从多个旧委员会节点接收选举参数并记录,基于接收的多个选举参数确定最终选举参数并向各节点通知选举事件,智能合约平台接收参与选举的节点发送的保证金,对参与节点进行排序并基于排序确定出新委员会节点;
在所述购买阶段,智能合约平台接收多个新委员会节点发送的合并模型价格,并基于接收的合并模型价格以投票方式确定最终合并模型价格,并在预定时间内接收各参与训练的节点提交的子模型以及支付的最终合并模型价格;
在所述工作阶段,用于进行对合并模型的共识,所述工作阶段包括至少一轮模型验证和合并步骤,每轮模型验证和合并步骤包括:
智能合约平台将接收到的子模型放入待验证队列中以由新委员会节点验证模型的准确性,基于验证结果将准确值大于或等于预定准确性阈值的子模型添加到模型合并队列;
对模型合并队列中的模型进行合并,获得全局模型,上传至全局模型队列中供各节点使用;
所述选举阶段包括如下步骤:
由任一旧委员会节点激活选举阶段之后,由智能合约平台向各旧委员会节点发送第一阶段事件并进行初始化操作,并向激活选举阶段的旧委员会节点分发工作积分;
在参与投票的旧委员会节点基于所述第一阶段事件向智能合约平台发送各自的选举参数之后,所述智能合约平台对接收到的选举参数进行排序,基于排序选择选举参数作为选举阶段的参数,并发送第二阶段事件;
智能合约平台接收参与选举的节点基于所述第二阶段事件发送的保证金,基于预定的排名规则对参与选举的节点进行排名,并基于排名选取占系统节点总数的预定比例或预定比例范围的节点作为新委员会节点;
选取出新委员会节点后,智能合约平台对旧委员会节点进行结算并退回选举保证金。
2.如权利要求1所述的方法,其特征在于,所述选举阶段还包括如下步骤:
如果参与投票的旧委员会节点数量未达到旧委员会节点总量的第一预定比例,则本轮设置阶段作废并重新开始选举阶段;
如果参与选举的节点数不足系统节点总数的第二预定比例或预定比例范围的最低值,智能合约平台将开放保证金回退功能,以使得参与选举的节点取回保证金。
3.如权利要求1所述的方法,其特征在于,所述购买阶段还包括如下步骤:
所述参与的节点支付的最终合并模型价格作为奖励,由智能合约平台分配给新委员会节点作为奖励;以及
由所述新委员会节点根据模型的特征确定子模型的所述预定准确性阈值。
5.如权利要求1所述的方法,其特征在于,所述对模型合并队列中的模型进行合并,获得全局模型,上传至全局模型队列中供各节点使用包括以下步骤:
当合并队列内子模型的数量大于所述合并值时,由新委员会节点合并前k个模型,得到全局模型发送给智能合约平台,实施合并的委员会节点获得预定数量的工作积分;以及
智能合约平台分发合并的模型并且验证,需要验证的全局模型存储在全局模型队列中,供节点使用;
所述方法执行多轮次的所述模型验证和合并步骤,直到训练轮数达到指定数目或模型收敛为止。
6.如权利要求1所述的方法,其特征在于,所述工作阶段还包括以下步骤中的一个或多个步骤:
在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差不大于预定的第一百分比值的情况下,该委员会节点获得工作积分;在一个新委员会节点的对一个模型的验证结果与子模型的最终准确性之间的差大于第二百分比值的情况下,确定验证失败,其中,所述第二百分比值高于所述第一百分比值;在验证失败次数超过委员会节点数量的预定比值的情况下,确定当前委员会节点为恶意节点,清除该委员会节点的账户并将其保证金以按劳分配的方式分发给其他委员会节点;
在委员会节点每次合并模型成功时,为该委员会节点分配工作积分;
在委员会节点的合并模型未通过验证的情况下,扣除该委员会节点在当前轮次中的收入。
7.如权利要求1所述的方法,其特征在于,发送方节点与接收方之间通过Swarm网络进行去中心化的文件传送,文件传送的步骤包括:
发送方将文件传送至Swarm网络,从所述Swarm网络获取SwarmID;
当前节点调用智能合约相关函数将SwarmID与接收方的地址上传至智能合约平台;
智能合约平台通过事件的方式通知所有监听者;
作为监听者的接收方收到事件后,调用智能合约取回SwarmID,智能合约平台基于SwarmID进行验证;
接收方根据SwarmID向Swarm网络获取文件实体。
8.一种基于智能合约的去中心化联邦机器学习系统,其特征在于,所述系统包含智能合约平台,所述智能合约平台为具有智能合约功能的区块链平台;所述智能合约平台中包括多方处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时所述系统实现如权利要求1至7中任意一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,在所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000056.3A CN113435949B (zh) | 2021-08-30 | 2021-08-30 | 基于智能合约的去中心化联邦机器学习方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111000056.3A CN113435949B (zh) | 2021-08-30 | 2021-08-30 | 基于智能合约的去中心化联邦机器学习方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435949A CN113435949A (zh) | 2021-09-24 |
CN113435949B true CN113435949B (zh) | 2021-11-23 |
Family
ID=77798284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111000056.3A Active CN113435949B (zh) | 2021-08-30 | 2021-08-30 | 基于智能合约的去中心化联邦机器学习方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113435949B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610421A (zh) * | 2019-09-03 | 2019-12-24 | 北京航空航天大学 | 分片框架下的保证金管理方法及装置 |
CN113098941A (zh) * | 2021-03-25 | 2021-07-09 | 浙江大学 | 基于积分激励的虚拟现实内容分布式管理方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490330A (zh) * | 2019-08-16 | 2019-11-22 | 安徽航天信息有限公司 | 一种基于区块链的分布式机器学习系统 |
CN110648139B (zh) * | 2019-09-03 | 2022-04-12 | 北京航空航天大学 | 基于分片技术和博弈论的区块链事务验证扩容方法及装置 |
CN111600707B (zh) * | 2020-05-15 | 2023-04-14 | 华南师范大学 | 一种在隐私保护下的去中心化联邦机器学习方法 |
CN112434313A (zh) * | 2020-11-11 | 2021-03-02 | 北京邮电大学 | 数据共享方法、系统、电子设备及存储介质 |
-
2021
- 2021-08-30 CN CN202111000056.3A patent/CN113435949B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610421A (zh) * | 2019-09-03 | 2019-12-24 | 北京航空航天大学 | 分片框架下的保证金管理方法及装置 |
CN113098941A (zh) * | 2021-03-25 | 2021-07-09 | 浙江大学 | 基于积分激励的虚拟现实内容分布式管理方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113435949A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Poon et al. | Plasma: Scalable autonomous smart contracts | |
US11593321B2 (en) | Systems and methods of self-administered protocols on a blockchain platform | |
US10708071B1 (en) | Consensus protocols in distributed computing systems | |
KR102250810B1 (ko) | 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법 | |
CN112740252A (zh) | 使用智能合约的区块链交易安全性 | |
WO2019236471A1 (en) | Decentralized safeguard against fraud | |
CN107464106A (zh) | 区块链主链与侧链间交易的方法及系统 | |
CN110610421B (zh) | 分片框架下的保证金管理方法及装置 | |
Shibata | Proof-of-search: combining blockchain consensus formation with solving optimization problems | |
CN109493056A (zh) | 一种基于供应链生态应用场景的区块链共识机制 | |
CN110648139B (zh) | 基于分片技术和博弈论的区块链事务验证扩容方法及装置 | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN111899023B (zh) | 一种基于区块链的群智感知机器学习安全众包方法及系统 | |
CN110851531B (zh) | 协作边缘计算方法、区块链和协作边缘计算系统 | |
CN110928951A (zh) | 一种基于区块链的数据共享及仲裁方法 | |
WO2023116790A1 (zh) | 计算任务的执行方法、装置、存储介质及电子装置 | |
US11245528B1 (en) | Protocols for decentralized networks | |
CN114118734A (zh) | 一种基于区块链技术的虚拟电厂需求响应管理系统 | |
CN111861661A (zh) | 一种电动汽车充电交易方法及装置 | |
CN113971597A (zh) | 一种共享充电桩交易系统、方法、设备及终端 | |
CN112862303A (zh) | 一种基于区块链的众包质量评估的系统及方法 | |
CN116366669A (zh) | 一种适用于众包系统的基于信誉值分权制衡的共识方法 | |
CN112118138A (zh) | 区块链共识机制实现系统和方法 | |
KR102192695B1 (ko) | 블록체인 기반의 광고 서비스 시스템의 동작 방법 및 서비스 환경을 구현하기 위한 시스템 | |
CN111582864A (zh) | 一种区块链数据量证明共识协议 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |