波卡网络可扩展性限制了平行链插槽数量,预计在 Polkadot 网络运行的一两年内,平行链插槽将从初期的 5 个逐步增加至 50 ~ 200 个。

原文标题:《波卡启动 NPoS,这些技术方案值得关注?》
撰文:HashQuark 社区

Polkadot 今日启动 NPoS (验证人选举),其技术方案也再次引发关注。关于 Polkadot 的几大技术知识点,我们都总结在此了:

  • Polkadot 网络,中继链、平行链和转接桥
  • XCMP 方案,链间互操作的基础
  • Cumulus 框架,轻松创建兼容波卡的平行链
  • 平行链插槽,共享安全的「敲门砖」

波卡启动 NPoS,平行链插槽、XCMP、Cumulus 等技术方案值得关注

Polkadot 网络

Polkadot 网络是一种异构多链网络,由中继链、平行链和到其他网络的转接桥组成。

中继链负责在平行链之间达成共识和输送交易,平行链则是独立的区块链,并具有自己的状态转换,可以收集和处理交易,同时共享中继链的安全性。转接桥允许 Polkadot 网络与其它非直接支持的区块链网络相互操作。

那么 Polkadot 网络如何实现如何实现不同链之间信息的传递呢?

XCMP 方案

Polkadot 的跨链消息传递(Cross-chain Message Passing, XCMP)方案是 Polkadot 协议的一个子集,主要用来定义除共享中继链安全之外,在无其他信任假设的情况下,消息如何在平行链之间传递。主要包括:

  • 消息队列机制,基于 Gossip 协议传播消息。
  • 消息可用性,基于纠删码技术。
  • 消息输入和输出验证。

简言之,XCMP 方案利用基于 Merkle 树的简单队列机制确保跨链交易的正确性,并由中继链上的验证人负责把平行链出口队列中的交易转移到目标链的入口队列中。

XCMP 方案是非常底层的基础协议,直接使用 XCMP 实现跨链依然颇为繁重,因为它只负责消息发送,但没有定义接受方如何响应。Polkadot 提出了共享安全区(Shared Protected Runtime Execution Enclaves, SPREE)解决方案。SPREE 允许在每个平行链上开辟一块与平行链独立的安全区,在该区域中执行公认安全的代码,确保其不受平行链干扰,从而解决接收方不可信的问题。

Cumulus 框架

Cumulus 的目标是对 Substrate 进行扩展,使任何 Substrate Runtime 都能轻松地成为兼容 Polkadot 的平行链。而 Substrate 的目标则是简化创建新区块链的过程,但并不直接提供 Polkadot 兼容性支持。两者是目前仅有的波卡平行链开发套件(Parachain Development Kit, PDK)。

Cumulus 包含的组件如下:

  • Consensus 组件,内置一个 Polkadot 节点的 Substrate 共识引擎,供客户端选择最终确定链。
  • Runtime 组件,Substrate Runtime 的包装器,可以使其被 Polkadot 验证节点验证,并提供证明生成子程序。
  • Collator 组件,用于平行链 Polkadot 收集节点的工具。

平行链插槽

为什么要限制平行链的数目?这是由于 Polkadot 网络中的资源有限,网络需要消耗资源来保证平行链保持安全和可用。同时,Polkadot 初期有一些关键的可扩展性限制,尤其是网络中消息队列的开销,这些自然会导致对平行链数目的限制。

平行链插槽的公平分配:创世期上线的平行链插槽是由 Web3 基金会通过两种方式来决定的:

  • 赞助一些公益性质的基础设施链,包括转接桥链和智能合约链。
  • 链下类蜡烛式拍卖(Candle Auction),抵押 DOT,租赁插槽。

插槽竞标的运作方式:每个平行链插槽的最长持有时间为两年,每六个月分割为一个租赁期。在开始一组平行链插槽租赁之前的六个月中,将进行几次拍卖。投标人将提交一份投标配置,以指定他们愿意锁定的 DOT 金额以及租赁范围。该范围可以是持有时段 1-4 的任何连续范围。

插槽数量增长方式:目前预计在 Polkadot 网络运行的一两年内,平行链插槽将从初期的 5 个逐步增加至 50 ~ 200 个。

参考文献:

XCMP@Polkadot Wiki,
https://wiki.polkadot.network/docs/en/learn-crosschain

Polkadot Issue #597,
https://github.com/paritytech/polkadot/issues/597

Cumulus@Polkadot Wiki,
https://wiki.polkadot.network/docs/en/build-cumulus

Parachain Slots Auction@PolkadotWiki,
https://wiki.polkadot.network/docs/en/learn-auction

Cosmos IBC,
https://github.com/cosmos/ics/tree/master/translation/zh-CN/ibc

来源链接:mp.weixin.qq.com