在前一篇Polygon2.0的介绍文章中,官方宣布要将Polygon PoS链进行升级,通过零知识证明技术使其成为「zkEVM Validium」。今日,Polygon的工程团队分享了Polygon2.0的提议架构,目标提供无限的可扩展性及统一的流动性,以实现Polygon作为网络价值层的愿景。
Polygon2.0的架构介绍
根据Polygon的介绍文章,Polygon2.0的架构由4个协议层所构成,分别扮演不同角色并达成特定功能,包含以下:
质押层(Staking Layer)
互动层(Interop Layer)
执行层(Execution Layer)
验证层(Proving Layer)
Polygon2.0质押层
首先来谈谈质押层,质押层是一个基于PoS的协议层,通过Polygon代币(MATIC)来参与Polygon的去中心化过程,并通过高度去中心化的验证者池及内建的再质押模型来达成此目标。
质押层通过两种智能合约于以太坊上执行,分别为:
验证者管理员:用于管理所有可供Polygon使用的公共验证者池。
链管理员:管理个别Polygon链的验证者集。每条Polygon链都有自己的链管理员合约。
Polygon表示,质押层为Polygon上的区块链提供了可立即使用的去中心化功能,使得这些区块链的团队可以专注于使用案例及社群,而不是基础设施。
另外,对于验证者而言,质押层也提供了Polygon代币奖励,并且透过收取交易费用及他们验证的链获得额外的代币奖励。
Polygon2.0互动层
互动层在Polygon生态系中促进了跨链讯息传递,使整个Polygon网络对用户来说像是一条单一的链,并实现了以下功能:
共享对原生以太坊资产的存取:跨链桥通常要求用户铸造以太坊代币的合成版本,这对用户体验来说是场噩梦。而互动层提供了与以太坊共享的跨链桥,并允许无缝地跨链转移原生的以太坊资产。
无缝的可组合性:互动层能够实现近乎即时和原子级的跨链交易,这是Polygon2.0统一流动性的核心目标之一。
互动层在目前由Polygon zkEVM rollup使用的LxLy协议基础上进行扩展,并借鉴了其讯息伫列(Message Queue)的概念。每个Polygon区块链都以预定的形式维护着一个本机的讯息伫列,其中包含数字资产讯息、目标链、目标地址及元数据。
讯息伫列具有相应的零知识证明(ZK proofs)。一旦特定伫列的零知识证明在以太坊上得到验证,伫列中的任何讯息都可以被其接收链和地址安全地使用。
基于此设计,Polygon提出结合一个独特的聚合器组件,以进一步改进跨链交易。聚合器位于Polygon和以太坊之间,提供两项服务:
接收零知识证明和讯息伫列的代表(例如Merkle Root)。
将零知识证明聚合为单一零知识证明,并提交给以太坊进行验证。
一旦聚合器接受了零知识证明,作为接收方的区块链就可以更乐观地接收讯息(因为零知识证明保证了最终性及一致性),这将使得跨链互动无缝进行。通过聚合零知识证明,聚合器大大降低了在以太坊上验证证明所需的Gas消耗。
Polygon2.0执行层
执行层使任何Polygon区块链能够产生按顺序排列的批量交易,也就是区块。这个协议层在各个区块链网络(如以太坊、比特币等)中都以类似的形式使用,因此是相对标准化的。
执行层包含多个组件,例如:
P2P:使节点(验证者及完整节点)能够互相发现并交换讯息。
共识:使验证者能够就单一世界观达成一致意见。
内存池(Mempool):收集使用者提交的交易并在验证者之间进行同步。
数据库:储存交易历史记录。
证明生成器:生成零知识证明所需的证明数据。
Polygon认为,考虑到这一层相对标准化,但实施起来相对复杂,应尽可能最大程度地重新使用用现有的高效能实行方案(例如以太坊客户端Erigon)。
Polygon2.0验证层
验证层是一个高效能且灵活的零知识证明协议,为每个Polygon区块链上的所有交易生成证明,其包含以下部分:
公共证明器(Common prover):此证明器提供了一个干净的界面,旨在支持任意的交易类型。此外,使用单一的证明器使得证明的聚合和验证变得简单高效。
状态机建构器(State machine constructor):建构器允许开发人员通过易于使用的界面建构状态机。由于它是模组化的,允许开发人员自定义可参数化的状态机,使得建构、测试和审计大型和复杂的状态机变得更加容易。
状态机:状态机模拟了由证明器证明的执行环境和交易格式。可以使用前述的建构器或完全自定义的方式来实行状态机。Polygon的ZK团队提供了两种状态机实行方式,分别是zkEVM和MidenVM,社群也可以建构其他实行方式,例如zkWASM。
Polygon认为,证明层及证明器提供了几个主要的优势,主要包括能简单高效的证明生成、聚合和验证,还可进行不同状态机之间的跨链通讯。
以上即为Polygon2.0各个协议层的基础介绍,官方也表示会于未来会针对各协议层进行更深入的探讨。