跨链项目 Polkadot 创始人 Gavin Wood 撰文称,区块链开发公司 Parity 和跨链项目 Polkadot 将推出虚拟机「Substrate EVM」。他称,Substrate EVM 是一个 Substrate SRML 模块,可以将以太坊兼容执行环境引入到 Substrate 中。本质上,这能让基于 Substrate 开发的区块链可以承载绝大多数以太坊状态转换功能,可以将现有的 Solidity / EVM 代码部署到此环境中。

不久前知名 DAO 项目 Aragon 因对 Polkadot 兼容以太坊进展担忧,而选择跨链项目 Cosmos 开发新链,因而 Gavin 此举可能是希望传达并没有放弃以太坊生态的意愿,安稳人心。

原文标题:《Polkadot、Substrate 和以太坊》(Polkadot, Substrate and Ethereum)
作者:Gavin Wood,跨链项目 Polkadot 创始人
翻译:KIKO

从三年前 Polkadot 论文发布以来我们就知道,与以太坊生态系统建立桥梁,以帮助扩展双方的功能将是该网络的关键点之一,这一点没有改变。当然,「以太坊」 在各种语境下意味着许多不同的东西,它的意思很大程度上取决于意图和严格性。无论这个词怎么用,「以太坊」 至少不会指代当前的 「ETH 主网」,这一点应该很少有人会争辩。但是,有人会断言,「以太坊」 意味着要排除任何其他网络,甚至包括那些 「官方」 批准的网络。

在其他情况下,它包括官方批准的(根据以太坊商标的拥有者)后续项目 / 网络 / 分支,例如 Shasper。其中一些还包括 「非规范」 分支,例如以太坊旗帜下的原始 「经典」 链,但有些人反对这种说法。

「以太坊企业联盟」 行业组或以太坊开发组等组织的人,普遍认为 「以太坊」 是一个更广泛的概念。包括基于以太坊的原始执行引擎(EVM)及其相关开发人员工具或与之兼容的任何技术,比如 Ethermint、Hyperledger Burrow 和各种 Parity-PoA 网络等,这里仅举几例。

无论如何定义以太坊,Parity 都一如既往地致力于支持和将 「以太坊」 桥接到 Substrate 和 Polkadot 。虽然我们正在将 Substrate 及其相关的智能合约基础设施,做成为世界上创造新区块链和 dApp 的最强大、用起来最方便的框架,但我们绝对理解,有很多人喜欢在以太坊生态系统中创造,无论基于主网还是在更大范围的开发社区中。我们会尽最大努力支持这些团队的建立和相互联系。

我们的承诺涉及三个不同的项目,我想花一些时间来解释:Substrate 中的波卡 / 以太坊公共网络转接桥、Substrate / Parity-以太坊-PoA 桥和以太坊兼容的 EVM 智能合约执行模块。

Polkadot / 以太坊公共桥

第一个基本上是 2016 年原始 Polkadot 论文中假定的软件的一部分。该想法是在以太坊主网上建立智能合约,该合约与 Polkadot 的 Grandpa finality 小工具保持同步,是一种 Polkadot 的 「超轻客户端」。这促进了非常普遍的互操作水平,主要是针对以太坊链的原生代币和预先存在的合同,这些合同提供了一些关键功能,而这些功能在 Polkadot 中是不可用的。

从技术上讲,这种智能合约能够分析新的区块(特别是包含发往以太坊的消息的区块)并将其转发到以太坊链中。Polkadot 平行链将包括以太坊的 「轻客户端」,能够检查其 PoW 共识系统并解释智能合约收据,从而将以太坊的消息转发到 Polkadot 网络中。

实现这些会有一些障碍,主要障碍是以太坊主网上非本地代币的 gas 价格过高。在创建这样的基础架构(如 ChainX)方面已经有了一些早期的努力。但是,要正常工作并且没有额外的验证人 /Staking 经济,这将需要 Polkadot 的额外支持,特别是要求其验证人以以太坊固有的格式提供最终性证明。Web3 基金会正在积极研究并指定为此设计,并且可以向希望追求实现结果的团队(包括但不限于 Parity Technologies)提供赠款。

Substrate/Parity-以太坊-PoA 桥

但是对于某些项目,Polkadot / 以太坊的互操作性不太重要,因为它们无论如何都将无法部署到主网(由于可伸缩性问题)。尽管没有在以太坊(1.0)主网上部署,但这些项目还是希望与以太坊生态系统保持高度兼容,因为其中包括活跃的社区、开发人员工具、支持和文档以及众多可用的服务提供商在内的众多因素。归根结底,该网络处于令人垂涎的位置,在这里 「没有人责怪你选择在以太坊上写你的合同」,对此我们感到敬意,也为我们参与了这一创造过程感到自豪。

