在波卡平行链上实现打了兴奋剂的以太坊

2024-09-04 区块链达人

通过加入波卡平行链, ParaState 将为行业提供一个高度优化、可扩展的智能合约执行环境,并且支持当代及下一代以太坊应用,领先一步在波卡上实现打了兴奋剂的以太坊。

以太坊在波卡上的进化

以太坊无疑是目前所有公链当中应用生态最丰富的公链,但是以太坊的性能问题已被诟病了许久。以太坊创建人之一的 Gavin Wood 博士在一次采访中说道,以太坊虚拟机是一个简单、死板、代码运行较慢的沙盒环境。这导致了今天在以太坊开发上遇到的问题,如不安全的智能合约、有限的开发语言支持、缓慢的性能以及昂贵的 Gas 开销。

“The [Ethereum] platform itself is full of risk, as you would expect with a nascent technology. … It’s the price you pay for the ability to access this world-changing software in its days of inception.” – Dr. Gavin Wood, commenting on Ethereum in an interview with Unitimes in 2019

WASM

作为主要的性能提升架构

升级区块链虚拟机是解决上述问题的主要方案。WebAssembly 虚拟机成为区块链项目的主流虚拟机。WebAssembly 具有完善的行业标准,并且得到了包括主流浏览器应用提供方、云计算服务商在内的广泛支持,因而在计算机硬件、操作系统以及开发语言方面都得到了很好的支持,性能上也有极大的优化。因此 Polkadot、Cosmos(CosmWasm)、NEAR、Oasis、Solana、EOS等公链均选择了WebAssembly作为虚拟机的架构。

然而,大部分的 WebAssembly 虚拟机并不兼容目前的EVM应用,这把绝大部分开发者挡在了新公链应用开发的门外。为了解决这些问题并为以太坊开发者提供有效的途径,以太坊基金会为 EVM 应用提出了以太坊风味的 WebAseembly 虚拟机 (Ewasm)。Ewasm 并不会在 bytecode 层面对EVM兼容,但是用 Solidity 写的软件可以通过重新编译直接运行在Ewasm上。Ewasm 与 EVM 共享同样的账户和数据结构,并为外部应用提供兼容的 web3 RPC 接口。

今年早期,作为Ewasm方面唯一受Web3基金会资助的团队,Second State 将在 SSVM(Second State 虚拟机) 的基础上开发名为 pallet-ssvm 的虚拟机,将 Ewasm嵌入 Substrate 的生态,在 Substrate 上搭建 Ewasm 平台环境——ParaState。除了支持 Ewasm,平台还会在 source code 以及 bytecode 层面无缝兼容 EVM 智能合约,以此在 ParaState 平行链上为以太坊开发者提供一站式友好的开发环境。

SSVM 是行业领先的 WebAssembly 执行环境。根据 IEEE Software 发布的论文,SSVM 是目前行业内性能最优的WebAssembly 虚拟机。SSVM能够支持标准的WebAssembly 系统接口以及大规模的内存执行。通过这样的架构扩展,SSVM 可以全面支持 Ewasm 的性能提升。

波卡上的以太坊

支持EVM 的公链一般被称为以太坊兼容的公链,包括Ethereum、 Ethereum Classic、Oasis Ethereum ParaTime、RSK、 CyberMiles、Athereum、Binance Smart Chain等等。这些公链可以在API层面达成互操作性。

目前所有运行在以太坊上的应用无需对代码进行修改,就可以运行在pallet-ssvm环境中,即 ParaState 平行链上运行。一旦 ParaState 平行链拍卖成功,将会在主网上线伊始就支持目前以太坊上主流应用的嵌入,如Uniswap、Balancer等,同时也会集成波卡生态的桥协议,以期让以太坊用户能体验波卡上应用的卓越性能提升。

扩展开发者生态

基于 WebAssembly 架构,开发者可以使用 LLVM 支持的超过20种语言进行智能合约的编写。由于Solidity的诸多限制,开发者会更倾向于使用 C/C++、Go、Rust、甚至Java等更成熟的语言和有更多库(library)支持的语言来进行智能合约的开发。此外,随着区块链应用越来越细分,开发者也会使用 Domain specific languages (DSL) 来进行特定应用的开发。例如,Facebook Libra 的 MOVE 用作稳定币应用开发,Certik 的 DeepSEA 用作形式化验证的应用,以及 Digital Asset Modeling Language (DAML) 用作资产代币化等等。

WebAssembly 虚拟机能够支持定制式的开发语言特性。例如,Second State 和 Oasis Labs 共同提出了基于 Solidity 语言的扩展,以支持在智能合约中机密数据的划分。这样的语言扩展可以像 DSL 一样在基于 WebAssembly 的工具链上执行的。而 Solc 编译器与EVM不能支持这样的扩展上得到扩充。Second State 开发的 SOLL 编译器是唯一一个基于 LLVM 的 Solidity 和 YUL 语言编译器,支持将当前的

以太坊

智能合约编译并运行到 Ewasm 上。

ParaState 平行链的 Ewasm 架构是波卡生态中最有潜力融合更大的开发者社区,并且能让智能合约运行的更高效更安全。

TPS

之外的性能

众所周知以太坊的交易性能还很低,目前仅仅支持大约25 TPS。作为对比,VISA网络可以支持2000TPS。波卡是共识和计算分离的异构分片设计,基于其平行链架构至少可以支持 10000 TPS。每一条平行链如 ParaState,可以支持至少 1000+ TPS。因为大部分共识达成是由波卡relaychain验证者承担。

然而,对于智能合约平台来说,TPS并不是一个衡量性能的合适参数。需要评估的是链上的智能合约执行的速度。缺乏优化和编译设计的EVM在这方面是非常低效的。

WebAssembly有成熟的生态和工具支持,因此同样的 Solidity 代码运行在 Ewasm 上比在 EVM 上高效许多。例如,Ewasm 可以通过 JIT (Just in Time) 和 AOT (Ahead of Time) 编译器来进行优化,使得代码的编译和执行效率比 EVM 提高至少百倍。

SSVM 是效率最高的 WebAssembly VM 之一,其运用AOT在不同的CPU和操作系统架构之间进行优化。SSVM 也是目前市场上唯一兼容Ewasm的虚拟机架构。ParaState平行链将会以 pallet-ssvm 为Ewasm智能合约执行引擎,为所有 Ewasm 应用提升效率服务。

ParaState平行链不仅兼容今天的以太坊EVM应用,也支持下一代的 Ewasm 智能合约,是下一代Web3应用最优的一站式开发平台。ParaState 致力把 LLVM、WebAssembly开发者社区融入波卡生态,是 Substrate 开发框架上打了兴奋剂的以太坊。