CN109150972A - 一种双层分片的高效区块链的共识机制及其工作方法 - Google Patents

一种双层分片的高效区块链的共识机制及其工作方法 Download PDF

Info

Publication number
CN109150972A
CN109150972A CN201810786247.9A CN201810786247A CN109150972A CN 109150972 A CN109150972 A CN 109150972A CN 201810786247 A CN201810786247 A CN 201810786247A CN 109150972 A CN109150972 A CN 109150972A
Authority
CN
China
Prior art keywords
node
full
nodes
consensus
application
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
CN201810786247.9A
Other languages
English (en)
Other versions
CN109150972B (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.)
Hunan Chen Han Information Technology Co Ltd
Original Assignee
Hunan Chen Han Information 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 Hunan Chen Han Information Technology Co Ltd filed Critical Hunan Chen Han Information Technology Co Ltd
Priority to CN201810786247.9A priority Critical patent/CN109150972B/zh
Publication of CN109150972A publication Critical patent/CN109150972A/zh
Application granted granted Critical
Publication of CN109150972B publication Critical patent/CN109150972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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
    • 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
    • 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
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种双层分片的高效区块链的共识机制及其工作方法,该共识机制是基于双层gossip拓扑网络,包括:全节点、局部全节点、轻节点和微节点,全节点负责节点拓扑和分片的维护,通过全节点维护机制选举和更新,局部全节点通过局部全节点维护机制选举和更新,负责交易验证、交易共识、交易存储以及账本同步,本发明还提出了该共识机制的工作方法。本发明提出的一种可信且可激励的节点加入和更新机制,保证全节点和局部全节点的稳定性、带宽能力、计算能力,减少对交易确认速度的影响,本发明提出的共识机制通过“片内自治,片间协作”的方式形成一个分而治之的分布式账本系统,以保证兼顾去中心化、可扩展性和安全性。

Description

