The invention first analyses the problems encountered in the application of Ethernet workshop in the alliance chain at the present stage. The core of the problem is that the consensus mechanism based on workload proof is not applicable in the alliance chain. Therefore, a method of improving the PBFT Ethernet workshop consensus mechanism to apply in the alliance chain is proposed, which combines the PBFT mechanism with the structure of the Ethernet workshop block, and expounds in detail the persistence of the mechanism. Firstly, it describes the improved PBFT mechanism, and explains the correctness of the mechanism used in the Ethernet workshop of the alliance chain. Secondly, it elaborates in detail how to realize the improved PBFT consensus mechanism in the Ethernet workshop environment, and explains the principle and implementation of a block from the generation, transmission and verification process. Finally, aiming at the block structure of Yitaifang, the improvement of certificate recovery mechanism and view switching mechanism is proposed. Checkpoint protocol and view switching protocol are implemented by timeout mechanism, which reduces the data transmission overhead of the network to a certain extent.
【技术实现步骤摘要】
一种改进PBFT的以太坊共识机制应用于联盟链的方法
本专利技术涉及区块链
,具体涉及一种改进PBFT(PracticalByzantineFaultTolerancePracticalByzantineFaultTolerance,实用拜占庭容错算法)的以太坊共识机制应用于联盟链的方法。
技术介绍
在区块链系统中,共识算法作为保证分布式节点间数据一致性的算法,可以被分为两大类,即概率一致性算法和绝对一致性算法。概率一致性算法指在不同分布式节点之间,有较大概率保证节点间数据达到一致,但仍存在一定概率使得某些节点间数据不一致。对于某一个数据节点而言,数据在节点间不一致的概率会随时间的推移逐渐降低至趋近于零,从而最终达到一致性。例如工作量证明算法(ProofofWork,PoW)、股份证明算法(ProofofStake,PoS)和委托股权证明算法(DelegatedProofofStake,DPoS)都属于概率一致性算法。绝对一致性算法则指在任意时间点,不同分布式节点之间的数据都会保持绝对一致,不存在不同节点间数据不一致的情况。例如分布式系统中常用的PAXOS算法及其衍生出的RAFT算法等,以及拜占庭容错类算法(类BFT算法)。根据CAP原理可知,概率一致性算法保证了系统的可用性而牺牲了系统的一致性,绝对一致性算法则与之相反,保证了系统的一致性而牺牲了系统的可用性。目前根据区块链应用对象不同,可将区块链分成三类,即是公有链、私有链和联盟链。公有链是完全去中心化的,任何人既可以进行交易也可以读取信息。任何人都可以参与链上的交易确认和共识机制,各个节点可以随时 ...
【技术保护点】
1.一种改进PBFT的以太坊共识机制应用于联盟链的方法,其特征在于,包括以下步骤:在区块链系统中,对于联盟链中的节点,使用DPoA共识机制筛选出参与共识节点,将这些节点构成联盟链的计费网络;将PBFT算法应用于联盟链中,以保证联盟链中节点的交易信息达成共识的一致性;若联盟链中某节点的区块链数据信息与其他节点的信息不同时,则该节点向联盟链中的其他2f+1个节点请求联盟链缺失的区块的hash,其中f为联盟链中拜占庭节点数量;若该节点收到大于f个节点返回的区块的hash一致,则认为需要同步的区块是可信任的;若该节点在本地有此区块的hash,则不向其他节点同步此区块,直接将本地区块添加到联盟链;否则,就选择任意一个收到此区块hash的节点,并同步此区块;当该节点完成联盟链的同步之后,自动更新该节点内存所存储的交易列表;根据联盟链中最新区块产生的时间,清除已被打包成区块并上链的交易信息。
【技术特征摘要】
1.一种改进PBFT的以太坊共识机制应用于联盟链的方法,其特征在于,包括以下步骤:在区块链系统中,对于联盟链中的节点,使用DPoA共识机制筛选出参与共识节点,将这些节点构成联盟链的计费网络;将PBFT算法应用于联盟链中,以保证联盟链中节点的交易信息达成共识的一致性;若联盟链中某节点的区块链数据信息与其他节点的信息不同时,则该节点向联盟链中的其他2f+1个节点请求联盟链缺失的区块的hash,其中f为联盟链中拜占庭节点数量;若该节点收到大于f个节点返回的区块的hash一致,则认为需要同步的区块是可信任的;若该节点在本地有此区块的hash,则不向其他节点同步此区块,直接将本地区块添加到联盟链;否则,就选择任意一个收到此区块hash的节点,并同步此区块;当该节点完成联盟链的同步之后,自动更新该节点内存所存储的交易列表;根据联盟链中最新区块产生的时间,清除已被打包成区块并上链的交易信息。2.如权利要求1所述的改进PBFT的以太坊共识机制应用于联盟链的方法,其特征在于,所述的方法还包括:通过以下方法判断联盟链中的主节点是否出现错误...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。