0

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

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

4

1 回答 1

0

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

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

一些共识算法是 BFT,拜占庭容错,这意味着它们可以承受不良或恶意行为者(节点)。其他算法只是 CFT,Crash Fault Tolerant,这意味着它们可以承受节点崩溃,但不是坏人。所以有人可能想从一种对 BFT 友好的算法(例如 PoET SGX)进行更改。

顺便说一下,Hyperledger Sawtooth 支持 PoET、RAFT 和 DevMode 共识。最后一个仅用于实验和测试用途 - 不用于生产。即将添加的是 PBFT 共识。有关 Sawtooth 共识的更多详细信息,请参阅https://github.com/danintel/sawtooth-faq/blob/master/consensus.rst

于 2019-01-29T21:50:08.730 回答