【技术实现步骤摘要】
一种区块链的共识算法及系统
本专利技术属于区块链
,更具体地,涉及一种区块链的共识算法及系统。
技术介绍
区块链是一种去中心化的分布式账本系统,可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统中心化系统相比,具有公开透明、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点在同一瞬间所观察到的事件先后顺序不可能完全一致。因此,区块链系统需要设计一种机制对在一定时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识算法”。共识算法在保障区块链系统的安全性中发挥了十分重要的作用。近年来,由于加密货币的高速发展,共识算法得到了广泛的重视,并在学术界和工业界有了大量的研究和应用的基础。在不同类型的区块链系统,不同的算法诸如拜占庭容错算法(PracticalByzantineFaultTolerance,简称PBFT)、工作量证明算法(ProofofWork,简称PoW)、权益证明算法(ProofofStake,简称PoS)、委托权益证明算法(DelegateProofofStake,简称DPoS)均得到有效的实施。但是这些共识算法面临效率低下的共同问题,这些问题严重阻碍了区块链应用的实际落地。例如,以PoW、PoS为代表的共识算法,所有节点的数据区块保持严格一致性,这就致使了节点在自己打包或收到区块后都等待最新的同步后才能广播给其他节点,无形中增加了网络带宽的压力 ...
【技术保护点】
1.一种区块链的共识方法,所述区块链包括n个核心节点,其特征在于,包括步骤:/nP1,接收待共识的交易数据,接收所述交易数据的核心节点记为核心节点Node1,其他核心节点记为Node2~Noden;/nP2,读取当前核心节点Node1的状态值S1和其他核心节点Node2~Noden的状态值S2~Sn;/nP3,根据其他核心节点Node2~Noden的状态值S2~Sn计算得到状态根哈希值Rs;/nP4,根据所述交易数据及当前出块周期核心节点Node1的状态值S1,计算得到交易根哈希值Rt;/nP5,生成区块,对所述区块进行签名并将所述区块广播给其他核心节点Node2~Noden进行验证,所述区块中包括所述状态根哈希值Rs、交易根哈希值Rt、其他核心节点Node2~Noden的状态值S2~Sn以及所述交易数据;/nP6,接收其他核心节点Node2~Noden对所述区块的验证结果,若所述验证结果满足预设的共识条件,则将所述区块写入核心节点Node1管理的本地区块链中,然后进入下一出块周期,重复步骤P1~P6。/n
【技术特征摘要】
1.一种区块链的共识方法,所述区块链包括n个核心节点,其特征在于,包括步骤:
P1,接收待共识的交易数据,接收所述交易数据的核心节点记为核心节点Node1,其他核心节点记为Node2~Noden;
P2,读取当前核心节点Node1的状态值S1和其他核心节点Node2~Noden的状态值S2~Sn;
P3,根据其他核心节点Node2~Noden的状态值S2~Sn计算得到状态根哈希值Rs;
P4,根据所述交易数据及当前出块周期核心节点Node1的状态值S1,计算得到交易根哈希值Rt;
P5,生成区块,对所述区块进行签名并将所述区块广播给其他核心节点Node2~Noden进行验证,所述区块中包括所述状态根哈希值Rs、交易根哈希值Rt、其他核心节点Node2~Noden的状态值S2~Sn以及所述交易数据;
P6,接收其他核心节点Node2~Noden对所述区块的验证结果,若所述验证结果满足预设的共识条件,则将所述区块写入核心节点Node1管理的本地区块链中,然后进入下一出块周期,重复步骤P1~P6。
2.如权利要求1所述的一种区块链的共识方法,其特征在于,所述验证结果包括
对其他核心节点Node2~Noden的状态值S2~Sn进行验证、根据所述交易根哈希值Rt和其他核心节点上存储的核心节点Node1的状态值进行验证以及对所述区块的签名进行验证的验证结果。
3.如权利要求1或2所述的一种区块链的共识方法,其特征在于,所述步骤P2具体是:
读取上一出块周期核心节点Node1生成的交易根哈希值Rt',将交易根哈希值Rt'作为当前出块周期核心节点Node1的状态值S1;
接收其他核心节点Node2~Noden广播的区块,对区块进行验证,若验证通过,则更新核心节点Node1中存储的其他核心节点Node2~Noden的状态值S2~Sn。
4.如权利要求1或2所述的一种区块链的共识方法,其特征在于,所述步骤P1包括:
对所述交易数据的签名和重复性进行验证;
若所述交易数据的签名正确且交易不重复,则将所述交易数据放入交易缓冲池,若所述交易缓冲池的交易数据满足预设条件,则触发执行步骤P2~P6。
5.如权利要求1或2所述的一种区块链的共识方法,其特征在于,所述步骤P3和步骤P4中,分别采用默克尔树计算得到状态根哈希值Rs和交易根哈希值Rt。
<...
【专利技术属性】
技术研发人员:陆学前,闻泽中,李汝佳,程训鹤,
申请(专利权)人:上海朝夕网络技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。