CN108737375A - 一种区块链共识方法及系统 - Google Patents
一种区块链共识方法及系统 Download PDFInfo
- Publication number
- CN108737375A CN108737375A CN201810330997.5A CN201810330997A CN108737375A CN 108737375 A CN108737375 A CN 108737375A CN 201810330997 A CN201810330997 A CN 201810330997A CN 108737375 A CN108737375 A CN 108737375A
- Authority
- CN
- China
- Prior art keywords
- node
- block
- message
- current block
- hash
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 35
- 238000003860 storage Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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挖矿造成大量的资源浪费。据估计,在2013年,比特币采矿的能源消耗量(用于CPU和冷却系统运行的电力成本)等于爱尔兰国家。更大的问题是PoW机制的共识达成的周期较长,每秒只能最多做7笔交易,不适合商业应用。基于挖矿的方式效率不高,且依赖于代币,但不是所有的应用场景都有代币的存在。
PoS依靠内部币龄和权益而不再需要大量消耗外部算力和资源,降低了PoW 消耗算力的问题,并且在一定程度上缩短了共识达成的时间。但是,PoS还是需要挖矿,本质上没有解决商业应用的痛点。另外拥有代币数量大的节点获得记账权的几率更大,会使得网络的共识受少数富裕账户支配,从而失去公正性。
DPoS机制减少了记账节点的规模,属于弱中心化,但同时也大大提高了效率,也更加节能。大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
如上表是各算法的对比。现有的区块链共识的方案中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 (10)
1.一种区块链共识方法,其特征在于包括以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
2.根据权利要求1所述的区块链共识方法,其特征在于:所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
3.根据权利要求1所述的区块链共识方法,其特征在于:所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
4.根据权利要求1所述的区块链共识方法,其特征在于:所述每个节点拥有属于自己的公钥和私钥以及全网中其他所有节点的信息,所述节点的信息包括节点的公钥、节点名称、I P、端口和状态。
5.根据权利要求1所述的区块链共识方法,其特征在于:每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
6.一种区块链共识系统,其特征在于包括:
初始化模块,用于建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
区块产生模块,用于根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
共识模块,用于领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,并广播确认消息和打包好的下一个区块内容给跟随者节点;
验证模块,用于跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
7.根据权利要求6所述的区块链共识系统,其特征在于:所述根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的领导节点的具体方式为:
若当前区块哈希值映射到哈希环上对应位置存在节点,则该节点转换为领导节点,其他节点转换为跟随节点;
若当前区块哈希值映射到哈希环上对应位置不存在节点,则沿哈希环顺时针寻找第一个存在的节点,则该节点转换为领导节点,其他节点转换为跟随节点。
8.根据权利要求6所述的区块链共识系统,其特征在于:所述当前区块获得跟随节点验证通过的条件是:当前区块的包含内容需要达到区块可容纳交易数最大值的上限或者当前区块的等待时间需要达到产生区块的上限时间。
9.根据权利要求6所述的区块链共识系统,其特征在于:每个节点所对应的虚拟节点数量是根据节点的性能和诚实度来确定的。
10.一种区块链共识系统,其特征在于包括:存储器和至少一个处理器,其中:所述存储器存储有程序,并被配置成由所述至少一个处理器执行以下步骤:
建立哈希环,并将节点及其虚拟节点的哈希值和区块的哈希值映射到同一个哈希环上;
根据当前区块映射到哈希环上的地址,确定可接收验证消息并产生下一个区块权利的节点,该节点为领导节点,其余节点为跟随节点;
领导节点收到超过一半跟随节点对当前区块验证通过的消息后,将当前区块加入到区块链,广播确认消息和打包好的下一个区块内容给跟随者节点;
跟随节点收到广播消息并对消息验证通过后,将当前区块加入到区块链,然后对下一个区块进行验证,将验证消息发送给下一个领导节点。
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 true CN108737375A (zh) | 2018-11-02 |
CN108737375B 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) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255713A (zh) * | 2018-11-12 | 2019-01-22 | 裴若含 | 一种区块链网络中某一时间段内记账权的获取方法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109872159A (zh) * | 2019-01-07 | 2019-06-11 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
CN109949034A (zh) * | 2019-03-06 | 2019-06-28 | 北京工业大学 | 基于可信性评估的区块链共识方法 |
CN109978516A (zh) * | 2019-03-06 | 2019-07-05 | 西安电子科技大学 | 区块链网络中区块的制造和同步方法、信息数据处理终端 |
CN109981416A (zh) * | 2019-04-04 | 2019-07-05 | 中山大学 | 一种区块链性能检测方法与系统 |
CN110096227A (zh) * | 2019-03-28 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质 |
CN110119990A (zh) * | 2019-04-04 | 2019-08-13 | 国美金控投资有限公司 | 一种基于保险内部验证用联盟链共识系统 |
CN110247753A (zh) * | 2019-06-17 | 2019-09-17 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的出块方法及装置 |
CN110351067A (zh) * | 2019-06-12 | 2019-10-18 | 南京理工大学 | 针对主从多链的区块链共识机制 |
CN110443713A (zh) * | 2019-09-06 | 2019-11-12 | 江门职业技术学院 | 一种针对区块链交易效率提升的方法及系统 |
CN110533402A (zh) * | 2019-08-22 | 2019-12-03 | 珠海得分金融科技有限公司 | 一种异构系统的记账共识方法及系统 |
CN110928690A (zh) * | 2019-12-07 | 2020-03-27 | 上海科乐宜信息科技有限公司 | 一种在5g网络环境下区块链数据同步和验证的方法 |
CN110990497A (zh) * | 2019-12-19 | 2020-04-10 | 上海优扬新媒信息技术有限公司 | 一种基于区块链的信息处理方法及装置、设备、存储介质 |
CN111079199A (zh) * | 2020-03-23 | 2020-04-28 | 杭州有数金融信息服务有限公司 | 基于区块链技术的企业信用数据截图防篡改方法 |
CN111125139A (zh) * | 2019-12-26 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种多控制器的任务处理方法及相关装置 |
CN111159764A (zh) * | 2019-12-26 | 2020-05-15 | 杭州趣链科技有限公司 | 基于投票选举的链上与链下相结合实现联盟链自治的方法 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111770149A (zh) * | 2020-06-23 | 2020-10-13 | 江苏荣泽信息科技股份有限公司 | 基于分布式存储的新型联盟链 |
CN111786772A (zh) * | 2019-12-10 | 2020-10-16 | 深圳启元信息服务有限公司 | 一种基于区块链的确定的非确定性选择方法、系统及存储介质 |
CN111813790A (zh) * | 2020-06-16 | 2020-10-23 | 上海申铁信息工程有限公司 | 一种基于Raft算法的区块链共识方法和装置 |
CN112069169A (zh) * | 2020-07-30 | 2020-12-11 | 北京奇艺世纪科技有限公司 | 区块数据存储方法、装置、电子设备及可读存储介质 |
CN112132579A (zh) * | 2020-09-30 | 2020-12-25 | 深圳前海微众银行股份有限公司 | 一种区块链共识节点更新方法及装置 |
CN112953981A (zh) * | 2019-11-26 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 节点选择方法、区块链共识方法及装置、系统、设备 |
CN112966048A (zh) * | 2021-03-09 | 2021-06-15 | 安徽超清科技股份有限公司 | 一种区块链共识方法 |
CN113169978A (zh) * | 2018-12-21 | 2021-07-23 | 萨瓦·兹万诺维奇 | 用于在区块链技术中自动管理和存放文件(图像)哈希的系统 |
CN113420974A (zh) * | 2021-06-17 | 2021-09-21 | 首钢集团有限公司 | 一种钢铁生产数据录入方法、电子设备及介质 |
CN113535849A (zh) * | 2021-07-08 | 2021-10-22 | 电子科技大学 | 一种区块链的可扩展共识方法 |
CN113592656A (zh) * | 2021-09-27 | 2021-11-02 | 杭州宇链科技有限公司 | 联盟链交易同步优化方法、计算机可读介质和电子设备 |
WO2022143356A1 (zh) * | 2020-12-28 | 2022-07-07 | 索尼集团公司 | 促进频谱共享的区块链节点和方法 |
EP3983899A4 (en) * | 2019-11-21 | 2023-07-05 | VMWare, Inc. | ASYNCHRONE INCREASE REPLICATION OF STATE MACHINES |
CN116684426A (zh) * | 2023-08-03 | 2023-09-01 | 南方科技大学 | 一种基于拜占庭共识协议的任务处理方法 |
CN117221332A (zh) * | 2023-06-08 | 2023-12-12 | 天津大学 | 基于多领导者拜占庭容错共识的高鲁棒性交易打包方法 |
Citations (4)
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 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链系统及存储介质 |
US20180089761A1 (en) * | 2016-09-26 | 2018-03-29 | Shapeshift Ag | System and method of providing a leader-follower multi-asset portfolio |
-
2018
- 2018-04-13 CN CN201810330997.5A patent/CN108737375B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089761A1 (en) * | 2016-09-26 | 2018-03-29 | Shapeshift Ag | System and method of providing a leader-follower multi-asset portfolio |
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)
Title |
---|
巴子言,吴军,马严: "基于虚节点的一致性哈希算法的优化", 《软件》 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255713A (zh) * | 2018-11-12 | 2019-01-22 | 裴若含 | 一种区块链网络中某一时间段内记账权的获取方法 |
CN109255713B (zh) * | 2018-11-12 | 2022-02-01 | 裴若含 | 一种区块链网络中某一时间段内记账权的获取方法 |
CN113169978A (zh) * | 2018-12-21 | 2021-07-23 | 萨瓦·兹万诺维奇 | 用于在区块链技术中自动管理和存放文件(图像)哈希的系统 |
CN109872159A (zh) * | 2019-01-07 | 2019-06-11 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
CN109872159B (zh) * | 2019-01-07 | 2021-04-06 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109639837B (zh) * | 2019-01-31 | 2021-04-06 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109949034A (zh) * | 2019-03-06 | 2019-06-28 | 北京工业大学 | 基于可信性评估的区块链共识方法 |
CN109978516A (zh) * | 2019-03-06 | 2019-07-05 | 西安电子科技大学 | 区块链网络中区块的制造和同步方法、信息数据处理终端 |
CN110096227A (zh) * | 2019-03-28 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质 |
CN109981416B (zh) * | 2019-04-04 | 2022-07-12 | 中山大学 | 一种区块链性能检测方法与系统 |
CN110119990A (zh) * | 2019-04-04 | 2019-08-13 | 国美金控投资有限公司 | 一种基于保险内部验证用联盟链共识系统 |
CN109981416A (zh) * | 2019-04-04 | 2019-07-05 | 中山大学 | 一种区块链性能检测方法与系统 |
CN110351067A (zh) * | 2019-06-12 | 2019-10-18 | 南京理工大学 | 针对主从多链的区块链共识机制 |
CN110247753A (zh) * | 2019-06-17 | 2019-09-17 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的出块方法及装置 |
CN110533402B (zh) * | 2019-08-22 | 2023-01-03 | 珠海得分金融科技有限公司 | 一种异构系统的记账共识方法及系统 |
CN110533402A (zh) * | 2019-08-22 | 2019-12-03 | 珠海得分金融科技有限公司 | 一种异构系统的记账共识方法及系统 |
CN110443713A (zh) * | 2019-09-06 | 2019-11-12 | 江门职业技术学院 | 一种针对区块链交易效率提升的方法及系统 |
EP3983899A4 (en) * | 2019-11-21 | 2023-07-05 | VMWare, Inc. | ASYNCHRONE INCREASE REPLICATION OF STATE MACHINES |
CN112953981A (zh) * | 2019-11-26 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 节点选择方法、区块链共识方法及装置、系统、设备 |
CN110928690A (zh) * | 2019-12-07 | 2020-03-27 | 上海科乐宜信息科技有限公司 | 一种在5g网络环境下区块链数据同步和验证的方法 |
CN111786772A (zh) * | 2019-12-10 | 2020-10-16 | 深圳启元信息服务有限公司 | 一种基于区块链的确定的非确定性选择方法、系统及存储介质 |
CN111786772B (zh) * | 2019-12-10 | 2024-05-07 | 北京铭泰恒通信息技术有限公司 | 一种基于区块链的确定的非确定性选择方法、系统及存储介质 |
CN110990497A (zh) * | 2019-12-19 | 2020-04-10 | 上海优扬新媒信息技术有限公司 | 一种基于区块链的信息处理方法及装置、设备、存储介质 |
CN111125139A (zh) * | 2019-12-26 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种多控制器的任务处理方法及相关装置 |
CN111159764A (zh) * | 2019-12-26 | 2020-05-15 | 杭州趣链科技有限公司 | 基于投票选举的链上与链下相结合实现联盟链自治的方法 |
CN111125139B (zh) * | 2019-12-26 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种多控制器的任务处理方法及相关装置 |
CN111311414B (zh) * | 2020-02-27 | 2023-12-08 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111079199A (zh) * | 2020-03-23 | 2020-04-28 | 杭州有数金融信息服务有限公司 | 基于区块链技术的企业信用数据截图防篡改方法 |
CN111813790A (zh) * | 2020-06-16 | 2020-10-23 | 上海申铁信息工程有限公司 | 一种基于Raft算法的区块链共识方法和装置 |
CN111770149A (zh) * | 2020-06-23 | 2020-10-13 | 江苏荣泽信息科技股份有限公司 | 基于分布式存储的新型联盟链 |
CN111770149B (zh) * | 2020-06-23 | 2023-02-14 | 江苏荣泽信息科技股份有限公司 | 基于分布式存储的新型联盟链系统 |
CN112069169A (zh) * | 2020-07-30 | 2020-12-11 | 北京奇艺世纪科技有限公司 | 区块数据存储方法、装置、电子设备及可读存储介质 |
CN112069169B (zh) * | 2020-07-30 | 2023-08-15 | 北京奇艺世纪科技有限公司 | 区块数据存储方法、装置、电子设备及可读存储介质 |
CN112132579B (zh) * | 2020-09-30 | 2022-08-12 | 深圳前海微众银行股份有限公司 | 一种区块链共识节点更新方法及装置 |
CN112132579A (zh) * | 2020-09-30 | 2020-12-25 | 深圳前海微众银行股份有限公司 | 一种区块链共识节点更新方法及装置 |
WO2022143356A1 (zh) * | 2020-12-28 | 2022-07-07 | 索尼集团公司 | 促进频谱共享的区块链节点和方法 |
CN112966048A (zh) * | 2021-03-09 | 2021-06-15 | 安徽超清科技股份有限公司 | 一种区块链共识方法 |
CN113420974A (zh) * | 2021-06-17 | 2021-09-21 | 首钢集团有限公司 | 一种钢铁生产数据录入方法、电子设备及介质 |
CN113420974B (zh) * | 2021-06-17 | 2024-05-14 | 首钢集团有限公司 | 一种钢铁生产数据录入方法、电子设备及介质 |
CN113535849B (zh) * | 2021-07-08 | 2023-03-07 | 电子科技大学 | 一种区块链的可扩展共识方法 |
CN113535849A (zh) * | 2021-07-08 | 2021-10-22 | 电子科技大学 | 一种区块链的可扩展共识方法 |
CN113592656A (zh) * | 2021-09-27 | 2021-11-02 | 杭州宇链科技有限公司 | 联盟链交易同步优化方法、计算机可读介质和电子设备 |
CN117221332A (zh) * | 2023-06-08 | 2023-12-12 | 天津大学 | 基于多领导者拜占庭容错共识的高鲁棒性交易打包方法 |
CN117221332B (zh) * | 2023-06-08 | 2024-04-12 | 天津大学 | 基于多领导者拜占庭容错共识的高鲁棒性交易打包方法 |
CN116684426A (zh) * | 2023-08-03 | 2023-09-01 | 南方科技大学 | 一种基于拜占庭共识协议的任务处理方法 |
CN116684426B (zh) * | 2023-08-03 | 2024-01-09 | 南方科技大学 | 一种基于拜占庭共识协议的任务处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108737375B (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737375A (zh) | 一种区块链共识方法及系统 | |
CN112637189B (zh) | 物联网应用场景下的多层区块链跨域认证方法 | |
Yu et al. | A high performance blockchain platform for intelligent devices | |
Luo et al. | A new election algorithm for DPos consensus mechanism in blockchain | |
JP2023103330A (ja) | ブロックチェーン・ネットワークにおけるトランザクション検証ノードのための方法、記憶媒体、電子デバイス、トランザクション検証ノード、スーパー・ノード及びブロックチェーン・ネットワーク | |
US20230299984A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
CN110570308B (zh) | 一种具有激励机制的基于区块链的电子仓单交易系统 | |
CN109255713A (zh) | 一种区块链网络中某一时间段内记账权的获取方法 | |
CN112907252A (zh) | 一种基于多人链下通道的区块链交易方法及系统 | |
CN112187866B (zh) | 一种基于共享存储的新型区块链共识方法 | |
CN110580605B (zh) | 一种基于区块链的电子仓单信息存储系统 | |
CN113407632A (zh) | 一种基于pbft的委托权益证明区块链共识算法 | |
Liu et al. | Ltsm: Lightweight and trusted sharing mechanism of iot data in smart city | |
CN113422805B (zh) | 一种基于可验证随机函数的分片共识方法 | |
Xue et al. | STBC: A novel blockchain-based spectrum trading solution | |
CN111131298A (zh) | 一种基于信用去中心化的poc高效共识机制及实现方法 | |
Yu et al. | Low powered blockchain consensus protocols based on consistent hash | |
Jiang et al. | A scalable Byzantine Fault Tolerance algorithm based on a tree topology network | |
Wang et al. | Enhancing power grid resilience with blockchain-enabled vehicle-to-vehicle energy trading in renewable energy integration | |
Wang et al. | An efficient, secured, and infinitely scalable consensus mechanism for peer-to-peer energy trading blockchain | |
CN112801791B (zh) | 一种基于授权的区块链共识方法及系统 | |
Wang et al. | A fast and secured peer-to-peer energy trading using blockchain consensus | |
CN111970370B (zh) | 基于面向通信设备体系的多层区块链协议拓展系统及方法 | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
CN117241242A (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 |