返回博客列表

Polkadot:异构多链架构的创新实践

2023年7月5日
15 min read
Polkadot共识机制web3

Polkadot:异构多链架构的创新实践

Polkadot架构图

核心问题

Polkadot要解决以下两个问题:

  • **伸缩性(Scalability)**难以满足现实世界的需要。
  • **隔离性(Isolability)**让各区块链之间难以通信。

问题分析

这归咎于其底层的共识架构:状态转换机,或者这种让所有参与方校对和执行交易的方式,在本质上将其逻辑绑定在了共识一致性(canonicalisation)的设计上,或者需要让所有参与方都同意所有的可能性、有效性和历史。

核心架构

参与角色

Polkadot参与者角色

  • 验证人(Validator),需质押 DOT,接收并验证来自收集者的平行链区块,验证和添加中继链自身的区块。

    • 质押的 DOT 一部分来自于提名人,以便双方利益和风险共担。
    • 验证人需要运行中继链客户端,有最高权限。
    • 验证人会被随机分组,每个分组对应一个平行链,用来保证去中心化。
  • 提名人(Nominator),需质押 DOT,负责提名代表自己的验证人。若所选验证人被奖励或被惩罚,自己跟着一起被奖励或被惩罚。

  • 收集者(Collator),打包其所监视的平行链的交易,并将区块证明发送给验证人,同时,它还可以兼任钓鱼者(见下)。

    • 运行特定平行链的全节点。
  • 钓鱼者(Fishermen),最后一道安全防线,监视网络和证明验证人的坏行为。

中继链

  • 账户模型:block是账户模型,非UTXO
  • 区块生产:由验证者提交区块,验证者从Collator那里收集打包的区块
  • 核心功能:协调各平行链的共识和安全

核心概念

共享安全性

所有的平行链(Parachains)都是与中继链(Relay Chain)同步进行共识的。这意味着所有的平行链都会在大致相同的时间内产生新的区块,并将这些区块提交给中继链进行验证。

所有的并行链(Parachains)都共享同一个安全模型,这就是所谓的"共享安全"。这意味着,一旦一个并行链被接入Polkadot网络,它就可以享受到Polkadot的安全性,而无需自己建立和维护一个独立的安全机制。

共享安全的好处:

  1. 降低安全成本:大大降低并行链的安全成本
  2. 提高网络安全性:攻击者需要同时攻击所有的验证人,才能成功攻击网络
  3. 统一安全标准:所有平行链享受相同级别的安全保护

如果时间相差很大呢?

如果一个并行链不能满足同步要求,那么这个并行链的区块就会被跳过,这并不会影响其他的并行链。

平行链同步

共识周期

  • 快速确定性:通常在波卡上不到一分钟

不需信任的跨链交互

在Polkadot中如果parachain A 需要发送一笔交易到parachain B的过程如下:

  1. A链将跨链交易放到自己的engress(每个平行链有一个消息输出队列engress 和一个消息输入队列ingress);
  2. A链的Collator收集A链的普通交易以及跨链交易并提交给A链的验证者集合;
  3. A链的验证者集合验证成功,将本次A链的区块头信息以及A链的engress内信息提交到中继链上;
  4. 中继链运行共识算法进行区块确认以及跨链交易路由,中继链上的验证者会将A链的相应交易从A链的engress queue中移动到B链的ingress queue中。
  5. B链执行区块,将ingress queue中相应交易执行并修改自身账本。

跨链消息传递(XCMP)

跨链的message 的定义和 transaction 基本相同。区别在于,transaction 包含一个签名,以证明数据的出处(从而证明指令的权威性)。而对于 message,出处仅通过 Polkadot 的抗拜占庭加密经济验证基础设施来证明,在很大程度上跟以太坊合约间消息传递的方式是一样的。

XCMP协议特点:

  • 基于队列的设计:保证消息的发送顺序和接收顺序一致,防止重放攻击和其他基于顺序的攻击,也可以避免MEV。
  • 消息签名验证:每个消息都需要被发送链的验证者签名,以证明这个消息确实来自于发送链,防止伪造消息的攻击。
  • 共享安全性:所有的并行链都共享Polkadot中继链的安全性,只要一个消息被中继链接受,就可以认为它是安全的。

插槽机制

在Polkadot的插槽拍卖中,竞拍者需要用DOT来竞标插槽。然而,这些DOT并不是作为收益给任何人,而是被锁定在网络中,直到插槽租期结束。当插槽租期结束后,这些DOT会被退还给竞拍者。

无需分叉升级

无需分叉升级(forkless upgrade)是通过其独特的链上治理和运行时模块(runtime)升级机制实现的。

升级步骤:

  1. 提议升级:提出一个升级提议,包含一个新的运行时模块,这个模块包含了升级后的区块链逻辑。
  2. 投票决定:Polkadot的持币人对这个提议进行投票,如果获得足够多的投票就会被接受。
  3. 升级运行时:如果提议被接受,所有的节点都会自动升级他们的运行时模块,升级过程是自动的。

最大优点:波卡可以通过无需分叉的升级进行升级,这使得协议可以轻松升级以保持与未来技术进步的步伐一致。

GRANDPA 共识算法

参与者对他们认为有效的最高区块进行投票,而不是对单个区块进行投票,并且该算法将投票传递到该区块的所有祖先。然后,该算法确定具有 >⅔ 绝对多数票数的最佳区块,并生成最终性证明。

特点:

  • 快速最终性:在Ethereum中,一个区块被认为是最终的,通常需要等待一定数量的确认区块。然而,GRANDPA 可以在短时间内实现区块的最终性,即使在网络延迟或分区的情况下也是如此。
  • 解耦设计:GRANDPA 是一个最终性共识算法,它可以与区块生成机制(例如 Polkadot 的 BABE)解耦。这意味着,区块可以在没有达成最终共识的情况下生成,然后由 GRANDPA 在稍后的时间确定其最终性。

DOT 代币

DOT 之于 Polkadot 等同于 ETH 之于以太坊,其作用主要在三个方面体现:

  • 治理:DOT 的持有者,即中继链的参与者,拥有对协议的完全控制权(如协议升级和修复)。在其他区块链平台中,这部分权力通常属于矿工。
    • 注意:平行链的治理机制由平行链自行解决。
  • 运营:激励诚实、好的行为。
  • 质押和支付:新增平行链需要质押 DOT,平行链的解除会返还 DOT。

与 Layer2 的比较

Collator 的作用

Collator是波卡体系结构的关键部分,原则上类似于定序器,因为Collator使用有效性证明(PoV)功能传递数据,以确保活性并与中继链进行通信。

技术对比

  • 状态转换函数:每个分片或平行链都配备一个独特的状态转换函数(STF),该函数确保与中继链的通信保持有效。每个STF都是用Wasm编写的Runtime。
  • 有效性证明:每个STF都运行一份有效性证明。与非交互的ZK Rollups不同,该证明(批准协议)是交互的。
  • 图灵完备性:与ZK Rollups不同的是,创建具有图灵完备逻辑的平行链并不困难。
  • 争议解决:与Optimistic Rollups类似,平行链协议也有可能发生争议和解决可能有害的Parablock的情况。

Kusama网络

Kusama是Polkadot的测试网络,也被称为预发布网络和实验田,用于测试新功能和升级。

Q&A

1. 为什么要Collator?他在干什么?

打包交易,其实就是想把打包和上传block分离。

2. 有没有MEV?

基本上没有,因为消息是按队列传输的,并且验证人和收集人分离。

3. 中继链要包含平行链的轻客户端吗?

中继链(Relay Chain)并不直接包含平行链(Parachains)的轻客户端。相反,中继链上的验证者(Validators)会周期性地对平行链的区块进行验证,以确保其正确性。

当一个平行链生成一个新的区块时,它会将这个区块的头部信息(包括状态的哈希值和其他元数据)提交给中继链。然后,中继链上的一部分验证者会被随机选中,负责验证这个区块头部信息的正确性。

技术优势

1. 可扩展性

  • 通过平行链实现水平扩展
  • 每个平行链可以专门优化特定用例
  • 整体网络吞吐量大幅提升

2. 互操作性

  • 原生跨链通信能力
  • 统一的安全模型
  • 无需信任的跨链交易

3. 治理创新

  • 链上治理机制
  • 无需分叉升级
  • 社区驱动的发展

4. 开发灵活性

  • 支持多种编程语言
  • 模块化架构设计
  • 自定义共识机制

生态发展

Polkadot生态系统包含多个重要组成部分:

  1. 平行链项目:各种专门化的区块链
  2. 开发工具:Substrate框架等
  3. 钱包和基础设施:支持生态发展的工具
  4. DeFi应用:去中心化金融项目
  5. NFT和游戏:数字资产和娱乐应用

挑战与机遇

挑战

  • 技术复杂性较高
  • 开发者学习曲线陡峭
  • 插槽竞争激烈
  • 生态系统仍在发展中

机遇

  • 多链未来的基础设施
  • 企业级应用的理想平台
  • 跨链互操作性的先行者
  • 治理创新的实验场

总结

Polkadot通过其创新的异构多链架构,为区块链行业提供了一个全新的解决方案。它不仅解决了单链的可扩展性问题,还实现了真正的跨链互操作性。

通过共享安全性、XCMP协议、无需分叉升级等技术创新,Polkadot为构建下一代去中心化应用提供了强大的基础设施。随着生态系统的不断发展和完善,Polkadot有望成为多链未来的重要基石。

Reference

评论讨论

使用 GitHub 账号登录参与讨论

加载评论中...