📜  瑞波协议共识算法如何工作?

📅  最后修改于: 2021-10-19 06:03:04             🧑  作者: Mango

瑞波交易协议(RTXTP)是一种区块链协议,它具有比特币和以太坊等更流行协议的大部分特征。但它的独特之处在于它根据全球范围内负担得起且高效的资金转移目标进行了精简。该协议通过 Ripple Protocol Consensus Algorithm 实现了这种效率,尤其是在速度方面。那么这个算法是如何工作的呢?

什么是共识算法?
共识算法基本上是拜占庭将军问题的解决方案。比特币使用工作量证明(PoW)算法,而以太坊使用权益证明(PoS)作为解决拜占庭问题的一种方式。对于看过任何以前现代战争为题材的电影的人来说,这个问题实际上是很相关的。

拜占庭将军的问题
拜占庭军队的一部分必须摧毁一座城市。这支军队有“n”名将军,每个将军都有自己的决定性能力。只有当所有的将军从城市的’n’边一起进攻时,进攻才能成功。所有的将领们都必须通过使者沟通来达成共识,无论是进攻还是不进攻。现在出现了一些问题。考虑这些情况:

  • 一些将军认为最好进攻,而其他将军则认为不是
  • 一些将军腐败,希望攻击失败
  • 使者腐败,故意改变消息

这些是共识算法试图解决的少数问题,这完全可以转化为“当一群人(节点)的可信度受到质疑时,他们如何做出正确的决定?”。

RPCA 如何解决问题?

  • 假设营(区块链网络)中有 100 个将军(节点)。
  • 有一个战略家(RPCA),旨在确保每个忠诚的将军要么得出相同的结论,要么根本没有结论。他们不能得出不同的结论。
  • 所以战略家要求他们每个人选择他们信任的将军(这并不能保证他们的忠诚。只是他们认为他们可以信任的人。)并列一个列表(UNL:Unique Node List)。
  • 现在,战略家要求他们与名单中的人达成共识。如果他们的 UNL 中超过 80% 的人提出相同的决定,则由将军最终确定。这是因为战略家知道,他们的军队只能处理不到 20% 的将领叛国(拜占庭容错 = 20%)。同样,所有将军都与他们的 UNL 协商并达成共识。
  • 现在假设有 20 名将军(都是叛徒),每个人的 UNL 中都有 19 名中的剩余部分。还有另一个相同类型的UNL,但有诚实的将军。因此,这两个 UNL 将独立达成共识,这将相互矛盾。但战略家的主要动机是确保每个忠诚的将军在他们的 UNL 中达成相同的共识。
  • 所以战略家制定了另一条规则:如果我们选择任何两个 UNL,它们应该至少有 20% 的成员是共同的。因此,每个 UNL 中总会有足够的人来阻止他们做出错误的决定。
  • 例如。在二十个有毛病的将军中,如果我们用诚实的将军代替4名将军(20名将军的20%),那么大多数不会超过80%,从而阻碍了共识。
  • 因此,只要叛徒的数量少于 20%,任何将军都不会得出错误的共识,无论他们的 UNL 是谁。

这就是战略家如何赢得荣誉链!

请注意,与同类算法相比,这是一种非常快速的算法,可以节省时间和精力。