LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > Highway高速公路协议让CasperLabs连接全世界

Highway高速公路协议让CasperLabs连接全世界

2020-09-05 nour光速小子 来源:区块链网络

Highway高速公路是一个可证明的实时、安全的CBC Casper权益证明(PoS)协议。

权益证明是一种替代工作量证明的共识机制。在使用PoW(工作量证明)的区块链上,如比特币,用户可以利用算力来验证区块。而在使用权益证明的区块链上,用户持有的加密货币就相当于算力。这样的好处是不需要大量的矿机进行挖矿,从而减少资金、能源和资源的消耗。

以太坊终有一天会执行权益证明的共识机制,但在此之前仍有许多工作需要改善。CasperLabs表示,权益证明面临着许多安全问题:一个值得信赖的权益证明协议必须是安全的,它必须达成一致、实时的决定,此外,还需要有某种机制保证协议的正常执行。

在这里主要向大家介绍CBC协议:

CBC 协议背后最基础的设计理念在于,首先构建一个非常抽象但足够灵活的框架,并证明该框架能保证实现某些重要性质。然后,我们在此基础上逐步加强框架的定义,并自然而然地继承构建过程中已完成的所有理论证明和保证。通过这种"定义-证明-继承"的迭代式方法,我们就可以创建一簇在顶层满足相同理论证明和保证的协议集合,但同时该协议簇也足够灵活可为实际场景下的使用作特别的定义。

之所以称这种方法为"建构中修正",是因为新协议的形式正确性是由其建构过程来保证的,即通过不断加强一个抽象但得到理论证明的协议来实现。

Casper CBC 把权益证明共识的问题理解成一个分布式系统的问题。与其它权益证明共识机制不同,在我们的共识机制里,并没有定义一些基于密码经济学的典型方法,比如存款和罚没条件!但是,我们定义的协议足够通用,所以如果需要,我们后面仍然可以把这些内容加上。分布式系统中“错误”的概念对于 Casper CBC 共识来说非常重要。初稿 1.1 章节描述了一种分类方式,用于区分可能发生的若干种错误。最有意思的一种错误(也是唯一一种导致共识安全失败的错误)被称作模棱两可错误(equivocation fault)。我们将在后文讨论共识规则时更深入地来解释它。

共识机制的基础假设在于“只要发生的错误数量足够少,那共识安全就可以得到保证”。换句话说,“只有错误数量多到一定程度,共识安全机制才会失败”。

Casper CBC的共识机制

让我们先来熟悉几个名词:

验证者:网络中参与达成共识的节点被称作验证者。

消息:验证者生成并传递消息来达成共识。

消息

消息是由验证者参与达成共识过程中生成并传递的信息片段。在 Capser CBC 共识机制中,消息有如下结构:

消息结构 = (数据,验证者,证明)

现在让我们来仔细看看这个消息结构的每个部分:

数据:这部分是指验证者向网络提出的需要达成共识的具体数据值。这些值组成了整体的共识数据集合。比如我们若是试图针对某个整数数据集合建立共识算法,那么这些共识数据就是整数。如果我们是建立一个区块链共识算法,那共识数据就是区块本身。

验证者:这部分是指生成该消息的验证者。

证明(justification):这部分是指验证者生成该消息时已经见证并认可的消息集合。我们马上就会看到,这个部分就是用来“证明”所提交数据合法性的依据。

在我们讨论有关发送消息的限制规则之前,先来看看两个重要的概念:

后到消息(Later Message):如果消息 A 在消息 B 的证明集合中,那消息 B 是消息 A 的一个后到消息。

评估函数:该函数的输入是消息中的证明(即一个消息集合),返回一个由输入“证实”的合法共识数据集合。比如,在整数共识场景中,评估函数会返回整数值。在区块链共识场景中,评估函数会返回一个区块,这个区块可以被合法地叠加到当前输入证明检测出来的区块上。

共识规则

以下规则定义了两种类型的错误:非法消息和模棱两可消息。

验证者提议的共识数据值必须出现在评估函数运算得出的输出集合中。

验证者不可以自相矛盾:若两条消息皆不是对方的后到消息,则这两条消息不能:证明相同而数据不同,或者证明不同而数据相同。

对共识规则的违背

非法消息错误:如果违背第一条共识规则就会导致非法消息的产生而且这个错误可以被任何收到该消息的验证者检测到。验证者只需在消息的证明集合上应用评估函数,然后检查运算结果中,是否包含了消息中的共识数据值即可判断该消息的合法性。任何没有违背这条规则的消息都是合法消息。

模棱两可错误:验证者如果只收到违背第二条共识规则的两条消息中的一条,那它无法判断该消息是否违背了规则。这种违规是拜占庭错误的一种,我们称之为模棱两可错误。本文后续提到的错误,都是指违背这条规则的情况。

当一个节点产生模棱两可的消息时,本质上它是产生了共识协议的多个独立运行实例,然后试图把每个独立运行实例产生的消息呈现给网络中的不同节点。为了更清楚地阐释,什么是共识协议的不同运行实例,让我们来看:假设一个违背第二条共识规则的验证者产生了两条消息 A 和 B,该验证者即已经开始维护共识机制运行的两份不同的历史版本,其中一份只包含消息 A,另一份只包含消息 B。从每份共识的运行版本单独来看,验证者的行为是合法的,即没有出现模棱两可。

共识规则可以保证(有严格的数学证明),只要有足够多的验证者按规则产生合法消息,那么对于任一给定的共识数据值而言,除非有非常多的验证者产生了错误,否则全网不可能对与给定数据相矛盾的数据值形成共识。

所以,任一网络节点可在它见证到有足够多数量的验证者都在他们各自的合法消息中提及了同一共识数据值后,来确认在该数据值上的共识结果(也称作在该值上取得了确定性)。“足够多数量”的具体值取决于节点配置的容错期望阀值。有一个用来帮助节点检测最终共识结果的重要工具被称作决策预言机。

决策预言机是一种帮助节点基于它们见证的消息在某一具体共识数据值上判断最终结果的工具。其背后的基本思想是,看看是否有足够多的验证者在该数据值上达成共识,并且这些验证者互相都能确凿地见证它们的确是在同一值上达成了共识。

但这些讨论还未包含在已发表的初稿中,因为还有一些关于决策预言机的严格数学证明有待解决。关于这些证明,我们已经在斯坦福大学的一个研究项目中取得了重要的进展(多谢 Greg Price 的帮助),而且 Nate Rush 正付出极大努力去完成后续证明工作。

CBC Casper权益证明(PoS)协议构建起了Highway高速公路,这条高速公路正在连接全世界。

—-

编译者/作者:nour光速小子

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

LOADING...
LOADING...