以太坊联合创始人 Vitalik Buterin 就智能合约的未来发表了大胆的声明,他断言,重视安全性的开发者有望在 2030 年代实现零缺陷代码。此番言论是在备受争议的 Gnosis Chain 硬分叉之后发表的,该硬分叉旨在追回 Balancer 黑客事件中被盗的 940 万美元。
代码缺陷:不可避免还是必然?
Buterin 强调,未来将不再能断言“缺陷不可避免”或“编写零缺陷代码是不可能的”。他认为,随着技术和软件开发方法的不断发展,代码缺陷将成为例外,而非普遍现象。
多级冗余作为一种解决方案
Buterin 指出,多级冗余是实现这一目标的突破性解决方案之一。这种方法有助于消除开发者意图与实际代码实现之间的差距。他举例说明了类型系统,它可以帮助我们在开发早期识别错误;此外,他还提到了对代码特定断言的形式化验证,这可以作为额外的保护层。
形式化验证可以识别诸如整数截断和溢出、重入以及低效的 gas 优化等问题。这些问题可能会被审计人员和测试人员忽略,因此形式化验证是确保智能合约安全性的重要工具。
传统测试及其局限性
Buterin 还指出,传统的软件测试只能检查错误,但不能保证完全没有错误。这凸显了实施更高级的代码验证方法的必要性,这些方法可以提供更高的可靠性。
功能性与完美性
尽管 Buterin 的预测较为乐观,但他承认某些程序中仍然会出现 bug。在某些情况下,功能性可能比完美性更重要,开发人员必须在两者之间找到平衡。然而,那些将安全性放在首位的人将拥有创建真正无漏洞代码的工具。
结论
Vitalik Buterin 对智能合约的未来充满信心,他预测随着技术和开发方法的进步,代码漏洞将变得极其罕见。多层冗余和形式化验证可以成为实现这一目标的关键工具,从而确保数字资产领域的安全性和可靠性。