根据以太坊联合创始人Vitalik Buterin的说法,优先考虑安全性的开发人员可以期待在2030年代实现无错误编码。
在Gnosis Chain为了追回Balancer黑客攻击中的940万美元而进行有争议的硬分叉之后,以太坊联合创始人Vitalik Buterin表示,"错误是不可避免的,你无法编写无错误代码"的观念将在2030年代不再成立。
Vitalik Buterin对编码有何看法?
Vitalik Buterin通过在社交媒体平台X上的互动预测,无错误代码将在2030年代成为现实。
讨论始于Gnosis Chain宣布于12月22日执行硬分叉,正如Cryptopolitan所报道的那样。该硬分叉追回了2024年11月Balancer漏洞利用期间被盗的940万美元,该漏洞在多个区块链上总共流失了超过1.28亿美元。追回过程需要大多数验证者采用新软件,而那些未能更新的人正面临处罚。
这当然遭到了一些区块链支持者的抵制,他们批评这一举动违背了不可变性原则。一位昵称为'colluding node'的X用户表示,真正的问题在于区块链应用程序的构建方式。他们认为在可编程虚拟机中使用智能合约是错误的方法。
"只有7个合约值得编写,它们应该被供奉在基础层中,并从客户端多样性中获得安全性,"该用户写道。
Buterin随后回应澄清,形式化验证并不等于可证明无错误。他进一步指出,可证明无错误的代码甚至可能是不可能的。
"我甚至可以说'可证明无错误'是不可能的,因为'无错误'意味着'意图与代码执行之间没有差距',而我们的意图是一个极其复杂的对象,我们只能有限地接触到它。"
形式化验证使用数学方法来检查安全关键系统是否正确运行。该技术自1960年代以来一直用于航空航天工程等领域。
当用于智能合约时,形式化验证可以证明合约的业务逻辑符合预定义的规范;然而,尽管Balancer合约经过了11次审计,由四家不同的安全公司进行,但一个关键漏洞仍然漏网。
无错误代码的未来可能吗?
Buterin提出,解决方案是多层冗余来过滤意图与执行之间的差距。他指出类型系统是冗余的一种形式,而形式化验证代码的特定声明是另一层。
形式化验证可以检测整数下溢和溢出、重入以及可能被审计员和测试人员忽略的不良gas优化等问题。同时,传统测试只能检查错误的存在而不是其不存在。
Buterin指出,某些软件将继续存在错误,因为在某些情况下功能增益比完美更重要。但优先考虑安全性的开发人员将拥有实现真正无错误代码的工具。
通过指导和每日想法磨练您的策略 – 30天免费访问我们的交易计划
来源: https://www.cryptopolitan.com/vitalik-predicts-bug-free-smart-contracts/