一种双层分片的高效区块链的共识机制及其工作方法
技术领域
本发明涉及区块链技术领域,尤其涉及一种双层分片的高效区块链的共识机制及其工作方法。
背景技术
目前主要有几大类区块链共识机制:POW、POS、DPOS、PBFT。POW工作量证明,就是人们熟悉的比特币挖矿,通过计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储。可实现完全去中心化,节点自由进出,但挖矿造成大量的资源浪费,共识达成的周期较长,不适合商业应用。POS权益证明,POW 的一种升级共识机制,根据每个节点所占代币的数量和时间,等比例地降低挖矿难度,从而加快寻找随机数的速度。POS还是需要挖矿,本质上没有解决商业应用的痛点。DPOS股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账,其整个共识机制还是依赖于代币,但是很多商业应用是不需要代币存在的。PBFT(PracticalByzantine Fault Tolerance),实用拜占庭容错算法,是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制,每个状态机的副本都保存了服务的状态,同时也实现了服务的操作,尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
为解决传统共识机制的性能问题,技术极客们又提出Hashgraph共识机制。HashGraph 共识算法通过gossip网络和虚拟投票策略达成交易顺序的共识,该共识的前提是要求网络节点超过2n/3的投票能力具有对famous witness事件的一致投票结果,其中n是全网的当前投票能力总和,该投票能力通常为节点的持股数量。由于采用了本地投票策略,HashGraph可以实现相比传统链式结构区块链共识机制更快的交易确认速度。
尽管,相比传统链式结构区块链共识机制,Hashgraph共识已经实现了更快的交易确认速度,但是该方法仍存在以下问题:
1)在广域网环境中,节点波动性较强,全网的投票能力n的波动也随之增强,这可能导致系统长时间无法找到满足2n/3投票一致的事件,从而无法达成共识;
2)受节点稳定性、处理能力、带宽等因素影响,不同节点处理事件的能力差别较大。若系统中存在大量能力较弱的节点参与投票,同样会造成系统长时间无法达成共识;
3)广域网环境下,节点频繁波动可能导致节点被分割成多个子网。根据gossip邻居交换协议,节点会周期性剔除长时间未更新的邻居。当邻居稳定后,节点可在子网内达成共识。此时若子网规模较小,很容易使恶意节点在同一轮产生两个famous witness事件,从而产生双花交易;
4)随着系统规模增大,节点收到的同步信息越来越多,可以预见,系统的吞吐率会随节点数目的增加而降低。
发明内容
本发明针对上述现有技术的不足,提供了一种双层分片的高效区块链的共识机制及其工作方法,其采用节点维护方法,制定了合理分片机制,更进一步地增强了区块链共识机制性能。
为解决现有技术中存在的问题,采用的具体技术方案是:一种双层分片的高效区块链的共识机制,所述共识机制基于双层gossip拓扑网络,包括:全节点、局部全节点、轻节点和微节点;所述全节点位于上层gossip拓扑网络,用于维护节点拓扑和更新分片,所述维护节点拓扑包括全节点的周期性加入退出过程、局部全节点的周期性加入退出过程,所述更新分片包括确定每个周期的分片数量、将哪些局部全节点划分到同一个分片;所述局部全节点位于下层gossip拓扑网络,用于向轻节点和微节点提供交易代理服务,所述交易代理服务包括在分片内,作为交易共识的主体,实现交易在片内的验证、共识和记账,在分片间,采用gossip 协议传播各自片内账本信息至其他分片,实现账本数据同步;所述轻节点为轻量级客户端钱包,连接局部全节点,通过局部全节点做代理,完成数据请求和发送;所述微节点为智能物联网设备,连接局部全节点,通过局部全节点做代理,完成数据请求和发送。
本发明还公开了一种双层分片的高效区块链的共识机制的工作方法,包括以下步骤:
S1、采用全节点维护机制对全节点进行选举或者更新;
S2、采用局部全节点维护机制对局部全节点进行选举或者更新;
S3、全节点采用分片维护机制对局部全节点进行分片,周期性检查分片的规模以待更新;
S4、轻节点和微节点加入或退出网络;
S5、交易确认过程,分为两个阶段:片内交易共识和片间账本同步;
S6、交易确认完成。
其中,步骤S1中对全节点进行选举或更新的步骤为:
S11、申请节点向公网运行的Hub节点请求全节点列表,然后向任意一个全节点发起POW 申请,收到请求的全节点将待求解的问题发送给申请节点;
S12、申请节点接收到待求解的问题后,采用POW算法获得哈希结果,然后用自己的私钥对计算结果签名,并将自己的公钥、签名数据、计算结果、IP、服务端口发送给任意全节点;
S13、接收到申请节点信息的全节点首先检查是否已存在一个申请节点被确认,如果是,则忽略当前申请节点的请求,否则,验证该申请节点的计算结果和申请节点签名的正确性;若验证通过,全节点在上层gossip拓扑网络中发起共识,其共识内容为更新后的全节点列表,其中增加了新的申请节点,最新加入的全节点为Leader全节点,并剔除了最老的全节点;若验证未通过,则忽略该申请节点的请求;
S14、当全节点之间通过对该申请节点的共识后,全节点网络的节点列表更新,Leader 全节点将更新后的列表信息发送给Hub节点。
步骤S2中对局部全节点进行选举或者更新的方法为:
S21、申请节点将自己的能力证明提交给任一全节点;
S22、全节点收到申请后,计算该申请节点的综合得分,若该综合得分超过特定阈值则表示该申请节点合法。若不合法,则忽略当前申请节点的请求;若合法,全节点检查本周期内已通过共识的申请节点数量,若该数量已超过M,则忽略当前申请节点的请求,否则,对该申请节点的请求在全节点之间发起HashGraph共识;其中,
申请节点的综合得分表示为:
Score=α1POS+α2POW+α3POB+α4POO
其中,αi代表相应考虑因素的权重,POS为权益证明,POW为工作量证明,POB为节点带宽证明,POO为在线证明;
M为每次局部全节点的更新数量;
S23、当Leader全节点确认已有M个申请节点申请成功后,Leader全节点发起局部全节点替换的HashGraph共识;
S24、当该共识达成后,已有的M个申请节点在下个周期替换片内的其他局部全节点,从而实现局部全节点的更新。
步骤S3中的分片步骤为:
S31、Leader全节点依据最小分片规模确定分片数量n,并将所有申请节点随机划分至n 个片内;
S32、由Leader全节点对分片提案在全节点网络中发起HashGraph共识;
S33、共识达成后,将最新的局部全节点列表发送给Hub节点,替换已有子网中最老的n 个分片,更新每个局部全节点邻居列表信息。
步骤S4中,轻节点和微节点加入网络时,只能加入片ID与节点ID后缀相同的片内;当轻节点或微节点退出网络时,其所在分片的局部全节点仍然对其账户记账。
步骤S5中的片内交易共识的具体交易步骤为:
S511、节点A找到自己对应分片中的某个局部全节点X,并向其发送交易信息;
S512、X收到该交易信息后,验证该交易确实由节点A发出,然后将交易信息打包放入 HashGraph的事件流中;
S513、每个节点周期性向片内邻居节点发送自己的交易信息以完成HashGraph共识,共识完成后,更新片内账本信息;
S514、节点A周期向局部全节点发送更新请求消息,当交易共识达成后,节点A更新钱包的余额信息和交易完成记录。
步骤S5中的片间账本同步的具体步骤为:
S521、每个局部全节点A周期性选择一个其他分片X的局部全节点B,节点A向B发送自己已存储的关于分片X的账本最大编号;
S522、节点B收到该信息后,对比自己的账本最大编号与A中已接收的最大编号,然后 B将A没有的事件发送给A;
S523、A接收到B发来的事件后,重构HashGraph图结构,该重构过程验证事件是否已达成共识;
S524、对于已达成共识的事件,A将其记录到数据库中。
通过采用上述方案,本发明的一种双层分片的高效区块链的共识机制及其工作方法与现有技术相比,其技术效果在于:
1、本发明全节点和局部全节点具有较强的稳定性和处理能力,能够有效避免Hashgraph 长时间无法达成共识的问题,也能够避免因网络被分割造成的恶意节点攻击问题;
2、本发明采用双层gossip拓扑对节点分片,全节点只负责管理分片,因此不会成为系统性能瓶颈;局部全节点负责交易共识和账本同步,且共识过程不需区分片内和片间交易,从而保证了系统具有较好的可扩展性;
3、片间账本同步过程,利用gossip协议分发已达成共识的event。该过程中接收节点在重构其他片账本的过程中,自动实现了数据多签名的验证过程,避免了额外的数据多签名过程;
4、本发明提出了一种可信且可激励的节点加入和更新机制,保证全节点和局部全节点的稳定性、带宽能力、计算能力,减少对交易确认速度的影响,同时,防止一些恶意用户之间串谋。
附图说明
图1为本发明双层分片的高效区块链的共识机制的工作过程流程图;
图2为本发明全节点维护机制选举或更新流程图;
图3为本发明局部全节点维护机制选举或更新流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实例并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明的一种双层分片的高效区块链的共识机制是基于双层gossip拓扑网络,包括:全节点、局部全节点、轻节点和微节点。
所述全节点位于上层gossip拓扑网络,用于维护节点拓扑和更新分片,所述维护节点拓扑包括全节点的周期性加入退出过程、局部全节点的周期性加入退出过程,所述更新分片包括确定每个周期的分片数量、将哪些局部全节点划分到同一个分片。
所述局部全节点位于下层gossip拓扑网络,用于向轻节点和微节点提供交易代理服务,所述交易代理服务包括在分片内,作为交易共识的主体,实现交易在片内的验证、共识和记账,在分片间,采用gossip协议传播各自片内账本信息至其他分片,实现账本数据同步。
所述轻节点为轻量级客户端钱包,连接局部全节点,通过局部全节点做代理,完成数据请求和发送。每个轻节点连接到一个特定分片内,不参与共识。
所述微节点为智能物联网设备,连接局部全节点,通过局部全节点做代理,完成数据请求和发送。每个微节点连接到一个特定分片内,不参与共识。
本发明提出的共识机制通过“片内自治,片间协作”的方式形成一个分而治之的分布式账本系统,以保证兼顾去中心化、可扩展性和安全性。每个分片,即下层gossip拓扑网络,是一个可信任的实体,即在片内共识的过程中不会超过1/3的拜占庭节点,分片之间信任其各自的共识结果。每个分片负责验证交易、对交易达成共识、记录片内账本信息。全节点不再维护全局账本信息,其主要职能是节点拓扑和分片的维护。为了保证全节点和局部全节点的稳定性、带宽能力、计算能力,减少对交易确认速度的影响,同时,防止一些恶意用户之间串谋,全节点和局部全节点需要周期性被混洗和更新。为此,本发明提出的共识机制设计了一种可信且可激励的节点加入和更新机制。
如图1所示,本发明提出的共识机制工作过程步骤如下:
步骤S1:采用全节点维护机制对全节点进行选举或者更新,所述全节点维护机制解决固定节点之间进行串谋、全节点的软件BUG,网络拥塞或者有恶意行为等安全隐患,同时保证全节点随机性以使全节点正常发挥作用。假定上层gossip拓扑网络包含N个全节点,其中最新加入的全节点为Leader全节点,通过周期性运行POW和Hashgragh共识算法,实现全节点的自动更新,其详细的选举或更新步骤如图2所为:
S11、申请节点向公网运行的Hub节点请求全节点列表,然后向任意一个全节点发起POW 申请,收到请求的全节点将待求解的问题发送给申请节点;
S12、申请节点接收到待求解的问题后,采用POW算法获得哈希结果,然后用自己的私钥对计算结果签名,并将自己的信息{公钥、签名数据、计算结果、IP、服务端口}发送给任意全节点;
S13、接收到申请节点信息的全节点首先检查是否已存在一个申请节点被确认,如果是,则忽略当前申请节点的请求。否则,验证该申请节点的计算结果和申请节点签名的正确性。若验证通过,全节点在上层gossip拓扑网络中发起共识,其共识内容为更新后的全节点列表,其中增加了新的申请节点,最新加入的全节点为Leader全节点,并剔除了最老的全节点;若验证未通过,则忽略该申请节点的请求;
S14、当全节点之间通过对该申请节点的共识后,全节点网络的节点列表更新,Leader 全节点将更新后的列表信息发送给Hub节点。
步骤S2:采用局部全节点维护机制对局部全节点进行选举或者更新,相对于全节点,局部全节点规模较大,且需要周期性审核。局部全节点维护机制采用POS+POW+POB+POO的方式自动判定申请节点的信誉、处理能力、带宽能力和稳定性。具体来说,POS为权益证明,即申请节点向全节点提交其代币数量的证明;POW为工作量证明,即申请节点从全节点随机领取一个特定难度的哈希求解问题,并由全节点记录其计算时间从而评估其计算能力;POB为节点带宽证明,全节点向申请节点发送背靠背的数据报文以测量其带宽能力;POO为在线证明,即申请节点将自己的最长在线时间长度提交给全节点。
申请节点的综合得分可表示为:
Score=α1POS+α2POW+α3POB+α4POO
其中,αi代表相应考虑因素的权重。若Score超过特定的阈值,则判断该申请节点合法。
假定每次局部全节点的更新数量为M,其详细的选举或更新步骤如图3所示:
S21、申请节点将自己的能力证明提交给任一全节点;
S22、全节点收到申请后,计算该申请节点的Score,若该Score超过特定阈值则表示该申请节点合法。若不合法,则忽略当前申请节点的请求;若合法,全节点检查本周期内已通过共识的申请节点数量,若该数量已超过M,则忽略当前申请节点的请求。否则,对该申请节点的请求在全节点之间发起HashGraph共识;
S23、当Leader全节点确认已有M个申请节点申请成功后,Leader全节点发起局部全节点替换的HashGraph共识;
S24、当该共识达成后,已有的M个申请节点在下个周期替换片内的其他局部全节点,从而实现局部全节点的更新。
步骤S3:全节点采用分片维护机制对局部全节点进行分片,周期性检查分片的规模以待更新。
全节点在审核通过所有下一轮局部全节点申请后,需要对这些申请节点分片以保证系统的可扩展性。
(a)分片数量
分片数量是一个需要仔细权衡的变量。分片数量过少,系统的交易确认吞吐率不能有效提升;分片数量过多,底层子网遭到1/3恶意节点攻击的可能性增大,且全节点网络需承担较多的跨子网交易通信。为此,我们设定最小分片的局部全节点数量为1000。极端情况下,若局部全节点数量小于1000,则分片数量为1。
(b)分片细节
为了对局部全节点分片,全节点确认M个申请人后,由Leader全节点对下一轮申请节点进行分片。其详细的步骤为:
S31、Leader全节点依据最小分片规模确定分片数量n,并将所有申请节点随机划分至n 个片内;
S32、由Leader节点对分片提案在全节点网络中发起HashGraph共识;
S33、共识达成后,将最新的局部全节点列表发送给Hub节点,替换已有子网中最老的n 个分片,更新每个局部全节点邻居列表信息。
步骤S4:轻节点和微节点加入或退出网络。
轻节点和微节点加入网络时,只能加入片ID与节点ID后缀相同的片内。当轻节点或微节点退出网络时,其所在分片的局部全节点仍然对其账户记账。
步骤S5:交易确认过程。
交易过程分为两个阶段:片内交易共识和片间账本同步。片内交易共识是指任意两个节点的交易都在发起节点所属片内完成,片间账本同步是指任意一笔交易最终都要广播给各个局部全节点,以保证账本一致性。
1)、片内交易共识
为了避免双花交易,每个轻节点只能加入片ID与节点ID后缀相同的片内。假如系统中共包括4个片,其ID为00,01,10和11。若某一轻节点的地址为00000001,则该节点只能加入到01分片中。假定节点A向B发送5个Tokens。具体交易步骤如下:
S511、节点A找到自己对应分片中的某个局部全节点X,并向其发送交易信息:{publicKey, signature,from:A,to:B,amount:5};
S512、X收到该交易信息后,验证该交易确实由节点A发出,然后将交易信息打包放入 HashGraph的事件流中;
S513、每个节点周期性向片内邻居节点发送自己的交易信息以完成HashGraph共识。共识完成后,更新片内账本信息;
S514、节点A周期向局部全节点发送更新请求消息,当交易共识达成后,节点A更新钱包的余额信息和交易完成记录。
2)、片间账本同步
为了保证账本一致性,每个局部全节点通过gossip协议,周期性将自己已达成共识的交易发送给其他分片的局部全节点。其具体步骤如下:
S521、每个局部全节点A周期性选择一个其他分片X的局部全节点B,节点A向B发送自己已存储的关于分片X的账本最大编号;
S522、节点B收到该信息后,对比自己的账本最大编号与A中已接收的最大编号。然后 B将A没有的事件发送给A;
S523、A接收到B发来的事件后,重构HashGraph图结构。该重构过程验证事件是否已达成共识;
5524、对于已达成共识的事件,A将其记录到数据库中。
步骤S6:交易确认完成。
本发明提出了双层分片的gossip网络拓扑结构,通过“片内自治,片间协作”的方式形成了一个分而治之的分布式账本系统。每个分片,即下层gossip拓扑网络,是一个可信任的实体,即在片内共识的过程中不会超过1/3的拜占庭节点,分片之间信任其各自的共识结果。每个分片负责验证交易、对交易达成共识、记录片内账本信息。
且提出了全节点维护机制、局部全节点维护机制、分片维护机制,全节点采用分片维护机制对局部全节点进行分片,周期性检查分片的规模以待更新。
本发明通过采用节点维护方法,制定了合理分片机制,更进一步地增强区块链共识机制性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、均包含在本发明的保护范围之内。

