在编译器中发现可读的以太坊智能合约的错误,团队淡化关注
发布时间:2020/01/10 区块链产业 浏览:851
以太坊基金会(EF)在1月8日发布的帖子显示,由于现有版本中存在“多个严重错误”,开发人员正在研究Vyper编译器的新实现。 Vyperlang团队在回应时指出,现有的Vyper智能合约不受这些错误的影响。
Vyper是最初由Vitalik Buterin构思的以太坊的另一种编程语言。它着重于尽可能使人可读,甚至以缺少主要语言Solidity中的一些更高级功能为代价。
虽然最初是主要的以太坊(ETH)代码堆栈的一部分,但在2019年10月经过Consensys Diligence的初步审核后,它已拆分为一个独立的存储库。该报告发现Vyper编译器存在31个问题,该软件将语言翻译成以太坊虚拟机(EVM)的计算机代码。
以太坊基金会开发人员在他们的博客文章中解释了他们如何逐渐被Vyper维护者们幻灭:“经过几个月的工作,我们对python代码库能否实现Vyper承诺的想法表示怀疑。该代码库包含了大量的技术和体系结构方面的债务,从我们的角度来看,似乎现有的维护人员并未专注于解决此问题。”
甚至在报告发布之前,EF团队就开始研究基于Rust语言的新型Vyper编译器。该决定是由于增加了对EWASM的可移植性而实现的,这是一种新的虚拟机实施方案,它取代了将在Ethereum 2.0中引入的EVM。
Vyper维护者认为编译器错误并不严重
Vyper编译器中发现的错误尤为重要,这是因为其在以太坊2.0存款合同中使用,这是权益证明(PoS)系统的重要组成部分。
但是,Vyper开发人员在Twitter线程中澄清说,运行时验证对合同本身进行了单独的审核,未发现未修复的错误。它使用合同的已编译机器码进行分析,这意味着将检测到编译器引入的任何异常情况。
此外,Vyperlang团队于1月7日发布了更新,声称已修复Consensys审核中概述的75%以上的错误。
Rust和Python版本的Vyper都将继续开发,尽管EF开发人员仍然希望这两种实现都可以朝着一种Vyper语言工作,这一目标可能需要两个团队之间的密切合作。