CN110868434B - 一种多层分片架构的区块链共识方法及系统 - Google Patents

一种多层分片架构的区块链共识方法及系统 Download PDF

Info

Publication number
CN110868434B
CN110868434B CN201810978099.0A CN201810978099A CN110868434B CN 110868434 B CN110868434 B CN 110868434B CN 201810978099 A CN201810978099 A CN 201810978099A CN 110868434 B CN110868434 B CN 110868434B
Authority
CN
China
Prior art keywords
block
small
node
transaction
leader
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
CN201810978099.0A
Other languages
English (en)
Other versions
CN110868434A (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.)
Jiao Zhenzhen
Original Assignee
Shenzhen Material Margin 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 Shenzhen Material Margin Technology Co ltd filed Critical Shenzhen Material Margin Technology Co ltd
Priority to CN201810978099.0A priority Critical patent/CN110868434B/zh
Publication of CN110868434A publication Critical patent/CN110868434A/zh
Application granted granted Critical
Publication of CN110868434B publication Critical patent/CN110868434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于计算机技术领域,具体是一种多层分片架构的区块链共识方法及系统。所述多层分片架构的区块链共识方法包含两类区块,分别为大区块和小区块,所述大区块是主干区块,按出现先后顺序、逐一地向前引用前一个大区块;每个所述小区块均唯一归属于一个大区块,并在产生时引用所述大区块的大区块头。所述大区块包含多个所述小区块。所述小区块对交易进行打包。所述多层分片架构的区块链共识系统是采用所述的多层分片架构的区块链共识方法对节点进行组织及共识架构的系统。

Description