Claims (8)

1.一种双层分片的高效区块链的共识机制,其特征在于,所述共识机制基于双层gossip拓扑网络,包括:全节点、局部全节点、轻节点和微节点;
所述全节点位于上层gossip拓扑网络,用于维护节点拓扑和更新分片,所述维护节点拓扑包括全节点的周期性加入退出过程、局部全节点的周期性加入退出过程,所述更新分片包括确定每个周期的分片数量、将哪些局部全节点划分到同一个分片;
所述局部全节点位于下层gossip拓扑网络,用于向轻节点和微节点提供交易代理服务,所述交易代理服务包括在分片内,作为交易共识的主体,实现交易在片内的验证、共识和记账,在分片间,采用gossip协议传播各自片内账本信息至其他分片,实现账本数据同步;
所述轻节点为轻量级客户端钱包,连接局部全节点,通过局部全节点做代理,完成数据请求和发送;
所述微节点为智能物联网设备,连接局部全节点,通过局部全节点做代理,完成数据请求和发送。
2.一种双层分片的高效区块链的共识机制的工作方法,其特征在于,包括以下步骤:
S1、采用全节点维护机制对全节点进行选举或者更新;
S2、采用局部全节点维护机制对局部全节点进行选举或者更新;
S3、全节点采用分片维护机制对局部全节点进行分片,周期性检查分片的规模以待更新;
S4、轻节点和微节点加入或退出网络;
S5、交易确认过程,分为两个阶段:片内交易共识和片间账本同步;
S6、交易确认完成。
3.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,步骤S1中对全节点进行选举或更新的步骤为:
S11、申请节点向公网运行的Hub节点请求全节点列表,然后向任意一个全节点发起POW申请,收到请求的全节点将待求解的问题发送给申请节点;
S12、申请节点收到待求解的问题后,采用POW算法获得哈希结果,然后用自己的私钥对计算结果签名,并将自己的公钥、签名数据、计算结果、IP、服务端口发送给任意全节点;
S13、收到申请节点信息的全节点首先检查是否已存在一个申请节点被确认,如果是,则忽略当前申请节点的请求,否则,验证该申请节点的计算结果和申请节点签名的正确性;若验证通过,全节点在上层gossip拓扑网络中发起共识,其共识内容为更新后的全节点列表,其中增加了新的申请节点,最新加入的全节点为Leader全节点,并剔除了最老的全节点;若验证未通过,则忽略该申请节点的请求;
S14、当全节点之间通过对该申请节点的共识后,全节点网络的节点列表更新,Leader全节点将更新后的列表信息发送给Hub节点。
4.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,步骤S2中对局部全节点进行选举或者更新的方法为:
S21、申请节点将自己的能力证明提交给任一全节点;
S22、全节点收到申请后,计算该申请节点的综合得分,若该综合得分超过特定阈值则表示该申请节点合法;若不合法,则忽略当前申请节点的请求;若合法,全节点检查本周期内已通过共识的申请节点数量,若该数量已超过M,则忽略当前申请节点的请求,否则,对该申请节点的请求在全节点之间发起HashGraph共识;其中,
申请节点的综合得分表示为:
Score=α1POS+α2POW+α3POB+α4POO
其中,αi代表相应考虑因素的权重,POS为权益证明,POW为工作量证明,POB为节点带宽证明,POO为在线证明;
M为每次局部全节点的更新数量;
S23、当Leader全节点确认已有M个申请节点申请成功后,Leader全节点发起局部全节点替换的HashGraph共识;
S24、当该共识达成后,已有的M个申请节点在下个周期替换片内的其他局部全节点,从而实现局部全节点的更新。
5.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,步骤S3中的分片步骤为:
S31、Leader全节点依据最小分片规模确定分片数量n,并将所有申请节点随机划分至n个片内;
S32、由Leader全节点对分片提案在全节点网络中发起HashGraph共识;
S33、共识达成后,将最新的局部全节点列表发送给Hub节点,替换已有子网中最老的n个分片,更新每个局部全节点邻居列表信息。
6.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,轻节点和微节点加入网络时,只能加入片ID与节点ID后缀相同的片内;当轻节点或微节点退出网络时,其所在分片的局部全节点仍然对其账户记账。
7.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,步骤S5中的片内交易共识的具体交易步骤为:
S511、节点A找到自己对应分片中的某个局部全节点X,并向其发送交易信息;
S512、X收到该交易信息后,验证该交易确实由节点A发出,然后将交易信息打包放入HashGraph的事件流中;
S513、每个节点周期性向片内邻居节点发送自己的交易信息以完成HashGraph共识,共识完成后,更新片内账本信息;
S514、节点A周期向局部全节点发送更新请求消息,当交易共识达成后,节点A更新钱包的余额信息和交易完成记录。
8.如权利要求2所述的一种双层分片的高效区块链的共识机制的工作方法,其特征在于,步骤S5中的片间账本同步的具体步骤为:
S521、每个局部全节点A周期性选择一个其他分片X的局部全节点B,节点A向B发送自己已存储的关于分片X的账本最大编号;
S522、节点B收到该信息后,对比自己的账本最大编号与A中已接收的最大编号,然后B将A没有的事件发送给A;
S523、A接收到B发来的事件后,重构HashGraph图结构,该重构过程验证事件是否已达成共识;
S524、对于已达成共识的事件,A将其记录到数据库中。
CN201810786247.9A 2018-07-17 2018-07-17 一种双层分片的高效区块链的共识机制的工作方法 Active CN109150972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810786247.9A CN109150972B (zh) 2018-07-17 2018-07-17 一种双层分片的高效区块链的共识机制的工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810786247.9A CN109150972B (zh) 2018-07-17 2018-07-17 一种双层分片的高效区块链的共识机制的工作方法

