CN110213038B - 一种区块链形成共识的方法及*** - Google Patents
一种区块链形成共识的方法及*** Download PDFInfo
- Publication number
- CN110213038B CN110213038B CN201910477367.5A CN201910477367A CN110213038B CN 110213038 B CN110213038 B CN 110213038B CN 201910477367 A CN201910477367 A CN 201910477367A CN 110213038 B CN110213038 B CN 110213038B
- Authority
- CN
- China
- Prior art keywords
- node
- sequence
- nodes
- blocking
- block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000000903 blocking effect Effects 0.000 claims abstract description 103
- 238000012795 verification Methods 0.000 claims abstract description 60
- 238000010200 validation analysis Methods 0.000 claims abstract description 7
- 230000008901 benefit Effects 0.000 claims description 9
- 238000002360 preparation method Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000012216 screening Methods 0.000 abstract description 10
- 101150060512 SPATA6 gene Proteins 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种一种基于VRF的权益随机共识方法及***,所述方法包括:基于创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeconHash,计算新的BeconHash;基于新的BeconHash生成打块节点序列和验证节点序列;基于打块节点序列从网络节点分布序列中筛选出打块节点;基于验证节点序列从网络节点分布序列中筛选出验证节点;基于打块节点和验证节点生成区块并达成共识。本发明可以提供一种区块链的安全可靠、随机性强且每轮只有部分节点参与共识的高效的共识方法。
Description
技术领域
本发明涉及计算机技术,特别是涉及一种区块链形成共识的方法及***。
背景技术
区块链是一种关于信任的互联网协议和技术的结合,目的是构建一种分布式部署并且实时同步的***,其中的数据只可以添加而不能篡改,同时允许多方根据共识机制参与数据的建立和维护,保证链上的每个有效用户具备完全一致的数据。
而实现这种分布式部署的一个核心问题就是不同用户之中的共识算法,常见的共识算法包括工作量证明POW、权益证明POS、委托权益证明DPOS、实用拜占庭容错PBFT和一致性共识算法等。但是无论是哪种共识算法,始终无法真正解决区块链的可扩展性、去中心化和安全性之间难以兼顾的矛盾。为了保证去中心化的特性以及高安全的要求,节点之间需要进行复杂的共识算法,占用大量的资源,严重影响区块链的出块效率,也即可扩展性。
发明内容
基于此,有必要针对出场效率低下的问题,提供一种基于VRF的权益随机共识方法及***。
一种基于VRF的权益随机共识方法,所述方法包括:
基于创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeconHash,计算新的BeconHash;
基于新的BeconHash生成打块节点序列和验证节点序列;
基于打块节点序列从网络节点分布序列中筛选出打块节点;
基于验证节点序列对网络节点分布序列中筛选出验证节点;
基于打块节点和验证节点生成区块并达成共识。
在其中一个实施例中,所述基于打块节点序列从网络节点分布序列中筛选出打块节点,包括:
如果所述网络分布序列的节点根据自己的索引值查询对应在打块节点序列上的对应位的值为1,则作为打块节点;
所述索引值表示节点在网络分布序列节点中的位置。
在其中一个实施例中,所述基于验证节点序列对网络节点分布序列中筛选出验证节点,包括:
如果所述网络分布序列的节点根据自己的索引值查询对应在验证节点序列上的对应值的值为1,则作为验证节点;
所述索引值表示节点在网络分布序列节点中的位置。
在其中一个实施例中,所述网络节点分布序列中的多个节点可以同时属于同一个用户,所述拥有多个节点的用户为超级节点,每个超级节点依据自己资产的数量等信息计算权益值,根据权益值大小持有对应数目的节点,每个节点在网络节点分布序列中占据一个位置,并拥有对应的索引值。
在其中一个实施例中,所述新的BeconHash序列的长度与网络节点分布序列的长度相等。
在其中一个实施例中,所述基于新的BeconHash生成打块节点序列和验证节点序列,包括:
将所述新的BeconHash从中间均分为两个序列BHLeft和BHRight;
对BHLeft按位取反,得到BHLeftR;
对BHRight按位取反,得到BHRightR;
连接BHLeft和BHLeftR,得到BHLeft||BHLeftR作为预备打块节点序列;
预备打块节点序列BHLeft||BHLeftR与网络节点分布序列做与运算,得到打块节点序列;
连接BHRight和BHRightR,得到预备验证节点序列BHRight||BHRightR;
将预备验证节点序列BHRight||BHRightR与网络节点分布序列做与运算,再与打块节点序列的取反做与运算,得到验证节点序列。
在其中一个实施例中,所述打块节点序列或验证节点序列中的节点数目大于或等于对应总节点数目的三分之一。
在其中一个实施例中,所述筛选出打块节点之后,所述方法还包括:
计算每个所述打块节点的等待时间,所述等待时间为对应打块节点进行打块的等待时间;
每个所述打块节点根据对应的等待时间,依照等待时间的长度依次打块。
如果一个打块节点没有在等待时间内生成区块或者生成的区块未被接受,则根据等待时间直接对下一个打块节点生成的区块进行共识;
当时间超过了已选出的所有打块节点的等待时间后,计算新的BeconHash并进行新的一轮随机选举。
在其中一个实施例中,所述计算每个所述打块节点的等待时间,包括:
计算本轮的标准等待时间;
每个打块节点根据本节点的索引值、预设的出块等待超时时长和出块时长常量计算本节点本轮的等待时间。
在其中一个实施例中,所述筛选出验证节点之后,所述方法还包括:
生成区块后,验证节点运行实用拜占庭容错算法实用拜占庭容错算法进行判断,当判断出该区块被超过三分之二的验证节点确认后,该区块被接受。
在其中一个实施例中,所述基于创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeconHash,计算新的BeconHash之前,所述方法还包括:
通过二进制序列记录所有节点,序列中每一个值为1的位代表一个已有的节点,根据这一位在整个网络节点分布序列中的位置,该节点得到对应的索引值;每一个新的节点加入时,随机选择空余的位置并通过其他节点的验证后,获得该节点对应的索引值,所有节点同步新的网络节点分布序列。
一种基于VRF的权益随机共识***,包括:
节点服务器:区块链中至少存在9个节点参与共识,生成新区块;
每一个节点服务器需要包括:
存储模块:用于存储已有区块、种子参数、BeconHash、网络节点分布序列、网络节点分布序列中节点的索引值、打块节点序列、验证节点序列、权益信息、标准等待时间、出块等待超时时长和出块时长常量等信息;
计算模块:用于计算BeconHash、打块节点序列、验证节点序列、标准等待时间和每个节点的等待时间等;
账户模块:用于汇总交易,并生产新的账本(区块);
网络模块:用于保证各个节点服务器的通讯建立和保障;
验证模块:用于在被选为验证节点时的实用拜占庭容错算法;
同步模块:用于同步新的区块和网络节点分布序列等信息。
结合以上所述,本发明在保证打块节点和验证节点的随机选举,攻击者无法预知的同时,让权益更高的用户拥有更大的概率被选中。根据哈希算法的特性,BeconHash序列是随机的且均匀分布的,基于BeconHash序列和网络节点分布序列最终生成的打块节点序列和验证节点序列中每个节点被选为打块节点的概率相等,而每个节点被选为验证节点的概率也相等,而超级节点所拥有的节点数目是根据权益分配的,因此本共识算法可以实现权益随机共识方法。
本发明通过节点等待时间的计算决定打块的次序,并且任一打块者没有在规定时间内生成新区块并达成共识则直接跳过进入下一个打块节点的打块步骤,因此基于本权益随机共识算法的区块链可以做到几乎不分叉,并且打块效率极高。
通过采用本专利公开的技术方法,采用可验证随机函数的方式选择见证人用户和打块用户,可以同时满足去中心化、可扩展性和安全性的多方面的要求。本共识算法中没有矿工,所有用户都有可能被选为见证人,但是见证人和打块者的选举是不可预测的,仅有在选举结束后才能确定,规避了被预先攻击的风险。
通过采用本专利公开的技术方法,在生成新的区块时,只有被选举出的一部分用户参与达成共识,大幅降低了共识算法运行的计算量,降低了资源占用,从根本上增加了区块链公链的效率并保证了区块链公链的高安全性。
附图说明
图1为一实施例的应用于区块链中的打块方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一实施例的应用于区块链中的打块方法的流程图。如图1所示,该方法包括:
步骤110,基于创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeconHash,计算新的BeconHash;
步骤120,基于新的BeconHash生成打块节点序列和验证节点序列;
步骤130,基于打块节点序列从网络节点分布序列中筛选出打块节点;
步骤140,基于验证节点序列对网络节点分布序列中筛选出验证节点;
步骤150,基于打块节点和验证节点生成区块并达成共识。
对于区块链,存在有种子参数。具体而言,在创世区块中初始随机种子参数(seed)后,该种子参数保存在每一个新生成的区块中。
VRF全称Verifiable Random Function,也就是可验证随机函数。本实施例是基于VRF实现的。
所述基于创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeconHash,计算新的BeconHash之前,所述方法还包括:
通过二进制序列记录所有节点,序列中每一个值为1的位代表一个已有的节点,根据这一位在整个网络节点分布序列中的位置,该节点得到对应的索引值;每一个新的节点加入时,随机选择空余的位置并通过其他节点的验证后,获得该节点对应的索引值,所有节点同步新的网络节点分布序列。
对于网络节点分布序列的生成和更新,本实施例中,可以通过足够长的二进制序列记录所有节点,序列中每一个值为1的位代表一个已有的节点,根据这一位在整个网络节点分布序列中的位置,该节点得到对应的索引(Idx)值。每一个新的节点加入时,随机选择空余的位置并通过其他节点的验证后,获得该节点对应的Idx值,所有节点同步新的网络节点分布序列;
本实施例中,当前一次选出的所有打块节点都超出其等待时间时,计算新的BeconHash(中文:一致性哈希值)。可以首先获得种子参数(seed),最新的一个已有区块的哈希值blockhash和已有的BeconHash(preBeconHash),根据预置算法进行一次或多次哈希映射,得到新的BeconHash。本实施例中,已有的BeconHash(preBeconHash)为前一次的BeconHash(preBeconHash)。所述前一次为相对新的BeconHash而言。
本实施例中,计算节点分组序列。对哈希序列BeconHash进行分拆和计算、组合,生成两个新的哈希序列,两个新的哈希序列分别与网络节点分布序列运算生成打块节点序列和验证节点序列。
本实施例中,基于打块节点序列从网络节点分布序列中筛选出打块节点,包括:
如果网络分布序列的节点根据自己的索引值查询对应在打块节点序列上的对应位的值为1,则作为打块节点。索引值表示节点在网络分布序列节点中的位置。
本实施例中,基于验证节点序列对网络节点分布序列中筛选出验证节点,包括:
如果网络分布序列的节点根据自己的索引值查询对应在验证节点序列上的对应值的值为1,则作为验证节点;索引值表示节点在网络分布序列节点中的位置。
具体的,每个节点根据打块节点序列判断自己是否为打块节点。节点根据自己的Idx值查询打块节点序列上的对应位的值是否为1,若是,则作为本轮次的打块节点。每个打块节点根据预置的算法计算该节点的等待时间,各节点依照等待时间的长度依次打块。
本实施例中,生成区块后,验证节点运行实用拜占庭容错算法实用拜占庭容错算法进行判断,当判断出该区块被超过三分之二的验证节点确认后,该区块被接受。
其中,每个节点根据验证节点序列判断自己是否为验证节点。节点根据自己的Idx值查询验证节点序列上的对应位的值是否为1,若是,则作为本轮次的验证节点。当一个节点生成新的区块后,验证节点运行实用拜占庭容错算法实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)进行判断,当一个新区块被超过三分之二的验证节点确认后,该区块被接受。
如果预设的规定时间内没有新区块被接受,打块节点的等待时间进行下一个打块节点的打块,直到超出本轮次所有的打块节点的等待时间,进行新的一轮随机选举和打块。
本实施例中,网络节点分布序列中的多个节点可以同时属于同一个用户。
本实施例中,多个节点可以同时属于同一个用户,称这个用户为超级节点。即拥有多个节点的用户为超级节点。每个超级节点依据自己资产的数量等信息计算权益值,根据权益值大小持有对应数目的节点,每个节点在网络节点分布序列中占据一个位置,并拥有对应的索引(Idx)值。
本实施例中,BeconHash计算包括多轮哈希运算,并且最终输出的BeconHash序列的长度与网络节点分布序列的长度相等。
本实施例中,于新的BeconHash生成打块节点序列和验证节点序列,包括:
将新的BeconHash从中间均分为两个序列BHLeft和BHRight;
对BHLeft按位取反,得到BHLeftR;
对BHRight按位取反,得到BHRightR;
连接BHLeft和BHLeftR,得到BHLeft||BHLeftR作为预备打块节点序列;
预备打块节点序列BHLeft||BHLeftR与网络节点分布序列做与运算,得到打块节点序列;
连接BHRight和BHRightR,得到预备验证节点序列BHRight||BHRightR;
将预备验证节点序列BHRight||BHRightR与网络节点分布序列做与运算,再与打块节点序列的取反做与运算,得到验证节点序列。
本实施例中,如果打块节点序列或验证节点序列取到节点数目小于总节点数目的三分之一,可以由步骤110生成新的BeconHash序列,随后得到新的打块节点序列和验证节点序列,与本轮次已有的打块节点序列和验证节点序列做按位或运算,重复此过程直至打块节点序列和验证节点序列所包含的节点数目达到总节点数目的三分之一。
本实施例中,所述作为打块节点之后,方法还包括:
计算每个打块节点的等待时间,等待时间为对应打块节点进行打块的等待时间;
每个打块节点根据对应的等待时间,依照等待时间的长度依次打块。
本实施例中,计算每个打块节点的等待时间,包括:
计算本轮的标准等待时间;
每个打块节点根据本节点的索引值、预设的出块等待超时时长和出块时长常量计算本节点本轮的等待时间。
本实施例中,标准等待时间的计算方法可以为BeconHash序列的整数型对当前打块节点总数的取模;
本实施例中,每个节点的等待时间的计算方法可以为,节点Idx值与标准等待时间求要和,和数对出块等待超时时长取模,模数再与出块时长常量求积。
Ti=(Idxi+Tstandard modTtimeout)*Tunit
Ti:节点i的等待时间;Tstandard:标准等待时间;Ttimeout:出块等待超时时长;Tunit:和出块时长常量。
结合以上所述,本发明在保证打块节点和验证节点的随机选举,攻击者无法预知的同时,让权益更高的用户拥有更大的概率被选中。根据哈希算法的特性,BeconHash序列是随机的且均匀分布的,基于BeconHash序列和网络节点分布序列最终生成的打块节点序列和验证节点序列中每个节点被选为打块节点的概率相等,而每个节点被选为验证节点的概率也相等,而超级节点所拥有的节点数目是根据权益分配的,因此本共识算法可以实现权益随机共识方法。
本发明通过节点等待时间的计算决定打块的次序,并且任一打块者没有在规定时间内生成新区块并达成共识则直接跳过进入下一个打块节点的打块步骤,因此基于本权益随机共识算法的区块链可以做到几乎不分叉,并且打块效率极高。
通过采用本专利公开的技术方法,采用可验证随机函数的方式选择见证人用户和打块用户,可以同时满足去中心化、可扩展性和安全性的多方面的要求。本共识算法中没有矿工,所有用户都有可能被选为见证人,但是见证人和打块者的选举是不可预测的,仅有在选举结束后才能确定,规避了被预先攻击的风险。
本实施例中,在生成新的区块时,只有被选举出的一部分用户参与达成共识,大幅降低了共识算法运行的计算量,降低了资源占用,从根本上增加了区块链公链的效率并保证了区块链公链的高安全性。
本实施例还提供了一种基于VRF的权益随机共识***,包括:
节点服务器:区块链中至少存在9个节点参与共识,生成新区块;
每一个节点服务器需要包括:
存储模块:用于存储已有区块、种子参数、BeconHash、网络节点分布序列、网络节点分布序列中节点的索引值、打块节点序列、验证节点序列、权益信息、标准等待时间、出块等待超时时长和出块时长常量等信息;
计算模块:用于计算BeconHash、打块节点序列、验证节点序列、标准等待时间和每个节点的等待时间等;
账户模块:用于汇总交易,并生产新的账本(区块);
网络模块:用于保证各个节点服务器的通讯建立和保障;
验证模块:用于在被选为验证节点时的实用拜占庭容错算法;
同步模块:用于同步新的区块和网络节点分布序列等信息。
可以理解,以上***可以实现以上方法实施例中的具体内容,不同的模块可以实现对应方法实施例中的具体内容。
需要指出的是,以上实施例的装置的实现方式与以上方法的实现方式,装置实施例的实现具体可以参照以上方法实施例中的内容。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种区块链形成共识的方法,其特征在于,所述方法包括:
基于打块节点序列,从所述区块链的多个网络节点中确定打块节点;
基于验证节点序列,从所述多个网络节点中确定验证节点,所述打块节点序列和所述验证节点序列是基于所述区块链的创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeaconHash而确定的;以及
在所述打块节点处,向所述验证节点发送建议区块,以便针对所述建议区块达成共识,
其中所述打块节点序列和所述验证节点序列是基于所述区块链的创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeaconHash而确定的,包括:
基于所述区块链的创世区块中的种子参数、最新的已有区块的区块哈希值和已有的BeaconHash,生成新的BeaconHash,所述新的BeaconHash序列的长度与网络节点分布序列的长度相等;以及
基于所述新的BeaconHash,生成所述打块节点序列和所述验证节点序列,并且
基于所述新的BeaconHash,生成所述打块节点序列和所述验证节点序列,包括:
基于所述新的BeaconHash,生成第一序列BHLeft和第二序列BHRight;
对所述第一序列BHLeft按位取反,得到第三序列BHLeftR;
对所述第二序列BHRight按位取反,得到第四序列BHRightR;
连接所述第一序列BHLeft和所述第三序列BHLeftR,以生成预备打块节点序列;
基于所述预备打块节点序列与所述网络节点分布序列,生成所述打块节点序列;
连接所述第二序列BHRight和所述第四序列BHRightR,以生成预备验证节点序列;以及
基于所述预备验证节点序列、所述网络节点分布序列和所述打块节点序列,生成所述验证节点序列。
2.根据权利要求1所述的方法,其特征在于,所述基于打块节点序列,从所述区块链的多个网络节点中确定打块节点包括:
在区块链的多个网络节点处,确认所述打块节点序列中与所述网络节点的索引值对应的对应位的值是否为1,所述网络节点的索引值指示所述网络节点在网络节点分布序列中的位置;以及
响应于确认所述打块节点序列中与所述网络节点的索引值对应的对应位的值为1,确定所述网络节点为所述打块节点。
3.根据权利要求1所述的方法,其特征在于,所述基于验证节点序列,从所述多个网络节点中确定验证节点包括:
在区块链的多个网络节点处,确认所述验证节点序列中与所述网络节点的索引值对应的对应位的值是否为1,所述网络节点的索引值指示所述网络节点在所述网络节点分布序列中的位置;以及
响应于确认所述验证节点序列与所述网络节点的索引值对应的对应位的值为1,确定所述网络节点为所述验证节点。
4.根据权利要求1所述的方法,其特征在于,所述网络节点分布序列中的多个节点同时属于同一个用户,所述拥有多个节点的用户为超级节点,每个超级节点所拥有的节点数目与权益值相关联,所述权益值是基于所述超级节点的资产的数量信息而计算的,每个节点在网络节点分布序列中对应一个位置,并拥有对应的索引值。
5.根据权利要求1所述的方法,其特征在于,所述打块节点序列或所述验证节点序列中的节点数目大于或等于所述区块链的总节点数目的三分之一。
6.根据权利要求2所述的方法,其特征在于,还包括:
计算每个所述打块节点的等待时间,所述等待时间为对应打块节点进行打块的等待时间;
每个所述打块节点根据对应的等待时间,依照等待时间的长度依次打块;
如果一个打块节点没有在等待时间内生成区块或者生成的区块未被接受,则根据等待时间直接对下一个打块节点生成的区块进行共识;
当时间超过了已选出的所有打块节点的等待时间后,计算新的BeaconHash并进行新的一轮随机选举。
7.根据权利要求6所述的方法,其特征在于,所述确定每个所述打块节点进行打块的等待时间,包括:
确定本轮的标准等待时间;
基于打块节点的索引值、预设的出块等待超时时长和出块时长常量,确定所述打块节点本轮的所述等待时间。
8.根据权利要求1所述的方法,其特征在于,确认是否针对所述建议区块达成共识包括:
响应于确定所述建议区块被超过三分之二的验证节点确认,确认已经针对所述建议区块达成共识。
9.根据权利要求1所述的方法,其特征在于,还包括:
基于所述区块链的所有节点,确定网络节点分布序列和所有节点中每一个节点的索引值,所述网络节点分布序列中每一个值为1的位代表一个所述区块链的已有的节点,所述节点的索引值指示对应节点在所述网络节点分布序列中的位置;
响应于确定当前节点为新加入所述区块链的新节点,基于所述网络节点分布序列的空余的位置,确定所述新节点的索引值;
响应于确认所述新节点的索引值通过其他节点的验证,基于所述新节点的索引值,在所有节点处同步所述网络节点分布序列。
10.一种区块链形成共识的***,包括区块链中的至少9个网络节点,所述至少9个网络节点用于执行如权利要求1所述的区块链形成共识的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477367.5A CN110213038B (zh) | 2019-06-03 | 2019-06-03 | 一种区块链形成共识的方法及*** |
PCT/CN2020/093962 WO2020244510A1 (zh) | 2019-06-03 | 2020-06-02 | 一种基于vrf的权益随机共识方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477367.5A CN110213038B (zh) | 2019-06-03 | 2019-06-03 | 一种区块链形成共识的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213038A CN110213038A (zh) | 2019-09-06 |
CN110213038B true CN110213038B (zh) | 2024-06-04 |
Family
ID=67790388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910477367.5A Active CN110213038B (zh) | 2019-06-03 | 2019-06-03 | 一种区块链形成共识的方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110213038B (zh) |
WO (1) | WO2020244510A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213038B (zh) * | 2019-06-03 | 2024-06-04 | 聂明 | 一种区块链形成共识的方法及*** |
CN110601834B (zh) * | 2019-09-30 | 2023-02-10 | 深圳市迅雷网络技术有限公司 | 一种共识方法、装置、设备及可读存储介质 |
CN111182043B (zh) * | 2019-12-23 | 2022-08-12 | 南京亚信智网科技有限公司 | 哈希值的分配方法及装置 |
CN114463009B (zh) * | 2022-04-13 | 2022-06-28 | 成都理工大学 | 一种用于提高大规模能源节点交易安全性的方法 |
CN117745433B (zh) * | 2024-02-19 | 2024-05-28 | 成都理工大学 | 基于改进pbft共识机制的能源区块链节点共识方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
CN108667614A (zh) * | 2018-04-19 | 2018-10-16 | 上海分布信息科技有限公司 | 一种拜占庭容错方法及其实现*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660675A (zh) * | 2016-05-04 | 2023-01-31 | 阿尔戈兰德有限责任公司 | 由计算机设备执行的方法及相应***和存储介质 |
US10432411B2 (en) * | 2016-05-10 | 2019-10-01 | Acronis International Gmbh | System and method for file time-stamping using a blockchain network |
CN108614748B (zh) * | 2018-04-19 | 2020-09-29 | 上海分布信息科技有限公司 | 一种拜占庭容错的方法及其通证经济的治理*** |
CN108900380B (zh) * | 2018-07-14 | 2020-07-10 | 上海分布信息科技有限公司 | 一种节点管理方法及其实现*** |
CN110213038B (zh) * | 2019-06-03 | 2024-06-04 | 聂明 | 一种区块链形成共识的方法及*** |
-
2019
- 2019-06-03 CN CN201910477367.5A patent/CN110213038B/zh active Active
-
2020
- 2020-06-02 WO PCT/CN2020/093962 patent/WO2020244510A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
CN108667614A (zh) * | 2018-04-19 | 2018-10-16 | 上海分布信息科技有限公司 | 一种拜占庭容错方法及其实现*** |
Also Published As
Publication number | Publication date |
---|---|
WO2020244510A1 (zh) | 2020-12-10 |
CN110213038A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213038B (zh) | 一种区块链形成共识的方法及*** | |
Zamani et al. | Rapidchain: Scaling blockchain via full sharding | |
US20220385460A1 (en) | Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system | |
EP4002181A1 (en) | A consensus method and framework for a blockchain system | |
CN109905247B (zh) | 基于区块链的数字签名方法、装置、设备及存储介质 | |
CN110741600A (zh) | 提供去中心化协议以找回加密资产的计算机实现的***和方法 | |
CN110851537A (zh) | 一种基于区块链分片技术的共识方法 | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
CN109379343B (zh) | 一种区块链的异构共识方法及终端 | |
CN112929181B (zh) | 抗Sybil攻击身份的生成 | |
CN102263787B (zh) | 动态分布式ca配置方法 | |
CN113301114A (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN111865595B (zh) | 一种区块链的共识方法及装置 | |
Xu et al. | Occam: A secure and adaptive scaling scheme for permissionless blockchain | |
CN113923217B (zh) | 一种基于dag的异步拜占庭共识方法及*** | |
CN114202422A (zh) | 一种区块链分片方法、区块链***及跨分片交易处理方法 | |
GB2587541A (en) | A consensus method and framework for a blockchain system | |
CN111667264B (zh) | 区块数据的传输方法、装置、电子设备及非易失性计算机存储介质 | |
CN111611311B (zh) | 去中心化分布式数据库的形成方法及***、电子设备及计算机可读存储介质 | |
Blum et al. | Superlight–A permissionless, light-client only blockchain with self-contained proofs and BLS signatures | |
CN112699136A (zh) | 一种跨链存证方法及相关装置 | |
CN110912687A (zh) | 一种分布式身份验证方法 | |
CN115834050A (zh) | 一种通信方法、装置、设备以及计算机可读存储介质 | |
CN112751675B (zh) | 一种基于区块链的信息监控方法、***、设备及存储介质 | |
KR20210127231A (ko) | 동력화된 ID (Energized Identity) 기반 블록체인 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191213 Address after: No. 303, gate 3, floor 1, hepinglijiaolin, Dongcheng District, Beijing Applicant after: Nie Ming Address before: 214000 China Sensor Network International Innovation Park D2-307, 200 Linghu Avenue, Xinwu District, Wuxi City, Jiangsu Province Applicant before: China SmartCity Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |