CN108737375B - 一种区块链共识方法及系统 - Google Patents

一种区块链共识方法及系统 Download PDF

Info

Publication number
CN108737375B
CN108737375B CN201810330997.5A CN201810330997A CN108737375B CN 108737375 B CN108737375 B CN 108737375B CN 201810330997 A CN201810330997 A CN 201810330997A CN 108737375 B CN108737375 B CN 108737375B
Authority
CN
China
Prior art keywords
node
nodes
block
current block
message
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.)
Expired - Fee Related
Application number
CN201810330997.5A
Other languages
English (en)
Other versions
CN108737375A (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.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201810330997.5A priority Critical patent/CN108737375B/zh
Publication of CN108737375A publication Critical patent/CN108737375A/zh
Application granted granted Critical
Publication of CN108737375B publication Critical patent/CN108737375B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种区块链共识方法,包括以下步骤:建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;跟随节点收到广播消息并对当消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。本发明利用哈希函数的伪随机性,保证了区块链网络中选举领导节点的随机性,降低固定领导节点的安全风险。

Description

一种区块链共识方法及系统
技术领域
本发明涉及区块链技术领域,具体涉及了一种区块链共识方法及系统。
背景技术
目前,现有的互联网依然是信息互联网,极大地提高了传递信息的效率,然而却没有大大提高传递价值的效率。在没有银行或第三方信任机构的情况下,我们是无法在网络上进行价值交换的。下一代互联网,不仅能够实现信息通信,还能够实现价值的直接通信。区块链的诞生正是为了解决价值传递效率低的问题,目前区块链技术还在完成价值互联网的基础建设。
共识算法就是协调全网中所有数据一致性的算法协议,区块链中的各个节点按照该算法协议对数据进行验证确认,当得到大部分(不必全部节点)节点认可后,才算真实有效的数据,才能写入到区块链中,形成不可篡改的数据。共识机制解决了区块链如何在分布式场景下达成一致性的问题,可以从去中心化、网络通信成本、扩展性、安全机制、吞吐量、容错能力等方面来评估共识算法。
目前已经现了十余种共识机制算法,其中知名的有Paxos、Raft、PoW(Proof ofWork,工作量证明)、PoS(Proof of Stake,权益证明)、DPoS(Delegate Proof of Stake,股份授权证明)以及PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)等。当然,没有一种共识机制是完美无缺的,同时这也意味着没有一种共识机制是适合所有应用场合的。
Paxos算法是莱斯利・兰伯特于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。在传统分布式系统中,Paxos是实现一致性的经典算法,但是这是一种需要协调者的机制,只有大多数法定人数接受读写操作才会确认,这是一种确定性强一致性。但是区块链是完全非集中化的,没有中央组织来决定哪些机器有权维护区块链,这样依靠法定人数的强一致性机制无法正常工作,因为无法指定法定人数。
Raft是作为Paxos的替代品而设计的共识算法。它提供了一种在集群中分布状态机的通用方法,确保集群中的每个节点都能在一系列的状态转换中达成一致。
PBFT与Paxos类似,也是一种采用许可投票、少数服从多数来选举领导者进行记账的共识机制。PBFT算法在保证灵活性和安全性的前提下最大允许1/3的容错性,信息在节点之间互相交换后,各节点列出所有得到的信息最后以大多数的结果作为解决方法。
PoW是依靠概率强一致性实现一致性共识的,称为Nakamoto共识,是比特币创始人中本聪提出的。哈希算法具有不可逆的特点,因此,目前除了暴力计算外,还没有有效的算法进行解决。反之,如果获得符合要求的随机数值,则说明在概率上付出了对应的算力。谁的算力多,谁最先解决问题的概率就越大。PoW不适用于私有链和联盟链,其原因首先是它是一个最终一致性共识算法,不是一个强一致性共识算法,以及PoW的共识效率低。
PoS主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。
DPoS是PoS概念的一种演变形式,记账权在一小部分参与者之间转移。这些参与记账的参与制是由每个节点选出的可以代表自己利益的,即类似于董事会的投票机制,选举出多个记账节点,后续提案由这些被选中的节点轮流处理。
上述各算法具有以下缺点:
虽然Paxos、Raft等传统的分布式一致性算法都是强调序列化,但是它们只考虑网络故障等非人为问题,而不考虑节点恶意篡改数据。此外,这些算法都是面向日志或数据库的,是更加底层的一致性算法,而区块链中涉及到的大多是交易数据,是偏向应用层的数据,不适用传统一致性方法。
PBFT是一种可用的拜占庭容错算法,PBFT并不依赖于代币的存在,共识效率高可以应用于高频交易场景。但是由于该算法的三个阶段是串行执行,存在共识通信复杂的问题。当有1/3或以上记账节点停止工作后,整个系统将无法运转。
Pow是完全去中心化的,网络中节点可以自由进出,避免了建立和维护中心化信用机构的成本。PoW的安全性直接取决于所花费计算工作量的大小。从能源角度来看,PoW挖矿造成大量的资源浪费。更大的问题是PoW机制的共识达成的周期较长,每秒只能最多做7笔交易,不适合商业应用。基于挖矿的方式效率不高,且依赖于代币,但不是所有的应用场景都有代币的存在。
PoS依靠内部币龄和权益而不再需要大量消耗外部算力和资源,降低了PoW消耗算力的问题,并且在一定程度上缩短了共识达成的时间。但是,PoS还是需要挖矿,本质上没有解决商业应用的痛点。另外拥有代币数量大的节点获得记账权的几率更大,会使得网络的共识受少数富裕账户支配,从而失去公正性。
DPoS机制减少了记账节点的规模,属于弱中心化,但同时也大大提高了效率,也更加节能。大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
Figure 12356DEST_PATH_IMAGE001
如上图是各算法的对比。现有的区块链共识的方案中PoW、PoS达成一致的效率很低,挖矿造成大量的资源浪费。而Paxos和Raft不适用于拜占庭模型中,PBFT的通信复杂性高,交互的代价高。
发明内容
本发明目的在于克服现有技术的缺点与不足,提供了一种区块链共识方法,可保证区块链网络中节点获得领导权利的随机性,减少节点作恶的可能性,虚拟节点的设置弥补了节点异构性的不足,使得区块链达成一致性的效率高,成本低,而且实现简单。
本发明还提供一种区块链共识系统。
为实现上述目的,本发明采用的技术方案如下:
一种区块链共识方法,包括以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
领导节点收到超过一半跟随节点对当前验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
本发明的作用原理:本发明方法将区块和节点及其虚拟节点的哈希值映射到同一个哈希环上;根据当前区块的哈希值确定获得接收验证消息和产生下一个区块广播全网权利的节点,通过利用哈希函数的伪随机性,保证了区块链网络中选举领导节点的随机性,降低固定领导节点的安全风险。本发明将节点的加入和退出简化为一条待认证的交易消息,当全网对该消息达成共识后,该节点正式加入或退出区块链网络,优于Raft、PBFT算法增加节点的复杂度。
进一步地,所述哈希环地址的范围是[0,2a-1],并且首尾相接,其中a为正整数,a数值由节点数量决定。
作为本发明的一种改进,所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
作为本发明的一种改进,所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
进一步地,所述每个节点拥有属于自己的公钥和私钥以及全网中其他所有节点的信息,所述节点的信息包括节点的公钥、节点名称、IP、端口和状态。
进一步地,所述的验证通过消息包括发出该消息的节点对消息的数字签名。
进一步地,每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
一种区块链共识系统,包括:
初始化模块,用于建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
区块产生模块,用于根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
共识模块,用于领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,并广播确认消息和打包好的下一个区块内容给跟随者节点;
验证模块,用于跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
作为本发明的一种改进,所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
作为本发明的一种改进,所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
进一步地,所述每个节点拥有属于自己的公钥和私钥以及全网中其他所有节点的信息,所述节点的信息包括节点的公钥、节点名称、IP、端口和状态。
进一步地,每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
一种区块链共识系统,包括:存储器和至少一个处理器,其中:所述存储器存储有程序,并被配置成由所述至少一个处理器执行以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
与现有技术相比,本发明具有以下优点:
1、在区块链中创新地提出了哈希环空间的设计,区块和节点及其虚拟节点的哈希值映射到同一个哈希环上,根据当前区块的哈希值确定获得接收验证消息和产生下一个区块广播全网权利的节点,通过利用哈希函数的伪随机性,保证了区块链网络中选举领导节点的随机性,降低固定领导节点的安全风险。
2、在共识过程中,PBFT算法利用通信复杂度O(n2)来达成共识,保证安全性;本发明方法中利用两轮通信复杂度为O(n)的消息传递达到共识效果,本发明方法的安全性通过密码学模型来保证,通信复杂度上优于PBFT算法。
3、将节点的加入和退出简化为一条待认证的交易消息,当全网对该消息达成共识后,该节点正式加入或退出区块链网络,优于Raft、PBFT算法增减节点的复杂度。
4、引入虚拟节点技术,实现节点覆盖的均匀性。一个物理节点的虚拟节点数量,决定节点获得记账权的概率,通过对节点的虚拟节点增减来管理节点获得记账权的概率,并且通过虚拟节点个数的不同来缩小各节点之间的差异化,达到合理、有效的资源分配。
附图说明
图1为本发明区块链共识方法的流程图;
图2为本发明区块链共识方法哈希环的示意图;
图3为本发明区块链共识系统的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例
请参考图1和图2,一种区块链共识方法,包括以下步骤:
S1、建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;其中,所述哈希环地址的范围是[0,2a-1],并且首尾相接,其中a为正整数,a数值由节点数量决定。
本发明引入虚拟节点技术,实现节点覆盖的均匀性,一个物理节点的虚拟节点数量,决定节点获得记账权的概率,通过对节点的虚拟节点增减来管理节点获得记账权的概率,并且通过虚拟节点个数的不同来缩小各节点之间的差异化,达到合理、有效的资源分配。
S2、根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;具体地:
所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
也即是本发明根据当前区块的哈希值确定获得接收验证消息和产生下一个区块广播全网权利的节点,通过利用哈希函数的伪随机性,保证了区块链网络中选举领导节点的随机性,降低固定领导节点的安全风险。
S3、领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点。
在共识过程中,PBFT算法利用通信复杂度O(n2)来达成共识,保证安全性;本发明方法中利用两轮通信复杂度为O(n)的消息传递达到共识效果,本发明方法的安全性通过密码学模型来保证,通信复杂度上优于PBFT算法。
S4、跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
本发明的作用原理:本发明方法将区块和节点及其虚拟节点的哈希值映射到同一个哈希环上;根据当前区块的哈希值确定获得接收验证消息和产生下一个区块广播全网权利的节点,通过利用哈希函数的伪随机性,保证了区块链网络中选举领导节点的随机性,降低固定领导节点的安全风险。
而且,在本实施例中,所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
在本实施例中,所述每个节点拥有属于自己的公钥和私钥以及全网中其他所有节点的信息,所述节点的信息包括节点的公钥、节点名称、IP、端口和状态。
在本实施例中,所述的验证通过消息包括发出该消息的节点对消息的数字签名。
在本实施例中,每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
请参考图3,一种根据上述区块链共识方法而实施的区块链共识系统,包括:
初始化模块,用于建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
区块产生模块,用于根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
共识模块,用于领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,并广播确认消息和打包好的下一个区块内容给跟随者节点;
验证模块,用于跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
具体地,在所述区块产生模块中,所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
具体地,在所述共识模块中,所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
本申请实施例中还提供一种区块链共识系统,包括:存储器和至少一个处理器,其中:所述存储器存储有程序,并被配置成由所述至少一个处理器执行以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
以下是本发明在实际产业上的一种应用,具体是将本发明应用到高性能计算中的分布式存储节点的权限管理和数据价值管理时,首先建立一个哈希环,然后将分布式存储节点和其虚拟节点映射到哈希环上。接着将分布式存储节点权限和分布式存储数据的价值通过特定规则运算后,保存在该区块链系统上。
对于分布式存储节点权限变更和分布式存储数据价值的转移可以简化为一条条交易记录存储在区块链的区块bcurrent中。将bcurrent映射到同一个哈希环上;根据bcurrent映射到哈希环上的地址,沿顺时针找到第一个节点选为领导节点,领导节点获得接收bcurrent的验证结果以及产生下一个区块bnext的权利;其它节点为跟随节点,用于接收、验证区块并且发送确认消息。当bcurrent链接到区块链上时,代表共识达成,也即是分布式存储节点的权限修改成功或者是分布式存储数据的价值传递成功。
采用本发明可以保证分布式存储节点的权限修改和分布式存储数据的价值传递信息不会被防止篡改和伪造,实现分布式存储节点权限管理和分布式存储数据价值转移操作的安全性和可靠性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.一种区块链共识方法,其特征在于,包括以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;包括:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点;
所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
2.权利要求1所述的区块链共识方法,其特征在于:每个所述节点拥有属于自己的公钥和私钥以及全网中其他所有节点的信息,所述节点的信息包括节点的公钥、节点名称、IP、端口和状态。
3.权利要求1所述的区块链共识方法,其特征在于:每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
4.一种区块链共识系统,其特征在于包括:
初始化模块,用于建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
区块产生模块,用于根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;包括:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点;
所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间;
共识模块,用于领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,并广播确认消息和打包好的下一个区块内容给跟随者节点;
验证模块,用于跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
5.根据权利要求4所述的区块链共识系统,其特征在于:每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
6.一种区块链共识系统,其特征在于,包括:存储器和至少一个处理器,其中:所述存储器存储有程序,并被配置成由所述至少一个处理器执行以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;包括:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点;
所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
CN201810330997.5A 2018-04-13 2018-04-13 一种区块链共识方法及系统 Expired - Fee Related CN108737375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810330997.5A CN108737375B (zh) 2018-04-13 2018-04-13 一种区块链共识方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810330997.5A CN108737375B (zh) 2018-04-13 2018-04-13 一种区块链共识方法及系统