一种多层分片架构的区块链共识方法及系统
技术领域
本发明涉及计算机技术领域,具体是一种多层分片架构的区块链共识方法及系统。
背景技术
区块链技术(又称分布式账本技术)具有中心化、公开透明、不可篡改、可信任等优点,在智能合约、证券交易、电子商务、物联网、社交通讯、文件存储、存在性证明、身份验证、股权众筹等众多领域有望得到广泛应用。在区块链中,节点会产生交易(Transaction),节点首先将多个交易打包到一个称之为区块(Block)的结构中,不同时间所形成的区块按时间先后首尾相连形成链,称之为区块链(Blockchain)。不同节点以分布式的决策机制来判断如何产生和新增一个区块至区块链上。而网络中所有不同的节点必须各自维护区块链的副本,并使各自所维护的区块链副本保持一致,即使因为网络延迟和丢包等问题出现短暂的分歧,但其必须最终形成确定的、唯一的结果,实现这一目的的技术过程,称为节点共识。现有共识技术一般包括工作量证明(PoW)、权益证明(PoS)、实践拜占庭容错(PBFT)和委托权益证明(DPoS)几类,然而均存在性能瓶颈,即使在互联网的环境下,仍然存在处理效率低的问题。此外,在很多物联网环境下,受限于节点算力和能量的不均一性、及不同的网络接入制式、带宽、速率、可靠性及节点移动性等,效率问题更加突出,亟需一种能够提高节点共识效率和公平性的方案,提升区块链的综合效率,形成一种通用的高效组织架构,以分布式的方式管理包括海量物联网设备在内的设备与随之产生的海量交易。
发明内容
针对现有区块链共识技术在完成共识记账时所存在的低效、不公平等缺陷与不足,本发明提出一种多层分片架构的区块链共识方法及系统。
本说明书中一个或多个实施例提供的一种多层分片架构的区块链共识方法及系统,其特征在于:包含两类区块,分别为大区块和小区块;所述大区块是主干区块,按出现先后顺序、逐一地向前引用前一个大区块;所述大区块包括:大区块头和大区块体;所述小区块用来打包交易;不同节点可以同时打包不同的小区块以形成分片效应;所述小区块包括:小区块头和小区块体;所述大区块包含多个所述小区块,形成多层结构;所述大区块和所述小区块基于共识方法产生并构成区块链。
具体地,多层分片架构的区块链共识方法分成4个部分阐述,分别为区块链结构、网络共识流程、代币分配机制、网络容错处理。
1.区块链结构
本发明采用分层的区块链结构,区块链中包含两种区块,分别为Macroblock和Miniblock,如附图1所示。其中Macroblock也称为大区块,Miniblock也称为小区块。大区块是区块链的主干区块,按出现顺序逐一的向前引用。大区块将多个小区块打包在一起。小区块用来封装交易信息,可以在物理空间上实现分片效应,每个小区块引用唯一的大区块头,且彼此之间不存在相互引用。
优选地,作为一种实施例,在本发明中,所述区块包括区块头、和区块体两部分,其中:
大区块包括:
大区块头(Macroblock Head),具体包括:当前大区块的高度,引用前一个大区块的哈希、本大区块头所采用的PoW难度值、状态树根、当前大区块头的生成节点(下文中也称为Leader)地址、收据树根、收据树的布隆过滤器、时间戳、完成最终PoW计算所使用的随机数。
大区块体,具体包括:属于当前大区块的完整的小区块树及树根哈希、Leader对大区块的签名等。
小区块包括:
小区块头(Miniblock Head),具体包括:所引用大区块头的哈希、本小区块内的交易树根、本小区块采用PoW难度值、时间戳、区块高度、每个区块的手续费限制、本区块所用的总手续费、完成最终PoW计算所使用的随机数。
小区块体,具体包括:本小区块内所存储的完整的交易树。
网络中的交易信息是在不同账户之间的代币转移记录,分为外部账户和合约账户两种。交易信息由节点产生后,在网络中以Gossip或P2P传输的方式扩散。网络中的所有节点在接收到新的交易信息后会将该交易信息暂存在节点本地缓冲区中,所属缓冲区也称为节点上的交易池。
状态树用来记录网络中总的账户状态,存放在节点本地数据库中,不放入区块。
2.网络共识流程
在这一结构中,大区块(头)的生成节点被称为Leader,小区块的打包节点被称为Miber。在理想网络条件下,在任一时刻,网络中仅有唯一的Leader,但可以同时存在多个Miber。所属理想网络条件为无带宽限制、网络传播无延时、无丢包的网络环境。在存在延迟的非理想网络下,可能会出现多个Leader,此时会有选举竞争的行为,最后决出唯一Leader。
整个共识过程可细分为6个阶段:
1)Leader竞争阶段
2)大区块头(Macroblock Head)传播阶段
3)小区块(Miniblock)打包阶段
4)小区块(Miniblock)传播阶段
5)大区块(Macroblock)生成与广播阶段
6)主链更新阶段
以下将详细介绍每一阶段的流程内容:
(1)Leader竞争阶段
Leader节点是Macroblock和Macroblock Head的生成节点,由网络中的节点通过竞选轮流承担,即所有网络节点均有机会通过PoW计算竞争成为Leader。
根据当前网络Leader的不同,时间轴被划分为若干相邻但不重叠的轮次。本发明将每一轮次开始阶段,网络节点竞争成为Leader的过程称为Leader的生成过程。为竞争成为下一轮次中新一任Leader节点,网络节点必须引用现有的已成功确认的前一个Macroblock的全部内容并执行PoW运算。本发明将竞争Leader的PoW过程成为Macro PoW。
在Macro PoW过程开始前,网络节点需要填写大区块头部的一些关键信息,包括:对所引用的前一个大区块所涉及的交易进行结算并更新状态树和收据树;
所述交易结算过程包括:
1)遍历所引用的前一个大区块中的小区块树及所述小区块树中所包含小区块中的所有交易,将合法且与排在其之前位置的其他交易不存在冲突的交易所涉及的金额进行结算并更新至状态树和收据树,并将交易涉及的手续费用作为报酬分配给相应的小区块打包节点;
2)将前一大区块生成节点所获得的挖矿收入分配给所述前一大区块生成节点;
所述状态树和收据树更新过程包括:
1)状态树更新后,计算状态树根,添加至当前拟生成大区块头内;
2)根据实际认可发生的交易来计算收据,并更新收据树根,添加至当前拟生成大区块头内。
想要竞选Leader的节点A在选择前一个大区块时必须遵循统一的原则,在大区块头选择引用前一大区块时发现存在分支时,选择权重最高的分支的最末端大区块进行引用;优选地,分支选择的确定方法为:当大区块数量不一致时,选择大区块数量多者,当大区块数量一致时,选择小区块中非重叠交易数量多者、或小区块中非重叠交易总金额多者、或小区块中非重叠交易手续费多者。
在大区块头选择引用前一大区块时发现在相同高度且具有相同前序内容的不同大区块时,根据以下原则中的一项或多项组合来选择一个大区块进行引用:
1)选择内含生效交易数量最大的大区块进行引用;
2)选择内含生效交易总金额最大的大区块进行引用;
3)选择内含生效交易总手续费最多的大区块进行引用。
Macro PoW过程采用穷举方式计算哈希。运行PoW的节点将该节点引用的Macroblock内容结合Nonce随机数,输入约定的哈希算法计算哈希结果,仅当哈希结果满足一定预设条件时,如小于给定PoW难度值时,该节点竞争Leader成功。每一次竞争失败的节点可以通过改变Nonce再次计算哈希,直到该节点竞争成功或接收到网络中当前轮次竞争成功的节点的通告信息,作为本轮Leader生成完毕的信号。所述预设条件可以是但不限于预先定义的值域。
(2)大区块头传播阶段
任何节点在竞争成为Leader后,均需要在网络中及时的通告自己的Leader身份,以停止本轮次的Leader生成过程。Leader节点通过在网络中扩散Macroblock Head消息达到上述目的。
当网络中的任何节点收到Macroblock Head,会检查该Macroblock Head中包含信息的有效性,包括验算哈希、检查签名、验算其结算的状态树的真实性等,如确认信息无误,则将该Macroblock Head作为当前轮次Miniblock的引用指向,然后进入到Miniblock打包阶段。
(3)小区块打包阶段
网络中节点在接收到大区块头信息后,会逐一的检查该区块头包含信息的正确性。
对来自其他节点所产生的大区块头进行合法性验证的过程包括:
1)检查大区块头的高度、时间戳、其引用前一个大区块的哈希值的正确性;
2)检查结算信息的正确性:基于前一个大区块中所包含的交易信息对状态树进行更新,将更新结果与所收到大区块头内包含的状态树根进行比较,仅当状态树根一致时,确认该区块头结算条目正确;
完成上述验证无误后,节点生成对该区块头的引用,确认当前轮次的Leader为该区块头的所属节点,然后进入小区块打包过程。
小区块的打包过程是将网络中的交易封装为区块的过程。为减少不同节点所打包小区块交易的重复程度,对用于交易广播的数据包的传播范围进行限制。
当进入小区块打包过程,节点会从交易池选择部分或全部的交易,将其封装进小区块的交易部分。
当以下条件中的一项或几项的组合满足时,节点开始打包小区块:
1)当所收到的交易的总交易金额达到一个阈值时;
2)当所收到的交易的总的手续费用达到一个阈值时;
3)当所收到的交易数量达到一个预设的数量时;
4)当将产生的小区块的数据包大小达到了一个阈值。
在选定待打包的交易后,节点将基于选定的交易构造交易树。交易树的构造方法可以采用但不限于Merkle树。交易树的叶子节点存放交易内容,中间节点存放孩子节点内容的哈希描述,这样全部的交易内容描述都会按多层哈希的方式被包含在根节点中。当交易树构造完成,节点将交易树根信息加入小区块的区块头中,同时填写区块头中的其他内容。
在填写完小区块的关键信息后,节点开始PoW计算,以争取成为小区块打包节点,即Miber节点。为区分Leader生成过程中的PoW,本发明将对Miniblock打包的PoW过程称为Mini PoW。
和Leader生成过程的Macro PoW不同,Mini PoW需要在哈希计算过程中包含本区块的所有交易信息。节点将记载交易的Merkle树根内容、当前引用的Macroblock Head的内容或哈希、Nonce随机数三部分内容连接在一起进行哈希运算,当且仅当运算结果处于指定值域范围内时,则该节点完成一个Miniblock的打包。所述哈希计算结果的目标值域范围是一个按时间调整的变量,也称作PoW的难度值。与负责打包Macroblock的Leader节点不同,网络中可能同时存在多个Miniblock打包节点。此外,Mini PoW的目标值域范围不同于Leader生成过程中Macro PoW哈希运算的目标值域范围。节点可以通过更换Nonce随机数,或更换打包的交易条目以重新生成交易树根,以获得不同的哈希计算结果。
(4)小区块确认阶段
节点小区块打包完成以后,会将该小区块发送到网络中。小区块的发送过程采用Gossip或P2P传输的方式。在小区块的传播过程中,所有接收到该区块的中继网络节点都会暂时将其存入本地的小区块缓存池中,当接收到来自Leader产生的大区块并确认该小区块已被收录无误后,才从缓存池中删除与当前轮次对应的所有小区块。
(5)大区块生成并广播阶段
Leader节点不断的从网络中接受到新的小区块,将其存进小区块池,然后逐一验证、检查小区块中的交易条目。
在接收小区块的过程中,当满足一定条件后,Leader节点从小区块缓存池中取出所有小区块,构造小区块树。作为一种优选方案,大区块对小区块的保存也采用树结构,例如Merkle树。继而,Leader对所产生的完整的大区块进行签名,签名完成后即完成大区块打包,然后将大区块在全网扩散。
这里,优选地,在接收小区块的过程中,当满足一定条件中的“满足一定条件”是指,在以下条件中任一或多个的组合得到满足:
1)已收到预定数量的小区块;
2)已收到的所有小区块中包含了预定数量的交易;
3)已收到的所有小区块中所包含的交易涉及金额达到预定数值;
4)已收到的所有小区块中所包含的交易涉及的手续费金额达到预定数值;
5)自节点成为Leader后的时间达到了预定时间;
6)预计将产生的大区块的数据包大小达到了预定数值;
其中,上述预定数值和时间可以是静态设置的,也可以是伴随区块链长度的增加而相应动态提高的。
(6)主链更新
网络中的节点在接收到新一轮打包完毕的大区块以后,需要进行多个验证,包括:
验证大区块头中对于状态树的更新,是否与所述大区块头所引用的前一个大区块中所包含的有效、合法交易的最终造成的账户状态相符;
判断大区块头和大区块是否是同一个用户签名,并且验证其签名的真实性;
验证大区块中的大区块头和所有小区块所进行的PoW计算是合法正确的;
当上述条目检查无误后,将该区块添加到区块链尾部,然后引用所述该大区块的哈希开始进行下一轮次的Leader生成过程。
3.代币产出与分配机制
共识算法的代币(token)产生和分配机制是共识系统的运转激励。
在本发明的共识体系中,区块链上的网络节点能够通过验证交易、打包交易、促成共识的行为赚取代币,以驱动共识体系正常运转。代币的来源主要包括两类:区块打包费和交易手续费。区块打包费作为将交易最终添加到区块链,形成分布式账本的报酬,交易手续费来自于记录在账本中的每一笔交易的支出所花费的手续费。
在上述共识流程中,Leader节点打包大区块,获得区块打包费奖励。区块奖励为在网络代币总和之上的新增代币。Miber节点在打包得到小区块以后,能够赚取内含交易的手续费用。交易手续费来自于每一笔成功计入账本的交易,为交易支出账户支付。此外,为了使Leader在打包时尽量少地打包交易重叠的小区块,Leader将也获得一部分成功入账交易的手续费,即非重叠交易或非冲突交易所涉及手续费的一部分。每一个大区块所涉及到的代币分配,如Leader生成过程中所述,在引用该大区块的后续大区块头的生成过程中进行结算。
4.容错处理
在实际的网络条件下,网络中可能因为传输延迟、数据包丢失等原因出现节点状态冲突或状态错误,针对可能出现的问题,本发明提出部分容错处理措施。
(1)每个节点为当前所采纳的Leader维护一个Macroblock定时器。如果定时器溢出时没有能够收到来自当前Leader的合法的Macroblock,则直接引用前序的Macroblock并启动Leader生成过程。之前曾经产生过合法大区块头(Macroblock Head)可以直接将之前产生的大区块头在网络中广播。
(2)当由于网络原因,节点没有接收到当前轮次的Macroblock Head信息,该节点仍然会不断的竞争Leader。在这种情况下,当该节点在接收到由其他节点传输的小区块时,会检查其引用的Macroblock Head,如果检查无误是当前节点已知的Macroblock Head的后续,则会基于该Macroblock Head打包小区块;如果该节点在接收到Macroblock Head消息之前接收到Macroblock,则会直接跳过小区块打包阶段,进入主链更新阶段。
基于上述结构和机制,可实现一种面向多层分片架构的区块链共识方法的系统。在该系统中,节点可以选择担任以下三种角色:
(1)节点参与所有任务,包括:Macroblock打包、Miniblock打包、交易提交。这类节点称为全节点。这一流程可以表述为:节点首先参与Macroblock Head的计算和Leader竞争,此时:
1)如果完成Macro PoW计算并生成合法的Macroblock Head后,成为Leader,接收Miniblock并对其进行打包,直至本轮打包结束;
2)如果未能及时计算出合法的Macroblock Head并收到了来自于其他节点的Macroblock Head,则节点开始接收交易并将交易打包,执行Mini PoW生成Miniblock后发送给当前的Leader节点;
(2)节点不参与Macroblock打包或Miniblock打包中的一项,而仅参与其中一种的竞争,包括以下两种情况:
1)仅参与Macroblock打包,也就是只进行Macro PoW计算过程。如果竞选Leader成功则成为Leader并接收Miniblock,最终产生Macroblock。而如果没有竞选Leader成功,则等待下一次参与。这种节点称之为宏块打包节点。
2)仅参与Miniblock打包,也就是只进行Mini PoW计算过程。等待Leader竞选成功通知,获得该轮次Macroblock Head后,开始对交易进行打包为Miniblock的行为,并提交给本轮Leader。这种节点称之为微块打包节点。
(3)节点只进行交易提交,不参与任何轮次的打包行为。这种节点称之为轻节点。
在本系统中,节点可以在上述身份角色中,通过变更参数设置进行角色切换。
附图说明
构成本申请一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为一种区块链结构
图2为一种网络共识协议流程示例
图3为一种Miniblock传输机制示例
具体实施方式
下面结合附图及实施例对本发明作进一步的说明。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的特征在于:包含两类区块,分别为大区块和小区块;所述大区块是主干区块,按出现先后顺序、逐一地向前引用前一个大区块;所述大区块包括:大区块头和大区块体;所述小区块用来打包交易;不同节点可以同时打包不同的小区块以形成分片效应;所述小区块包括:小区块头和小区块体;所述大区块包含多个所述小区块,形成多层结构;所述大区块和所述小区块基于共识方法产生并构成区块链。以下详细介绍各个组件或机制的设计:
1.区块链结构
本发明采用分层的区块链结构,区块链中包含两种区块,分别为Macroblock和Miniblock,如附图1所示。其中Macrobloek也称为大区块,Miniblock也称为小区块。大区块是区块链的主干区块,按出现顺序逐一的向前引用。大区块将多个小区块打包在一起。小区块用来封装交易信息,每个小区块引用唯一的大区块头,且彼此之间不存在相互引用。
优选地,作为一种实施例,在本发明中,所述区块包括区块头、和区块体两部分,其中:
大区块包括:
大区块头(Macroblock Head),具体包括:当前大区块的高度,引用前一个大区块的哈希、本大区块头所采用的PoW难度值、状态树根、当前大区块头的生成节点(下文中也称为Leader)地址、收据树根、收据树的布隆过滤器、时间戳、完成最终PoW计算所使用的随机数。
大区块体,具体包括:属于当前大区块的完整的小区块树及树根哈希、Leader对大区块的签名等。
小区块包括:
小区块头(Miniblock Head),具体包括:所引用大区块头的哈希、本小区块内的交易树根、本小区块采用PoW难度值、时间戳、区块高度、每个区块的手续费限制、本区块所用的总手续费、完成最终PoW计算所使用的随机数。
小区块体,具体包括:本小区块内所存储的完整的交易树。
网络中的交易信息是在不同账户之间的代币转移记录,分为外部账户和合约账户两种。交易信息由节点产生后,在网络中以Gossip或P2P传输的方式扩散。网络中的所有节点在接收到新的交易信息后会将该交易信息暂存在节点本地缓冲区中,所属缓冲区也称为节点上的交易池。
状态树用来记录网络中总的账户状态,存放在节点本地数据库中,不放入区块。
2.网络共识流程
在这一结构中,大区块(头)的生成节点被称为Leader,小区块的打包节点被称为Miber。在理想网络条件下,在任一时刻,网络中仅有唯一的Leader,但可以同时存在多个Miber。所属理想网络条件为无带宽限制、网络传播无延时、无丢包的网络环境。在存在延迟的非理想网络下,可能会出现多个Leader,此时会有选举竞争的行为,最后决出唯一Leader。
整个共识过程分为6个阶段:
1)Leader竞争阶段
2)大区块头(Macroblock Head)传播阶段
3)小区块(Miniblock)打包阶段
4)小区块(Miniblock)传播阶段
5)大区块(Macroblock)生成与广播阶段
6)主链更新阶段
以下将详细介绍每一阶段的流程内容:
(1)Leader竞争阶段
Leader节点是Macroblock和Macroblock Head的生成节点,由网络中的节点竞选担任,即所有网络节点均有机会通过PoW计算竞选成为Leader。
根据当前网络Leader的不同,时间轴被划分为若干相邻但不重叠的轮次。本发明将每一轮次开始阶段,网络节点竞争成为Leader的过程称为Leader的生成过程。为竞争成为下一轮次中新一任Leader节点,网络节点必须引用现有的已成功确认的前一个Macroblock的全部内容并执行PoW运算。
在引用Macroblock时,如果遇到具有同样高度的不同的Macroblock,优选地,可以根据以下原则中的一项或组合来选择一个Macroblock:
1)选择内含交易数量最大的Macroblock进行引用;
2)或,选择内含交易总金额最大的Macroblock进行引用;
在Macro PoW过程开始前,网络节点需要填写大区块头部的一些关键信息,包括:对所引用的前一个大区块所涉及的交易进行结算并更新状态树和收据树;
所述交易结算过程包括:
1)遍历所引用的前一个大区块中的小区块树及所述小区块树中所包含小区块中的所有交易,将合法且与排在其之前位置的其他交易不存在冲突的交易所涉及的金额进行结算并更新至状态树和收据树,并将交易涉及的手续费用作为报酬分配给相应的小区块打包节点;
2)将前一大区块生成节点所获得的挖矿收入分配给所述前一大区块生成节点;
所述状态树和收据树更新过程包括:
1)状态树更新后,计算状态树根,添加至当前拟生成大区块头内;
2)根据实际认可发生的交易来计算收据,并更新收据树根,添加至当前拟生成大区块头内。
想要竞选Leader的节点A在选择前一个大区块时必须遵循统一的原则,在大区块头选择引用前一大区块时发现链存在分支时,根据以下方法选择一支分支并引用其末端大区块:当所述不同分支上的大区块数量不一致时,选择大区块数量多的分支;当所述大区块数量一致时,选择所含小区块中非重叠交易数量多、或所含小区块中非重叠交易总金额多、或所含小区块中非重叠交易手续费多的分支。
在大区块头选择引用前一大区块时发现在相同高度且具有相同前序内容的不同大区块时,根据以下原则中的一项或多项组合来选择一个大区块进行引用:
1)选择内含生效交易数量最大的大区块进行引用;
2)选择内含生效交易总金额最大的大区块进行引用;
3)选择内含生效交易总手续费最多的大区块进行引用。
Macro PoW过程采用穷举方式计算哈希。运行PoW的节点将该节点引用的Macroblock内容结合Nonce随机数,输入约定的哈希算法计算哈希结果,仅当哈希结果满足一定预设条件时,如小于给定PoW难度值时,该节点竞争Leader成功。每一次竞争失败的节点可以通过改变Nonce再次计算哈希,直到该节点竞争成功或接收到网络中当前轮次竞争成功的节点的通告信息,作为本轮Leader生成完毕的信号。所述预设条件可以是但不限于预先定义的值域。
(2)大区块头传播阶段
任何节点在竞争成为Leader后,均需要在网络中及时的通告自己的Leader身份,以停止本轮次的Leader生成过程。Leader节点通过在网络中扩散Macroblock Head消息达到上述目的。
当网络中的其他节点收到Macroblock Head,会检查该Macroblock Head中包含信息的有效性,包括验算哈希、验算其结算的状态树的真实性等,如确认信息无误,则将该Macroblock Head作为当前轮次Miniblock的引用指向,然后进入到Miniblock打包阶段。
(3)小区块打包阶段
网络中节点在接收到大区块头信息后,会逐一的检查该区块头包含信息的正确性。
对来自其他节点所产生的大区块头进行合法性验证的过程包括:
1)检查大区块头的高度、时间戳、其引用前一个大区块的哈希值的正确性;
2)检查结算信息的正确性:基于前一个大区块中所包含的交易信息对状态树进行更新,将更新结果与所收到大区块头内包含的状态树根进行比较,仅当状态树根一致时,确认该区块头结算条目正确;
完成上述验证无误后,节点生成对该区块头的引用,确认当前轮次的Leader为该区块头的所属节点,然后进入小区块打包过程。
小区块的打包过程是将网络中的交易封装为区块的过程。当进入小区块打包过程,节点会从交易池选择部分或全部的交易,将其封装进小区块的交易部分。这里,为降低不同节点同时打包不同小区块时所打包交易出现重叠的概率,对用于广播交易的数据包的传播范围进行限制,设置数据包TTL为H,H小于网络半径的跳数值。
为了最大化自己的收益,小区块打包节点也可以自己确定如何选择交易进行打包。
节点选择打包小区块的方法可以采用但不限于以下原则:
1)当所收到的交易的总交易金额达到一个阈值时;
2)当所收到的交易的总的手续费用达到一个阈值时;
3)当所收到的交易数量达到一个预设的数量时;
4)当将产生的小区块的数据包大小达到了一个阈值。
在选定待打包的交易后,节点将基于选定的交易构造交易树。交易树的构造方法可以采用但不限于Merkle树。交易树的叶子节点存放交易内容,中间节点存放孩子节点内容的哈希描述,这样全部的交易内容描述都会按多层哈希的方式被包含在根节点中。当交易树构造完成,节点将交易树根信息加入小区块的区块头中,同时填写区块头中的其他内容。
在填写完小区块的关键信息后,节点开始PoW计算,以争取完成小区块的打包。为区分Leader生成过程中的PoW,本发明将对Miniblock打包的PoW过程称为Mini PoW。
与Macro PoW不同,Mini PoW需要在哈希计算过程中包含本区块的所有交易信息。节点将记载交易的Merkle树根内容、当前引用的Macroblock Head的原始内容或哈希、Nonce随机数三部分内容连接在一起进行哈希运算,当且仅当运算结果处于指定值域范围内时,则该节点完成一个Miniblock的打包。所述哈希计算结果的目标值域范围是一个按时间调整的变量,也称作PoW的难度值。与负责打包Macroblock的Leader节点不同,网络中可能同时存在多个Miniblock打包节点。此外,Mini PoW的难度范围不同于Leader生成过程中Macro PoW哈希运算的目标范围,优选地,作为一种实施方案,Mini PoW的计算难度低于Macro PoW。节点可以通过更换Nonce随机数,或更换打包的交易条目以重新生成交易树根,以获得不同的哈希计算结果。
(4)小区块确认阶段
节点小区块打包完成以后,会将该小区块发送到网络中。小区块的发送过程可以采用但不限于Gossip或P2P传输的方式。在小区块的传播过程中,所有接收到该区块的中继网络节点都会暂时将其存入本地的小区块缓存池中,当接收到来自Leader产生的大区块并确认该小区块已被收录无误后,才从缓存池中删除与当前轮次对应的所有小区块。
(5)大区块生成并广播阶段
Leader节点不断的从网络中接受到新的小区块,将其存进小区块池,然后逐一验证其PoW结果的真实性、并检查小区块中的交易条目。
在接收小区块的过程中,当满足一定条件后,Leader节点从小区块缓存池中取出所有小区块,构造小区块树。作为一种优选方案,大区块对小区块的保存也采用树结构,例如Merkle树。继而,Leader对所产生的完整的大区块进行签名,签名完成后即完成大区块打包,然后将大区块在全网扩散。
大区块打包阶段中,当Leader节点满足以下条件中的一项或多项时,Leader节点开始进行大区块打包:
1)已收到预定数量的小区块;
2)已收到的所有小区块中包含了预定数量的交易;
3)已收到的所有小区块中所包含的总交易金额达到预定数值;
4)已收到的所有小区块中所包含的交易的总手续费金额达到预定数值;
5)自节点成为Leader后的等待时间达到了预定时间;
6)预计将产生的大区块的数据包大小达到了预定数值;
其中,上述预定数值和时间可以是静态设置的,也可以是伴随区块链长度的增加而相应动态提高的。作为一种更加细化的举例:可设置为上述6个条件的全部,并针对每个条件设置其预设数值和时间,该数值与区块高度相关并动态变化。
当采用5)作为启动打包判定条件时,Leader所接收到的小区块数量可能超过了大区块预设的最大容量N,此时由Leader对小区块进行选择,优选地,作为一种选择方案:Leader在所有小区块中选择可以使内含合法且非重叠的交易的总数量或总金额或总手续费达到最大的N个小区块进行打包。
(6)主链更新
网络中的节点在接收到新一轮打包完毕的大区块以后,需要进行多个验证,包括:
验证大区块头中对于状态树的更新,是否与所述大区块头所引用的前一个大区块中所包含的有效、合法交易的最终造成的账户状态相符;
判断大区块头和大区块是否是同一个用户签名,并且验证其签名的真实性;
验证大区块中的大区块头和所有小区块所进行的PoW计算是合法正确的;
当上述条目检查无误后,将该区块添加到区块链尾部,然后引用所述该大区块的哈希开始进行下一轮次的Leader生成过程。
3.代币产出与分配机制
共识算法的代币(token)产生和分配机制是共识系统的运转激励。
在本发明的共识体系中,区块链上的网络节点能够通过验证交易、打包交易、促成共识的行为赚取代币,以驱动共识体系正常运转。代币的来源主要包括两类:区块打包费和交易手续费。区块打包费作为将交易最终添加到区块链,形成分布式账本的报酬,交易手续费来自于记录在账本中的每一笔交易的支出所花费的手续费。
作为一种优选的实施方案:在上述共识流程中,Leader节点打包大区块成功后可获得大区块打包奖励;所述奖励为在全网代币总和之上的新增代币;小区块打包节点在所打包小区块被包含在最终生成的大区块内后,可赚取内含所有生效交易(即非重复合法交易)的一部分手续费用;此外,Leader节点将额外获得一部分手续费用,这些费用来自于其生成的大区块内所包含的所有生效交易所涉及的手续费的一部分。每一个大区块所涉及到的代币分配,如Leader生成过程中所述,在引用该大区块的后续大区块头的生成过程中进行结算。
4.容错处理
在实际的网络条件下,网络中可能因为传输延迟、数据包丢失等原因出现节点状态冲突或状态错误,针对可能出现的问题,本发明提出部分容错处理措施。
(1)每个节点为当前所采纳的Leader维护一个Macroblock定时器。如果定时器溢出时没有能够收到来自当前Leader的合法的Macroblock,则直接引用前序的Macroblock并启动Leader生成过程。之前曾经产生过合法大区块头(Macroblock Head)可以直接将之前产生的大区块头在网络中广播。定时器的设置方法是:节点的最大等待时间E=T(a)-[Tb(a)-Tts(a)]+δ,其中,T(a)是所述Leader节点a的任期长度,T(a)根据当前大区块头的PoW产生难度可由节点在本地计算得出的;Tb(a)是所述节点b收到的来自所述节点a的所述大区块头的时刻;Tts(a)是所述大块头在所述节点a产生时刻的时间戳,并由该所述大块头携带;δ是当前网络规模下数据包传输延迟的期望值。
(2)当由于网络原因,节点没有接收到当前轮次的Macroblock Head信息,该节点仍然会不断的竞争Leader。在这种情况下,当该节点在接收到由其他节点传输的小区块时,会检查其引用的Macroblock Head,如果检查无误是当前节点已知的Macroblock Head的后续,则会基于该Macroblock Head打包小区块;如果该节点在接收到Macroblock Head消息之前接收到Macroblock,则会直接跳过小区块打包阶段,进入主链更新阶段。
基于上述结构和机制,可实现一种面向多层分片架构的区块链共识方法的系统。在该系统中,节点可以选择担任以下三种角色:
(1)节点参与所有任务,包括:Macroblock打包、Miniblock打包、交易提交。这类节点称为全节点。这一流程可以表述为:节点首先参与Macroblock Head的计算和Leader竞争,此时:
1)如果完成Macro PoW计算并生成合法的Macroblock Head后,成为Leader,接收Miniblock并对其进行打包,直至本轮打包结束;
2)如果未能及时计算出合法的Macroblock Head并收到了来自于其他节点的Macroblock Head,则节点开始接收交易并将交易打包,执行Mini PoW生成Miniblock后发送给当前的Leader节点;
(2)节点不参与Macroblock打包或Miniblock打包中的一项,而仅参与其中一种的竞争,包括以下两种情况:
1)仅参与Macroblock打包,也就是只进行Macro PoW计算过程。如果竞选Leader成功则成为Leader并接收Miniblock,最终产生Macroblock。而如果没有竞选Leader成功,则等待下一次参与。这种节点称之为宏块打包节点。
2)仅参与Miniblock打包,也就是只进行Mini PoW计算过程。等待Leader竞选成功通知,获得该轮次Macroblock Head后,开始对交易进行打包为Miniblock的行为,并提交给本轮Leader。这种节点称之为微块打包节点。
(3)节点只进行交易提交,不参与任何轮次的打包行为。这种节点称之为轻节点。
在本系统中,节点可以在上述身份角色中,通过变更参数设置进行角色切换。
在本系统中,由于存在网络延迟的影响等。当节点本地持有的链有差异时,选择的确定方法为:当不同链的大区块数量不一致时,选择大区块数量多者,当大区块数量一致时,选择小区块中非重叠交易数量多者、或小区块中非重叠交易总金额多者、或小区块中非重叠交易手续费多者。
以下结合附图,对本申请中各实施例及整体方案进行进一步解释和说明,不构成对本发明的不当限定。
1.网络交易打包实施例
附图2所示为从交易产生到形成大区块的过程示例。图中存在三类节点,分别是普通用户、Miniblock打包节点(Miber)、Leader节点。整个工作流程分成三阶段:交易传递、小区块打包、大区块打包与传递。
1)在交易传递阶段,网络中的普通用户将生成的交易信息在网络中按Gossip或P2P方式扩散,在这一过程中,所有节点不断的从网络中收到交易信息,将其存入本地交易池。在示例中,节点C接收到来自于普通节点A的交易1,来自于普通用户B的交易2,以及来自于子网A的交易3;节点D接收到来自于普通节点B的消息2,以及来自于子网B的交易4、5、6。
2)假设Miniblock的打包规则已满足:这时C基于消息1、2、3计算PoW成功,D基于交易2、4、5计算PoW成功,于是,节点C将交易1、2、3包含在Miniblock 1中,节点D将交易2、4、5包含在Miniblock 2中,均通过在网络中Gossip或P2P来传播所生成的小区块。
3)假设节点E是当前轮次生成的Leader节点,E首先将收到的小区块存入缓存池,在所收到全部小区块中所包含的合法有效交易额达到阈值后,将全部小区块打包为大区块Macroblock。Macroblock合成后会按照图2中黑色剪头所示方向向网络中扩散Macroblock。网络中的其他节点在收到Macroblock后都会检查该区块包含交易信息的正确性与合法性,当确认区块无误后将该Macroblock作为新的区块添加到区块链的末尾。
2.基于gossip的Miniblock传输实施例
附图3所示为示例网络拓扑,网络中有A、B、C、D、E、F、G共7个节点,其中C、E、G节点为Miber节点,分别持有小区块Miniblock 1、Miniblock 2、Miniblock 3,A为Leader节点,负责收集小区块。Miniblock的收集由节点A发起,完整的gossip过程如下:
1)节点A向节点B发送持有的Miniblock列表,表示为MIB_A={},此时为空集合;
2)节点B检查本地Miniblock缓冲池,仍然为空集,继续将MIB_B={}发往节点C和节点D;
3)节点C和D分别检查本地Miniblock缓冲池,其中节点C持有Miniblock 1,不被包含在MIB_B的集合内,则将Miniblock 1发送给B,同时向节点F和节点E转发
Figure BSA0000169584190000131
此处的
Figure BSA0000169584190000132
表示Miniblock 1的区块标识,可以为区块编号。节点D的Miniblock缓冲池为空,向E发送MIB_D={}。
4)节点B收到C发来的Miniblock 1,将该小区块保存在本地缓存中。E节点分别收到来自节点C和节点D持有的小区块标识,同时查看本地Miniblock缓冲池,发现C和D都没有缓存Miniblock 2小区块,因此将Miniblock 2发送给上述这两个节点。F则仅将MIB_F={}发送给节点G。
5)节点G查看F的小区块缓存标识,然后将Miniblock 3发送给节点F。
6)此时,网络中的所有节点第一轮gossip完毕。
节点A在经过一段设定时间t后开始第二轮查询,查询处理逻辑同第一轮。最终在本示例中,A节点经过4轮查询,可以得到所有的Miniblock区块。
在具体实现中,Leader节点查询终止条件为获得足够构造Macroblock的Miniblock。