Publications (2)

Publication Number Publication Date
CN109150972A true CN109150972A (zh) 2019-01-04
CN109150972B CN109150972B (zh) 2021-07-23

Family

ID=64800903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810786247.9A Active CN109150972B (zh) 2018-07-17 2018-07-17 一种双层分片的高效区块链的共识机制的工作方法

Country Status (1)

Country Link
CN (1) CN109150972B (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617929A (zh) * 2019-02-12 2019-04-12 浪潮通用软件有限公司 在区块链网络模式下的节点与用户交互认证方法及系统
CN109728898A (zh) * 2019-03-08 2019-05-07 湖南师范大学 基于区块链技术的物联网终端安全通信方法
CN109886811A (zh) * 2019-02-12 2019-06-14 重庆邮电大学 改进的基于声誉因子与社区化管理的区块链共识算法
CN110099106A (zh) * 2019-04-24 2019-08-06 福建方维信息科技有限公司 一种区块链中节点间数据同步的方法及终端
CN110099127A (zh) * 2019-05-13 2019-08-06 西安华域网络文化发展有限公司 一种区块链数据同步方法、装置、介质和电子设备
CN110113383A (zh) * 2019-04-10 2019-08-09 广东工业大学 一种缓解PoS机制下记账权中心化的共识机制实现方法
CN110310115A (zh) * 2019-05-23 2019-10-08 杭州云象网络技术有限公司 一种基于分片机制实现分布式账本横向扩展的方法
CN110443071A (zh) * 2019-08-15 2019-11-12 高昕昱 一种区块链大数据处理方法及系统
CN110445657A (zh) * 2019-08-15 2019-11-12 北京计算机技术及应用研究所 一种基于区块链的分布式组网管理系统
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
CN110661867A (zh) * 2019-09-25 2020-01-07 东北大学 一种基于改进工作量证明与权益证明的区块链共识方法
CN110944046A (zh) * 2019-11-21 2020-03-31 腾讯科技(深圳)有限公司 一种共识机制的控制方法及相关设备
CN111125131A (zh) * 2019-12-16 2020-05-08 武汉大学 一种具备状态缓冲能力的两级共识区块链系统及部署方法
CN111245836A (zh) * 2020-01-13 2020-06-05 电子科技大学 一种基于多节点决策的区块链网络动态管理方法
CN111478795A (zh) * 2020-03-06 2020-07-31 重庆邮电大学 一种基于混合拜占庭容错的联盟区块链网络共识方法
CN111740915A (zh) * 2020-08-05 2020-10-02 百度在线网络技术(北京)有限公司 邻居节点确定方法、装置、设备和存储介质
CN111798234A (zh) * 2020-06-03 2020-10-20 中国科学院信息工程研究所 一种轻量级区块链系统及构造方法
CN111858771A (zh) * 2020-07-30 2020-10-30 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN111901254A (zh) * 2020-09-28 2020-11-06 北京百度网讯科技有限公司 全节点的带宽分配方法、装置、电子设备以及存储介质
CN112039860A (zh) * 2020-08-18 2020-12-04 上海简苏网络科技有限公司 一种在联盟链中实现联合共识分片的方法和装置
CN112308630A (zh) * 2020-11-16 2021-02-02 上海品见智能科技有限公司 一种基于大数据技术应用的资金交易圈识别方法
CN112967065A (zh) * 2021-05-18 2021-06-15 腾讯科技(深圳)有限公司 一种交易验证方法、装置、设备及存储介质
CN113157709A (zh) * 2021-01-29 2021-07-23 百果园技术(新加坡)有限公司 分布式系统节点动态变更方法、装置、设备及存储介质
CN113282462A (zh) * 2020-08-28 2021-08-20 许东俊 应用于区块链和大数据的信息处理方法及大数据平台
CN113312005A (zh) * 2021-06-22 2021-08-27 青岛理工大学 基于区块链的物联网数据扩容存储方法、系统及计算设备
CN113553375A (zh) * 2021-07-12 2021-10-26 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN113807851A (zh) * 2021-09-30 2021-12-17 中国人民解放军国防科技大学 一种基于分片的区块链可扩展性实现方法及系统
CN114077637A (zh) * 2020-08-12 2022-02-22 北京航空航天大学 分片区块链实现方法
US11336455B2 (en) 2019-09-25 2022-05-17 International Business Machines Corporation Consensus protocol for blockchain DAG structure
CN114862397A (zh) * 2022-07-06 2022-08-05 国网天津市电力公司培训中心 一种基于双链结构的双解耦区块链分布式方法
WO2024060401A1 (zh) * 2022-09-20 2024-03-28 天翼电子商务有限公司 一种基于gossip 通信的分布式区块链 BaaS系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193464A1 (en) * 2015-12-18 2017-07-06 Justin SHER Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents
CN106936589A (zh) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN107273455A (zh) * 2017-05-31 2017-10-20 深圳前海微众银行股份有限公司 区块链数据访问方法和装置
CN107358420A (zh) * 2017-06-09 2017-11-17 北京博晨技术有限公司 用于实现热点账户的区块链系统以及实现热点账户的方法
CN107528886A (zh) * 2017-07-25 2017-12-29 中国科学院计算技术研究所 区块链全网拆分方法与系统
CN107729481A (zh) * 2017-10-16 2018-02-23 北京神州泰岳软件股份有限公司 一种自定义规则的文本信息抽取结果筛选方法及装置
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193464A1 (en) * 2015-12-18 2017-07-06 Justin SHER Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents
CN106936589A (zh) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法
CN107147735A (zh) * 2017-05-12 2017-09-08 北京博晨技术有限公司 一种基于分层结构的分布式账本系统
CN107273455A (zh) * 2017-05-31 2017-10-20 深圳前海微众银行股份有限公司 区块链数据访问方法和装置
CN107358420A (zh) * 2017-06-09 2017-11-17 北京博晨技术有限公司 用于实现热点账户的区块链系统以及实现热点账户的方法
CN107528886A (zh) * 2017-07-25 2017-12-29 中国科学院计算技术研究所 区块链全网拆分方法与系统
CN107729481A (zh) * 2017-10-16 2018-02-23 北京神州泰岳软件股份有限公司 一种自定义规则的文本信息抽取结果筛选方法及装置
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617929A (zh) * 2019-02-12 2019-04-12 浪潮通用软件有限公司 在区块链网络模式下的节点与用户交互认证方法及系统
CN109886811A (zh) * 2019-02-12 2019-06-14 重庆邮电大学 改进的基于声誉因子与社区化管理的区块链共识算法
CN109617929B (zh) * 2019-02-12 2021-07-13 浪潮通用软件有限公司 在区块链网络模式下的节点与用户交互认证方法及系统
CN109728898A (zh) * 2019-03-08 2019-05-07 湖南师范大学 基于区块链技术的物联网终端安全通信方法
CN110113383A (zh) * 2019-04-10 2019-08-09 广东工业大学 一种缓解PoS机制下记账权中心化的共识机制实现方法
CN110113383B (zh) * 2019-04-10 2021-08-24 广东工业大学 一种缓解PoS机制下记账权中心化的共识机制实现方法
CN110099106A (zh) * 2019-04-24 2019-08-06 福建方维信息科技有限公司 一种区块链中节点间数据同步的方法及终端
CN110099106B (zh) * 2019-04-24 2022-04-19 福建方维信息科技有限公司 一种区块链中节点间数据同步的方法及终端
CN110099127A (zh) * 2019-05-13 2019-08-06 西安华域网络文化发展有限公司 一种区块链数据同步方法、装置、介质和电子设备
CN110310115A (zh) * 2019-05-23 2019-10-08 杭州云象网络技术有限公司 一种基于分片机制实现分布式账本横向扩展的方法
CN110443071B (zh) * 2019-08-15 2021-05-28 广西计算机有限责任公司 一种区块链大数据处理方法及系统
CN110443071A (zh) * 2019-08-15 2019-11-12 高昕昱 一种区块链大数据处理方法及系统
CN110445657A (zh) * 2019-08-15 2019-11-12 北京计算机技术及应用研究所 一种基于区块链的分布式组网管理系统
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
CN110570202B (zh) * 2019-09-02 2022-06-03 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
US11336455B2 (en) 2019-09-25 2022-05-17 International Business Machines Corporation Consensus protocol for blockchain DAG structure
CN110661867B (zh) * 2019-09-25 2021-07-23 东北大学 一种基于改进工作量证明与权益证明的区块链共识方法
CN110661867A (zh) * 2019-09-25 2020-01-07 东北大学 一种基于改进工作量证明与权益证明的区块链共识方法
CN110944046A (zh) * 2019-11-21 2020-03-31 腾讯科技(深圳)有限公司 一种共识机制的控制方法及相关设备
CN110944046B (zh) * 2019-11-21 2022-09-13 腾讯科技(深圳)有限公司 一种共识机制的控制方法及相关设备
CN111125131A (zh) * 2019-12-16 2020-05-08 武汉大学 一种具备状态缓冲能力的两级共识区块链系统及部署方法
CN111125131B (zh) * 2019-12-16 2023-06-06 武汉大学 一种具备状态缓冲能力的两级共识区块链系统及部署方法
CN111245836A (zh) * 2020-01-13 2020-06-05 电子科技大学 一种基于多节点决策的区块链网络动态管理方法
CN111478795B (zh) * 2020-03-06 2022-08-12 重庆邮电大学 一种基于混合拜占庭容错的联盟区块链网络共识方法
CN111478795A (zh) * 2020-03-06 2020-07-31 重庆邮电大学 一种基于混合拜占庭容错的联盟区块链网络共识方法
CN111798234A (zh) * 2020-06-03 2020-10-20 中国科学院信息工程研究所 一种轻量级区块链系统及构造方法
CN111858771A (zh) * 2020-07-30 2020-10-30 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN111740915A (zh) * 2020-08-05 2020-10-02 百度在线网络技术(北京)有限公司 邻居节点确定方法、装置、设备和存储介质
CN114077637A (zh) * 2020-08-12 2022-02-22 北京航空航天大学 分片区块链实现方法
CN114077637B (zh) * 2020-08-12 2022-12-27 北京航空航天大学 分片区块链实现方法
CN112039860A (zh) * 2020-08-18 2020-12-04 上海简苏网络科技有限公司 一种在联盟链中实现联合共识分片的方法和装置
CN113282462B (zh) * 2020-08-28 2022-06-28 深圳市金麦粒传媒科技有限公司 应用于区块链和大数据的信息处理方法及大数据平台
CN113282462A (zh) * 2020-08-28 2021-08-20 许东俊 应用于区块链和大数据的信息处理方法及大数据平台
CN111901254A (zh) * 2020-09-28 2020-11-06 北京百度网讯科技有限公司 全节点的带宽分配方法、装置、电子设备以及存储介质
CN111901254B (zh) * 2020-09-28 2021-01-08 北京百度网讯科技有限公司 全节点的带宽分配方法、装置、电子设备以及存储介质
CN112308630A (zh) * 2020-11-16 2021-02-02 上海品见智能科技有限公司 一种基于大数据技术应用的资金交易圈识别方法
CN113157709A (zh) * 2021-01-29 2021-07-23 百果园技术(新加坡)有限公司 分布式系统节点动态变更方法、装置、设备及存储介质
CN112967065A (zh) * 2021-05-18 2021-06-15 腾讯科技(深圳)有限公司 一种交易验证方法、装置、设备及存储介质
CN113312005A (zh) * 2021-06-22 2021-08-27 青岛理工大学 基于区块链的物联网数据扩容存储方法、系统及计算设备
CN113553375B (zh) * 2021-07-12 2022-07-01 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN113553375A (zh) * 2021-07-12 2021-10-26 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN113807851A (zh) * 2021-09-30 2021-12-17 中国人民解放军国防科技大学 一种基于分片的区块链可扩展性实现方法及系统
CN113807851B (zh) * 2021-09-30 2023-11-21 中国人民解放军国防科技大学 一种基于分片的区块链可扩展性实现方法及系统
CN114862397A (zh) * 2022-07-06 2022-08-05 国网天津市电力公司培训中心 一种基于双链结构的双解耦区块链分布式方法
CN114862397B (zh) * 2022-07-06 2022-09-30 国网天津市电力公司培训中心 一种基于双链结构的双解耦区块链分布式方法
WO2024060401A1 (zh) * 2022-09-20 2024-03-28 天翼电子商务有限公司 一种基于gossip 通信的分布式区块链 BaaS系统

Also Published As

Publication number Publication date
CN109150972B (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN109150972B (zh) 一种双层分片的高效区块链的共识机制的工作方法
US11411721B2 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN108717630B (zh) 一种出块方法及其实现系统
Wan et al. Recent advances in consensus protocols for blockchain: a survey
CN108737375B (zh) 一种区块链共识方法及系统
KR102130062B1 (ko) 블록체인 네트워크의 노드들 간의 합의를 이루는 방법 및 블록체인 시스템
EP4195605A1 (en) Data processing method and apparatus based on blockchain network, computer device and computer readable storage medium
CN109508968A (zh) 区块链系统以及其控制方法
CN109951474B (zh) 一种实现区块链共识出块的方法
CN110945548A (zh) 用于管理区块链网络中大型分布式存储池的计算机实现的系统和方法
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
CN116820695A (zh) 用于启用事件删除的分布式数据库的方法和设备
CN112907252B (zh) 一种基于多人链下通道的区块链交易方法及系统
CN109039847A (zh) 一种利用dmt解决区块链全网消息一致性问题的方法及装置
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
CN112769580A (zh) 一种区块链分层激励共识算法
CN110213038B (zh) 一种区块链形成共识的方法及系统
CN110445795B (zh) 一种区块链认证唯一性确认方法
CN111414420A (zh) 一种改进的pbft区块链共识方法
Aluko et al. Proof-of-reputation: an alternative consensus mechanism for blockchain systems
WO2020082213A1 (zh) 一种网络可扩展性区块链实现方法
Xi et al. [Retracted] A Comprehensive Survey on Sharding in Blockchains
Amelchenko et al. Blockchain abbreviation: Implemented by message passing and shared memory
CN115065689B (zh) 一种基于历史评价的联盟链区块数据存储方法及系统
Jiao et al. A bilayer scalable Nakamoto consensus protocol for blockchain systems

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