区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > SAND > 正文

波卡的共识是什么?

作者:

时间:

本文来自波卡百科(Polkadot Wiki)的[基础知识]部分。

共识是对一种共同的状态达成一致的方法。为了使区块链的状态继续创建并向前推进,网络中的所有节点都必须一致并达成共识。这是去中心化网络中的节点能够保持彼此同步的方式。如果一个去中心化的区块链中节点没有共识,就无法确保一个节点相信的真实状态被其他节点所共享。共识的目的是在参与者都有自己“主观观点”的网络中,提供关于状态的“客观观点”。它是这些节点进行通信并达成一致的过程,并且能够生产出新的块。

现在工作量证明(PoW)和权益证明(PoS)已经被用于表示区块链机制的一种简写,但这并不能说明全部情况。PoW 是一种对区块生产者达成一致的方法,也是完全的中本聪共识(Nakamoto Consensus)的一部分,该共识还包括链选择算法(比特币中的最长链机制)。类似地,PoS 是一组用于选择验证人节点的规则,它并不是特指一个链的选择规则,或者一个链如何达到最终性(finality)。通常在节点之间,PoS 算法与拜占庭协议算法是互相结合的。例如,Tendermint 是一个实用的拜占庭容错算法,它使用 PoS 作为其验证人节点的选择方法。

尽管在达成去中心化共识方面简单而有效,但使用中本聪共识的工作量证明消耗了海量资源,而且还没有经济性或可证明的最终性,而且缺乏有效的措施来抵制垄断联盟。

运行 PoW 的纯中本聪共识区块链只能实现概率最终性的概念,然后去达成最终的共识。概率最终性是指在网络和参与者的某些假设下,如果我们看到创建在给定区块上的几个区块,就可以估计该区块终结的概率。最终的共识意味着,在未来的某个时刻,所有节点都将同意一组数据的真实性。这一最终共识可能需要很长时间,也无法提前确定需要多长时间。然而,诸如 GRANDPA 或 Ethereum 的 Casper FFG 这样的最终性工具的设计是为了对区块的最终性提供更有力和更快的保证,特别是,在拜占庭协议的某些过程发生后,它们永远无法恢复。不可逆共识的概念就被称为可证明的最终性。

在 GRANDPA 文档中,它被这样表述:

如果协议中的 oracle A 在一段未指明的时间后向所有参与者返回相同的值,那么我们称它是最终一致的。

混合共识

当我们谈到 Polkadot 的共识协议时,大家经常看到两个缩略词,GRANDPA 和 BABE。我们同时提到了这两个词是因为 Polkadot 使用的是混合共识。混合共识可以将最终性工具从区块生产机制中分离出来。

中币将于9月10日14:00开放EP充值和提币:据官方消息, 中币(ZB)将于香港时间2020年9月10日14:00开放EP(Everything Is Possible)充值和提币业务,并将于2020年9月11日14:00开放EP/QC交易。

EP(Everything Is Possible)是一个通过激活闲置设备,构建抗审查、抗监控且永不停机的分布式云存储服务平台。EP在 PoC的基础上优化共识机制搭建公链,通过特有的侧链延展方式提高了EP的交易吞吐量和交易的速度,利用智能合约双隔离见证确保了其交易安全性,构建全资产终端钱包实现主流数字资产间的跨链交易。[2020/8/27]

这是一种在 Polkadot 中获得概率最终性(总是可以产生新区块的能力)和可证明最终性(在没有逆转机会的规范链上具有普遍一致性)好处的方法。它还避免了每种机制的缺点:概率最终性中不知不觉地遵循错误分叉的可能,以及可证明最终性中“暂停”(无法产生新的块)的问题。通过结合这两种机制,Polkadot 可以快速地生成区块,而较慢的最终性机制则可以在单独的进程中运行以完成区块,而不必承担交易处理较慢或暂停的风险。

混合共识在过去也曾被提起过。值得注意的是,在以太坊改进建议 EIP 1011 中,曾提议将混合共识作为以太坊向的 PoS 过渡的一步(现已失效),该建议指定了 Casper FFG。

BABE(Blind Assignment for Blockchain Extension)是在验证节点之间运行并确定新块生产者的区块生成机制。BABE 作为一种算法可以与 Ouroboros Praos 相比较,在链选择规则和 slot(验证人插槽)时间调整方面有一些关键的区别。BABE 根据 stake 和使用 Polkadot 随机循环机制将区块生产的 slot 分配给验证人。

Polkadot 中的验证人将参与每个 slot 的抽签,通过这个抽签告诉验证人是否是该 slot 的区块生成候选人。Slot 是不连续的时间单位,通常为 6 秒。由于这种随机机制,多个验证人可能是同一个 slot 的候选者。其他时候,一个 slot 可能是空的,从而导致区块时间不一致。

一个 slot 有多个验证人

当在一个给定 slot 中有多个验证人是区块生成候选者时,所有验证人都要生成一个区块并将其广播到网络中。此时这是一场比赛。区块最先到达大部分网络的验证人会获胜。根据网络拓扑和延迟,这两个链将继续生产区块,直到最终确定启动并切断分叉。请参阅下面的“分叉选择”了解其工作原理。

Slot 中没有验证人

当随机抽签滚到足够低的位置,没有验证人获得区块生产的资格时,一个 slot 可能没有区块。我们通过在后台运行二级循环式验证人选择算法来避免这种情况。通过该算法选择生成块的验证人总是可以生成区块,但如果同一 slot 也从 VRF 选择的验证人生成主区块,则忽略这些副区块。因此,一个 slot 可以有一个主区块或一个副区块,并且不会跳过任何 slot 。

VRF:https://wiki.polkadot.network/docs/en/learn-randomness