Publications (2)

Publication Number Publication Date
CN108737375A CN108737375A (zh) 2018-11-02
CN108737375B true CN108737375B (zh) 2021-01-19

Family

ID=63938873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810330997.5A Expired - Fee Related CN108737375B (zh) 2018-04-13 2018-04-13 一种区块链共识方法及系统

Country Status (1)

Country Link
CN (1) CN108737375B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255713B (zh) * 2018-11-12 2022-02-01 裴若含 一种区块链网络中某一时间段内记账权的获取方法
RS20181564A1 (sr) * 2018-12-21 2020-06-30 Zivanovic Sava Sistem za automatsko upravljanje i deponovanje srži (heša) dokumenata (slika) u blok-čejn tehnologiji
CN109872159B (zh) * 2019-01-07 2021-04-06 必可嘉(武汉)科技有限公司 一种区块链共识方法及架构
CN109639837B (zh) * 2019-01-31 2021-04-06 东南大学 基于信任机制的区块链DPoS共识方法
CN109978516A (zh) * 2019-03-06 2019-07-05 西安电子科技大学 区块链网络中区块的制造和同步方法、信息数据处理终端
CN109949034B (zh) * 2019-03-06 2022-09-20 北京工业大学 基于可信性评估的区块链共识方法
CN110096227B (zh) * 2019-03-28 2023-04-18 北京奇艺世纪科技有限公司 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质
CN110119990A (zh) * 2019-04-04 2019-08-13 国美金控投资有限公司 一种基于保险内部验证用联盟链共识系统
CN109981416B (zh) * 2019-04-04 2022-07-12 中山大学 一种区块链性能检测方法与系统
CN110351067B (zh) * 2019-06-12 2023-04-07 南京理工大学 针对主从多链的区块链共识方法
CN110247753B (zh) * 2019-06-17 2020-10-09 北京瑞策科技有限公司 基于区块链节点网络的出块方法及装置
CN110533402B (zh) * 2019-08-22 2023-01-03 珠海得分金融科技有限公司 一种异构系统的记账共识方法及系统
CN110443713B (zh) * 2019-09-06 2022-02-15 江门职业技术学院 一种针对区块链交易效率提升的方法及系统
US11641313B2 (en) * 2019-11-21 2023-05-02 Vmware, Inc. Asynchronous liveness boosting of state machine replication
CN110928690B (zh) * 2019-12-07 2023-03-03 赵于光 一种在5g网络环境下区块链数据同步和验证的方法
CN111786772B (zh) * 2019-12-10 2024-05-07 北京铭泰恒通信息技术有限公司 一种基于区块链的确定的非确定性选择方法、系统及存储介质
CN110990497A (zh) * 2019-12-19 2020-04-10 上海优扬新媒信息技术有限公司 一种基于区块链的信息处理方法及装置、设备、存储介质
CN111159764A (zh) * 2019-12-26 2020-05-15 杭州趣链科技有限公司 基于投票选举的链上与链下相结合实现联盟链自治的方法
CN111125139B (zh) * 2019-12-26 2022-04-22 北京浪潮数据技术有限公司 一种多控制器的任务处理方法及相关装置
CN111311414B (zh) * 2020-02-27 2023-12-08 杭州云象网络技术有限公司 一种基于一致性哈希算法的区块链多方共识方法
CN111079199B (zh) * 2020-03-23 2020-07-28 杭州有数金融信息服务有限公司 基于区块链技术的企业信用数据截图防篡改方法
CN111770149B (zh) * 2020-06-23 2023-02-14 江苏荣泽信息科技股份有限公司 基于分布式存储的新型联盟链系统
CN112069169B (zh) * 2020-07-30 2023-08-15 北京奇艺世纪科技有限公司 区块数据存储方法、装置、电子设备及可读存储介质
CN112132579B (zh) * 2020-09-30 2022-08-12 深圳前海微众银行股份有限公司 一种区块链共识节点更新方法及装置
CN114697971A (zh) * 2020-12-28 2022-07-01 索尼公司 促进频谱共享的区块链节点和方法
CN112966048A (zh) * 2021-03-09 2021-06-15 安徽超清科技股份有限公司 一种区块链共识方法
CN113420974B (zh) * 2021-06-17 2024-05-14 首钢集团有限公司 一种钢铁生产数据录入方法、电子设备及介质
CN113535849B (zh) * 2021-07-08 2023-03-07 电子科技大学 一种区块链的可扩展共识方法
CN113592656B (zh) * 2021-09-27 2021-12-28 杭州宇链科技有限公司 联盟链交易同步优化方法、计算机可读介质和电子设备
CN117221332B (zh) * 2023-06-08 2024-04-12 天津大学 基于多领导者拜占庭容错共识的高鲁棒性交易打包方法
CN116684426B (zh) * 2023-08-03 2024-01-09 南方科技大学 一种基于拜占庭共识协议的任务处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107197035A (zh) * 2017-06-21 2017-09-22 中国民航大学 一种基于一致性哈希算法的亲和性动态负载均衡方法
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089758A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a contract-creator application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107197035A (zh) * 2017-06-21 2017-09-22 中国民航大学 一种基于一致性哈希算法的亲和性动态负载均衡方法
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于虚节点的一致性哈希算法的优化;巴子言,吴军,马严;《软件》;20141215;第26-29页 *

