链资讯 链资讯
Ctrl+D收藏链资讯

波卡的共识是什么?

作者:

时间:

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

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

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

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

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

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

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

混合共识

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

波场TRON非同质化代币TRC-721正式上线 开辟区块链实施新领地:据最新消息,波场TRON首个非同质化代币(NFT)标准协议TRC-721正式上线。据悉,TRC-721是波场TRON首个非同质化代币(NFT)标准协议。在TRC-721标准里, 每个Token都拥有独立唯一的ID编号,具有不可取代性。通过TRC-721标准创建的通证可以代表任何类型的数字或现实世界中的有形资产,这为人们拥有和管理关于特定真实对象或凭证的数据提供了机会,进而对易遭遇欺诈、剽窃或伪造的行业和领域产生积极的影响。借助波场TRON高效率和低成本的公链基础设施,开发者可以更加快速、高效地将TRC-721标准应用到自己的产品和应用中。波场TRON创始人兼BitTorrent CEO孙宇晨对此表示:“非同质化代币的未来不可估量。将物理和虚拟世界资产映射到区块链世界的、基于TRC-721标准的应用和基础协议将很可能会是区块链市场上的下一个热点。”[2020/12/24 16:24:54]

这是一种在 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

标签:RANANDPOLADOTerraNovaBitcoin Standard Hashrate Tokenpolkawallet钱包下载Abitshadow Token

币安app官网下载热门资讯
金色趋势丨BTC内存池爆满推动价格向上飙升?

比特币内存池,里面都是还没有被纳入区块链中的交易,也叫交易池。当用户使用比特币发起交易之后,会通过P2P网络广播发送到各个节点,每个节点再把这个交易放入交易池中。随后矿工挖矿生成区块,再从交易池中选择一部分交易进行打包。当区块生成以后,相关的交易就从交易池中移除。内存池越大,确认交易所需的时间就越长,因为需要确认的块将会越多。

画门后休整 BTC白盘维持震荡

文章开始前,先吹一波牛,走波关注! 前期大饼崩盘前,本人在03月04日参加金色沙龙、即BTC血崩前,就看空2020减半!以及早在大半年之前,2019.09.03比特币还是一万刀以上的时候,就预知了熊市将要来临。 并且。本人的看空并不是空穴来风的看空,都有一二三点充分理由。

最新版波卡(Polkadot)概述

自 2016 年 Gavin Wood 首次构思 Polkadot 去中心化区块链平台以来,研究人员和开发人员一直在致力于改进、更新和完善 Polkadot。我们刚刚发表的《Polkadot 概述及其设计注意事项》在原白皮书的基础上进行了扩展,对波卡协议进行了更新和最全面的综述。

6.4午间行情:震荡调整 关注这两个关键点位

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当。 比特币在10000上方快速回落之后,行情再度进入平稳期,多空都没有迅速反应,任由市场震荡消化,也等待散户多空下注。

金色前哨 | 广州7.8亿元推动区块链技术和产业发展

昨日,广州市第十五届人民代表大会第五次会议开幕,《关于广州市2019年预算执行情况和2020年预算草案的报告》(下简称《报告》)书面提交大会审议。根据《报告》,2020年广州将利用7.8亿元推动区块链技术和产业创新发展。

比特币网络转账费单日最高达1250万 为什么矿工费变贵了?

行情回暖以来,比特币网络转账消耗矿工费单日最高 1250 万人民币。 2019.4.27-2019.5.27 矿工费数据统计(价格换算以 5月28日计) 区块链网络转账的活跃,让矿工费问题日益凸显,受到了更多重视。