BFT:区块DAG真正的终结性

作者:StevenPu,Taraxa创始人前言在之前写过的一篇文章里,我们定义了区块DAG的结构和排序方式,但也提出了排序依旧会随着时间推移而出现变化的问题。本文,我们会为大家介绍Taraxa赋予区块DAG排序真正终结性的方案以及与之相关的所有结果。终结性的重要性

如今大多数区块链拓扑的终结性都是基于概率的,也就是说你永远无法百分百确定一笔交易真的彻底完成了。举个例子,在比特币网络中,随着时间推移,攻击者追上网络剩余部分并重组区块的概率会呈指数级下降。这种指数级的风险下降催生了“6个区块”的经验论。也就是说,如果在包含你那笔交易的区块上又新增了5个区块,那么你的交易就有了“6个区块的深度”,从统计上来看,这个交易就不太可能遭到重排攻击。在很多场合,概率性的终结没什么问题。但是,如果你正在执行大量交易,且每笔交易都依赖于上一笔交易的输出,或者你正在执行一笔巨额交易,你需要确定这笔交易绝不会被撤销,那么终结性就相当重要了。在原始状态下,我们区块DAG的排序机制也是概率性终结的。为了实现真正的终结性,需要做些添加。DAG终结性意味着什么?

皇家马德里俱乐部将在Flow区块链上推出智能票证NFT:11月5日消息,西甲豪门皇家马德里俱乐部将与粉丝参与软件平台LAVA合作,在Flow区块链上推出智能票证NFT。9月下旬,该产品在皇家马德里体育场的一场比赛中进行了测试,现在将开始大规模推广。该智能票证将可提供代币奖励,让球迷访问专为比赛设计的数字项目,以改善球迷体验。该产品与球迷代币有相似之处,可兑换奖励。籍此可为具体比赛(而非整个品牌)设计产品,这有望增强球迷参与感。(Ledger Insights)[2021/11/5 6:32:42]

回想一下,我们早期排序机制的重排风险主要就是出现在锚定链发生变化的时候。

因此,只要我们能确保定期固定住锚链,那么无论出现什么状况,锚链上的区块排序都能彻底确定。我们是如何做到的呢?网络会定期举行投票,与区块DAG的建设同步,以此来为DAG边界附近的特定区块施加无限权重。当一个区块被赋予无限权重的时候,就意味着其通过幽灵指针直接或间接指向的所有区块都具有了无限权重,也就是说现在不可能再通过攻击推翻这个排序了。

人大国际关系学院教授:区块链技术为主权数字货币创建提供了高效的公共账本系统:4月1日,中国人民大学国际关系学院教授、博导,国际经济学研究中心主任保建云发表《主权数字货币、金融科技创新与国际货币体系改革-兼论数字RMB发行、流通及国际化》文章,文章表示,区块链技术为主权数字货币创建提供了高效的公共账本系统和信用管理数据库系统。区块链(Blockchain)技术的发展,为主权数字货币发行和流通提供了记账信用及账务管理的技术基础,事实上,区块链是一个分布式的能够众人共享的账本系统及数据库系统,区块链技术则涉及到现代数学、互联网技术、计算机技术、密码学及数字防伪等众多应用技术及理论学科领域,借助于区块链技术可以创建主权数字货币的全球性公共账本系统及价值流转的数据库系统。(澎湃新闻)[2020/4/1]

在上图,我们选择了橙色区块赋予无限权重,并且可以看到这种无限性已经通过反向指向区块DAG赋予了锚链上所有区块无限权重。现在,我们已经有效地在其所属时期确定了这个锚链及所有区块的排序。那么,我们如何第一时间选择要赋予无限权重的区块呢?通过类似PBFT的算法选择周期区块

行情 | 区块链板块下跌3.04%,数字货币板块下跌3.75%:A股收盘,三大股指全线下跌,上证指数收跌1.40%,区块链板块下跌3.04%,数字货币板块下跌3.75%。 区块链板块197只概念股中,14只上涨,181只下跌,1只平盘,1只停牌,其中中青宝涨停,众应互联,光一科技,恺英网络等8只股票跌停。 数字货币板块32只概念股中,2只上涨,30只下跌,其中聚龙股份,海联金汇2只股票跌停。[2019/12/23]

为了选择DAG内的一个区块来完成最终确定,我们采用了一个类似PBFT算法的过程。考虑到PBFT是一个研发完备且广泛部署的算法,关于本文会涉及到的细节和潜在错误这里就一笔带过不再赘述了。PBFT的周期区块终结过程大致分为四步,如下面这张高度简化的图表所示。

我们来分别看下,在每个阶段,节点会做什么:1.提议新的区块

《福布斯中国》“2018年中国50家最具创新力企业全榜单”三家区块链企业上榜:日前,《福布斯中国》发布“2018年中国50家最具创新力企业全榜单”,三家区块链企业——比特易、众享比特、嘉楠耘智上榜。[2018/6/22]

通过VRF(SK,previous_PBFT_block_hash,current_vote_type,current_round_number,current_step_number)=(e,π)来计算其资格,这里e就是资格值,π是VRF正确计算的证明决定“如果e<阈值,那么其就有资格在本轮提议一个PBFT区块”在边界的附近但不在边界上挑选一个DAG区块候选人来进行最终确认,也就是当前周期的区块候选人Pt在Pt和P(t-1)之间创建一个周期,找到这个周期内包含的所有区块创建一个并发调度CS创建一个包含(Pt,CS)以及其他信息的PBFT区块候选人(Pc)计算Pc的哈希将hash(Pc)、Pc以及证明其资格的(e,π)广播给其他对等节点2.投票选出领头人