Also Published As

Publication number Publication date
CN108737375A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108737375B (zh) 一种区块链共识方法及系统
JP7278453B2 (ja) ブロックチェーン・ネットワークにおいてトランザクションを管理するための方法、記憶媒体、電子デバイス、トランザクション検証ノード、スーパー・ノード及びブロックチェーン・ネットワーク
US11516006B2 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN109255713A (zh) 一种区块链网络中某一时间段内记账权的获取方法
CN109951474A (zh) 一种实现区块链共识出块的方法
CN112187866B (zh) 一种基于共享存储的新型区块链共识方法
Feng et al. System architecture for high-performance permissioned blockchains
CN112651830B (zh) 应用于电力资源共享网络的区块链共识方法
US20230017790A1 (en) Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof
Wang et al. Byzantine fault tolerant algorithm based on vote
CN115633035B (zh) 一种基于改进的pbft物联网区块链共识算法
CN114745140B (zh) 基于聚合加密的城市规划领域区块链共识验证方法及系统
Li et al. Gosig: Scalable byzantine consensus on adversarial wide area network for blockchains
Yu et al. Low powered blockchain consensus protocols based on consistent hash
Zhang et al. Model of decentralized cross-chain energy trading for power systems
US20240179019A1 (en) Consensus result synchronization across algorithms of different fault tolerance types
WO2022183518A1 (zh) 一种面向云计算的高性能区块链架构方法
CN113448694B (zh) 一种提高事务处理能力的区块链共识方法
Tian et al. TSBFT: A scalable and efficient leaderless byzantine consensus for consortium blockchain
Decker On the scalability and security of bitcoin
Wang et al. A fast and secured peer-to-peer energy trading using blockchain consensus
WO2023098327A1 (zh) 基于区块链的区块处理方法、装置、设备、存储介质及程序产品
WO2023082883A1 (zh) 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品
Drakatos et al. Rapid Blockchain Scaling with Efficient Transaction Assignment
CN113596182B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210119

CF01 Termination of patent right due to non-payment of annual fee