LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 经典共识机制与概率共识机制

经典共识机制与概率共识机制

2020-07-14 Findora 来源:区块链网络

本文是我们关于共识机制系列文章的第二部分。 在之前第一部分的文章(链接)中,我们讨论了去中心化共识机制的需求。 在这篇文章中,我们将介绍经典共识机制与概率共识机制,以及Findora在这方面的创新。

正如我们在前一部分中所讲,共识机制是一个不断发展的研究领域。 为了促进分布式网络的可靠性,分布式网络必须能够处理不同系统所接收到的不对称信息。 而共识协议则是实现这种可靠性的方法之一。

目前,大多数研究都集中在两种主要的共识算法上:经典共识算法(包括所谓的拜占庭式容错算法(BFT))和概率共识算法(例如比特币的共识协议)。

拜占庭将军问题

在理解计算机系统是如何达成共识之前,我们来参考下面这个例子:

在一个拜占庭帝国进行的战争中,当拜占庭帝国的军队包围了一个城市,将军们一般只留守营地,而传递信息,只能通过使者。 现在,将军们需要就继续进攻还是撤退达成共识。 其中,有些将军可能是叛徒,会试图阻止其他忠诚的将军们达成共识。

为了命令可以安全的得以执行,将军们需要一种方法来保证忠实的将军们来执行同一个行动计划。 同时,他们需要确保少数叛徒不会从中作梗。 这就是所谓的拜占庭将军问题。 简而言之,指挥官将命令发送给他的下属,以便所有忠实的下属军官都执行同样的命令。

同样,如果指挥官是忠诚的,那么每个忠诚的下属都会执行他发出的命令。

战争初期,参谋们并没有考虑到高级将领中会出现叛徒的可能性。 正因如此,在这次包围中,他们只派了三名将军来指挥部队。 结果证明,在只有三名将军的情况下,如果一个人开始叛变并发送错误命令,结果是不可能找到叛徒并达成共识的。

从上图中可以发现,如果副官2是叛徒,那么副官1将无法分辨是副官2在说谎,还是指挥官下达了不同的命令。 同样,如果指挥官是叛徒并下达了两个完全不一样的命令,则其中一个副官无法判断另一名副官是否同时也在对他所接到的命令撒谎。

最终,如果围城的总司令是真正的叛徒。 副官们服从了他的命令。 军队的后果可能会变成一部分部队听从了错误的命令去攻城而牺牲,而另外的部队则在叛徒的命令下撤退。 可悲的是,最终也无法证明指挥官是叛徒还是进攻的军官是叛徒。

解决方案

攻城失败的消息传到了拜占庭。 尽管潜在的叛徒仍混迹在将军中,但拜占庭的参谋们现在必须找到使其各部队达成共识的方法。

他们提出的解决方案,是要求有四个或更多的将军在场。 在这种情况下,如果大多数将军是诚实的,只要下列假设能够成立,那么就可以达成共识:

每个命令都正确传递

接收者知道是谁发送的

可以检测到命令缺失

叛变的指挥官也许不会下达任何命令。 由于副官们需要服从命令,在默认的情况下,如果在特定时间段内未收到命令,他们就会撤退。

在上图中,我们可以看到两种可能的情况。 如果只有一名叛变者,我们可以轻松地将他找到并达成共识。 由于每个副官都会收到以大多数高级军官为主的所下达的进攻命令,因此我们就可以很简单的判断出“撤退”的副官是叛变者。 如果指挥官是叛徒,我们也可以很容易地认识到这一点。 因为每个副官都可以独立地发现其他副官是否收到一样的命令。 这样,他们就可以判断出指挥官是否发出了相反的命令,因此那个指挥官就是叛徒。 在任何一种情况下,腐败党都将被罢免,并且其他各方都可以达成共识。

经典的共识算法专注的就是这类问题。 它们也被称为拜占庭容错算法(BFT)。

共识协议的参与

