波卡始于 Gavin Wood 于 2016 年发布的白皮书。Gavin Wood 是以太坊的前 CTO,同时编写了以太坊的 Solidity 编程语言。波卡专注于成为一个完全可扩展的异构网络,专注于发展多链技术。波卡是第一个完全分片的区块链,通过允许专门的区块链在安全、无信任的环境中相互通信来实现可扩展性。
本篇文章将带领刚了解到波卡的开发者朋友,一起探索波卡网络中的 NPoS 混合共识,着重分析共识机制中的 GRANDPA 协议,了解其如何促进波卡网络的安全灵活和可扩展。
波卡的架构技术
波卡在成为异构区块链网络的过程中与以太坊网络的运作方式不同。它使用链接到中继链的平行链和平行线程。这些链还通过平台中的桥连接到外部网络。
波卡包括三种类型的链。
中继链
中继链是波卡协议的核心。它负责网络的共享安全、共识和跨链互操作性。它是网络中的主要区块链,负责完成价值传输和交易区块。
平行链
平行链是托管在波卡平台上的独立区块链。这些自定义区块链旨在实现特定目的并应对专门挑战。他们利用波卡的计算资源来验证在网络上完成的交易的准确性。平行链被授予在使用波卡的共享安全功能的同时开发自己的治理系统的自由。
平行线程
平行线程与平行链共享相同的功能,但存在一些差异。平行线程是建立在即付即用模型上的平行链,而不是通过租用插槽。平行线程主要适用于不需要持续访问网络的项目。
Substrate 框架
Substrate 是由 Parity Technologies 开发的用于创建自定义区块链的开发技术框架。Substrate 是一个工具包,允许访问自定义模板库以增加区块链开发的便利性。支持的 Wasm(WebAssembly)协议允许开发团队开箱即用地构建智能合约平台。波卡使用底层框架作为其底层技术的一部分。正如波卡本身与其繁荣的平行链一样,Substrate 允许开发人员轻松创建专用区块链,开发门槛更低、成本更低,对开发者更为友好。GRANDPA 的 Substrate 实现是 Substrate Frame 的一部分。
指定权益证明 (NPoS)
波卡在提名权益证明算法中使用了更现代的共识协议。这是为了最大限度地提高网络的共享安全性,以便没有一个平行链是可破坏的。波卡的共识协议有两种,GRANDPA 和 BABE(Blind Assignment for Blockchain Extension)。这两者主要构成了波卡使用的混合共识,混合共识将最终性小工具从块生产机制中分离出来。
混合共识具有在波卡中获得概率最终性(始终产生新区块的能力)和可证明最终性(在规范链上具有普遍协议,没有机会恢复)的优势。通过结合这两种机制和协议,波卡允许快速生成块,并允许较慢的最终性机制在单独的进程中运行以最终确定块,从而很大程度上避免了交易处理速度较慢或停顿的风险。
什么是 GRANDPA 协议?
GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement) 协议用于决定必须添加到区块链上的最终区块。GRANDPA 通常被称为是波卡的终结性工具,其设计方式决定了哪个块和哪些更改是最终的。在这个协议下,并不负责块生产,而仅从网络上的验证器导入生产的块并最终确定要添加的块。
与其他拜占庭容错 (BFT) 算法不同,在 GRANDPA 协议中,验证者对链而非块进行投票。GRANDPA 算法找到具有最大票数的最高块号并将其视为最终的。由于区块生产和区块终结的隔离,GRANDPA 能够一次终结多个区块。
将区块生产和区块最终确定分开是区块链技术中非常优秀的实践,在 GRANDPA 机制下,一个安全、坚固的区块链系统被构建出来。
GRANDPA 协议如何运作?
在 GRANDPA 协议中,每个节点 / 参与者投票选出他们认为在上一轮中有效的最高区块。
- 每个验证者然后为该特定块提交“预投票”。如果该特定区块在网络中拥有超过 2/3 的选票,则链会进一步扩展并生成最终证明。
- 基于这些预投票,每个验证者计算出要最终确定的最高区块。如果新链比之前的链长,则验证器向链广播“预提交”。
- 一旦每个验证者获得足够的预提交,他们就会为链上的特定块提交提交消息。
GRANDPA 协议的优越性
GRANDPA 协议的一个优势是块生产和块最终性是相互隔离的。这种策略使 GRANDPA 可以立即完成块。
第二个显著的优越性在于 GRANDPA 能够在一轮中敲定数百万个区块。参与恶意投票或双重投票的参与者将受到严厉惩罚,这被称为模棱两可,导致最终证明相互矛盾。
GRANDPA 还负责确保链上数据在所有时间点均可用且有效。GRANDPA 支持加权投票,其中拥有更多股份的验证者获得更多选票。
波卡通过引入 GRANDPA 对共识机制采取了创新的发展,以此为波卡提供更安全、可扩展和有弹性的网络。
GRANDPA 助力波卡实现多链愿景
波卡旨在连接和保护独特的区块链,无论这些链是公共的、无需许可的网络、私有联盟链还是其他 Web3 技术。波卡使独立的区块链可以在共同的安全保证下交换信息的互联网成为可能。GRANDPA 在其中作为必不可少的一环,在桥接和治理上都展现出了其优势和助力。
桥接 Bridging
BEEFY(Bridge Efficiency Enabling Finality Yielder)便是 GRANDPA 的辅助协议,用于支持波卡网络(中继链)和远程隔离区块链(例如以太坊)之间的有效桥接,这些区块链在构建时并未考虑波卡链间可操作性。该协议允许远程网络的参与者验证由波卡中继链验证器创建的最终证明。
治理角色:GRANDPA
区块链中的治理是通过共识实现的,这是一种同意共享事务状态的方法。为了使区块链继续建设和前进,网络中的所有节点都必须同意并达成共识。正如前文所说,波卡通过引入 GRANDPA(为波卡提供更安全、可扩展和有弹性的网络。具体来说,GRANDPA 允许网络集中安全性。然后将添加的保护组合起来并应用于所有。
结语
对比 Ethereum 和波卡如何使用共识机制进行验证和区块最终确定,我们了解以太坊使用了 Casper FFG,而波卡则使用 GRANDPA 算法。GRANDPA 作为波卡的最终性程序,基于此将区块的生产和安全分开的好处包含了更好的技术实践,同时 GRANDPA 不会对其导入的区块施加许多约束。
BABE+GRANDPA 混合共识算法的作用下,使得波卡成为更安全、可扩展和有弹性的“下一代”区块链网络。
所有评论