Claims (9)

1.一种多层分片架构的区块链共识方法,其特征在于:
包含两类区块,分别为大区块和小区块;
所述大区块是主干区块,按出现先后顺序、逐一地向前引用前一个大区块;
所述大区块包括:大区块头和大区块体;
所述小区块用来打包交易;不同节点可以同时打包不同的小区块以形成分片效应;
所述小区块包括:小区块头和小区块体;
所述大区块包含多个所述小区块,形成多层结构;
所述大区块和所述小区块基于PoW共识方法产生并构成区块链。
2.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:所述共识方法包括以下阶段:
Leader竞争阶段:在该阶段中,节点通过PoW计算生成大区块头,在所述大区块头生成后将其在网络中扩散,并将自身身份变化为Leader;
小区块打包阶段:当节点收到来自其他节点产生的大区块头并验证其合法后,所述节点进入到小区块打包阶段;在该阶段中,当满足预设小区块打包条件后,节点将所收到但未打包的交易构造为交易树,并与所收到的所述大区块头一起进行PoW计算,计算成功后,将所生成的小区块在网络中进行扩散。
3.根据权利要求2所述的多层分片架构的区块链共识方法,其特征在于:所述预设小区块打包条件包括以下条件中的一项或几项的组合:
1)当所收到的交易的总交易金额达到一个阈值时;
2)当所收到的交易的总的手续费用达到一个阈值时;
3)当所收到的交易数量达到一个预设的数量时;
4)当将产生的小区块的数据包大小达到了一个阈值。
4.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:所述共识方法还包括大区块生成并广播阶段:
Leader节点不断的从网络中接受到新的小区块,将其存进小区块池,然后逐一验证其PoW结果的真实性、并检查小区块中的交易条目;在接收小区块的过程中,当满足一定条件后,Leader节点从小区块缓存池中取出所有小区块,构造小区块树;大区块对小区块的保存也采用树结构;Leader对所产生的完整的大区块进行签名,签名完成后即完成大区块打包,然后将大区块在全网扩散。
5.根据权利要求4所述的多层分片架构的区块链共识方法,其特征在于:所述大区块打包是指,当Leader节点满足以下条件中的一项或多项时,Leader节点开始进行大区块打包:
1)已收到预定数量的小区块;
2)已收到的所有小区块中包含了预定数量的交易;
3)已收到的所有小区块中所包含的总交易金额达到预定数值;
4)已收到的所有小区块中所包含的交易的手续费总金额达到预定数值;
5)自节点成为Leader后的等待时间达到了预定时间;
6)预计将产生的大区块的数据包大小达到了预定数值;
其中,上述预定数值和时间可以是静态设置的,也可以是伴随区块链长度的增加而相应动态提高的;
当采用5)作为启动打包判定条件时,Leader所接收到的小区块数量可能超过大区块预设的最大容量N,此时由Leader对小区块进行选择,优选地,作为一种选择方案:Leader在所有小区块中选择可以使内含合法且非重叠的交易的总数量或总金额或总手续费达到最大的N个小区块进行打包。
6.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:在大区块头选择引用前一大区块时发现在相同高度且具有相同前序内容的不同大区块时,根据以下原则中的一项或多项组合来选择一个大区块进行引用:
1)选择内含生效交易数量最大的大区块进行引用;
2)选择内含生效交易总金额最大的大区块进行引用;
3)选择内含生效交易总手续费最多的大区块进行引用。
7.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:
所述大区块头包括:引用前一个大区块的哈希、本大区块头所采用的PoW难度值、状态树根、当前大区块头的生成节点地址、完成最终PoW计算所使用的随机数;
所述大区块体包括:属于当前大区块的完整的小区块树及树根哈希、Leader对大区块的签名;
所述小区块头包括:所引用大区块头的哈希、本小区块内的交易树根、本小区块采用的PoW难度值、完成最终PoW计算所使用的随机数;
所述小区块体包括:本小区块内所存储的完整的交易树。
8.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:Leader节点打包大区块成功后可获得大区块打包奖励;所述奖励为在全网代币总和之上的新增代币;小区块打包节点在所打包小区块被包含在最终生成的大区块内后,可赚取内含所有生效交易的一部分手续费用;此外,Leader节点将额外获得一部分手续费用,这些费用来自于其生成的大区块内所包含的所有生效交易所涉及的手续费的一部分。
9.根据权利要求1所述的多层分片架构的区块链共识方法,其特征在于:为降低所述不同节点同时打包不同小区块时所打包交易出现重叠的概率,对用于广播交易的数据包的传播范围进行限制,设置数据包TTL为H,H小于网络半径的跳数值。
CN201810978099.0A 2018-08-27 2018-08-27 一种多层分片架构的区块链共识方法及系统 Active CN110868434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810978099.0A CN110868434B (zh) 2018-08-27 2018-08-27 一种多层分片架构的区块链共识方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810978099.0A CN110868434B (zh) 2018-08-27 2018-08-27 一种多层分片架构的区块链共识方法及系统

