Polygon2.0:协议愿景和架构
时间:2023-07-01 来源:区块链网络 作者:白话区块链
作者:Polygon 编译:白话区块链 今天,Polygon Labs 的工程团队正在分享 Polygon 2.0 的拟议架构,旨在提供无限的可扩展性和统一的流动性,并实现 Polygon 作为互联网价值层的愿景。 在其整个历史中,Web3 一直面临着棘手的扩展问题。虽然可以不断添加新的链来满足区块空间的需求,但这不可避免地要付出代价:流动性碎片化和用户体验不佳。 Polygon 2.0 就是解决方案。就像互联网是一个可弹性扩展、统一的信息访问环境一样,Polygon 2.0 也是一个可弹性扩展、统一的价值访问环境:互联网的价值层。 我们相信该提案可以而且应该指导所有 Polygon 协议开发工作向前发展,既作为概念性的北极星,又作为正式的开发框架。 背景:发散与趋同 自 Polygon 成立以来,其开发人员和社区一直秉承实验精神。我们积极鼓励构建下一代区块链基础设施的多种途径,而不是试图预测未来并押注于单一方法。这与创造性解决问题的典型过程相一致,其中探索许多想法和方法的发散阶段之后是收敛阶段,其中这些想法和方法巩固并产生问题的解决方案。鉴于区块链是一个年轻且非常有活力的行业,这种方法是一个显而易见的选择。 在最初的分歧阶段,Polygon 开发团队在整个技术堆栈上进行了实验。仅举其中一些努力: 各种区块链架构:侧链、rollups、validiums等; 构建 ZK 支持的执行环境的多种方法:zkEVM 类型 1-3、Polygon Miden; 多个区块链客户端:Polygon Edge、现有以太坊客户端和定制客户端,例如 Polygon zkEVM rollup 目前使用的客户端; 针对堆栈其他部分的各种解决方案,例如跨链消息传递、质押等。 这个阶段非常有用。尝试了各种方法和技术,并吸取了许多重要的经验教训。是时候开始过滤和整合想法和努力了。 在融合阶段,Polygon 协议团队和贡献者逐渐在特定的协议架构(即技术堆栈)上保持一致,我们现在很高兴将其作为互联网价值层的最佳基础设施。 协议架构 Polygon 2.0 架构被形式化为协议层的集合,旨在一起运行。这种分层架构最突出的例子可能是互联网协议套件,它的四层(链路层、网络层、传输层和应用层)为互联网提供动力。每个协议层都有一个特定的子流程,这种逻辑分离简化了架构的推理、实现和升级。 Polygon 2.0 由四个协议层组成,每个协议层都支持网络内的一个重要进程: 质押层 互操作层 执行层 验证层 质押层 质押层是基于 PoS(权益证明)的协议,它利用 Polygon 的原生代币为参与的 Polygon 链提供去中心化。它通过一个通用的、高度去中心化的验证者池和内置的重新抵押模型来实现这一目标。 质押层通过两种类型的智能合约在以太坊上实现: 验证器管理器:验证器管理器是一个智能合约,用于管理所有 Polygon 链都可以利用的公共验证器池。它执行以下操作: 维护验证者的注册; 处理验证者的质押和解除质押请求; 允许验证者订阅,即重新抵押任意数量的 Polygon 链; 处理削减事件。 Chain Manager:Chain Manager 合约管理各个 Polygon 链的验证器集。每个 Polygon 链都有其 Chain Manager 合约,执行以下功能: 定义所需的去中心化级别,即验证者的数量; (可选)定义验证器的附加要求(例如 GDPR 合规性、除了 Polygon 原生代币之外还持有其他代币等); (可选)定义削减条件。 如上所述,Stake Layer 提供了“开箱即用”的 Polygon 链去中心化,从而使这些链的团队能够专注于用例和社区,而不是基础设施。对于验证者来说,它提供了 Polygon 代币的保证奖励,以及通过从他们验证的链中收取交易费和额外代币奖励来获得额外收入流的机会。 互操作层 互操作层促进了 Polygon 生态系统内安全、无缝的跨链消息传递。它抽象了跨链通信的复杂性,并使整个 Polygon 网络对用户来说就像一条链,通过启用: 对原生以太坊资产的共享访问:跨链桥通常要求用户铸造以太坊代币的合成版本——这是用户体验的噩梦。互操作层提供了通往以太坊的共享桥梁,并允许本地以太坊资产的无缝跨链传输。 无缝可组合性:互操作层可以支持近乎即时的原子跨链交易,这是Polygon 2.0统一流动性愿景的核心部分。 互操作层扩展了 Polygon zkEVM rollup 目前使用的LxLy协议的设计及其消息队列的概念。每个Polygon链都以预定义格式维护一个本地出站消息队列,其中包含:消息(数字资产,即代币或任意消息)、目标链、目标地址和元数据。消息队列有相应的ZK证明。一旦引用特定队列的 ZK 证明在以太坊上得到验证,来自该队列的任何消息都可以由其接收链和地址安全地使用。 以此设计为基础,我们建议引入一种独一无二的聚合器组件,以进一步改进跨链交易,使它们接近即时和原子。聚合器定位于 Polygon 链和以太坊之间,并提供两项服务: 接受 ZK 证明和消息队列的表示(例如 Merkle 根); 将 ZK 证明聚合为单个 ZK 证明并将其提交给以太坊进行验证。 一旦 ZK 证明被聚合器接受,接收链就可以开始乐观地接受入站消息(知道最终的全局一致性是由 ZK 证明保证的),这使得跨链交互变得无缝。通过聚合 ZK 证明,聚合器极大地减少了用于证明验证的以太坊 Gas 消耗。 为了确保活跃性和抗审查性,聚合器应由上述公共验证器池中的 Polygon 验证器以去中心化的方式运行。 执行层 执行层使任何 Polygon 链都能够生成批量的有序交易,也称为区块。该协议层相对商品化;大多数区块链网络(以太坊、比特币等)都以类似的格式使用它。 执行层有多个组件,例如: P2P:使节点(验证者和全节点)能够发现彼此并交换消息; 共识:使验证者能够就单一世界观(即区块链)达成一致; Mempool:收集用户提交的交易并在验证器之间同步; 数据库:存储交易历史记录; 见证生成器:生成ZK证明者所需的见证数据。 鉴于该层已商品化,但实现起来相对复杂,现有的高性能实现(例如 Erigon)应尽可能重用。 验证层 证明层是一种高性能、灵活的 ZK 证明协议。它为每个 Polygon 链的所有交易(内部和外部(即跨链))生成证明。 证明层具有以下组件: 通用证明器:高性能 ZK 证明器,由 Polygon 的 ZK 研究人员开发,作为Plonky2的后继者,Plonky2 是一种递归 SNARK,它本身将证明效率的界限提高了两个数量级,并展示了 Polygon ZK 团队的专业知识。证明者提供了一个干净的接口,旨在支持任意交易类型,即状态机格式。此外,使用单个证明者可以使证明聚合和验证变得简单且非常高效。 (可选)状态机构造器:用于定义状态机的框架,由 Polygon 的 ZK 研究人员开发,作为PIL的继承者,该框架用于构建初始 Polygon zkEVM 实现。构造函数抽象了证明机制的复杂性,并允许开发人员通过易于使用的接口构造状态机。它是模块化的;允许开发人员定义可参数化的状态机,从而更轻松地构建、测试和审核大型且复杂的状态机。 状态机:对证明者正在证明的执行环境和交易格式的模拟。状态机可以使用上述构造函数来实现,也可以完全自定义,例如使用 Rust。Polygon 的 ZK 团队提供两种状态机实现 - zkEVM 和 MidenVM - 并且社区可以构建其他状态机实现(例如 zkWASM)。 证明层及其高性能、灵活的证明者提供了几个主要好处, 展望未来 在接下来的几天和几周内,我们将深入探讨 Polygon 2.0 协议层。我们将探讨它们各自如何在较低级别上工作,以及它们如何共同形成互联网价值层的独特、最佳架构。 一如既往,我们邀请社区审查此提案和即将进行的深入研究并提供反馈。让我们一起实现 Polygon 2.0! 查看更多 |