BFT协议最初是为特定的一部分将军群体而设计的,因此有时被称为经许共识(permissioned consensus)。 在区块链环境中,我们不涉及战争中的将军。 但是,我们可以用这个例子与区块链系统进行比较。 我们可以想象拜占庭的将军们并不是在制定攻击计划,而是对是否将有效交易添加到区块链上进行投票。 拜占庭将军现在就变成了区块链的验证者,他们共同提出并认可包含在下一个区块中的有效交易所达成的协议。 只要骗子少于验证者数量的1/3,那么区块链将继续发挥有效作用并确认交易,被确认后的状态将是无法进行更改的。

由于验证者是固定的,因此经允许的BFT更适用于在已经知道验证者是谁的联盟情况下所运营。在这种情况下,只要叛徒少于1/3的验证者,那么这个系统就是安全的。 但是对于去中心化的区块链,这会带来一些问题,就是验证者的挑选过程,它要求世界各地每个用户都要信任另外2/3的验证者,这极大地限制了系统的包容性。

目前,共识协议允许更灵活的验证者集群。 一种是联合拜占庭协议(FBA)。 在FBA中,每个验证者都会创建一个仲裁人数,这是验证者自己的信任圈。 在经典的BFT协议中,这个仲裁人数被严格地控制在2/3验证者集群。 但是,在FBA中,验证者可以自行设置仲裁人数,例如,?的美国银行联盟或?的国际银行联盟。 只要验证者做出选择并且信任圈之间有足够多的交叉区域,这种共识机制就可以起作用。

不同的加密货币采用不同类型的共识机制,有一种被称为概率共识机制。该名称的来源是由于这些共识机制从未达到真正的共识,只会使改变历史状态变得更加困难。根据验证者所拥有的资源,一名参与者将会被挑选出来,成为这个系统的当前状态。在比特币中,这个过程是通过工作量证明来决定的。在工作量证明中,处理能力就是资源。如果一位参与者具有更大的处理能力,则他们将有更高的找到正确的哈希值的几率,因此就可以创建下一个区块。PoS可以在更高等级实现类似的共识方法,但是这里的资源不是处理能力,而是系统中拥有的权益。这些类型的共识机制类似于买彩票:我们可以将这些资源视为手中的彩票:拥有越多彩票,中奖的机率就越大。

激励兼容性

这些类似**的系统假设*制这些资源的大多数人都是诚实的来保证安全性。 为了确保区块链环境中的安全性,通常会给区块创建者某种形式的补偿。 例如,在比特币中,矿工将获得区块中包含的所有交易手续费以及每个新区块的比特币奖励。 因为人们认为提供足够的激励措施会使大多数验证者保持诚实,而作弊最终损害的是其自身利益。

如果恶意行为的收益远远超过诚实所带来的收益时,这种激励兼容性就会成为一个问题,尤其是当共识网络用于管理外部资产,而不光是这个网络里的价值时。 因此,纯粹激励的共识机制并不可以兼容管理价值100+万亿美元的全球资本市场。

并且要认识到,用于记录外部资产所有权的区块链与仅用于本地资产(例如比特币)的区块链的意义不同。 比特币网络中的分叉会创建不同的比特币版本,例如从比特币分叉出的比特币现金(Bitcoin and Bitcoin Cash)。 相反,诸如房地产或公司股票之类依赖于外部实体来执行的现实世界资产, 区块链提供了令人信服的所有权证明,但法官不会因涉及其房屋在区块链上的代表的欺诈交易而驱逐某人。从这个角度来看,相比较偷房子来讲,恶意验证者更可能从这件事情中被影响声誉。

由于这些原因,许多现有的公共区块链共识协议对于处理现实世界的交易和资产的表现都不理想。 Findora建立了一个不仅适用于本机数字资产,而且还适用于真实资产有效传输的公共交易系统架构。 Findora的Finsense共识协议集成了PoS和FBA中的元素,适合管理链上以及链下资产。

—-

编译者/作者:Findora

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

LOADING...
LOADING...