Publications (2)

Publication Number Publication Date
CN110868434A CN110868434A (zh) 2020-03-06
CN110868434B true CN110868434B (zh) 2022-07-01

Family

ID=69651622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810978099.0A Active CN110868434B (zh) 2018-08-27 2018-08-27 一种多层分片架构的区块链共识方法及系统

Country Status (1)

Country Link
CN (1) CN110868434B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414421B (zh) * 2020-03-18 2024-05-14 中国人民大学 一种分段式区块链存储方法和存储装置
CN111339574B (zh) * 2020-05-19 2021-03-16 卓尔智联(武汉)研究院有限公司 区块数据处理方法、装置、计算机设备和存储介质
CN111708840B (zh) * 2020-06-05 2021-03-30 电子科技大学 一种基于主副双层的联盟链动态共识方法
CN111711567B (zh) * 2020-06-12 2022-01-07 杭州溪塔科技有限公司 一种基于区块链的网络消息传输方法装置及电子设备
CN112258321B (zh) * 2020-10-13 2024-03-15 安徽师范大学 区块链分片的交易放置方法
CN114638452A (zh) * 2020-12-16 2022-06-17 中兴通讯股份有限公司 区块组头的获取方法及装置,存储介质及电子装置
CN112269423B (zh) * 2020-12-21 2021-03-19 支付宝(杭州)信息技术有限公司 一种锁定区块链系统中全局时钟的方法及区块链系统
CN112883107B (zh) * 2020-12-31 2022-05-17 杭州趣链科技有限公司 区块链中交易异步执行方法、系统及相关设备
CN113064768B (zh) * 2021-04-19 2022-08-09 支付宝(杭州)信息技术有限公司 在区块链系统中切换分片节点的方法和装置
CN113779038B (zh) * 2021-09-26 2024-04-16 大健云仓科技(苏州)有限公司 多数据源数据同步方法
CN116055064B (zh) * 2023-03-17 2023-06-23 安徽中科晶格技术有限公司 区块链分片中多区块同时共识方法、系统、介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN107276765A (zh) * 2017-07-04 2017-10-20 中国联合网络通信集团有限公司 区块链中共识的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180220292A1 (en) * 2017-01-30 2018-08-02 Sap Se Blockchain-Based Subscription Management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN107276765A (zh) * 2017-07-04 2017-10-20 中国联合网络通信集团有限公司 区块链中共识的处理方法及装置
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Blockchain technology innovations";Tareq Ahram del;《2017 IEEE Technology & Engineering Management Conference (TEMSCON)》;20170803;全文 *
区块链技术:架构及进展;邵奇峰等;《计算机学报》;20171115(第05期);全文 *

