编者按:本文来自链讯(ID: ChainNewscom),作者:Gavin Wood,由KIKO编译,经Odaily Planet Daily授权转载。
博卡的创始人加文伍德(Gavin Wood)写了一本关于平价在连接博卡和以太坊方面所做努力的新书,并重点介绍了其中的三种。
从三年前Polkadot的论文发表开始,我们就知道,与以太坊生态系统搭建桥梁,帮助扩展双方的功能,将是网络的重点之一,这一点没有改变。当然,“以太坊”在各种语境下意味着很多不同的东西,其意义很大程度上取决于意图和严格程度。不管这个词怎么用,“以太坊”至少不是指现在的“ETH主网”,这个应该很少争论。但是,有些人会断言,“以太坊”意味着排除任何其他网络,甚至是那些“官方”批准的网络。
在其他情况下,包括官方批准的后续项目/网络/分支机构(根据以太坊商标的所有者),如Shasper。其中有些还包括“非标准”分支,比如以太坊旗下最初的“经典”连锁,但也有人反对这种说法。
“以太坊企业联盟”产业集团或以太坊发展集团等组织的人普遍认为“以太坊”是一个更宽泛的概念。包括基于以太坊的原始执行引擎(EVM)及其相关开发者工具或与之兼容的任何技术,如Ethermint、Hyperledger Burrow和各种奇偶校验-PoA网络等等。
无论如何定义以太坊,奇偶校验始终致力于支持和桥接以太坊到Substrate和Polkadot。虽然我们正在使Substrate及其相关的智能合约基础设施成为世界上创建新区块链和dApp的最强大和最方便的框架,但我们绝对理解许多人喜欢在以太坊生态系统中创建,无论是基于主网络还是在更广泛的开发社区中。我们将尽力支持这些小组的建立和相互联系。
我们的承诺涉及三个不同的项目,我想花点时间解释一下:Substrate中的Boca/Ethereum公网交换桥,Substrate/Parity- Ethereum -PoA桥和Ethereum兼容的EVM智能合约执行模块。
波尔卡多/伊泰坊公路桥
第一个基本上是2016年最初Polkadot论文中假设的软件的一部分。这个想法是在以太坊的主网络上建立一个智能契约,它与Polkadot的爷爷终结小工具同步,是Polkadot的“超轻客户端”。这促进了一个非常常见的互操作性级别,主要针对以太坊链的原生令牌和预先存在的契约,它们提供了一些Polkadot中没有的关键功能。
从技术上来说,这种智能合约可以分析新的块(尤其是包含以以太坊为目的地的消息的块),并将它们转发到以太坊链。Polkadot并行链将包含以太坊的“轻客户端”,可以检查其PoW共识系统,解读智能合约回执,从而将以太坊的消息转发给Polkadot网络。
实现这些会有一些障碍,主要障碍是以太坊主网上非本地代币的气价太高。已经有一些早期的努力来创建这样的基础设施(比如ChainX)。然而,为了正常工作并且没有额外的验证者/分级经济,这将需要Polkadot的额外支持,特别是要求其验证者以以太坊固有的格式提供最终证书。Web3基金会正在积极研究和指定这一设计,并可以向希望追求成果的团队(包括但不限于奇偶技术)提供资助。
基底/奇偶校验-以太坊-PoA桥
但是对于某些项目来说,Polkadot/Ethereum的互操作性并不是很重要,因为无论如何都不会部署到主网上(由于可扩展性问题)。虽然没有部署在以太坊(1.0)的主网络上,但这些项目仍然希望与以太坊生态系统保持高度兼容,因为有很多因素包括活跃的社区、开发者工具、支持和文档,以及许多可用的服务提供商。说到底,网络处于一个令人垂涎的位置,在这里“没有人责怪你选择在以太坊写你的合同”,我们尊重这一点,并为我们参与这一创作过程而感到自豪。
为了支持这个观点,我们将引入一个从衬底到奇偶的转移桥——以太坊——PoA,它与xDAI链核心处现有的奇偶转移桥非常相似。在这种情况下,它不会将任何奇偶以太坊链连接到以太坊主网络,而是将其连接到基板模块(并将其扩展到Polkadot)。在这种情况下,以太坊-PoA链仍然需要管理自己的安全(这样,它与Cosmos的以太坊的价值主张没有太大区别)。以太坊-PoA链将使用快速Aura共识算法(或基于PBFT的较慢的“即时确定”共识),并受益于久经考验的奇偶以太坊代码库,该代码库具有多年的优化和调优功能以及各种其他企业级功能,包括秘密存储集成和契约状态加密。
在这种情况下,所需的基础设施就简单多了:我们在奇偶以太坊代码库中引入特殊的预编译协议,可以高效无状态地验证爷爷的确定性证明(消除非原生令牌的gas开销问题)。有了桥合同(将从预先存在的PoA桥奇偶校验系统改编而来)和块中继器(同上),唯一需要的额外组件是基板模块,它充当以太坊/Aura-PoA轻客户端,可以理解和转发消息。这个项目的工作已经开始,我们预计在今年年底前生产出一个原型。
因此,该项目将允许任何基于奇偶以太坊的安全私有链或PoA以太坊链完全访问同级衬底链(作为最终升级路径)或Polkadot社区(使用Polkadot的资源并与其他项目互操作)。
底物EVM
也有一些项目喜欢Substrate以及它带来的所有功能和灵活性(比如离链工人、SRML、可扩展事务、基于Rust的智能合约、元协议管理、一键升级等。),但是在某些情况下谁需要升级他们现有的Solidity代码库真的很重要。我们自己的基于WebAssembly的“承印物合同”模块及其各种工具,包括Ink!基于Rust的EDSL是我们开始做的事情,原因有很多:LLVM的WebAssembly后端意味着许多通用语言(C,C,Rust,Go等)可以很容易地用于Wasm。大量的解释器和编译器、调试器、字节码分析器和库等工具意味着开发环境可以得到极大的改善,而且有了墨迹!我们还获得了Rust语言的测试、文档和正确性功能。
此外,通过放弃五年之久的以太坊执行模型,我们不仅可以简化和加快代码库(通过消除有缺陷或过于谨慎的EVM操作代码),还可以提高执行环境中的经济效率(例如,将代码上传与实例部署分离,并引入基于押金的状态租金)。
换句话说,现实表明,有时功能、性能和清晰度必须向兼容性让步。为此,我们将推出基板EVM。这是一个衬底SRML模块,它将通过邰方兼容执行环境“本地”引入衬底。本质上,这使你的衬底链能够承载大部分以太坊状态转换功能。您可以将现有的Solidity/EVM代码部署到这个环境中。与底层其余部分的互操作性(即调用其他模块、在其他帐户之间转移资金和使用链间消息传递功能)是通过专门引入的“预编译契约”API来实现的。
可以把它想象成一个SRML模块中的整个以太坊区块链,它可以集成到您定制的区块链的其余部分,可以被称为区块链虚拟化层。这项工作已经开始,我们希望在未来几周内准备好MVP。
此外.
我们也越来越有兴趣支持现有的工作,为Solidity编译器开发一个WebAssembly后端,它与Substrate-Contracts执行模型兼容。如果实施正确,这将允许现有的Solidity智能合同(授权部署在以太坊链中)直接部署在基质-合同链中。
事实上,在这个模型中,没有什么可以阻止同一个衬底链同时拥有EVM-合同模块(用于执行原始的Solidity/EVM代码)和衬底-合同模块(用于执行Solidity/Wasm或Ink!Wasm代码)。它们可以彼此互操作,甚至可以向桥接的单一奇偶校验-以太坊链发布消息,或者如果部署为并行链,它们可以传播到包括以太坊主网络在内的更广泛的Polkadot社区!
目前,我们主要专注于开发和加强Polkadot 1.0的最终核心组件,所以我们不能总是像我们希望的那样在这些项目上花费大量的开发时间。换句话说,Polkadot存在的原因是用各种技术假设来整合不同的项目。以太坊社区是地球上最重要的开发者社区,拥有最自由的思想者和最有意义的开发。忽视这一点是短视的。经过两年的长期发展,Polkadot和Substrate的核心基础设施已经日臻成熟,我们可以真正开始考虑构建外围组件,让世界多元化,让连接链成为现实。
有关Polkadot和Substrate的更多信息,请访问Polkadot网站或Substrate网站。你可以在Github PR上查看底物SRML EVM模块的状态,或者在Github资源库中关注以太坊-PoA/底物桥的开发进度。