在超账项目中需要动态共识

时间:2019-01-29 10:51:27

标签: dynamic hyperledger consensus hyperledger-sawtooth

我阅读的超级账本锯齿支持动态共识,意味着共识算法可以动态更改。我的问题是,有什么需要或何时有必要动态更改共识?是什么迫使我们动态地改变共识?

我阅读了Fabric和Sawtooth文档。找不到动态共识的必要性

1 个答案:

答案 0 :(得分:0)

没有什么能迫使任何区块链改变共识-您可以永远保持相同的共识算法。

但是,共识算法是一个活跃的研究领域。正在提出新的和更有效的算法。可能是区块链可能想要切换到新算法。也许当前的算法不合适。例如,某些算法在只有几个节点(例如PBFT)的情况下是有效的,但为O(n ^ 2),这意味着随着节点的增加和不扩展,它们会创建成指数增长的消息数量。

一些共识算法是BFT(拜占庭容错),这意味着它们可以承受不良或恶意的行为者(节点)。其他算法只是CFT,崩溃容错,这意味着它们可以承受节点崩溃的影响,但不会表现不好。因此,可能需要从一种对BFT友好的算法(例如PoET SGX)进行改变。

超级账本锯齿支持PoET,RAFT和DevMode共识。最后一个仅用于实验和测试用途,而不能用于生产。即将添加的是PBFT共识。有关锯齿共识的更多详细信息,请参见https://github.com/danintel/sawtooth-faq/blob/master/consensus.rst