Also Published As

Publication number Publication date
CN110868434A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN110868434B (zh) 一种多层分片架构的区块链共识方法及系统
CN109471744B (zh) 基于区块链的主链加并行多子链系统架构
CN109508982B (zh) 区块链主链加并行多子链的随机并行拜占庭容错共识方法
CN107169865B (zh) 基于区块链技术的资产数据处理系统
Khalil et al. Commit-chains: Secure, scalable off-chain payments
CN109639430B (zh) 安全高速轻量级的区块链系统及方法
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
CN112907252B (zh) 一种基于多人链下通道的区块链交易方法及系统
Li et al. Gosig: A scalable and high-performance byzantine consensus for consortium blockchains
CN112163856A (zh) 用于区块链与物联网融合场景的共识方法及系统
Skidanov et al. Nightshade: Near protocol sharding design
CN109493051B (zh) 可动态进行账户分配及迁移的主链加并行多子链系统架构
CN111047439B (zh) 一种基于区块链的交易处理方法
CN113448694B (zh) 一种提高事务处理能力的区块链共识方法
US20230017790A1 (en) Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof
CN109816361A (zh) 一种区块链无矿工费签名转账方法
Hu et al. Trusted resource allocation based on proof-of-reputation consensus mechanism for edge computing
CN112565370B (zh) 基于无线通信与区块链场景的计算结果验证方法及系统
CN111177262A (zh) 一种区块链共识方法、相关装置及系统
CN113079026B (zh) 一种区块链系统及区块链网络资源管理方法
Wang et al. PoTA: A hybrid consensus protocol to avoid miners’ collusion for BaaS platform
KR102169840B1 (ko) 확률형 아이템 판매의 신뢰를 보증하는 방법
Michel et al. ammBoost: State Growth Control for AMMs
CN116599966B (zh) 基于区块链共享的边缘云服务并行资源分配方法
Khalil et al. RANC: reward-all nakamoto consensus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 Shixia District, Futian District, Shenzhen City, Guangdong Province, No. 89 Shixia North Second Street, Fubao Street, Shixia New Times B909

Applicant after: Shenzhen Material Margin Technology Co.,Ltd.

Address before: 518000 Shixia District, Futian District, Shenzhen City, Guangdong Province, No. 89 Shixia North Second Street, Fubao Street, Shixia New Times B909

Applicant before: CHAINCOMP Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240429

Address after: 100088 Building D, Zhizhen Building, Haidian District, Beijing

Patentee after: Jiao Zhenzhen

Country or region after: China

Address before: 518000 Shixia Xintian times b909, No. 89, Shixia North 2nd Street, Shixia community, Fubao street, Futian District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Material Margin Technology Co.,Ltd.

Country or region before: China