区块链世界的强强联手,如何让波卡完美兼容以太坊?
加入 PolkaWorld 社区,共建 Web 3.0!
2020 年 12 月 1 日 20:00,等待多时的以太坊 2.0 启动了创世区块,标志着阶段 0(信标链)正式上线,这也意味着酝酿数年的以太坊 2.0 终于迈上了正轨。
作为饱受诟病的以太坊容量问题和效率问题,似乎众多人都将希望寄托于了以太坊 2.0 的升级上,但这升级并非一蹴而就的努力,中间的完整升级时间按照之前的预估大概要 2-3 年之久,毕竟以太坊这艘“巨轮”想要转弯并没那么容易。
因此,在以太坊升级的这段时间中,恰巧容易产生更多的创新者,而人们引以自豪的波卡,便是其中一个重要的颠覆式创新者。
在波卡生态中,同样有一个扮演着类似以太坊这样提供智能合约开发功能的重要角色,也就是我们之前向大家介绍的 Plasm Network。
当然,如果是能够通俗理解 Plasm Network 的读者大概会明白,这就像在“波卡生态中再造了一个以太坊”,听起来似乎很容易理解,也很有趣,但 Plasm 仅仅是“波卡上的以太坊”吗?事实可能并非如此,毕竟站在巨人肩膀上的 Plasm 已经迈出了更大的一步。
为什么要兼容以太坊?
以太坊作为世界上第二大的区块链网络,也是最大的智能合约平台,并且许多开发者进入区块链世界通常是通过以太坊和他们的智能合约。所以很多区块链开发者都在使用以太坊智能合约以及相关的工具等。
然而,Substrate 的原生智能合约使用的是一种基于 Rust 的语言,该语言的学习成本相对来说比较高。加上 ink! ( Substrate 上的合约语言) 合约目前缺乏工具来支持 DApp 的开发,也基本没有易于使用并可以安全地将现有基于 EVM 的应用程序迁移到基于 WASM 的 Substrate 区块链的工具或应用。
因此, Plasm 要成为更好的可扩展智能合约平台之一,就必须找到一种方法,允许基于以太坊的开发者迁移到 Plasm,而不会出现任何问题。
Plasm 将在 Layer1 上支持基于 WebAssembly 的合约和以太坊虚拟机 EVM,将以太坊的兼容性引入到 Plasm 网络和波卡网络,使其成为 Polkadot 上的多虚拟机、可扩展的智能合约平台,同时支持前沿的 Layer2 解决方案。
Plasm 如何兼容以太坊?
目前,关于以太坊兼容性这个计划在通过 Solang、EVM 模块和 Frontier 实现。
1、Solang
没有人可以否认以太坊对 DApp 世界的影响,把大家已经开发出来的所有伟大的东西都抛在身后是一种浪费。到目前为止,基于 WASM 的智能合约已经被证明比最初的 EVM 具有更好的性能和可扩展性。甚至以太坊本身也在通过其 eWASM 寻求这种解决方案,我们可以有把握地说,现有的 EVM 将很快成为另一个遗留技术。
话虽如此,但是现在我们仍然有很多现有的工具和 DApp,这就是 Solang 发挥作用的地方。
Solang 是一个用 Rust 编写的惊人的编译器,它允许将 Solidity 合约编译为 WASM 二进制文件,这意味着你可以在 Plasm 网络上部署相同的 Solidity 语言的智能合约。
Solang 的创造者最近成为了 Plasm 生态成员的一部分,允许 Solidity 合约使用 Plasm 的功能。他将继续研究 Solang,并支持以太坊开发者在 Plasm 网络上部署 Solidity 智能合约。
2、EVM 模块 和 Frontier
除了基于 WASM 合约的 Solang,Plasm 团队也正在为 Plasm 网络实现 EVM 模块。不过,波卡背后的 Substrate 框架本身就有EVM模块,为什么 Plasm 团队还要努力开发 EVM 模块,而不是直接调用呢?
我们知道,Substrate 框架的一大优点是,它允许导入不同的模块(也称为 pallets),这些模块可以用于任何基于 Substrate 的区块链。EVM 模块就是这样一个模块,允许基于 Substrate 的区块链执行基于 EVM 的合约(特别是以太坊的伊斯坦布尔版本)。然而,这个模块主要关注的是将 Substrate 链信息转换为合约,而不是对完整的以太坊区块的处理。
为此,Plasm 也正在积极开发以太坊 RPC 模块,这是一个将 EVM 合约带给最终用户的模块。 这个模块允许 Substrate 链不仅公开本地 Substrate RPC(通过 Polkadot-js api 访问),而且还公开了与所有现有以太坊 95% 兼容的开发工具和库,如 Web3.js, MetaMask, Truffle 等,达到在 Plasm 上兼容以太坊所有工具的效果。
这组用于 Substrate 的以太坊 RPC 模块也是 Parity 官方开发的Frontier 层中的一部分,其目标是能够为基于 Substrate 的区块链添加完整的、未修改的以太坊功能。
对于 Plasm Network,他们正在测试网络 Dusty 上实现 EVM 模块并支持以太坊 RPC。这将允许我们不仅可以部署和执行基于 EVM 的合约,而且允许开发者使用现有的以太坊开发工具和库,包括现有的以太坊 Layer2 协议。
然而,在这个实现的过程中甚至包括实现之后,Plasm 官方也表示可能还会遇到许多障碍,因为 WASM 和 EVM 之间的兼容性不是最好的,但我们也相信,这会是一个伟大的开端 —— 成为波卡上 DApps 的中心枢纽。
兼容以太坊:成为波卡上 DApps 的中心枢纽
为什么说Plasm可以成为“波卡上 DApps 的中心枢纽”,最重要的原因在于:Plasm 在 Layer1 和 Layer2 上都支持了智能合约功能,并且可以容纳所有二层扩展的解决方案。
以太坊 DApps 平台作为第二大区块链,它每秒可以处理大约 15 个交易。VISA 每秒钟可以处理大约 1700 笔交易,支付宝每秒钟可以处理大约 256000 笔交易。对比下目前 DApps 的交易速度很慢,非常不利于新用户使用区块链技术。为了解决这个问题,目前已经提出了几个区块链可扩展性解决方案:
SegWit:通过删除签名信息并将其存储在基本交易块之外来修复交易的延展性。 状态通道:组合特定用户之间的链下交易,只有最终状态被提交到主链上。 分片:通过创建分片,允许更多的交易同时被并行处理。 Plasma:将交易存储在独立的子链中,并且只有根哈希存储在主链中。
当然,我们也可以把扩展的解决方案重心放在Layer1 和 Layer2的协调上。例如以太坊的Layer1 仅存在于以太坊主网中,而Layer2 解决方案可以结合 Layer1、Layer2 和链下的解决方案,以获得更好的性能和可扩展性。
我们普遍认为的是,交易处理需要在主网 Layer1 链之外进行,因为链上已经达到性能限制。未来,区块链模型可能会发展为 Layer1 层作为信任层,Layer2 作为交易层。
上面我们讲到 Plasm 已经在 Layer1 上支持了 EVM 和 WASM 的合约,目的是为了兼容以太坊,允许基于以太坊的开发者无缝地迁移到 Plasm 网络上。除了 Layer1 上的智能合约,Plasm 在 Layer2 上也通过 OVM (Optimistic Virtual Machine)兼容了 Plasma、闪电网络和其他 Layer 2 协议,从而做到在 Layer2 上也支持智能合约。
那么,什么是OVM呢?
OVM 是一种支持所有二层协议的虚拟机,这是所有第二层协议的统一,这意味着 Plasm 网络不仅支持 Plasma,也支持其他二层协议。
Plasm 网络将容纳所有二层扩展的解决方案,用户可以随心选择使用哪个解决方案,用最小的成本使他们的场景成为可能。
Plasm 的升级:将 Rollups 带入波卡网络
如果仅仅是兼容以太坊的功能还不足以支撑起 Plasm 网络的特殊性,就在2020 年 12 月 4 日,Plasm 正式获得来自 Web3 基金会的第 6 笔赠款。
这笔资金将用于将 ZK Rollups 引入到 Plasm 网络以及 Substrate 上。过去,Plasm 专注于实现 OVM,这是集成所有 Layer2 协议的虚拟机。你可以将 OVM 看作是用于转移资金和在 Layer1 和 Layer2 之间通信的安全层。随着 Plasm 完成 OVM,团队意识到通过 Layer2 合约执行的 ZK Rollups 可以为 Polkadot 生态系统带来的价值。
如果 Substrate EVM 和 ink! 合约都可以利用此性能,则对于 DApp 开发人员是一件很棒的事情。换句话说,Plasm Network 正在成为支持以太坊虚拟机 EVM 和 WebAssembly 的 Rollups 的智能合约平台。
正如大家所知,Plasm 一直致力于 Layer1 和 Layer2,但 Plasm 的 Layer2 解决方案主要用于代币转账。当 Plasm 正在构建一个应用程序平台时,许多人希望在 Plasm 的 Layer2 层使用智能合约,而不是代币转账。这就是为什么 Plasm 在更多地关注 Rollups,这是一种支持 Layer2 智能合约的可扩展解决方案。
就在上周,Plasm 已经成功将 ZK Rollups 合约部署到了 Plasm 网络上。
我们相信 Rollups 是杀手级的 Layer2 解决方案,一旦在 Plasm 网络上实现 ZK Rollups 和 Optmistic Rollups,Plasm 的网络将支持各种 DApps 以及一个开发环境来抽象所有这些复杂性。
Plasm 的发展期望
最后我们再总结下,Plasm 未来将支持以下功能:
以太坊的兼容性:EVM, Solidity, 以太坊工具(ECDSA, Metamask, Remix, Truffle 等) 基于 WebAssembly 的合约 (ink! 合约) Plasma OVM:支持所有 Layer2 解决方案的合约环境 ZK Rollups 和 Optimistic Rollups
基于 Plasm 这些特殊的功能和在技术端的开发能力,Plasm 除了拥有强大的兼容能力,还将在可扩展性和互操作性方方面发挥出巨大的作用,并且因为 Plasm 设计之初就预设了支持二层扩容技术,所以 Plasm 能够给波卡上面的 Layer2 带来更多的想象空间。
1、可扩展性展望
正如我们上文介绍的 Layer1 和 Layer2 一直处于“爱恨交割”之中,但Plasm 通过在代码层面早期的设计,让接入波卡的项目不用再担心扩展的问题,也不用单独自己花时间去开发 Optimistic Rollups 和 ZK Rollups 的功能,仅需要接入波卡网络,就能享受到 Plasm 带来的“共用”功能。
因此,Plasm 网络的 Layer2 可以更直接的解决可扩展性问题,这也意味着使用 Plasm 部署 DApp 可以获得更高的 TPS、更低的交易成本和更快的区块确定,而这正好修正了目前以太坊面临的问题,可以说既解决了以太坊的诟病,也给波卡网络带来了特有的智能合约。
正如 Plasm 创始人渡边创太之前分享的:理想情况下,开发者可以在 Plasm 网络上构建任何应用,而不用再考虑扩展性问题。
2、互操作性展望
前面我们提到 Plasm 采用了以太坊基金会支持的 Plasma 团队开发的虚拟机 OVM ,它支持所有 Layer2 协议的虚拟机,这意味着 Plasm 不仅可以为波卡生态提供各种智能合约服务,还能完美兼容其他类型的 Layer2 网络,这大大加强了不同区块链之间的联系,带来了更强的互操作性。
鉴于此,Plasm 将会搭建起链与链之间崭新的桥梁,Plasm 不仅可以兼容以太坊的一些协议还能兼容波卡网络,可以说 Plasm 是链接了过去与未来的“虫洞”。
作为拿过 6 次官方 Grant 的 Plasm 网络,目前也是在所有 Polkadot 生态当中唯一拿到如此多 Grant 的项目,可谓是集万千荣誉于一身。
在过去的几年中,Plasm 团队一直专注在技术领域的研发上,从最早的 Plasma 到 OVM 再到现在的 ZK Rollups,我们一路见证了 Plasm 在区块链生态中开创性的发展,并将以太坊和波卡的兼容性进一步扩大,而这将是我们在2021年更多的期待,毕竟平行链拍卖在即,让我们拭目以待!
你正在用 Substrate 开发新项目吗?
想要获得 Gavin 等重量级导师的亲自指导吗?
想成为波卡生态的下一个独角兽项目吗?
「Substrate 创业营」正在招募中,助力 Web3.0 生态创新产品的诞生和成长!点此了解详情和报名。
欢迎学习 Substrate:
https://substrate.dev/
关注 Substrate 进展:
https://github.com/paritytech/substrate
关注 Polkadot 进展:
https://github.com/paritytech/polkadot
更多内容:
Gavin Wood 讲解 Substrate 最新开发进展
DFG:Polkadot 给行业带来巨大创新 | PW 专访
第二届 Polkadot Decoded 演讲席位开放征集了!
扫码关注公众号,回复 “1” 加入波卡群
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!