CN110659988A - 区块链共识与执行的并行处理方法、装置和电子设备 - Google Patents

区块链共识与执行的并行处理方法、装置和电子设备 Download PDF

Info

Publication number
CN110659988A
CN110659988A CN201910851514.0A CN201910851514A CN110659988A CN 110659988 A CN110659988 A CN 110659988A CN 201910851514 A CN201910851514 A CN 201910851514A CN 110659988 A CN110659988 A CN 110659988A
Authority
CN
China
Prior art keywords
consensus
transaction set
execution
transaction
transactions
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.)
Granted
Application number
CN201910851514.0A
Other languages
English (en)
Other versions
CN110659988B (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.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Cryptape 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 Cryptape Co ltd filed Critical Cryptape Co ltd
Priority to CN201910851514.0A priority Critical patent/CN110659988B/zh
Publication of CN110659988A publication Critical patent/CN110659988A/zh
Application granted granted Critical
Publication of CN110659988B publication Critical patent/CN110659988B/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multi Processors (AREA)

Abstract

本说明书实施例公开了一种区块链共识与执行的并行处理方法、装置和电子设备,该方法包括:批量打包交易,并对打包得到的一个交易集合进行共识;在达成共识后,将已定序的交易集合添加到预设缓冲队列;依次执行所述预设缓冲队列中每个交易集合内的交易;在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。

Description

区块链共识与执行的并行处理方法、装置和电子设备
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种区块链共识与执行的并行处理方法、装置和电子设备。
背景技术
在区块链技术中,共识至少可以包含两层语义:1、完成交易定序;2、对最新状态达成共识。对于采用账户模型的区块链来说,交易中只包含事件,状态是在交易执行完之后生成。为了实现对最新状态的共识,常用的办法是:共识节点在打包区块之前执行完区块中的所有交易,将计算出的最新状态保存到待打包的区块的块头中。包含最新状态的区块达成共识后,区块中的交易完成了定序,同时最新状态亦完成了共识。任何其它共识节点可以重放区块中的交易验证状态的正确性。
然而,这种处理方法制约了共识算法的交易处理能力。例如,当高度为h的区块B(h)达成共识后,高度为h+1的共识节点(也称为leader节点)打包并执行B(h+1)后才能广播B(h+1),其它共识节点收到B(h+1)后必须再执行B(h+1)以验证其正确性。在整个共识过程中,这两次串行的区块执行过程(先执行交易,再共识结果)拖慢了共识效率。
发明内容
本说明书实施例的目的是提供一种区块链共识与执行的并行处理方法、装置和电子设备,以有效提升共识效率。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种区块链共识与执行的并行处理方法,包括:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
第二方面,提出了一种区块链共识与执行的并行处理装置,包括:
共识模块,用于批量打包交易,并对打包得到的一个交易集合进行共识;
所述共识模块,还用于在达成共识后,将已定序的交易集合添加到执行模块的预设缓冲队列;
所述执行模块,用于依次执行所述预设缓冲队列中每个交易集合内的交易;
所述执行模块,还用于在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回给所述共识模块。
第三方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的区块结构示意图。
图2是本说明书的一个实施例提供的区块链共识与执行的并行处理方法步骤示意图。
图3是本说明书的一个实施例提供的电子设备的结构示意图。
图4是本说明书的一个实施例提供的区块链共识与执行的并行处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
目前存在的一种改进办法是:Leader节点在打包区块时,并不立即执行该区块中的交易,而是先对该区块进行共识,待区块达成共识后,共识节点才执行该区块生成新状态;下一个高度的Leader节点将新状态携带在下一个区块中一起进行共识。这种办法省掉了一次区块执行过程,代价是增加了一个区块的确认时间。然而,当从更微观的角度来分析这种改进方案时,发现任何一个共识节点的共识模块和执行模块在整个共识过程中始终是串行的。如图1所示,针对多个共识节点,当任一共识节点的共识模块在对区块进行共识时,执行模块始终是空闲的,反之亦然。
为了解决上述共识与执行串行处理而导致的共识效率较低的问题,本说明书提出了以下并行方案,其主要核心思想在于解耦交易定序与状态共识。应理解,本说明书所涉及的共识区块可存在如下定义,参照图1所示的区块结构,一次共识过程可称为一个epoch,在此将达成共识的区块称为Epoch,Epoch包含区块头Header和区块体Body两部分。Epoch中参数配置包括:height,是区块的高度,属于单调递增的数值;preHash是上一个Epoch的哈希;orderRoot是包含在区块体中的所有待定序的交易的merkle root;stateRoot表示最新的世界状态的MPT Root;confirmRoots表示从上一个Epoch的stateRoot到当前Epoch的stateRoot之间执行模块向前推进的orderRoot集合;receiptRoots记录被执行的每一个orderRoot所对应的receiptRoot;proof是对上一个Epoch的证明。
下面,通过具体的实例对本说明书实施例提供的区块链共识与执行的并行处理方案进行介绍。参照图2a所示,是本说明书实施例提供的区块链共识与执行的并行处理方法步骤示意图,所述并行处理方法可以包括以下步骤:
步骤202:批量打包交易,并对打包得到的一个交易集合进行共识。
具体实现时,将接收到的交易批量打包,形成一个交易集合。然后,对该交易集合中的交易进行共识。应理解,这里所涉及的具体共识方案可参照现有技术来实现,本说明书并不对此进行赘述。
步骤204:在达成共识后,将已定序的交易集合添加到预设缓冲队列。
应理解,所述预设缓冲队列可以是一个缓存空间,主要用于缓存已定序的交易集合。
在共识达成之后,将已定序的一个个交易集合依次添加到预设缓冲队列中,以等待依次被执行。
步骤206:依次执行所述预设缓冲队列中每个交易集合内的交易。
按照所述预设缓冲队列中交易集合的排序,依次执行这些交易集合内的交易。
步骤208:在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
每执行完一个交易集合中的所有交易,就将被执行的交易集合的orderRoot,以及执行后的stateRoot发给共识模块。以便于在Leader打包交易拼装Epoch时,取最新收到的stateRoot作为最新状态参与共识。
由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。
可选地,基于图2所示方案,所述方法还包括:在提案新区块时,将所述最新状态与当前新区块的交易批量打包,并对所述最新状态以及打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
由此,在提案新区块时,可以将最新状态与当前新区块的交易批量打包进行共识,并实现交易共识与执行的并行处理。进一步提升共识效率。
其实,可以用B(h,S,T)表示高度为h的区块,其包含的状态是S,定序的交易集合是T。如果将S理解为是共识模块在开始对B(h,S,T)共识时,执行模块执行达到的最新状态,那么共识模块将无需等待执行模块执行新的区块,而执行模块只需要沿着已定序的交易向前执行。这样,共识模块可以连续向前推进,不断将新交易定序,同时完成执行模块的最新状态共识;执行模块也可以连续执行已定序的交易集合,直到将所有已定序的交易执行完毕。
可选地,在对打包得到的一个交易集合进行共识时,仅向发起提案的共识节点发送投票,并在投票共识占比大于阈值时,基于预设聚合算法对共识占比大于阈值的投票进行聚合,并广播。
可选地,所述投票包括特殊投票;所述特殊投票是共识节点内设置的计时器超时后由共识节点发送的无效投票;
在对打包得到的一个交易集合进行共识时,所述方法还包括:
在投票无效占比大于阈值时,基于预设聚合算法对无效占比大于阈值的投票进行聚合,并广播。
针对以上两种可选方案,可具体参照以下实施例。
第一步:接收多个第二共识节点发送的针对当前提案的投票,其中,所述多个第二共识节点包括当前区块链网络中第一共识节点在内的部分或全部共识节点。
应理解,每个第二共识节点针对当前提案生成的投票可能不一致,因此,第一共识节点接收到的投票中,有对当前提案表示赞成(即本说明书中所谓的共识)的投票,可能也有对当前提案表示反对的投票。
在本说明书中,只有第一共识节点接收多个第二共识节点返回的投票,而多个第二共识节点之间并不相互接收投票,从而,减少了共识节点之间消息交互的数量,降低消息交互复杂度。
第二步:如果接收到的投票中共识占比大于阈值,将共识占比大于阈值的投票进行聚合处理得到第一聚合签名,其中,所述阈值大于等于2/3且小于等于1。
需要说明的是,第二步中进行聚合处理的投票都是针对同一提案的投票,在进行聚合处理时,可以采用BLS聚合签名算法或Schnorr聚合签名算法将共识占比大于阈值的投票聚合成第一聚合签名。
应理解,在确定接收到的投票中共识占比大于所述阈值时,一种可实现的方式:根据接收到的投票中共识签名对应的投票数量与总投票数量之比是否大于所述阈值确定;
另一种可实现的方式:根据接收到的投票中共识签名对应的第二共识节点的投票权重之和是否大于所述阈值确定。
第三步:将所述第一聚合签名广播给所述多个第二共识节点。
通过上述技术方案,在针对发起的提案进行投票时,只有发起提案的共识节点接收到投票,而其它共识节点不接收投票,这样,发起提案的共识节点将接收到的共识占比大于阈值的投票聚合得到第一聚合签名,并将该第一聚合签名广播给其它共识节点。从而,只有发起提案的共识节点与其它共识节点之间进行消息交互,而省去了其它共识节点之间的消息交互,减少消息交互数量,降低消息交互复杂度,支持大数量的共识节点进行共识,保证共识算法正常运行。
尤其针对数量较多的共识节点(例如数量为N)而言,可以将消息交互复杂度由O(N^2)降低到O(N),从而能够在生产中支持数以百计的共识节点进行共识。
可选地,所述投票为针对当前提案的prevote投票或针对当前提案的precommit投票。换言之,上述第一步-第三步可适用于同一提案的prevote阶段,或是,同一提案的precommit阶段。
在本说明书实施例中,基于上述第一步-第三步,若所述投票为prevote投票,则在将所述第一聚合签名广播给所述多个第二共识节点之后,所述方法还包括:
第四步:所述第一共识节点接收多个第二共识节点发送的针对当前提案的precommit投票,其中,所述多个第二共识节点包括当前区块链网络中除发起当前提案的所述第一共识节点外的部分或全部共识节点。
第五步:如果接收到的precommit投票中共识占比大于所述阈值,将共识占比大于所述阈值的precommit投票进行聚合处理得到第二聚合签名。
第六步:将所述第二聚合签名广播给所述多个第二共识节点。
这样,在整个共识过程中,prevote阶段和precommit阶段均可以采用将投票发送给发起提案的共识节点并由该共识节点进行聚合处理得到聚合签名,并再次广播给其它共识节点的方式,可以省去其它共识节点之间的消息交互,减少消息交互数量,降低消息交互复杂度。
考虑到发起提案的第一共识节点有可能作恶或是出现故障,导致第二共识节点无法收到提案或第一聚合签名或第二聚合签名等情况,影响共识过程无法推进。为此,本说明书实施例中,可在第二共识节点内设置计时器,以在计时器超时后(第二共识节点长时间无法收到提案或聚合签名;或是第二共识节点超时后才收到提案或聚合签名)触发第二共识节点发送特殊投票(或者也称为投空票)。
应理解,第二共识节点内设置的计时器,可以理解为是一种计时逻辑,可以分别为第二共识节点的三个阶段设置计时。也可以分别为每个阶段设置一个计时器。
可选地,在本说明书实施例中,所述投票包括特殊投票;所述特殊投票是第二共识节点内设置的计时器超时后由所述第二共识节点发送的无效投票;
相应地,基于上述方案,如果接收到的投票中无效占比大于阈值,将无效占比大于阈值的特殊投票进行聚合处理得到第一特殊聚合签名。将所述第一特殊聚合签名广播给所述多个第二共识节点。
应理解,在确定接收到的投票中无效占比大于所述阈值时,其方式与确定接收到的投票中共识占比大于所述阈值时采用的方式类似,在此不做赘述。
可选地,当所述投票为针对当前提案的特殊precommit投票时,所述第一特殊聚合签名为特殊precommit聚合签名;
将所述第一特殊聚合签名广播给所述多个第二共识节点,具体包括:
将特殊precommit聚合签名广播给所述多个第二共识节点,以使得所述多个第二共识节点在接收到所述特殊precommit聚合签名后重新选择发起下一次提案的共识节点。
其实,所述特殊投票除了是第二共识节点内设置的计时器超时后由所述第二共识节点发送的无效投票外,还可以是第二共识节点在接收到第一特殊聚合签名后发送的无效投票。
具体地,所述投票包括特殊投票,所述特殊投票是第二共识节点在接收到第一特殊聚合签名后发送的无效投票;
当所述投票为针对当前提案的特殊prevote投票时,所述方法还包括:
如果接收到的precommit投票中无效占比大于阈值,将无效占比大于阈值的特殊precommit投票进行聚合处理得到特殊precommit聚合签名;
将特殊precommit聚合签名广播给所述多个第二共识节点,以使得所述多个第二共识节点在接收到所述特殊precommit聚合签名后重新选择发起下一次提案的共识节点。
通过上述技术方案,在针对发起的提案进行投票时,只有发起提案的共识节点接收到投票,而其它共识节点不接收投票,这样,发起提案的共识节点将接收到的无效占比大于阈值的投票聚合得到特殊聚合签名,并将该特殊聚合签名广播给其它共识节点。从而,只有发起提案的共识节点与其它共识节点之间进行消息交互,而省去了其它共识节点之间的消息交互,减少消息交互数量,降低消息交互复杂度。
下面通过具体的实例对本说明书所涉及的采用聚合签名方式实现的共识方案进行详述。
参照图2b所示,区块链网络中有发起当前提案的共识节点(在图2b中记为leader),以及接收当前提案的共识节点(假设为3个,图2b中分别记为node0,node1,node2)。
一种可实现的方案:
在propose阶段,leader将区块打包在提案中,并分别广播给node0,node1,node2。
在prevote阶段,node0,node1,node2分别生成对该提案的prevote投票,签名后发送给leader,leader收集从node0,node1,node2以及自身的投票,如果收到的投票共识占比大于2/3,则将这些投票聚合处理为一个prevote聚合签名。同时,将prevote聚合签名广播给node0,node1,node2。
在precommit阶段,当node0,node1,node2接收到prevote聚合签名后,分别生成对该提案的precommit投票,签名后发送给leader,leader收集从node0,node1,node2以及自身的投票,如果收到的投票共识占比大于2/3,则将这些投票聚合处理为一个precommit聚合签名。同时,将precommit聚合签名广播给node0,node1,node2。
另一种可实现的方案:
在propose阶段,leader将区块打包在提案中,并分别广播给node0,node1,node2。
在prevote阶段,若node0,node1,node2的计时器超时,则分别生成对该提案的特殊prevote投票,签名后发送给leader,leader收集从node0,node1,node2以及自身的投票,如果收到的投票无效占比大于2/3,则将这些投票聚合处理为一个特殊prevote聚合签名。同时,将特殊prevote聚合签名广播给node0,node1,node2。
在precommit阶段,当node0,node1,node2接收到特殊prevote聚合签名,或者,node0,node1,node2的计时器超时,则分别生成对该提案的特殊precommit投票,签名后发送给leader,leader收集从node0,node1,node2以及自身的投票,如果收到的投票无效占比大于2/3,则将这些投票聚合处理为一个特殊precommit聚合签名。同时,将特殊precommit聚合签名广播给node0,node1,node2,以便于重新选择共识节点发起新的提案。
图3是本说明书的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
上述如本说明书图1所示实施例揭示的区块链共识与执行的并行处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现区块链共识与执行的并行处理装置在图1所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。
图4为本说明书的一个实施例提供的区块链共识与执行的并行处理装置400的结构示意图。请参考图4,在一种软件实施方式中,区块链共识与执行的并行处理装置400,包括:
共识模块402,用于批量打包交易,并对打包得到的一个交易集合进行共识;
所述共识模块402,还用于在达成共识后,将已定序的交易集合添加到执行模块404的预设缓冲队列;
所述执行模块404,用于依次执行所述预设缓冲队列中每个交易集合内的交易;
所述执行模块404,还用于在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回给所述共识模块402。
由此,可以通过上述方式,在一个区块被处理时,实现交易共识与执行的并行处理,以及在相邻区块的交易共识与执行的并行处理,保证在整个共识过程中,交易共识与执行始终在执行,且存在并行处理的情况。从而,提升共识效率。
可选地,作为一个实施例,所述共识模块402,还用于在提案新区块时,将所述最新状态与当前新区块的交易批量打包,并对所述最新状态以及打包得到的一个交易集合进行共识;
所述共识模块402,还用于在达成共识后,将已定序的交易集合添加到预设缓冲队列;
所述执行模块404,用于依次执行所述预设缓冲队列中每个交易集合内的交易;
所述执行模块404,还用于在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回给所述共识模块402。
在本说明书实施例的一种具体实现方式中,在达成共识的区块中,配置有以下参数:
height,表示区块的高度;preHash,表示上一个区块的哈希;orderRoot,表示包含在区块头中的所有待定序的交易状态;stateRoot,表示最新的世界状态;confirmRoots,表示从上一个区块的stateRoot到当前区块的stateRoot之间执行模块执行的预设缓冲队列的零至多个交易集合的orderRoot集合;receiptRoots,记录与confirmRoots对应的交易集合执行后返回的回执;proof,表示对上一个区块的证明。
在本说明书实施例的另一种具体实现方式中,所述共识模块在对打包得到的一个交易集合进行共识时,还用于,仅向发起提案的共识节点发送投票,并在投票共识占比大于阈值时,基于预设聚合算法对共识占比大于阈值的投票进行聚合,并广播。
在本说明书实施例的另一种具体实现方式中,所述投票包括特殊投票;所述特殊投票是共识节点内设置的计时器超时后由共识节点发送的无效投票;
所述共识模块在对打包得到的一个交易集合进行共识时,还用于在投票无效占比大于阈值时,基于预设聚合算法对无效占比大于阈值的投票进行聚合,并广播。
应理解,本说明书实施例的区块链共识与执行的并行处理装置还可执行图1中区块链共识与执行的并行处理装置(或设备)执行的方法,并实现区块链共识与执行的并行处理装置(或设备)在图1所示实施例的功能,在此不再赘述。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (12)

1.一种区块链共识与执行的并行处理方法,包括:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
2.如权利要求1所述的方法,还包括:
在提案新区块时,将所述最新状态与当前新区块的交易批量打包,并对所述最新状态以及打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
3.如权利要求1或2所述的方法,在达成共识的区块中,配置有以下参数:
height,表示区块的高度;preHash,表示上一个区块的哈希;orderRoot,表示包含在区块头中的所有待定序的交易状态;stateRoot,表示最新的世界状态;confirmRoots,表示从上一个区块的stateRoot到当前区块的stateRoot之间执行模块执行的预设缓冲队列的零至多个交易集合的orderRoot集合;receiptRoots,记录与confirmRoots对应的交易集合执行后返回的回执; proof,表示对上一个区块的证明。
4.如权利要求1或2所述的方法,在对打包得到的一个交易集合进行共识时,仅向发起提案的共识节点发送投票,并在投票共识占比大于阈值时,基于预设聚合算法对共识占比大于阈值的投票进行聚合,并广播。
5.如权利要求4所述的方法,所述投票包括特殊投票;所述特殊投票是共识节点内设置的计时器超时后由共识节点发送的无效投票;
在对打包得到的一个交易集合进行共识时,所述方法还包括:
在投票无效占比大于阈值时,基于预设聚合算法对无效占比大于阈值的投票进行聚合,并广播。
6.一种区块链共识与执行的并行处理装置,包括:
共识模块,用于批量打包交易,并对打包得到的一个交易集合进行共识;
所述共识模块,还用于在达成共识后,将已定序的交易集合添加到执行模块的预设缓冲队列;
所述执行模块,用于依次执行所述预设缓冲队列中每个交易集合内的交易;
所述执行模块,还用于在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回给所述共识模块。
7.如权利要求6所述的装置,
所述共识模块,还用于在提案新区块时,将所述最新状态与当前新区块的交易批量打包,并对所述最新状态以及打包得到的一个交易集合进行共识;
所述共识模块,还用于在达成共识后,将已定序的交易集合添加到执行模块的预设缓冲队列;
所述执行模块,用于依次执行所述预设缓冲队列中每个交易集合内的交易;
所述执行模块,还用于在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回给所述共识模块。
8.如权利要求6或7所述的装置,在达成共识的区块中,配置有以下参数:
height,表示区块的高度;preHash,表示上一个区块的哈希;orderRoot,表示包含在区块头中的所有待定序的交易状态;stateRoot,表示最新的世界状态;confirmRoots,表示从上一个区块的stateRoot到当前区块的stateRoot之间执行模块执行的预设缓冲队列的零至多个交易集合的orderRoot集合; receiptRoots,记录与confirmRoots对应的交易集合执行后返回的回执; proof,表示对上一个区块的证明。
9.如权利要求6或7所述的装置,所述共识模块在对打包得到的一个交易集合进行共识时,还用于,仅向发起提案的共识节点发送投票,并在投票共识占比大于阈值时,基于预设聚合算法对共识占比大于阈值的投票进行聚合,并广播。
10.如权利要求9所述的装置,所述投票包括特殊投票;所述特殊投票是共识节点内设置的计时器超时后由共识节点发送的无效投票;
所述共识模块在对打包得到的一个交易集合进行共识时,还用于在投票无效占比大于阈值时,基于预设聚合算法对无效占比大于阈值的投票进行聚合,并广播。
11.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
12.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
批量打包交易,并对打包得到的一个交易集合进行共识;
在达成共识后,将已定序的交易集合添加到预设缓冲队列;
依次执行所述预设缓冲队列中每个交易集合内的交易;
在所述任一交易集合内的交易全部执行完成后,将已被执行的交易集合的执行结果作为最新状态返回。
CN201910851514.0A 2019-09-10 2019-09-10 区块链共识与执行的并行处理方法、装置和电子设备 Active CN110659988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910851514.0A CN110659988B (zh) 2019-09-10 2019-09-10 区块链共识与执行的并行处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910851514.0A CN110659988B (zh) 2019-09-10 2019-09-10 区块链共识与执行的并行处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN110659988A true CN110659988A (zh) 2020-01-07
CN110659988B CN110659988B (zh) 2022-11-18

Family

ID=69038073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910851514.0A Active CN110659988B (zh) 2019-09-10 2019-09-10 区块链共识与执行的并行处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN110659988B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090892A (zh) * 2020-03-24 2020-05-01 杭州智块网络科技有限公司 一种基于vrf和门限签名的区块链共识方法和装置
CN111369358A (zh) * 2020-02-10 2020-07-03 杭州溪塔科技有限公司 一种区块链共识方法、装置和电子设备
CN111415259A (zh) * 2020-03-26 2020-07-14 杭州复杂美科技有限公司 交易排队方法、设备和存储介质
CN111522648A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111556115A (zh) * 2020-04-22 2020-08-18 财付通支付科技有限公司 一种基于区块链的数据处理方法、装置、设备及存储介质
CN111556133A (zh) * 2020-04-26 2020-08-18 布比(北京)网络技术有限公司 区块链共识方法、系统及计算机存储介质、电子设备
CN111814204A (zh) * 2020-09-09 2020-10-23 腾讯科技(深圳)有限公司 基于区块链的数据共识方法、相关设备及存储介质
CN111931220A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 区块链网络的共识处理方法、装置、介质及电子设备
CN112291372A (zh) * 2020-12-28 2021-01-29 腾讯科技(深圳)有限公司 区块链的异步落账方法、装置、介质及电子设备
CN112506671A (zh) * 2021-02-03 2021-03-16 支付宝(杭州)信息技术有限公司 区块链中的交易处理方法、装置及电子设备
CN112508577A (zh) * 2021-02-04 2021-03-16 北京全息智信科技有限公司 区块生成及验证的方法、装置、电子设备和可读存储介质
CN112527800A (zh) * 2020-12-18 2021-03-19 山大地纬软件股份有限公司 树形链式账本结构、高性能并行共识方法及系统
WO2021139533A1 (zh) * 2020-01-12 2021-07-15 江苏复杂美科技有限公司 共识交易发送方法、设备和存储介质
CN113656509A (zh) * 2021-08-26 2021-11-16 支付宝(杭州)信息技术有限公司 区块链系统中执行交易的方法及装置
CN113656510A (zh) * 2021-08-26 2021-11-16 支付宝(杭州)信息技术有限公司 区块链系统中执行交易的方法及装置
WO2022007345A1 (zh) * 2020-07-09 2022-01-13 江苏复杂美科技有限公司 区块并行处理方法、设备和存储介质
CN114416765A (zh) * 2022-03-28 2022-04-29 北京微芯感知科技有限公司 一种区块链交易无级预测执行方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529951A (zh) * 2016-12-30 2017-03-22 杭州云象网络技术有限公司 一种联盟链网络下采用异步方式的节点共识验证方法
CN107688945A (zh) * 2017-08-11 2018-02-13 杭州秘猿科技有限公司 一种基于延迟状态共识的高效许可链
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
US20180240114A1 (en) * 2017-02-22 2018-08-23 Alibaba Group Holding Limited Transaction verification in a consensus network
CN109034807A (zh) * 2018-08-15 2018-12-18 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109189853A (zh) * 2018-08-08 2019-01-11 众安信息技术服务有限公司 一种区块链之间数据同步方法与装置
CN109447810A (zh) * 2018-11-29 2019-03-08 杭州秘猿科技有限公司 并行区块链共识方法、系统、电子设备和计算机可读存储介质
CN109474682A (zh) * 2018-11-12 2019-03-15 杭州秘猿科技有限公司 一种区块链网络传输方法、装置及电子设备
CN109670954A (zh) * 2018-12-18 2019-04-23 陕西医链区块链集团有限公司 基于区块链的交易处理方法
CN110084601A (zh) * 2019-04-30 2019-08-02 杭州复杂美科技有限公司 平行链主链交易状态同步方法、设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529951A (zh) * 2016-12-30 2017-03-22 杭州云象网络技术有限公司 一种联盟链网络下采用异步方式的节点共识验证方法
US20180240114A1 (en) * 2017-02-22 2018-08-23 Alibaba Group Holding Limited Transaction verification in a consensus network
CN107688945A (zh) * 2017-08-11 2018-02-13 杭州秘猿科技有限公司 一种基于延迟状态共识的高效许可链
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN109189853A (zh) * 2018-08-08 2019-01-11 众安信息技术服务有限公司 一种区块链之间数据同步方法与装置
CN109034807A (zh) * 2018-08-15 2018-12-18 杭州复杂美科技有限公司 一种区块链数据同步方法
CN109474682A (zh) * 2018-11-12 2019-03-15 杭州秘猿科技有限公司 一种区块链网络传输方法、装置及电子设备
CN109447810A (zh) * 2018-11-29 2019-03-08 杭州秘猿科技有限公司 并行区块链共识方法、系统、电子设备和计算机可读存储介质
CN109670954A (zh) * 2018-12-18 2019-04-23 陕西医链区块链集团有限公司 基于区块链的交易处理方法
CN110084601A (zh) * 2019-04-30 2019-08-02 杭州复杂美科技有限公司 平行链主链交易状态同步方法、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石翔: "区块链性能突破(四):共识与同步流程优化", 《INFOQ》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021139533A1 (zh) * 2020-01-12 2021-07-15 江苏复杂美科技有限公司 共识交易发送方法、设备和存储介质
CN111369358A (zh) * 2020-02-10 2020-07-03 杭州溪塔科技有限公司 一种区块链共识方法、装置和电子设备
CN111369358B (zh) * 2020-02-10 2023-09-12 杭州溪塔科技有限公司 一种区块链共识方法、装置和电子设备
CN111090892A (zh) * 2020-03-24 2020-05-01 杭州智块网络科技有限公司 一种基于vrf和门限签名的区块链共识方法和装置
CN111415259A (zh) * 2020-03-26 2020-07-14 杭州复杂美科技有限公司 交易排队方法、设备和存储介质
CN111415259B (zh) * 2020-03-26 2024-02-06 杭州复杂美科技有限公司 交易排队方法、设备和存储介质
CN111556115A (zh) * 2020-04-22 2020-08-18 财付通支付科技有限公司 一种基于区块链的数据处理方法、装置、设备及存储介质
CN111556133A (zh) * 2020-04-26 2020-08-18 布比(北京)网络技术有限公司 区块链共识方法、系统及计算机存储介质、电子设备
CN111556133B (zh) * 2020-04-26 2023-03-14 布比(北京)网络技术有限公司 区块链共识方法、系统及计算机存储介质、电子设备
CN111522648A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111522648B (zh) * 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
US11803447B2 (en) 2020-07-03 2023-10-31 Alipay (Hangzhou) Information Technology Co., Ltd. Transaction processing method, apparatus, and electronic device for blockchain
WO2022007345A1 (zh) * 2020-07-09 2022-01-13 江苏复杂美科技有限公司 区块并行处理方法、设备和存储介质
CN111814204B (zh) * 2020-09-09 2020-12-15 腾讯科技(深圳)有限公司 基于区块链的数据共识方法、相关设备及存储介质
CN111814204A (zh) * 2020-09-09 2020-10-23 腾讯科技(深圳)有限公司 基于区块链的数据共识方法、相关设备及存储介质
CN111931220A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 区块链网络的共识处理方法、装置、介质及电子设备
CN112527800A (zh) * 2020-12-18 2021-03-19 山大地纬软件股份有限公司 树形链式账本结构、高性能并行共识方法及系统
CN112527800B (zh) * 2020-12-18 2022-07-22 山大地纬软件股份有限公司 树形链式账本结构、高性能并行共识方法及系统
EP4207688A4 (en) * 2020-12-28 2024-03-27 Tencent Tech Shenzhen Co Ltd ASYNCHRONOUS ACCOUNTING METHOD AND DEVICE FOR BLOCKCHAIN, MEDIUM AND ELECTRONIC DEVICE
CN112291372A (zh) * 2020-12-28 2021-01-29 腾讯科技(深圳)有限公司 区块链的异步落账方法、装置、介质及电子设备
CN112506671B (zh) * 2021-02-03 2021-05-07 支付宝(杭州)信息技术有限公司 区块链中的交易处理方法、装置及电子设备
CN112506671A (zh) * 2021-02-03 2021-03-16 支付宝(杭州)信息技术有限公司 区块链中的交易处理方法、装置及电子设备
CN112508577A (zh) * 2021-02-04 2021-03-16 北京全息智信科技有限公司 区块生成及验证的方法、装置、电子设备和可读存储介质
CN113656509A (zh) * 2021-08-26 2021-11-16 支付宝(杭州)信息技术有限公司 区块链系统中执行交易的方法及装置
CN113656510A (zh) * 2021-08-26 2021-11-16 支付宝(杭州)信息技术有限公司 区块链系统中执行交易的方法及装置
CN114416765B (zh) * 2022-03-28 2022-06-14 北京微芯感知科技有限公司 一种区块链交易无级预测执行方法及系统
CN114416765A (zh) * 2022-03-28 2022-04-29 北京微芯感知科技有限公司 一种区块链交易无级预测执行方法及系统

Also Published As

Publication number Publication date
CN110659988B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN110659988B (zh) 区块链共识与执行的并行处理方法、装置和电子设备
CN109447810B (zh) 并行区块链共识方法、系统、电子设备和计算机可读存储介质
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
CN110708163B (zh) 一种区块链的共识方法、装置、系统和电子设备
CN107391320B (zh) 一种共识方法及装置
CN111259078B (zh) 区块链共识方法、装置、计算机设备和存储介质
CN108765159B (zh) 一种基于区块链的上链与状态处理方法、装置及互联系统
CN108846749B (zh) 一种基于区块链技术的分片化的交易执行系统及方法
CN110648136B (zh) 共识与交易同步的并行处理方法、装置和电子设备
CN110012100B (zh) 一种带宽优化的区块链共识方法、装置及电子设备
EP3811565A1 (en) Data processing method and apparatus
CN111369358B (zh) 一种区块链共识方法、装置和电子设备
CN109951534B (zh) 一种共识方法、装置和系统
CN109064327B (zh) 一种智能合约处理方法、装置及设备
CN112506671B (zh) 区块链中的交易处理方法、装置及电子设备
CN111698244B (zh) 一种新增节点快速参与共识的方法、装置及电子设备
CN109582398B (zh) 一种状态处理方法、装置及电子设备
CN112153143A (zh) Kubernetes集群的流量调度方法、装置及电子设备
CN111882322A (zh) 一种按顺序打包交易的方法、装置及电子设备
CN112887436B (zh) 一种共识方法、共识节点和流水线方式的区块链系统
CN110599139B (zh) 一种区块链共识算法中的出块方法和装置
CN111709748A (zh) 一种具有业务属性的交易执行方法、装置及电子设备
CN108519909B (zh) 一种流数据处理方法和装置
CN113407156B (zh) 基于去中心化可验证延迟函数生成随机数的方法及系统
CN111080447B (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200107

Assignee: Hangzhou Xita Technology Co.,Ltd.

Assignor: CRYPTAPE Co.,Ltd.

Contract record no.: X2022330000875

Denomination of invention: Parallel processing methods, devices and electronic devices for blockchain consensus and execution

Granted publication date: 20221118

License type: Common License

Record date: 20221226

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20231221

Address after: 10/F, Guotou Building, No. 398 Shaoxing Road, Gongshu District, Hangzhou City, Zhejiang Province, 310000

Patentee after: Hangzhou Xita Technology Co.,Ltd.

Address before: Room 1301, block a, Huaxing Times Square, 478 Wensan Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee before: CRYPTAPE Co.,Ltd.

TR01 Transfer of patent right