🚀区块链行业洞察:从航天软件开发中学到的教训

最近的 Curve 可重入漏洞利用事件让人们开始反思如何开发具有可靠性和弹性的软件。在这方面,我们可以从航天软件开发中汲取一些经验。

在航天领域,关键软件的大部分预算(80%+)并未分配给开发本身,而是分配给集成和测试。这是因为软件出现故障可能导致飞行器从天而降,造成严重后果。航天软件中的大多数代码都遵守极其严格的测试/开发标准,例如 DO-178B A 级。这意味着不仅需要测试每一行代码,而且还要针对每个逻辑条件进行专门测试。

在区块链领域,由于不可变的代码是其重要特性,我们在每笔交易中也只有一次机会正确使用我们的资金。因此,我们为什么不更认真地对待开发 dApp 这个过程呢?

尽管有严格的开发、测试和代码审计流程,但这些手段显然不足以缓解所有错误和攻击。为了保护我们的软件免遭失败,我们需要运行时保护(Runtime Protection)。运行时保护是一种安全技术,可保护软件应用程序在运行时免受恶意攻击。它的原理是在代码实际运行时进行实时检测,分析程序的实际行为以保护程序免受恶意数据和攻击的影响。

在 Web3 中,DeFi 应用程序需要同样的高可靠性,并且应该考虑同样的方法。然而,由于其潜在的限制,EVM 并不是为处理运行时保护等复杂任务而设计的。那么,我们如何提供运行时保护呢?

一种方式是通过 Aspect 编程。Aspects 由 Artela 区块链网络设计的,它能够在任何智能合约交易的生命周期内切换执行上下文,以对程序的实时状态进行高级检查。Artela 通过 Aspect 和兼容 EVM 的方式,提供运行时保护的独特设计,它有机会成为加密智能合约安全的未来基础。

大家对运行时保护在区块链行业的应用有什么看法呢?欢迎在评论区畅谈!👇