Shima Capital CTO:反思Curve事件,为什么我们需要Runtime Proctection?
原文作者:Carl Hua,Shima Capital 合伙人、CTO
在最近的 Curve 可重入漏洞利用之后,我回顾了我在 JPL NASA 的经历,在那里我学到了开发具备 reliable(可靠)和 resilient(弹性/韧性)软件的关键原则。对于加密行业,这些见解现在比以往任何时候都更加重要,理由如下:
归根结底,人们只真正关注两种类型的软件:可以杀死你的软件和可以让你赔钱的软件。
任何航天机器的关键软件里,大部分预算 ( 80% +) 并未分配给开发本身,而是分配给集成和测试。如果软件出现故障,飞行器就会从天而降——战斗机、无人机、航天器等。
航天软件中的大多数代码(如果被归类为关键模块)都遵守极其严格的测试/开发标准,例如 DO-178 B A 级。不仅需要测试每一行代码,而且如果有嵌套逻辑,则每个逻辑条件都是也经过专门测试。
在 JPL NASA,编写先进的航天软件的理念不是写出最漂亮、干净的代码,而是编写出容易执行单元测试的代码。为什么?很简单:当你将一艘航天器送入太空时,你只有一次机会,没有人愿意在失败的概率较大的情况下冒险。这与区块链的逻辑相同,因为不可变的代码是它们的重要特性,我们也只有一次机会在每笔交易中正确使用我们的资金,所以我们为什么不更认真地对待开发 dApp 这个过程呢?
尽管有严格的开发、测试和代码审计流程,但这些手段的显然不足以缓解所有错误和攻击,因为事实上通过测试和审计消除所有运行时错误几乎是不可能的。那么我们如何保护我们的软件免遭失败呢?
运行时保护(Runtime Protection)
运行时保护是一种安全技术,可保护软件应用程序在运行时免受恶意攻击。它的原理是在代码实际运行时进行实时检测,分析程序的实际行为以保护程序免受恶意数据和攻击的影响。
高可靠性软件的运行时保护需要花费大量的投入和设计,因为它们是确保软件不会进入未知状态或故障的最后一道防线。这不仅仅是个论点,而是几十年来经过验证的实践。
今天在 Web3 中,我认为 DeFi 应用程序需要同样的高可靠性,并且应该考虑同样的方法。然而,由于其潜在的限制,EVM 并不是为处理运行时保护等复杂任务而设计的。那么,我们如何提供运行时保护呢?
一种方式是通过 Aspect 编程,Aspects 由 Artela 区块链网络设计的,它能够在任何智能合约交易的生命周期内切换执行上下文,以对程序的实时状态进行高级检查。Artela 通过 Aspect 和兼容 EVM 的方式,提供运行时保护的独特设计,它有机会成为加密智能合约安全的未来基础。
Artela 在下面的文章中公布了 Aspects 在防止 Curve 重入攻击中的具体用法,希望一起交流!
- 1第67期 | 产业区块链一周快讯速览
- 2下周必关注|BounceBit将上线主网并空投代币;LayerZero将公布官方女巫检查结果(5.13-5.19)
- 3星球日报 | FTX债权人团体代表坚持实物赔偿;Robinhood Q1加密货币名义交易量同比增长224%至360亿美元(5月9日)
- 475亿,软银、微软、英伟达出手,自动驾驶赛道最大融资诞生
- 5特朗普要「让 NFT 再次伟大」,加密货币正成为美国大选重要议题
- 6DatologyAI 完成 5000 万美元 A 轮融资,投资者包括微软、Amplify、Radical、Elad Gil
- 7Ton生态风起,一文速览14个新一轮基金会Grant项目
- 8MIIX Capital:日本加密市场全景报告
- 9欧洲“OpenAI”叒融资6亿刀,成立1年估值60亿刀,他们只做了一件事