

Vitalik Buterin指出,形式化验证能够通过数学手段证明软件符合既定的安全要求,从而改变过去仅依赖漏洞发现的传统模式。他认为,人工智能(AI)的应用将使涵盖数据库、网络、缓存等组件的全程序验证变得更加切实可行。这一方法有望显著提升以太坊在消息协议、SNARKs(简洁非交互式知识论证)、沙箱环境及隐私保护系统等方面的安全性。
Buterin强调,证明一个程序是安全的,首要任务是明确“安全”的具体含义。他以Signal应用为例,指出单纯的加密技术并不能覆盖所有的安全隐患。完整的安全定义应当包括防止消息伪造、确保消息送达、抵御重放攻击、防范设备被入侵以及密钥泄露等多个维度。
此外,硬件本身也可能通过物理信号泄露信息。例如,消息的大小、发送者的身份标识以及通信的时间间隔等细节,都可能成为信息泄露的渠道。这些复杂的细节可能导致安全定义的代码量超过一千行。但Buterin表示,相较于庞大的实现代码,明确且精简的安全定义为验证工作提供了更小且更精准的目标。
Buterin认为,AI技术的进步将使全程序验证更具实践意义。历史上,由于验证工作需要投入巨大的精力,开发者通常只对自己标记为“安全关键”的代码部分进行验证。而现在,他主张开发者应当对整个程序进行验证,这包括数据库、网络层和缓存层在内的所有组件。
这种方法的根本目标在于:不再仅仅依赖防守方去发现漏洞,而是通过证明软件满足预定的安全需求来增强其韧性。Buterin指出,当不同群体建立各自独立的安全要求时,这些定义也可以进行组合。如果两个定义无法共存,开发者可以隔离出底层的设计冲突。不过,他也承认,某些用户界面在处理验证方面仍然存在难度。
Buterin特别指出了消息传递协议、沙箱环境、SNARKs以及全同态加密等领域,在这些领域中,上述验证理念的差异显得尤为重要。他将这种方法与以太坊的发展方向联系起来,强调区块链需要更强的软件安全性,特别是在追求可扩展性和隐私保护的系统层面。
他的核心论点在于以数学验证为基础,而非单纯依赖漏洞挖掘。Buterin还提到,验证的范围不能局限于选定的代码片段,而需要严谨的定义工作与持续的验证实施相结合。他重申,AI可以帮助处理这一过程中的庞大工作量,确保对数据库、网络、缓存及其他关键组件的全面覆盖。
声明:文章不代表币圈网立场和观点,不构成本站任何投资建议。内容仅供参考!
免责声明:本站所有内容仅供用户学习和研究,不构成任何投资建议.不对任何信息而导致的任何损失负责.谨慎使用相关数据和内容,并自行承担所带来的一切风险.