它可以将 Polkadot 吞吐量提高 8 倍,为波卡 2.0 打好基础?“异步支持” 是什么
Polkadot 的一项重大优化 —— 异步支持(Asynchronous Backing)已经上线至 Rococo 测试链,预计年底上线至 Kusama。它通过优化平行链区块的验证过程,有望将 Polkadot 的吞吐量提高 8 倍,并为波卡 2.0 的敏捷核心时间打下基础。
那么 Polkadot 的异步支持的原理是什么?为什么它对 Polkadot 的性能和扩展性有重要的影响?它什么时候可以上线?本文将尝试回答这些问题。
什么是 Polkadot 的异步支持?
平行链区块验证机制
我们都知道 Polkadot 是一个跨链网络,由中继链负责平行链的共享安全性。为了实现这一目标,Polkadot 需要一种高效和可靠的共识协议,来确保平行链的状态和交易能够被中继链验证。
在 Polkadot 中,平行链区块由收集人(Collator)在平行链上生成,然后发送给中继链上的验证人(Validator)来进行支持(backing)。
“支持” 指的是平行链区块由一组验证人(支持组)进行验证的过程,平行链区块只需要被一个验证人支持即可,但支持并不能保证平行链区块的有效性。
经过支持后的平行链区块会被发送到其他验证人那里,然后被包含到中继链上。每个平行链区块在生成时,必须锚定到一个叫 “中继链父块” 的中继链区块上。而中继父块又是生成下一个平行链区块的必备上下文。要注意的是,一个平行链区块的中继父块,和将它包含到中继链上的中继链区块不是同一个。
同步支持
在正式理解异步支持之前,我们先来看看原来的运行模式,也就是同步支持(Synchronous Backing)。
在同步支持中,平行链区块的生成和中继链的进程紧密相关:
-
只有在上一个平行链区块被中继链包含后,才能生成一个新的平行链区块。
-
构建下一个平行链区块的上下文,是从最新包含的平行链区块的祖先提取的。
-
中继父块必须是最新的中继链区块。
在这些条件的约束下,每个平行链区块要花 6 秒(一个中继链区块)来获得支持,再花另外 6 秒来被包含。因此一个平行链区块从出块到被包含到中继链上,需要 12 秒的时间。
而且,虽然整个过程需要 12 秒,但留给收集人生成区块的时间却最多只有 0.5 秒,因为平行链区块需要在剩下的 5.5 秒内完成支持和散布消息(gossip)。
异步支持
在异步支持中,支持和包含可以发生在同一个中继链区块内。而且可以使用较旧的中继父块来创建新的平行链区块。
同步支持 vs 异步支持,来源:Polkadot Wiki
从上图可以清楚地看异步支持带来的优势。
在左边的同步支持模式下,一个平行链区块先需要 6 秒来支持,另外 6 秒来包含,这一套全部完成后才能开始生成下一个平行链区块,因此每 12 秒才能包含 1 个平行链区块。
在右边的异步支持模式下,在 6 秒内既可以包含上一个区块,又可以为下一个区块做支持,因此每 6 秒就能包含 1 个平行链区块。
另外,由于异步支持允许使用较旧的中继父块来创建新的平行链区块,这让收集人有了更多时间去生成平行链区块,平行链区块的生成时间从原来的 0.5 秒增加到 2 秒。
一个比喻 —— 厨艺比赛
如果你觉得上面这些解释还是有点抽象,那么可以看看 Web3 基金会的 Filippo Franchini 给出的一个形象化的比喻。
我们可以把平行链出块过程比喻成一场厨艺比赛,平行链是厨师,中继链是评委。
在同步支持中,每 12 秒揭晓一本新菜谱(中继父块),厨师(平行链)需要在 0.5 秒内火速收集食材(数据)并且做好菜(填充区块)。
在异步支持中,厨师们可以从更多的菜谱(中继父块)中挑选,一些菜谱比较旧了,但是也很有价值。这样一来,厨师就有更多时间(2 秒)来选择最合适的食材(数据)并且做好菜(填充区块)。
也就是说,同步支持看重的是做菜速度和使用最新的菜谱。而异步支持看重的是精心准备,和充分利用资源。
在这两种情况下,厨师都需要按照特定的菜谱来做菜,也就是平行链需要锚定父块来生产平行链区块。但是在同步支持中,厨师只能选择最新菜谱,而在异步支持中,厨师也可以从更旧的菜谱中做选择。
另外,在同步支持中,一次只能端上来一盘菜,每 12 秒才能展示(支持)和评价(包含)完一盘菜(平行链区块)。
而在异步支持中,可以一边评价一盘菜,一边展示下一盘菜,这样每 6 秒就能评价完一盘菜。
异步支持能将 Polkadot 的性能提高多少?
总结一下,异步支持带来的最显著的好处是:
-
执行时间提升了 4 倍:执行时间从 0.5 秒增加到 2 秒
-
平行链出块时间缩减一半:平行链区块出块时间从 12 秒缩短到 6 秒。
两项叠加,就让平行链的吞吐量提升到了原来的 8 倍,同时不影响网络的安全性。
在早些发布的 Polkadot 路线图中估计,异步支持可以让 Polkadot 的总体 TPS 达到 10 万 – 100 万。
短期来看,异步支持上线后,Polkadot 本身以及平行链的性能都会显著提升,让区块空间的利用得到优化。
长期来看,异步支持作为一项重要的基础能力,将为 Polkadot 2.0 升级打下基础。有了异步支持,才能实现 “敏捷核心时间 (agile coretime)” ,从而以更灵活、更高性价比的方式来分配和管理区块空间,让 Polkadot 2.0 能够成为 Web3 中的 “云计算” 服务基础设施。
当前进展
目前异步支持功能已经部署到了 Rococo 测试网上,可供测试,预计在今年年底上线 Kusama,之后在通过审计、测试和治理的批准后将上线至 Polkadot。详情见《Parity:已在 Rococo 上部署异步支持并启动 Coretime 功能!》。
总结
异步支持是自平行链共识协议推出以来,Polkadot 共识的首次重大优化,它可以将 Polkadot 的吞吐量提高 8 倍左右,让 Polkadot 的性能和可扩展性达到新的高度,从而为 Web3 的各种使用场景提供更好的支持。
另外,异步支持还支持创建平行链区块队列,让区块空间可以更灵活地调度,为 Polkadot 朝 2.0 迭代打下基础。
参考资料:
比推快讯
更多 >>- Tether与Chainalysis 合作开发用于监控二级市场活动的可定制解决方案
- 价值超7600万美元ETH从未知钱包转移到Coinbase Institutional
- Magic Eden宣布其BTC Diamond Retro申领已上线
- 以太坊 NFT 4 月份销售额 2.41 亿美元,为2023 年 10 月以来最低
- Jito 成为 Solana 上TVL最大的协议, 达 14 亿美元
- 摩根大通:加密市场抛售是由散户投资者推动的
- USDC Treasury新增铸造5000万枚USDC
- 一巨鲸以0.051美元价格购买193万枚SC,SC 上涨约 200%
- Coinbase国际交易所将增加对 Arweave、Hedera 和 Theta 永续合约的支持
- 某以太坊ICO参与者在休眠8.8年后转出1,960枚ETH,价值587万美元
- 今日美国9只现货比特币ETF净减持8107枚BTC,约4.7亿美元
- 法国巴黎银行持有约4.1万美元的贝莱德现货比特币ETF敞口
- RWA 平台 Untangled 在 Celo 上开设其首个 USDC 借贷池
- MoonPay 集成 PayPal,允许美国用户通过 PayPal 买卖 110 多种加密货币
- RWA市场Ironlight完成1200万美元的融资,拟在美SEC注册
- 截至4月1日Yield Guild Games财库持有资产总规模约6700万美元
- 彭博ETF分析师:需要重新调整对香港虚拟资产ETF市场的看法
比推专栏
更多 >>- 每月动态 | Web3 安全事件总损失约 9081 万美元
- 脱水大字报:牛市行情或延迟类似2016年
- 矿工日收入突破亿创纪录,比特币符文能否接力铭文?
- 获比特大陆投资且被币安首个接入的BTC L2项目BEVM有何亮点?
- 为什么这轮牛市无法复制 2021 年的山寨季?
- 独家!种子轮融资200万美金+AI叙事的项目
- IOSG Weekly Brief|MKR的涅槃重生:新公链和RWA稳定币与Spark借贷独角兽 #223
- Kusama 上的 Coretime 交易已开始,平行链时代谢幕
- 100亿美元开发投资,红杉资本入局,特斯拉要搞波大的…
- Chainlink Q1产品更新;CCIP正式进入全面可用阶段;Consensus2024来啦|Chainlink 周报
观点
项目
比推热门文章
- Magic Eden宣布其BTC Diamond Retro申领已上线
- 以太坊 NFT 4 月份销售额 2.41 亿美元,为2023 年 10 月以来最低
- Jito 成为 Solana 上TVL最大的协议, 达 14 亿美元
- 摩根大通:加密市场抛售是由散户投资者推动的
- USDC Treasury新增铸造5000万枚USDC
- 一巨鲸以0.051美元价格购买193万枚SC,SC 上涨约 200%
- Coinbase国际交易所将增加对 Arweave、Hedera 和 Theta 永续合约的支持
- 某以太坊ICO参与者在休眠8.8年后转出1,960枚ETH,价值587万美元
- 今日美国9只现货比特币ETF净减持8107枚BTC,约4.7亿美元
- 法国巴黎银行持有约4.1万美元的贝莱德现货比特币ETF敞口