LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > TT链共识系列3:容错范围为什么是?和??

TT链共识系列3:容错范围为什么是?和??

2020-04-23 A加社区联盟 来源:区块链网络

关注ThunderCore

点击了解最具潜力项目

全面洞察区块链最新技术及趋势

你一定已经看到或听到过这样的表达,多数节点诚实的网络,可以容错少数节点的破坏行为,可以多次容错?的破坏行为。下文会解释不同网络假设下的容错范围。如你感到好奇,想要了解更详细的分析,请阅读本文。

同步、部分同步、异步

同步

直觉:少数服从多数,我们希望正确的选择获得过半选票。

●?通过同步网络假设,我们可以假设网络上的每个节点在经过一定时间后,都可以看到每张票,届时可以做出决定。

说明

●?假设总共有n个节点,其中f个节点出现故障(作出不可预测的行为)。收到所有消息后(应用同步假设),我们希望至少有f + 1条的正确消息,超过f条的错误消息从而达成共识。

●?n≥f +(f + 1)

●?f≤(n-1)/ 2

●?f <n / 2 —“至多?的拜占庭容错”

部分同步

直觉:一个不诚实节点可以通过给2个其他节点发送相互矛盾的消息,来欺骗其他2个节点。

由于部分同步的网络假设意味着网络延迟未知,因此互相的矛盾信息或许会无法被及时检测到。

说明

假设总共有n个节点,其中f个节点出现故障(作出不可预测的行为)。

假设一个节点收到了x条消息。

f个故障节点可能选择不发送任何消息,因此在最坏的情况下,一个节点最多将接收n-f条消息,并根据这些消息做出决策。

因此我们得到(1)x≤n-f-“最多有n-f条消息”。

在这n-f条消息中,尚不清楚哪些消息来自诚实节点,哪些来自故障节点。没有响应的节点可能不是故障节点,而只是我们因为网络延迟而没有收到消息。

因此,这n-f条消息中有f条信息可能是错误的,这意味着所有故障节点都可能发送了错误消息。

为了做出正确决定,我们必须保证这总共的n-f条消息中,至少有f + 1条正确消息,超过那f条错误消息。

因此,(2)x≥f +(f + 1)—“必须有足够多的来自非故障节点的回复,非故障节点的回复数量需要超过故障节点的回复数量”。

联立方程式(1)和(2):

f +(f + 1)≤x≤n-f

f≤(n-1)/ 3

f <n / 3 —“至多?的拜占庭容

关于容错范围的注意事项

到目前为止,我们已经确定,在同步网络中以1/2的容错度达成共识是可行的,因为任何诚实节点广播的消息都可以在某个已知时间段内被所有其他诚实节点接收到。

如果我们放宽到部分同步的网络假设,最大容错率就会降低至?,因为网络延迟的上限是未知的。

目前尚不清楚是否会在实践中使用到,但是如果我们添加更多的假设,我们可以将容错率一直提高到99%。

总结

在不知道协议基于哪种假设的情况下,谈论协议的容错性是没有意义的。当你将来比较不同协议时,请不要被这种说法误导:“我们的协议X容错率是50%,因此比容错率33%的协议Y更安全”。

活跃性和一致性

你有时可能会听到工作量证明共识机制(PoW)偏向于活跃性而不是一致性的说法。任何PoW节点都有机会挖一个新区块,并为区块链的活跃性做出贡献,而经过一定的时间后,它才具有一致性。在中本聪共识中,由于任何节点都可以制造新区块,因此活跃性是顺理成章的,而一致性则必须经过谨慎推理。

经典共识的情况则恰恰相反。一致性是基于抽屉原理的直接论证。有了?投票阈值,很明显,必须有至少?个拜占庭式的节点才能产生平票情况投票。?在下面的图片中,A组和B组均获得相矛盾提案的?票数。?诚实的投票者不会投反对票。因此,C组是拜占庭式的,对两个组都投票。?C组必须至少包含1/3个节点,才能为相矛盾的提案创建两个2/3的多数票。

在只有诚实节点的情况下,可能会存在平票的情况(例如,A组为1/2票,B组为?票)。在这种情况下,由于没有诚实的节点会投出矛盾的票,因此A组或B组都不会获得 ? 的多数投票。没有进一步的推进机制,活跃性就停止了。因此,在经典共识中,很容易实现一致性,但很难实现活跃性。

工作量证明

因此,我们现在足够了解工作量证明(PoW)共识协议的属性。PoW是非常原始的中本聪共识协议。使用最长链的分叉选择规则,当区块被深深地写到历史记录中,区块便被最终确认。这个规则可行是因为在给定的区块上挖到的区块越多,就需要越多的“工作量”来进行分叉。该协议具有概率确定性,意味着可以高概率实现一致性。

尽管比特币论文没有做出明确的网络假设,但我们可以将协议解释为在同步网络模型中运作。区块需要在整个网络中传播,以便每个节点都可能在最近的区块之上挖矿。?另一种说法说PoW不容忍分区。如果有一部分节点可以在其组中讲话但不能跨越组别互相交流,则网络是分区的。由于哈希算力是创建区块的唯一要求,因此我们可以看到PoW网络中的每个分区都能够扩展和最终确定自己的链。

最后,正如之前所说,同步网络具有至多1/2的容错能力。?工作量证明确实实现了这一严格的容错率。“51%攻击”是指具有多数网络哈希算力的攻击者,在最终区块变成最新最长链之前进行分叉,从而破坏一致性。如果你了解这“51%攻击”,那么你会更加清楚工作量证明的容错问题。

ThunderCore (TT链)是新一代的区块链公链平台。它突破了现今区块链的困境,达成快速、高扩展性、安全,而且又与以太坊虚拟机兼容。

ThunderCore创办团队集结了美国学术界顶级的智能合约,分布式算法先行者,和硅谷的资深创业者, 并独特采用严密数学证明的PoS共识算法, 保障区块链的效率和安全。通过此算法, ThunderCore解决了以太坊高GAS费、低TPS、高交易确认时间的问题。

—-

编译者/作者:A加社区联盟

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...