万向集团区块链项目盈利尚远:据新京报记者自萧山区管委会获得的一份内容介绍显示,万向创新聚能城计划投资2000亿元,规划10平方公里,项目地址位于萧山区桥南新城。1月18日,杭州市萧山区经济开发区招商局局长易海平称,万向项目土地指标还没下来,还在做方案,处于规划阶段,没有动工。和国内大多数进军区块链领域的企业一样,万向投入重金的区块链业务距离收获还很远。从公开可查的业绩情况来看,截至去年上半年,万向区块链及万向所投资部分区块链项目尚未步入盈利阶段。[2018/2/5]

通过VRF再次计算其资格生成另一个(e,π)决定“如果e<阈值,那么其就有资格参与此轮”等待2个λ的时间,其中λ是网络直径——也就是网络中两个最远节点之间的最短距离计算在π也正确的情况下观察到的e的最小值,创建者即为最小值e为“领头人”的时候,它就是创建者——这个节点就是提议下一PBFT区块的候选人将其对hash(Pc)的投票以及证明其资格的(e,π)广播给对等节点——这里的hash(Pc)对应的是会成为“领头人”的最小的e3.针对区块的投票

通过VRF再次计算其资格生成另一个(e,π)决定“如果e<阈值,那么其就有资格参与此轮”等待2个λ的时间计算在给定的e_min时间内其是否收到2T+1的投票如果其尚不具备PBFT区块,就针对e_min对应的Pc以及相关hash(Pc)进行对等节点轮询验证Pc是否正确创建将其对Pc的投票以及证明其资格的(e,π)广播给对等节点4.投票进入下一步

通过VRF再次计算其资格生成另一个(e,π)决定“如果e<阈值,那么其就有资格参与此轮”等待2个λ的时间计算对于任意给定的Pc,其是否收到2T+1的投票验证获胜的Pc是否正确创建计算最新验证过的Pc并将结果提交到永久存储将其对继续提议下一个PBFT区块的投票以及证明其资格的(e,π)广播给对等节点关于我们PBFT的更多介绍

上面写的就是一个极其简单的描述这是对我们PBFT流程的一个极其简单的描述,因为我们并没有提到所有可能会导致事情往不好方向发展的情况,例如没有节点计算出低于阈值的e、投票没有达到2T+1这个规定的数目、大量节点在这一轮期间崩溃等等。这个PBFT流程高度安全且可扩展注意,每当节点要发声时,它都会计算一个VRF资格值来确保在这一轮它有资格发言。资格的阈值已设置好且会动态调整来确保以下两件事:参与每一轮的节点是随机的且有可能是不同的,这意味着一旦攻击者观察到某个节点是参与者并以其为目标发起攻击,那么可能在下一轮它就失去了资格。这和许多其他算法不同,其他算法会在较长时间里保留参与者的资格,使他们成为攻击的首要目标。在任何给定的回合中,只有一部分合格节点参与其中,使这个PBFT流程高度可扩展。这意味着就算网络容量扩大,合格参与者数量增加,这些PBFT轮次的实际参与者相对网络容量可以轻松通过设置实现次线性扩展。参与人数越少投票过程就越快。将随机选择的参与者与次线性增长的委员会规模相结合,得到的就是一个高度安全且可扩展的PBFT流程。平行的PBFT链

Taraxa的PBFT流程在现有的区块DAG旁边创造了一条PBFT区块线性链。

每个PBFT区块都有两个主要目标,完成一个DAG区块在周期区块中的最终确定主持一次规定交易如何计算的并发调度完成DAG区块的最终确定

这个PBFT流程会确认区块DAG内的一个单一区块。因此,与其他大多数利用PBFT流程的网络不同,它并不作为主要共识算法来对整个区块链流程把关。这也是为什么Taraxa的PBFT流程与区块DAG的创建流程是并行的且基本上异步的。每当一个新的DAG区块完成最终确定,我们就创建一个已终结的锚链以及锚链上一组相关区块来实现)。整个区块的集合称为周期,也可以看作是一个最终确定了排序的区块集群的快照。每个周期包含许多DAG区块,会带领我们进入另一个PBFT区块任务,通过并发调度来确认待计算交易的顺序。并发调度

并发调度通过以下几种方式来确定排序:区块的排序,这个由排序机制定义,因为一个周期里有很多区块。过滤出区块间的冗余交易。因为我们采用的是一个DAG数据结构,所以很有可能发生多个区块提议者将同一组交易打包到不同DAG区块的情况,导致一定程度的交易重叠。Taraxa设计了一个交易仲裁机制来帮助调整这种重叠——我们希望将这种情况降到最低但又不能为零,否则会出现交易孤立过度的情况。将交易分为并发集与顺序集。这是我们并发EVM设计的关键部分,其中通过一组推测性执行算法将交易分为可安全并行执行的交易与必须按序执行的交易。你也可以将并发调度看作将所有单独的DAG区块组合成一个单一区块并嵌入每个PBFT区块的结果。除了共识,接下来我们还会继续分享更多有趣的技术,并在研究和实现进程中陆续发布。敬请期待!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:940ms