【发布时间】:2019-01-29 10:51:27
【问题描述】:
我读到超级账本锯齿支持动态共识,意味着共识算法可以动态改变。我的问题是什么时候需要动态改变共识?是什么迫使我们动态地改变共识?
我阅读了 Fabric 和 Sawtooth 文档。找不到动态共识的必要性
【问题讨论】:
标签: dynamic hyperledger consensus hyperledger-sawtooth
我读到超级账本锯齿支持动态共识,意味着共识算法可以动态改变。我的问题是什么时候需要动态改变共识?是什么迫使我们动态地改变共识?
我阅读了 Fabric 和 Sawtooth 文档。找不到动态共识的必要性
【问题讨论】:
标签: dynamic hyperledger consensus hyperledger-sawtooth
没有什么会迫使任何区块链改变共识——你可以永远保持相同的共识算法。
但是,共识算法是一个活跃的研究领域。正在提出新的和更有效的算法。区块链可能想要切换到新算法。或者也许当前的算法不适合。例如,一些算法在使用少数节点(例如 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
【讨论】: