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

核心问题
Polkadot要解决以下两个问题:
- **伸缩性(Scalability)**难以满足现实世界的需要。
- **隔离性(Isolability)**让各区块链之间难以通信。
问题分析
这归咎于其底层的共识架构:状态转换机,或者这种让所有参与方校对和执行交易的方式,在本质上将其逻辑绑定在了共识一致性(canonicalisation)的设计上,或者需要让所有参与方都同意所有的可能性、有效性和历史。
核心架构
参与角色

-
验证人(Validator),需质押 DOT,接收并验证来自收集者的平行链区块,验证和添加中继链自身的区块。
- 质押的 DOT 一部分来自于提名人,以便双方利益和风险共担。
- 验证人需要运行中继链客户端,有最高权限。
- 验证人会被随机分组,每个分组对应一个平行链,用来保证去中心化。
-
提名人(Nominator),需质押 DOT,负责提名代表自己的验证人。若所选验证人被奖励或被惩罚,自己跟着一起被奖励或被惩罚。
-
收集者(Collator),打包其所监视的平行链的交易,并将区块证明发送给验证人,同时,它还可以兼任钓鱼者(见下)。
- 运行特定平行链的全节点。
-
钓鱼者(Fishermen),最后一道安全防线,监视网络和证明验证人的坏行为。
中继链
- 账户模型:block是账户模型,非UTXO
- 区块生产:由验证者提交区块,验证者从Collator那里收集打包的区块
- 核心功能:协调各平行链的共识和安全
核心概念
共享安全性
所有的平行链(Parachains)都是与中继链(Relay Chain)同步进行共识的。这意味着所有的平行链都会在大致相同的时间内产生新的区块,并将这些区块提交给中继链进行验证。
所有的并行链(Parachains)都共享同一个安全模型,这就是所谓的"共享安全"。这意味着,一旦一个并行链被接入Polkadot网络,它就可以享受到Polkadot的安全性,而无需自己建立和维护一个独立的安全机制。
共享安全的好处:
- 降低安全成本:大大降低并行链的安全成本
- 提高网络安全性:攻击者需要同时攻击所有的验证人,才能成功攻击网络
- 统一安全标准:所有平行链享受相同级别的安全保护
如果时间相差很大呢?
如果一个并行链不能满足同步要求,那么这个并行链的区块就会被跳过,这并不会影响其他的并行链。

共识周期
- 快速确定性:通常在波卡上不到一分钟
不需信任的跨链交互
在Polkadot中如果parachain A 需要发送一笔交易到parachain B的过程如下:
- A链将跨链交易放到自己的engress(每个平行链有一个消息输出队列engress 和一个消息输入队列ingress);
- A链的Collator收集A链的普通交易以及跨链交易并提交给A链的验证者集合;
- A链的验证者集合验证成功,将本次A链的区块头信息以及A链的engress内信息提交到中继链上;
- 中继链运行共识算法进行区块确认以及跨链交易路由,中继链上的验证者会将A链的相应交易从A链的engress queue中移动到B链的ingress queue中。
- B链执行区块,将ingress queue中相应交易执行并修改自身账本。
跨链消息传递(XCMP)
跨链的message 的定义和 transaction 基本相同。区别在于,transaction 包含一个签名,以证明数据的出处(从而证明指令的权威性)。而对于 message,出处仅通过 Polkadot 的抗拜占庭加密经济验证基础设施来证明,在很大程度上跟以太坊合约间消息传递的方式是一样的。
XCMP协议特点:
- 基于队列的设计:保证消息的发送顺序和接收顺序一致,防止重放攻击和其他基于顺序的攻击,也可以避免MEV。
- 消息签名验证:每个消息都需要被发送链的验证者签名,以证明这个消息确实来自于发送链,防止伪造消息的攻击。
- 共享安全性:所有的并行链都共享Polkadot中继链的安全性,只要一个消息被中继链接受,就可以认为它是安全的。
插槽机制
在Polkadot的插槽拍卖中,竞拍者需要用DOT来竞标插槽。然而,这些DOT并不是作为收益给任何人,而是被锁定在网络中,直到插槽租期结束。当插槽租期结束后,这些DOT会被退还给竞拍者。
无需分叉升级
无需分叉升级(forkless upgrade)是通过其独特的链上治理和运行时模块(runtime)升级机制实现的。
升级步骤:
- 提议升级:提出一个升级提议,包含一个新的运行时模块,这个模块包含了升级后的区块链逻辑。
- 投票决定:Polkadot的持币人对这个提议进行投票,如果获得足够多的投票就会被接受。
- 升级运行时:如果提议被接受,所有的节点都会自动升级他们的运行时模块,升级过程是自动的。
最大优点:波卡可以通过无需分叉的升级进行升级,这使得协议可以轻松升级以保持与未来技术进步的步伐一致。
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生态系统包含多个重要组成部分:
- 平行链项目:各种专门化的区块链
- 开发工具:Substrate框架等
- 钱包和基础设施:支持生态发展的工具
- DeFi应用:去中心化金融项目
- NFT和游戏:数字资产和娱乐应用
挑战与机遇
挑战
- 技术复杂性较高
- 开发者学习曲线陡峭
- 插槽竞争激烈
- 生态系统仍在发展中
机遇
- 多链未来的基础设施
- 企业级应用的理想平台
- 跨链互操作性的先行者
- 治理创新的实验场
总结
Polkadot通过其创新的异构多链架构,为区块链行业提供了一个全新的解决方案。它不仅解决了单链的可扩展性问题,还实现了真正的跨链互操作性。
通过共享安全性、XCMP协议、无需分叉升级等技术创新,Polkadot为构建下一代去中心化应用提供了强大的基础设施。随着生态系统的不断发展和完善,Polkadot有望成为多链未来的重要基石。