原文标题:《NEAR公布EVM发布计划,诸多亮点不容错过》
NEAR协议引入EVMRuntime支持对那些寻求替代链的以太坊开发者来说将会是一个重大变化。研究这一方案主要是因为以太坊缺少有效的扩容方案造成gas费十分高昂。与以太坊相比,NEAREVMRuntime做了大量改进:
EVM费用将比以太坊便宜1000~10000倍EVMRuntime能够处理的交易吞吐量将是以太坊当前的10倍左右NEAR交易的最终确认时间需要2个区块的确认,这比以太坊一个区块的确认时间都要低很多为了防止随着DApp生态的增长,单一的EVMRuntime无法适应这一情况,NEAR的分片方法可增加EVMRuntime的数量。每个EVMRuntime都相当于以太坊1.0,它们之间的连接将使用异步调用执行。完整的、不打折扣的以太坊兼容性,基于去中心化的PoSLayer1协议
上述内容意味着NEAREVM将会解决以太坊生态当前及未来所面临的计算难题,现有的智能合约和前端代码的工程实现都无须更改。本文旨在向大家阐明NEAREVM架构和协议的预期变化。我们也计划在最终的主网发布之前利用本文收集EVM测试的一些需求。
对EVM2021第一季度路线图感兴趣的用户,可访问以下链接查看:链接1、链接2
EVM架构
最近几周我们做了一项重要决定,计划将大部分EVM执行移至合约级别,这意味着什么呢?
EVMRuntime在NEAR协议的介入将会大大减少。将EVM作为预编译会带来很多痛点,很多人在EVM基础通证的讨论中已经指出了这一点。将大部分代码设置为合约级别将会简化EVMRuntime早期的维护、升级和治理工作,系统对任何安全漏洞也能做出更快速的反应。尽管EVM治理和可升级性办法尚未最终确定,但彩虹桥在绝大多数情况下是可用的。NEAREVM当前的架构情况如下:
EVM智能合约实现了两个主要接口:执行和通证。执行接口允许用户发送普通的以太坊交易。这些交易会在EVMRuntime中被解码、验证和执行。假如智能合约达不到预期性能的话,EVMRuntime允许的操作可能会转移至NEAR协议级别。
比如,在协议级别,sha256()和keccak256()预编译已经可用了。在需要额外的预编译的情况下,NEAR验证节点会被建议进行协议升级。我们会在完成足够的负载测试后,收集需要的预编译相关信息。
根据讨论结果,在EVM基础通证方面,EVMRuntime将会使用Ether维持原生余额。这意味着用户在向NEAREVM发送任何其他交易之前,应该使用彩虹桥工具将他的ETH转移至NEAR。为了避免对用户造成困扰,我们决定EVM合约将会实现一个同质化通证接口,用来代表NEAR基础Runtime以及EVMRuntime中的用户的ETH余额。
此外,用户能够向NEAR充值和提取ETH,我们会实现独立的彩虹桥连接器接口来支持这一操作。从底层看,该接口会与核心的彩虹桥合约沟通。更多内容可参见彩虹桥架构。
EVM合约代码和周边工具可在NEAREVM代码库中找到。通证接口目前在彩虹桥连接器中实现。不过,当开发完成后,该接口将会被并入NEAREVM代码库。
使用ETH支付gas费
用户如何使用以太坊支付交易执行费用是NEAREVM设计中很重要的一个方面。相关方法如下:
为了帮助了解NEARRuntime中的ETHgas费,我们使用了eth_gasPrice的JSON-RPC端点,返回值将被用于未来给RPC节点的ETH费用的计算用户使用工具对普通的以太坊交易进行签名,并将其发送至RPC。RPC将以太坊交易打包成NEAR交易并将其发送到EVM合约。在协议层面,RPC签名被确认,初始的以太坊交易被传递给EVM合约EVM合约解析并执行以太坊交易,同时计算EVMgas使用情况。在以太坊交易执行结束时,一些NEARgas已经被销毁,ETHgas仅仅是EVM合约中的一个计算得到的数字。为了支付NEARgas费,ETH会被使用:EVM合约计算交易费并将其由用户账户转移至RPC账户。从用户角度看,该方法仅仅是支付ETH给协议,不过事实上被用于计算的是NEAR通证,RPC节点在用户和NEAR区块链之间扮演的是代理/中继者的角色。
需要注意的是,作为第一步,RPC将能够提供足够支付中继服务费用的ETHgas价格。此外,用户将能够根据多个RPC节点的响应,决定使用哪个节点。未来中继服务将会被结构化,操作原理与OpenGSN类似。有关将ETH作为基础通证的更多信息,可访问以下链接。
上线计划
NEAREVM团队的现有目标是在3月结束前在NEAR测试网上线一个全面运转的EVM版本。该版本将包括全部功能,包括ETH彩虹桥、RPC代理、EVMRuntime执行环境。我们还计划使用一种被称为‘EVMBully’的定制工具对NEAREVM进行压力测试。该工具可以记录以太坊链上的交易,并将每笔交易在EVM合约上重新执行。
以下内容将不会在第一季度被完成:
高级的可升级性和治理计划广泛的测试和稳定的代码版本额外的预编译由第三方进行的有赏金支持的大量测试尽管在主网发布EVM完全取决于部署方——可以是任何人,因为代码是开源的,我们仍然希望能够从验证节点和社区那里收集需求和指标。我们会使用这些需求对合约进行微调,最终发布一个可以满足社区需求的版本。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。