谁能描述 Tendermint 和 Hashgraph 的区别?
我们希望在 BigchainDb 中使用带有 mongoDb 的 BFT 共识解决方案,但我们想知道 Tendermint 和 Hashgraph 的区别?
谢谢你
谁能描述 Tendermint 和 Hashgraph 的区别?
我们希望在 BigchainDb 中使用带有 mongoDb 的 BFT 共识解决方案,但我们想知道 Tendermint 和 Hashgraph 的区别?
谢谢你
它是否比 MangoDB 更复杂。
Tendermint 是部分同步方式的 BFT,这意味着有时网络是完全异步的,但最终我们会有一个完美的同步窗口。从某种意义上说,Tendermint 是一个区块链,其中有成员同意的区块。有轮次、验证人和投票。
为了有一个准确的想法,这里可以很好地了解它是如何工作的:https ://tendermint.readthedocs.io/en/master/introduction.html#consensus-overview
Hashgraph 的结构完全不同。如果两者都确实使用 Gossip 协议,则存在一些重大差异:DAG 和虚拟投票。通过哈希图本身的结构,您可以在不与其他对等方共享任何信息的情况下进行虚拟投票。Hashgraph 不对网络或处理时间做任何假设,它是完全异步的 BFT。最后,与 Tendermint 一样,你有 BFT 的证明(区块链根本不是这种情况!)
现在,什么更好?
实际上,这取决于实现,但哈希图似乎有一些重要的资产:性能,最重要的是公平。
性能,因为所有的投票都是虚拟的。同样,使用 Tendermint,所有投票都必须在所有节点之间发送。消息的数量与对等点的数量呈多项式。最后,你不能在区块链系统中拥有公平性,矿工在交易中决定放入或不放入块中以及以何种顺序。我不是 Tendermint 的专家,但似乎没有公平性。实际上,存在广播建议块的提议者节点。客户只需连接到拥有最终决定权的提议者。
这取决于这些点如何与您相关。你在异步模型中吗?如果没有,则必须完成 Tendermint 的基准测试,可能是部分同步模型中的收敛性更好。很多问题!
BigchainDB 2.0 使用 MongoDB 和 Tendermint,而不是 Hashgraph。
Tendermint 基于 1988 年的 BFT 共识协议(经过改进)。它与 PBFT 有一些相似之处,但并不相同。
Hashgraph 是相当新的,并且工作方式非常不同。
Tendermint 是拜占庭容错 (BFT) 中间件,它采用以任何编程语言编写的状态转换机器,并在许多机器上安全地复制它。另一方面,HashGraph 是一种基于异步 BFT 的共识算法,它遵循 gossip to gossip 协议,以在复制的状态机之间达成共识。HashGraph 还使用虚拟投票来实现交易中的公平和有序。