为了支持这种观点,我们将引入一个Substrate 到 Parity-以太坊-PoA 的转接桥,这与位于 xDAI 链核心的现有 Parity 转接桥非常相似。在这种情况下,它没有将任意的 Parity 以太坊链连接到以太坊主网,而是将其连接到 Substrate 模块(并扩展为 Polkadot)。在这种情况下,以太坊-PoA 链仍将需要管理其自身的安全性(以这种方式使其与 Cosmos 的 Ethermint 的价值主张没有很大的不同)。以太坊-PoA 链将使用快速 Aura 共识算法(或较慢的基于 PBFT 的 「即时确定」 共识),并受益于久经考验的 Parity 以太坊代码库,该代码库具有多年的优化和调优功能以及各种其他企业级功能,包括秘密存储集成和合同状态加密。

在这种情况下,所需的基础架构要简单得多:我们在 Parity Ethereum 代码库中引入了一个特殊的预编译协定,该协定能够高效且无状态地验证 Grandpa 的确定证明(消除了非原生代币的 gas 成本问题)。借助桥接合同(将由 Parity 先前存在的 PoA 桥接系统改编)和区块转发器(同上),唯一需要的附加组件是充当 Ethereum / Aura-PoA 轻客户端并可以理解和转发消息的 Substrate 模块。该项目的工作已经开始,我们预计在今年年底之前会出原型。

因此,该项目将允许任何基于 Parity Ethereum 的安全私有链或 PoA 以太坊链可以完全访问同级 Substrate 链(作为最终的升级路径)或 Polkadot 社区(以使用 Polkadot 的资源并与其他项目互操作)。

Substrate EVM

还有一些项目喜欢 Substrate 以及它带来的所有功能和灵活性(例如 off-chain workers、SRML、可扩展的交易、基于 Rust 的智能合约、元协议管理、一键式升级等),但是谁需要为他们现有的 Solidity 代码库升级的路径,在某些情况下这确实是非常重要的。我们自己的基于 WebAssembly 的 「Substrate 合同」 模块及其各种工具,包括 Ink!。

基于 Rust 的 EDSL 是我们着手进行的事情,其原因有很多:LLVM 的 WebAssembly 后端意味着许多通用语言(C、C ++、Rust、Go 和其他语言)可以轻松地用于 Wasm。诸如解释器和编译器、调试器、字节码分析器和库之类的大量工具意味着可以大大改善开发环境,而且有了 Ink! 我们还获得了 Rust 语言的测试、文档和正确性功能。

此外,通过抛弃已有五年历史的以太坊执行模型,我们既可以简化和加快代码库(通过消除有缺陷或过分审慎的 EVM 操作码),又可以在执行环境中提高经济效率(例如将代码上传与实例部署分离并引入基于存款的状态租金)。

就是说,现实表明有时功能、性能和清楚程度必须在兼容性面前让步。为此,我们将推出 Substrate EVM。这是一个 Substrate SRML 模块,将以太坊兼容执行环境 「本地」 引入到 Substrate 中。本质上,这使你的 Substrate 链可以承载绝大多数以太坊状态转换功能。可以将现有的 Solidity / EVM 代码部署到此环境中。与 Substrate 其余部分的互操作(即调用其他模块,在其他帐户之间进行转账和使用链间消息传递功能)是通过专门引入的 「预编译合同」 API 进行的。

将其视为单个 SRML 模块中的整个以太坊区块链,可以集成到你的自定义区块链的其余部分中,可以称之为区块链虚拟化层。这项工作已经开始,我们还希望在未来几周内准备好 MVP。

此外…

我们也越来越有兴趣支持现有的工作,以开发用于 Solidity 编译器的 WebAssembly 后端,该后端与 Substrate-Contracts 执行模型兼容。如果正确实施,这将允许将现有的 Solidity 智能合约(已授权部署到以太坊链中)直接部署到 Substrate-Contracts 链中。

实际上,在此模型中,没有什么可以阻止同一 Substrate 链同时具有 EVM-Contracts 模块(用于执行原始 Solidity / EVM 代码)和 Substrate-Contracts 模块(用于执行 Solidity / Wasm 或 Ink!Wasm 代码)。两者之间可以互操作,甚至可以将消息发布到桥接过来的单独的 Parity-Ethereum 链上,或者如果部署为平行链,则可以传播到包括 Ethereum 主网在内的更广阔的 Polkadot 社区!

目前,我们主要关注开发和强化 Polkadot 1.0 的最终核心组件,因此,我们无法始终像我们希望的那样将大量的开发时间用于这些项目。就是说,Polkadot 的存在理由是将具有多种技术假设的截然不同的项目整合在一起。以太坊社区是地球上最重要的开发人员社区,拥有最自由的思想家和最有意义的发展 —— 忽略这一点是短视的表现。经过两年的漫长发展,Polkadot 和 Substrate 的核心基础架构已经日趋成熟,我们真的可以开始考虑构建外围部件,并使世界变得多样化,让连接链成为现实。

有关 Polkadot 和 Substrate 的更多信息,请访问 Polkadot 网站或 Substrate 网站。你可以在 Github PR 上查看 Substrate SRML EVM 模块的状态,或者在我们在 Github 存储库中跟踪 Ethereum-PoA / Substrate 桥的开发进度。

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