【技术实现步骤摘要】
一种基于有向无环图的区块链共识达成方法及装置
本专利技术属于区块链
,具体是涉及到一种基于有向无环图的区块链共识达成方法、装置、终端设备及计算机可读介质。
技术介绍
区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。在比特币经过几年的验证之后,告诉了世人这种去中心化的系统,也能够提供安全可靠的数据服务。但同时比特币提供的POW(工作量证明)的共识机制,速度慢,能耗高,成为了最大的诟病。后续经过以太坊等新的区块链系统的推出,出现了很多新的共识机制,比如POS(权益证明)、BFT(拜占庭容错算法)等等,它们解决了POW的能耗问题,也提高了效率,但它们的速度还是不能达到人们的预期。甚至一些人为了提高区块链的速度,不惜牺牲去中心化,这未免有点南辕北辙了。因此,目前区块链的去中心化、安全以及速度被称为“不可能三角”成为区块链的顽疾,区块链的效率问题正拖累着区块链的
【技术保护点】
1.一种基于有向无环图的区块链共识达成方法,其特征在于,包括:/n当区块链上的网络节点发布某一交易时,在当前有向无环图DAG视图中创建与所述某一交易对应的新块,并根据最优轴心树的规则及所述新块,对所述当前DAG视图中的轴心树以及所述当前DAG视图进行更新;/n根据实用拜占庭容错PBFT算法,使所述区块链的整个网络对更新后的DAG视图的轴心树达成共识。/n
【技术特征摘要】
1.一种基于有向无环图的区块链共识达成方法,其特征在于,包括:
当区块链上的网络节点发布某一交易时,在当前有向无环图DAG视图中创建与所述某一交易对应的新块,并根据最优轴心树的规则及所述新块,对所述当前DAG视图中的轴心树以及所述当前DAG视图进行更新;
根据实用拜占庭容错PBFT算法,使所述区块链的整个网络对更新后的DAG视图的轴心树达成共识。
2.根据权利要求1所述的基于有向无环图的区块链共识达成方法,其特征在于,所述当区块链上的网络节点发布某一交易时,在当前有向无环图DAG视图中创建与所述某一交易对应的新块,并根据最优轴心树的规则及所述新块,对所述当前DAG视图中的轴心树以及所述当前DAG视图进行更新,包括:
当区块链上的网络节点发布某一交易时,从当前DAG视图中的创世块出发,确定所述当前DAG视图的轴心树,在当前有向无环图DAG视图中创建与所述某一交易对应的新块,将与所述某一交易对应的新块的父边指向所述当前DAG视图的轴心树的叶子块,并将所述某一交易对应的新块的引用边指向所述当前DAG视图的其它叶子块,以对所述当前DAG视图进行更新;其中,根据最优轴心树的规则,所述当前DAG视图的轴心树中除所述创世块之外的其它块具有的子树中包含的块的数量大于所述其它块在所述轴心树上的父块的所有子块中除所述其它块之外的单个子块具有的子树中包含的块的数量;
将与所述某一交易对应的新块发布,使所述区块链的网络中的其它网络节点在收到与所述某一交易对应的新块并校验后,更新所述其它网络节点本地的当前DAG视图,并使所述区块链的网络中的所有网络节点分别更新本地的当前DAG视图的轴心树。
3.根据权利要求1或2所述的基于有向无环图的区块链共识达成方法,其特征在于,所述根据实用拜占庭容错PBFT算法,使所述区块链的整个网络对更新后的DAG视图的轴心树达成共识,包括:
通过可验证的伪随机算法,从所述区块链中选出一个提议者节点,使提议节点者节点根据自己本地的更新后的DAG视图,从中选择一个块作为轴心树的叶子块,发起提案;
在所述区块链中的其它验证者节点对所述提议者节点选择的叶子块进行验证与投票,使所述提议者节点选择的叶子块得到超过所述区块链的2/3的网络节点认可之后,确认所述提案,使所述区块链的整个网络对更新后的DAG视图的轴心树达成共识。
4.根据权利要求1所述的基于有向无环图的区块链共识达成方法,其特征在于,所述根据实用拜占庭容错PBFT算法,使所述区块链的整个网络对更新后的DAG视图的轴心树达成共识之后,还包括:
当区块链上的网络节点发布另一交易时,在更新后的DAG视图中创建与所述另一交易对应的新块,根据与所述另一交易对应的新块以及达成共识的所述轴心树,再次更新DAG视图,并对达成共识的所述轴心树进行扩展;
根据PBFT算法,使所述区块链的整个网络对扩展的轴心树达成共识。
5.一种基于有向无环图的区块链共识达成装置,其特征在于,...
【专利技术属性】
技术研发人员:谭林,刘必成,李旷,杨征,吴金彪,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。