CN114757674B - 基于智能合约的有奖惩能力的共识方法、系统和存储介质 - Google Patents

基于智能合约的有奖惩能力的共识方法、系统和存储介质 Download PDF

Info

Publication number
CN114757674B
CN114757674B CN202210675799.9A CN202210675799A CN114757674B CN 114757674 B CN114757674 B CN 114757674B CN 202210675799 A CN202210675799 A CN 202210675799A CN 114757674 B CN114757674 B CN 114757674B
Authority
CN
China
Prior art keywords
consensus
information
intelligent contract
node
evaluation table
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
Application number
CN202210675799.9A
Other languages
English (en)
Other versions
CN114757674A (zh
Inventor
杨超群
杨谈
王延巍
杜炯
郑永伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Lianan Beijing Technology Co ltd
Original Assignee
Zhongke Lianan Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Lianan Beijing Technology Co ltd filed Critical Zhongke Lianan Beijing Technology Co ltd
Priority to CN202210675799.9A priority Critical patent/CN114757674B/zh
Publication of CN114757674A publication Critical patent/CN114757674A/zh
Application granted granted Critical
Publication of CN114757674B publication Critical patent/CN114757674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/387Payment using discounts or coupons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Economics (AREA)
  • Development Economics (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

本发明提供一种基于智能合约的有奖惩能力的共识方法、系统和存储介质,该方法包括:在启动去中心化系统之前,进行系统运行基本信息的共识,由项目发起方将已共识信息传递给智能合约平台,系统运行基本信息包括:智能合约部署信息、初始化资金池中的质押金信息、惩罚评估表信息、奖励评估表信息;由主矿工节点接收来自参与节点的共识消息,基于PBFT算法编号并向普通矿工节点请求共识,并在达成共识后由各参与节点执行共识消息对应的事务,由矿工节点在当前迭代结束时向智能合约平台提交携带共识消息的共识证据;由智能合约平台验证所述共识证据的合法性以及共识消息的正确性后,根据记录的奖励评估表信息和/或惩罚评估表信息对节点做出奖励或惩罚。

Description

基于智能合约的有奖惩能力的共识方法、系统和存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于智能合约的有奖惩能力的共识方法、系统和存储介质。
背景技术
近几年,随着去中心化的货币金融系统的蓬勃发展,人们对于去中心化系统在现实中应用的信心也越来越有提升,人们开始尝试开发各种去中心化的应用。一般来说,一个去中心化系统需要有共识机制和奖惩机制。其中,共识机制与奖惩机制相辅相成,二者分别保证了节点间的去中心化能力与系统运行的动力。对于货币金融类去中心化系统来说,激励机制(奖惩机制)与共识机制是天然绑定的,例如比特币技术中,每当使用POW(Proof ofWork,工作量证明)共识机制挖出一个区块之后,可以在区块中设置coinbase字段从而获得铸币权。当其他全节点接受该区块后,出块节点将获得奖励。然而,去中心化系统并不都是货币金融类系统,大多数非货币金融类去中心化系统的奖惩机制与共识机制不具有天然的绑定关系。大多数非货币金融类去中心化系统往往需要自己寻找二者的绑定关系。此外,如果要在非货币金融类去中心化系统中实现奖惩机制,需要参与节点提交一定数量的质押物以保证其信誉,但是,如何实现去中心化系统中质押物的提交以及提交什么作为质押物,这是操作的难点问题。因此,对于非货币金融类去中心化系统,找到一种易于实现的具有奖惩能力的共识方法非常困难。
为了关联非货币金融类去中心化系统奖惩机制与共识机制之间关系,目前的方案大多要通过自主造链的方式。自主造链,实际上是对区块链系统的改造。具体来说,经过改造后的区块链账本中不仅有转账额度等信息,还要有该系统内具体事务的处理情况,区块链系统内矿工节点每提交一个区块就会获得代币奖励。本质上,这种方式打造了一个封闭市场,由于市场内出售的货物仅仅是有限的系统内事务,市场内的矿工节点即使获得了区块链的代币也不能真正受益,因此缺乏对矿工节点的吸引。这将非常影响市场的活力,该方式的可行性有待商榷。此外,该方式若采用POW等方式进行共识,同样具有耗能严重的问题。
因此,如何在无需自主造链的情况下提供一种对矿工节点切实有利的具有奖惩能力的共识方案,是一个亟待解决的问题。
发明内容
鉴于此,本发明实施例提供了一种基于智能合约的有奖惩能力的共识方法和系统,以无需自主造链就可以简单地实现具有奖惩能力的共识。
本发明的一个方面提供了一种基于智能合约的有奖惩能力的共识方法,该方法包括以下步骤:
预共识步骤,在启动基于智能合约的去中心化系统之前,在项目发起方和参与方之间进行系统运行基本信息的共识,并在达成共识后由项目发起方将已共识信息传递给智能合约平台,所述系统运行基本信息包括:包括智能合约部署地址在内的智能合约部署信息、初始化资金池中的质押金信息、惩罚评估表信息和奖励评估表信息;
链下共识步骤,由主矿工节点接收来自参与节点的共识消息,验证所述共识消息中携带的参与者地址和签名信息,在验证参与者地址和签名信息正确之后由主矿工节点基于PBFT算法对所述共识消息进行编号并向普通矿工节点请求共识,当所述共识消息在各个矿工节点达成共识后由各矿工节点执行所述共识消息对应的事务,由矿工节点在当前迭代结束时向智能合约平台提交携带共识消息的共识证据;
由智能合约平台验证所述共识证据的合法性以及共识消息的正确性后,由智能合约平台对共识证据进行验证后基于惩罚评估表信息从资金池中进行扣费,并基于奖励评估表信息对矿工节点进行奖励。
在本发明的一些实施例中,所述基本信息还包括:矿工节点性能信息。
在本发明的一些实施例中,所述共识消息中还携带迭代ID。
在本发明的一些实施例中,所述去中心化系统为去中心化的联邦学习系统;所述基本信息还包括:训练数据与模型参数信息、准确率信息和/或最大迭代次数信息。
在本发明的一些实施例中,每次迭代包括子模型提交阶段和模型评估阶段;所述链下共识步骤还包括:子模型提交步骤,用于向主矿工节点提供子模型;模型评估步骤,矿工节点验证参与节点提交的子模型的质量,并选择符合预定标准的子模型作为全局模型。
在本发明的一些实施例中,所述基于奖励评估表信息对矿工节点进行奖励包括:所述智能合约平台根据子模型的质量,查找奖励评估表,基于奖励评估表进行奖励。
在本发明的一些实施例中,所述方法还包括,由矿工节点在当前迭代中接收到预定比例的参与节点提交的子模型后发起迭代结束请求,并由矿工节点共识所述迭代结束请求。
在本发明的一些实施例中,所述基于惩罚评估表信息从资金池中进行扣费包括:所述智能合约平台将根据全局模型的质量,查找惩罚评估表,基于惩罚评估表对参与节点进行扣费。
本发明的另一方面提供了一种基于智能合约的有奖惩能力的共识系统,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如前所述方法的步骤。
本发明的基于智能合约的有奖惩能力的共识方法和系统,无需自主造链,而是直接使用以太坊主链,就可以实现具有奖惩机制的共识,该方案对矿工节点的吸引远远强于自主造链的方式。
并且,在本发明实施例中,是采用PBFT(实用性拜占庭容错)算法实现链下共识,基于智能合约实现链上共识,只将链下共识的最终共识结果上传至智能合约验证,提高了共识速度。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明一实施例中基于智能合约的有奖惩能力的共识方法的大致流程示意图。
图2为本发明一实施例中基于智能合约的有奖惩能力的共识方法的具体流程示意图。
图3为本发明一实施例中PBFT-SC共识方法的运行示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
针对当前大多数非货币金融类去中心化系统的激励机制与共识机制没有天然的绑定关系的问题,本发明意在提供一种通用的绑定关系,并由此提供了一种基于智能合约与PBFT(Practical Byzantine Fault Tolerance,实用性拜占庭容错)算法的具有奖惩能力的共识方法,本发明中可将该方法称为PBFT-SC(Practical Byzantine FaultTolerance-Smat Contract)共识方法,或者简称为一种基于智能合约的有奖惩能力的共识方法。本发明的方法无需自主造链,直接使用以太坊主链就可以实现具有奖惩能力的共识,并能够减轻开发者的工作量。
图1所示为本发明一实施例中基于智能合约的有奖惩能力的共识方法的流程示意图,如图1所示,该PBFT-SC共识方法主要分为3个主要阶段,分别是预共识阶段、链下共识阶段和链上共识阶段。其中,预共识阶段是用于在启动去中心化系统之前,项目发起方节点和参与方节点进行的一些系统运行基本信息(如智能合约的部署地址、目标准确率、资金池中金额信息、奖励评估表和惩罚评估表信息等)的共识,预共识之后由发起方节点可将预共识的信息提供给智能合约平台和参与节点。预共识之后便可以启动该去中心化系统;中心化系统往往需要多次迭代才能完成系统任务(如联邦机器学习任务、投票任务或其他非货币金融类系统任务),在启动去中心化系统之后,针对每次迭代,都需要进行链下共识和链上共识,其中链下共识是矿工节点基于参与节点发送的共识消息来实现共识的操作,链下共识完成后得到共识证据;链上共识是持有共识证据的矿工节点将共识证据提交给智能合约平台,由智能合约平台对共识证据进行验证,基于惩罚评估表信息从资金池中进行扣费,并基于奖励评估表给予参与节点奖励。下面将更详细地对这3个阶段进行描述。
(1)预共识阶段(或称预共识步骤)
在启动一个去中心化系统(区块链系统)之前,需要提前共识一些信息。以联邦机器学习任务举例,如果要实现一个去中心化的联邦机器学习系统,则至少要在项目发起方和参与方之间实现提前共识各节点的训练集、目标准确率和智能合约的部署地址等信息。如果要实现一个去中心化的投票系统,则至少要在项目发起方和参与方之间提前共识投票的开始时间、结束时间和投票权限等信息。为了提高中心化系统运行的效率,避免参与节点单个质押的情况,在本发明实施例中,提出了要在项目发起方和参与方之间提前共识一个初始化资金池的金额的思想。资金池由智能合约平台管理,每次迭代进行统一扣费,避免了单个参与节点质押效率低的问题。另外,为了实现奖惩能力,在本发明实施例中,还提出了智能合约平台采用奖励评估表和惩罚评估表来实现奖惩的方式,为此项目发起方将提前与参与方共识两个评估表,即奖励评估表和惩罚评估表,二者的作用在于衡量参与节点的行为并由智能合约平台基于奖励评估表和惩罚评估表实施具体的奖惩。在本发明实施例中,将包括智能合约部署地址在内的智能合约部署信息、初始化资金池中的质押金信息、惩罚评估表信息和奖励评估表信息等这些要在去中心化系统启动前共识的信息称为系统运行基本信息,将对系统运行基本信息在项目发起方和参与方之间进行提前共识的过程称为预共识过程。预共识阶段达成共识的系统运行基本信息,将发送至智能合约平台,由智能合约平台记录这些信息。在去中心化系统没有运行之前,项目发起方可以多次调用智能合约平台的预共识函数进行系统运行基本信息的记录。
如果预共识已经达成并且参与方都已经准备好启动该去中心化系统,则项目发起方可调用智能合约中的启动函数。每个参与节点在智能合约部署后,根据智能合约的部署地址监听该智能合约的事件。智能合约的启动函数内置了初始化事件。每当项目发起方完成预共识并调用智能合约的启动函数后,正在监听的参与节点便可以接收到初始化事件。初始化事件有两个作用,一是通知参与节点系统已经启动,二是将预共识的信息传递给参与节点。当参与节点获知这两条信息后,随即开始处理系统内的事务。
也即,本发明一些实施例中的预共识步骤,如图2中的步骤S110所示,是在启动基于智能合约的去中心化系统之前,在项目发起方和参与方之间进行系统运行基本信息的共识,并在达成共识后由项目发起方将已共识信息传递给智能合约平台和参与节点,其中,系统运行基本信息包括:包括智能合约部署地址在内的智能合约部署信息、初始化资金池中的质押金信息、惩罚评估表信息和奖励评估表信息。此外,系统运行基本信息还可包括目标准确率和/或最大迭代数信息,目的是防止去中心化系统的无限循环运行。
在本发明的一些实施例中,除了上述系统运行基本信息之外,基于去中心化系统要完成的任务的不同,系统运行基本信息还可以包括一些其他的跟具体任务的实现相关的其他信息,例如,如果要实现一个去中心化的联邦机器学习系统,则需要提前共识的系统运行基本信息还可包括训练数据与模型参数;如果系统任务对矿工节点的算力有比较高的要求,则需要提前共识的系统运行基本信息还可包括矿工节点的性能信息;这些信息仅作为举例,本发明中需要提前共识的信息并不限于所列举的信息。
(2)链下共识阶段(链下共识步骤)
更具体地,在该链下共识步骤中,如图2中的步骤S120所示,由主矿工节点接收来自参与节点的共识消息(共识请求),验证所述共识消息中携带的参与者地址和签名信息,在验证参与者地址和签名信息正确之后由主矿工节点基于PBFT算法编号并向普通矿工节点请求共识,并在达成共识后由各矿工节点执行所述共识消息对应的事务,由矿工节点在当前迭代结束时向智能合约平台提交携带共识消息的共识证据。
不同去中心化系统内部,有着不同的处理事务。如图3所示,当去中心化系统内的一个参与节点试图发起一条事务(如交易、学习任务等),这条事务须经过链下共识网络的全体矿工节点的共识。在本发明实施例中,通过PBFT算法来实现区块链链下全体矿工节点间的共识。PBFT算法是一种共识机制,基于PBFT算法实现共识的各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。PBFT算法中假设最多可以容忍的错误节点为F个,正常节点为2F+1个,系统内共有F+2F+1=3F+1个节点。PBFT算法不需要消耗大量的资源,PBFT算法会在所有矿工节点中设置一个矿工节点作为主矿工节点。参与节点开始处理事务时,会将事务请求作为共识请求发送至主矿工节点。主矿工节点将接收的事务请求按照PBFT算法的要求进行顺序编号,并通过广播方式向链下共识网络的其他矿工节点发送带顺序编号的事务请求(可称为预准备消息)。每个矿工节点接收到事务请求后,验证事务请求中包含的发起该请求的参与节点的以太坊地址(公钥)、迭代ID和签名信息,在矿工节点验证了签名与地址的正确性(即验证通过)后,进入预准备状态,并向其他矿工节点广播携带当前矿工节点、事务请求编号和请求消息的准备消息。接收到准备消息的矿工节点如果已处于预准备状态并接收到2F个矿工节点的准备消息,则该矿工节点针对该事务请求进入准备状态,在矿工节点进入准备状态后,会向其他矿工节点发送响应,即提交消息(commit消息)。如果事务请求已经在某矿工节点达到准备状态,并且该矿工节点收到2F+1条来自不同矿工节点对应的响应(commit消息,包含自身),那么该事务请求就会进入到提交(committed)状态,并可以由当前矿工节点进行执行。矿工节点执行后,向参与方返回响应消息(Reply)。一个参与方的一条事务请求消息基于PBFT算法达成集群共识的标准是:参与方收到关于该事务请求消息的F+1条由不同矿工节点发送的Reply,该F+1条关于事务请求消息的不同的Reply也叫作事务请求消息的共识证据,标志着事务请求消息已经被该计算集群共识。因此,对于参与节点来说,每当针对一条事务请求消息接收到F+1条不相同的响应(Reply)即可认为该事务请求消息已经被共识。当这条事务请求消息通过了PBFT算法的共识,即被认为在全体矿工节点达成共识之后,意味着该事务请求消息所代表的事务被全体矿工节点执行。在此要注意的是,需要经过共识的事务必须是确定性事务,此处所说的确定性事务是指这样的事务:给定该事务输入集合,执行事务后能有唯一的结果。假设存在一个事务A,当前系统状态为S1。当系统执行事务A后,系统状态为确定性的状态(结果)S2。
为了约束参与节点的行为,在参与节点试图发起一条事务请求时,一般要求该节点进行质押。然而,以太坊主链每秒钟大约只能处理数量有限的交易,如只能处理10条左右的交易,如果单个参与节点独立质押,将严重拖慢系统运行效率,因为需要等待以太坊主链处理节点的质押交易。为此,在本发明实施例中,由于在预共识阶段引入了资金池的概念。这样在去中心化系统的某次迭代中,当某一个参与节点发起一条事务请求,该事务请求为了防止被篡改,会附着当前参与节点自己的以太坊地址(公钥),迭代ID和签名信息。如果矿工节点验证了签名与以太坊地址的正确性,那么可以确定该事务请求是由该参与节点发送的。在链下共识阶段事务请求被共识之后,这些携带地址和签名的原始事务请求信息将会被收集并作为扣费凭证,以便于智能合约平台基于该扣费凭证对参与节点进行扣费并对矿工节点进行奖励。被扣除的费用将被认为是去中心化系统运行的代价并奖励给矿工节点。当本次迭代结束,矿工节点将向智能合约平台提交携带共识消息的共识证据。
(3)链上共识阶段(链上共识步骤)
在本链上共识步骤中,更具体地,如图2中的步骤S130所示,由发起迭代结束请求并获得共识证据的矿工节点向智能合约平台提供共识证据,由智能合约平台对共识证据进行验证后基于惩罚评估表信息从资金池中进行扣费,并基于奖励评估表对参与节点和/或矿工节点进行奖励。
当本次迭代结束,矿工节点会率先共识一条由某个矿工节点发起的迭代结束请求。对于矿工节点,根据去中心化系统业务类型的不同,迭代结束请求发起时机也不同。例如,在去中心化的联邦学习系统,根据算法的设定,矿工节点可能在本次迭代中收到预定比例(如80%,但本发明并不限于此,也可以更高或更低比例)参与节点提交的子模型后发起迭代结束请求。由于之前的子模型提交过程都作为一个独立的事务,而此时已经存在一个迭代结束请求,说明最后一个子模型已经共识完毕。因此,如果矿工节点诚实,矿工节点将共识该结束请求。迭代结束请求是由某个矿工节点发起,按照PBFT算法的流程,该矿工节点将获得F+1个响应(Reply),该F+1个Reply被称做共识证据。所有持有共识证据的矿工节点都有权利调用智能合约。智能合约将采取第一个合法调用作为该阶段结束的共识证据。某一个矿工节点在调用智能合约后,如图3所示,智能合约平台会首先验证这F+1个共识证据的合法性。具体来说,矿工节点每发送一个Reply都会附加自己的以太坊地址(公钥)、签名、迭代ID和原始事务请求信息。智能合约会依次验证F+1个Reply的以太坊地址、签名、迭代ID是否与以太坊内部维护的信息一致。如果验证通过,说明F+1个Reply确实是对应矿工节点签发。随后验证每个Reply中对应的原始事务请求信息的正确性。对于原始事务请求信息的验证,除了要验证事务请求消息确实由以太坊地址持有者发送,还要验证消息内的其他参数信息。进一步地,智能合约平台根据奖惩评估表(包括奖励评估表和惩罚评估表)对节点的行为进行奖惩。例如,如果该参与节点增加了系统的资源,那么就需要根据奖励评估表对该参与节点做出不同程度的奖励。如果该参与节点消耗了系统内部的资源,那么就需要根据惩罚评估表从该参与节点对应的资金池中扣除对应的资金,若资金池内不足以支持资金的扣除,那么该参与节点的事务请求将被驳回。当智能合约平台处理完所有的共识证据后更新智能合约状态,并将进入下一次迭代并通过发送事件的方式向参与节点公布共识结果。此时,处于监听状态的参与节点将进入下一次迭代。
下面以在去中心化的联邦学习系统上的应用为例来描述本发明的共识方法。该方法包括以下步骤:
步骤S1,预共识步骤。
本步骤中,在启动去中心化的联邦学习系统之前,在项目发起方和参与方之间进行以下系统运行基本信息的共识:(1)智能合约部署地址;(2)初始化质押金;(3)惩罚评估表;(4)奖励评估表;(5)训练数据与模型参数;(6)矿工节点的性能;(7)目标准确率和/或最大迭代数。其中:
(1)智能合约部署地址。
智能合约维护诸多全局信息,例如智能合约部署地址、当前迭代ID、节点列表、委员会信息、全局模型ID、全局模型分数、当前阶段、质押列表等一系列反应当前系统状态的信息。由于每个参与节点在智能合约部署后,会根据智能合约的部署地址监听该智能合约的事件,因此,本发明实施例中提前共识智能合约部署地址。
(2)初始化质押金。
在本发明一实施例中,初始化质押金用以投入到初始化资金池中,以便在后续链下共识阶段事务请求被共识之后,智能合约平台基于矿工节点提交的扣费凭证参照惩罚评估表对从参与节点对应的资金池中扣除对应的资金,被扣除的费用将被认为是去中心化系统运行的代价并奖励给矿工节点。
(3)惩罚评估表。
在本发明一实施例中,惩罚评估表由多个二维坐标(x,y)描绘而成,横坐代表准确率,纵坐标代表当前准确率下对应的模型价格。每产生一个全局模型,智能合约平台都会记录该模型的准确率并根据惩罚评估表查找其对应的价格并从参与节点的资金池中扣除相应的金额作为去中心化系统运行的代价。在本发明一些实施例中,从的资金池中扣除的费用可以作为奖励来奖励给发起迭代结束请求的矿工节点。
(4)奖励评估表。
在本发明一实施例中,奖励评估表由多个二维坐标(x,y)描绘而成,横坐代表准确率,纵坐标代表当前准确率下对应的价格折扣比例。每当参与节点支付去中心化代价时,智能合约平台会根据历史提交表现给予参与节点相应的折扣。
(5)训练数据与模型参数。
训练数据是参与节点本地的隐私数据,这是联邦学习的价值所在。去中心化的联邦学习系统继承了传统联邦学习的优点,即训练数据不脱离本地,这很大程度上保护了参与节点的隐私。与传统联邦学习相同,在去中心化的联邦学习系统中,参与节点需提前准备训练数据以在本地训练子模型。训练数据的规模可以设定在一个合适范围内,因为过大的数据规模可能导致模型的训练时间过长,进而可能造成本轮的训练的模型没有在规定的时间提交。
(6)矿工节点的性能。
系统的共识信息的处理主要由矿工节点承担,矿工节点相较于普通参与节点会承担更多的处理压力。不同性能的矿工节点具有不同的事务处理性能,如果矿工节点中大部分都是性能较高的设备,而此时一台普通的PC成为矿工节点将是一件非常糟糕的事,因为这台PC对事务的处理能力远低于其他设备,在达成共识的时间上也会显著长于其它设备。在这种情况下,需要提前共识矿工节点的性能。
(7)目标准确率和/或最大迭代数。
提前共识目标准确率和/或最大迭代数的目的是防止去中心化的联邦学习系统的无限循环。
步骤S2,链下共识步骤。
在本发明一实施例的去中心化的联邦学习系统上,每一次迭代将被分为2个阶段:子模型提交和模型评估。
在子模型提交阶段,想参与联邦训练的参与节点向矿工节点提交自己的子模型。同时,参与节点提交自己子模型的过程也是质押的过程。当矿工节点按照PBFT算法在该阶段收集到来自足够数量的参与节点的子模型或者计时器超时,便会发送一条迭代结束请求。在矿工节点对迭代结束请求达成共识后,会基于共识证据调用智能合约,将该子模型提交阶段的信息记录在智能合约平台上。智能合约平台验证成功后随即进一步发出智能合约事件,向下一阶段过度。
由于系统内参与节点监听智能合约事件,参与节点可以立即向下一模型评估阶段过度。在该模型评估阶段,矿工节点将验证所有参与节点提交的子模型质量并且选择符合标准的子模型进行合并,将合并后的子模型作为为全局模型。每当一个矿工节点完成了它的工作就会产生一条共识请求。当矿工节点按照PBFT算法在该阶段收集到足够数量的响应或者计时器超时,便会发送一条迭代结束请求。
步骤S3,链上共识步骤。
某一矿工节点调用智能合约后,智能合约平台将根据全局模型的质量(例如可以基于准确率判断全局模型的质量),查找惩罚评估表,基于惩罚评估表对参与节点进行扣费。同时,智能合约平台根据子模型的质量,查找奖励评估表,对扣费行为进行折扣。当完成了所有操作,智能合约平台发布下一次迭代开始的事件。系统内节点在监听到该事件后,进入下次迭代过程。
基于如上所述的本发明的基于智能合约的有奖惩能力的共识方法,可以基于PBFT算法实现链下共识,基于智能合约实现链上共识,通过预共识在智能合约内保存了奖励评估表和惩罚评估表作为奖励和惩罚机制的实现方式,本发明无需自主造链,而是直接使用以太坊主链,就可以实现具有奖惩机制的共识,该方案对矿工节点的吸引远远强于自主造链的方式。本发明的方法利用PBFT算法可以只将链下共识结果转移到智能合约进行链上再验证,大大提高了共识速度。
与上述方法相应地,本发明还提供了一种基于智能合约的有奖惩能力的共识系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于智能合约的有奖惩能力的共识方法,其特征在于,该方法包括以下步骤:
预共识步骤,在启动基于智能合约的去中心化系统之前,在项目发起方和参与方之间进行系统运行基本信息的共识,并在达成共识后由项目发起方将已共识信息传递给智能合约平台,所述系统运行基本信息包括:包括智能合约部署地址在内的智能合约部署信息、初始化资金池中的质押金信息、惩罚评估表信息和奖励评估表信息;在达成系统运行基本信息的共识后,所述资金池由智能合约平台管理,以在每次迭代进行统一扣费;
链下共识步骤,由主矿工节点接收来自参与节点的共识消息,验证所述共识消息中携带的参与者地址和签名信息,在验证参与者地址和签名信息正确之后由主矿工节点基于PBFT算法对所述共识消息进行编号并向普通矿工节点请求共识,当所述共识消息在各个矿工节点达成共识后由各矿工节点执行所述共识消息对应的事务,由矿工节点在当前迭代结束时向智能合约平台提交携带共识消息的共识证据;
链上共识步骤,由智能合约平台验证所述共识证据的合法性以及共识消息的正确性后,由智能合约平台对共识证据进行验证后在以太坊主链上基于惩罚评估表信息从所述资金池中进行扣费,并基于奖励评估表信息对矿工节点进行奖励。
2.根据权利要求1所述的方法,其特征在于,所述基本信息还包括:矿工节点性能信息。
3.根据权利要求1所述的方法,其特征在于,所述共识消息中还携带迭代ID。
4.根据权利要求1所述的方法,其特征在于,所述去中心化系统为去中心化的联邦学习系统;所述基本信息还包括:训练数据与模型参数信息、准确率信息和/或最大迭代次数信息。
5.根据权利要求4所述的方法,其特征在于,每次迭代包括子模型提交阶段和模型评估阶段;所述链下共识步骤还包括:
子模型提交步骤,用于向主矿工节点提供子模型;
模型评估步骤,矿工节点验证参与节点提交的子模型的质量,并选择符合预定标准的子模型作为全局模型。
6.根据权利要求4所述的方法,其特征在于,所述基于奖励评估表信息对矿工节点进行奖励包括:
所述智能合约平台根据子模型的质量,查找奖励评估表,基于奖励评估表进行奖励。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括,由矿工节点在当前迭代中接收到预定比例的参与节点提交的子模型后发起迭代结束请求,并由矿工节点共识所述迭代结束请求。
8.根据权利要求4所述的方法,其特征在于,所述基于惩罚评估表信息从资金池中进行扣费包括:所述智能合约平台将根据全局模型的质量,查找惩罚评估表,基于惩罚评估表对参与节点进行扣费。
9.一种基于智能合约的有奖惩能力的共识系统,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
CN202210675799.9A 2022-06-15 2022-06-15 基于智能合约的有奖惩能力的共识方法、系统和存储介质 Active CN114757674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210675799.9A CN114757674B (zh) 2022-06-15 2022-06-15 基于智能合约的有奖惩能力的共识方法、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210675799.9A CN114757674B (zh) 2022-06-15 2022-06-15 基于智能合约的有奖惩能力的共识方法、系统和存储介质

Publications (2)

Publication Number Publication Date
CN114757674A CN114757674A (zh) 2022-07-15
CN114757674B true CN114757674B (zh) 2022-09-23

Family

ID=82337131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210675799.9A Active CN114757674B (zh) 2022-06-15 2022-06-15 基于智能合约的有奖惩能力的共识方法、系统和存储介质

Country Status (1)

Country Link
CN (1) CN114757674B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360238A (zh) * 2017-07-25 2017-11-17 光载无限(北京)科技有限公司 基于区块链cpow共识算法的智能合约网关
CN111314871A (zh) * 2020-01-22 2020-06-19 江西理工大学 一种基于联盟区块链的安全共享出行服务方案
CN113282418A (zh) * 2021-06-03 2021-08-20 光大科技有限公司 一种模型聚合处理方法及装置
CN113347162A (zh) * 2021-05-19 2021-09-03 中央财经大学 一种面向群智服务的区块链节点贡献度证明共识方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102060435B1 (ko) * 2019-05-16 2019-12-30 주식회사 모파스 네트워크 평판 증명을 합의 알고리즘으로 사용하는 블록체인 스마트 계약 방법 및 장치
CN114048264A (zh) * 2021-09-28 2022-02-15 中诚区块链研究院(南京)有限公司 一种共识智能合约算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360238A (zh) * 2017-07-25 2017-11-17 光载无限(北京)科技有限公司 基于区块链cpow共识算法的智能合约网关
CN111314871A (zh) * 2020-01-22 2020-06-19 江西理工大学 一种基于联盟区块链的安全共享出行服务方案
CN113347162A (zh) * 2021-05-19 2021-09-03 中央财经大学 一种面向群智服务的区块链节点贡献度证明共识方法
CN113282418A (zh) * 2021-06-03 2021-08-20 光大科技有限公司 一种模型聚合处理方法及装置

Also Published As

Publication number Publication date
CN114757674A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN107464106A (zh) 区块链主链与侧链间交易的方法及系统
CN108492103A (zh) 一种联盟区块链共识方法
WO2018232494A1 (en) BLOCK CHAIN NETWORK FOR CONDUCTING CHAIN TRANSACTIONS
WO2018232493A1 (en) DOUBLE CHAIN BLOCK CHAINS NETWORK FOR REALIZING CHAIN TRANSACTIONS
CN109872152A (zh) 基于股份授权证明机制的区块链共识方法及相关设备
CN110033377B (zh) 基于区块链的资产清分方法及装置、电子设备
CN110011996A (zh) 基于区块链的应用授权方法及装置和电子设备
CN109493056A (zh) 一种基于供应链生态应用场景的区块链共识机制
CN110020936B (zh) 基于区块链的资产管理方法及装置、电子设备
CN113179168B (zh) 一种区块链的跨链交互方法
CN111383114A (zh) 基于区块链的资产信息管理方法和装置
CN110610421B (zh) 分片框架下的保证金管理方法及装置
CN110851531B (zh) 协作边缘计算方法、区块链和协作边缘计算系统
CN111340628A (zh) 基于区块链的资产信息管理方法和装置
CN108961055B (zh) 一种区块共识的奖惩方法、装置、设备和存储介质
CN110163755A (zh) 基于区块链的数据压缩、查询方法及装置和电子设备
CN109859031A (zh) 一种区块链网络的信息处理方法、节点及存储介质
CN111680098A (zh) 数据采集、数据标注、ai模型训练和验证的区块链系统
CN110084596A (zh) 一种处理区块链混合共识的方法和装置
Christodoulou et al. A decentralized voting mechanism: engaging ERC-20 token holders in decision-making
CN111523817A (zh) 基于大数据的订单业务处理方法、装置、设备和介质
CN113506112A (zh) 应收账款确权方法及装置和电子设备
CN114757674B (zh) 基于智能合约的有奖惩能力的共识方法、系统和存储介质
CN110930158A (zh) 一种基于奖惩机制的区块链DPoS共识方法
CN111222963A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Yang Chaoqun

Inventor after: Zhu Daofei

Inventor after: Yang Tan

Inventor after: Xu Guoai

Inventor after: Liu Xinran

Inventor after: Wang Yanwei

Inventor after: Du Jiong

Inventor after: Zheng Yongbo

Inventor before: Yang Chaoqun

Inventor before: Yang Tan

Inventor before: Wang Yanwei

Inventor before: Du Jiong

Inventor before: Zheng Yongbo