有关 BABE 的更多细节,请参阅研究草案文档。

https://research.web3.foundation/en/latest/polkadot/BABE/Babe.html

GRANDPA: 最终性工具

GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) 是为 Polkadot 中继链实现的最终性小工具。

它在一个部分同步的网络模型中工作,只要 2/3 的节点是诚实的,并且能够在异步设置中处理 1/5 的拜占庭节点。

一个显著的区别是,GRANDPA 在链上而不是区块上达成协议,大大加快了最终确定过程,即使在长期的网络分区或其他网络故障之后也是如此。

换句话说,只要超过 2/3 的验证人证明一个包含某个块的链,所有指向该块的块都将立即完成。

协议

有关协议的完整说明,请参阅论文的标题 3 部分。

https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf

实施

Rust 是 Substrate 框架的一部分。

https://github.com/paritytech/substrate/blob/master/frame/grandpa/src/lib.rs

有关更多详细信息,请参阅 W3F 研究页上的 GRANDPA。

https://research.web3.foundation/en/latest/polkadot/GRANDPA.html

分叉选择

带着 BABE 和 GRANDPA 混合机制,波卡的分叉选择变得清晰起来。BABE 一定要建立在 GRANDPA 最终确定的链上。当在最终确定之后有分叉时,BABE 通过构建具有最主要区块的链来提供概率最终性。

在上面的图像中,黑色块是已终结的。一个是主区块,两个是副区块。即使最上面的链是最新终结块上最长的链,但它不合格,因为它在评估时获得首选的次数比下面那条少。

中本聪共识

中本聪共识由最长链规则组成,使用工作量证明作为其防止女巫攻击和领导人选举的机制。

中本聪共识只给了我们概率最终性。概率最终性表明,过去的某个区块的安全程度,仅取决于它拥有的确认数量,或在该区块上构建的区块数量。随着工作量证明链中构建在某特定区块上的区块越来越多,这条链也会花费更多计算资源。然而,包含了该区块的链不一定总是被认可的链,因为某位具有无限资源的参与者可能构建竞争链,并花费足够的计算资源来创建不包含特定块的链。在这种情况下,比特币和其他 PoW 链使用的最长链规则将转移到这条新的链,让新链成为主链。

PBFT / Tendermint 共识

请参阅与 Cosmos 对比文章中的相关内容。

https://wiki.polkadot.network/docs/en/learn-comparisons-cosmos#consensus

Casper FFG

GRANDPA 和 Casper FFG(友好型最终性工具 Friendly Finality Gadget)的两个主要区别是:

在 GRANDPA 中,不同的投票者可以同时为不同高度的块投票

GRANDPA 只依赖最终的块来影响底层块生产机制的分叉选择规则

Casper CBC

Coming soon!

资源

GRANDPA 论文:GRANDP 最终性工具的学术描述。包含算法的形式化证明。

https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf

Rust 实现:一个参考文档和附带的 Substrate 模块。

https://github.com/paritytech/finality-grandpa

原文:https://wiki.polkadot.network/docs/en/learn-consensus

翻译:PolkaWorld

标签:RANANDGRANDOINRANKER币SANDMANGrandcoinInverse Bitcoin Volatility Index Token

SAND热门资讯
金色前哨 | 为推广BTC拼了 Tim Draper要送出100万美元的BTC

为了吸引更多人使用和认可比特币,比特币大多头、亿万富翁Tim Draper旗下风投工作室Draper Goren Holm近日宣布,将向10月份洛杉矶区块链周的与会者赠送总共价值100万美元的比特币。 据洛杉矶区块链峰会官方预计,每位参会者将从Draper Goren Holm那里获得100美元,旨在吸引更多人使用比特币。

6.5午间行情: 震荡为主有短线机会

行情变化不大,比特币继续平稳运动,在9900美金附近遇阻,市场本就是这样,不然连续不断的上下收割是个人都跑了,割一波震荡几天大家就又都忘了。

Filecoin生态上有哪些可投资布局的点?

从投资的角度来看,Filecoin生态上有很多可以布局的地方。Filecoin的上游比较依赖于IDC机房,这一块是较为庞大的投资领域。因为IDC机房属于新基建的范畴之内,所以一些传统资本都在观望中。 除了IDC机房外,Filecoin还包括了矿机、矿场和矿池这些上中下游产业。这里将对比一下Filecoin与Bitcoin的相关产业链。 首先是矿池。

四川、云南电力系统出手严打直供电矿场

吴说区块链独家获悉,四川云南两省电力系统,正在发力整治直供电矿场。其中,四川发文强调保护合规矿场,打击直供电矿场,部分直供电矿场已经断电。在疫情影响下,一季度国家电网利润为负,打击传统的直供电矿场,有利于消纳示范区矿场与国家电网的利益,但对小水电与直供电矿场来说无异于灾难。

金色趋势丨BTC大牛启动前的最后低吸良机

BTC目前已完成了第三次产量减半,上图为BTC2010-2020长期月线走势,通过研究可以发现,每次减半前BTC价格均位于上一轮牛市顶点回落的斐波那契0.5压制线下方运行,2012年的第一次和2016年的第二次以及2020年的第三次均是这种走势,即便19年的小牛行情和今年初的行情,两者冲顶月线收盘均未能突破。

比特币画门行情再现 教科书级收割的背后 投资者该何去何从?

昨天上午7点,比特币放量突破10000美金;昨晚10点,比特币暴力砸盘,最低下探至9300美金(火币网数据)。 突破的时候,放量,而且强势冲击三角形区间上轨,技术指标上是明显的突破行情。但即使再完美的技术指标,也敌不过庄家的操纵,画门行情再现,一天之内多空双爆,收割筹码7.9亿美金。