原文作者:Carl Hua,Shima Capital 合伙人、CTO 在最近的 Curve 可重入漏洞利用之后,我回顾了我在 JPL NASA 的经历,在那里我学到了开发具备 reliable(可靠)和 resilient(弹性/韧性)软件的关键原则。对于加密行业,这些见解现在比以往任何时候都更加重要,理由如下: 归根结底,人们只真正关注两种类型的软件:可以杀死你的软件和可以让你赔钱的软件。 任何航天机器的关键软件里,大部分预算 (80%+) 并未分配给开发本身,而是分配给集成和测试。如果软件出现故障,飞行器就会从天而降——战斗机、无人机、航天器等。 航天软件中的大多数代码(如果被归类为关键模块)都遵守极其严格的测试/开发标准,例如 DO-178B A 级。不仅需要测试每一行代码,而且如果有嵌套逻辑,则每个逻辑条件都是也经过专门测试。 在 JPL NASA,编写先进的航天软件的理念不是写出最漂亮、干净的代码,而是编写出容易执行单元测试的代码。为什么?很简单:当你将一艘航天器送入太空时,你只有一次机会,没有人愿意在失败的概率较大的情况下冒险。这与区块链的逻辑相同,因为不可变的代码是它们的重要特性,我们也只有一次机会在每笔交易中正确使用我们的资金,所以我们为什么不更认真地对待开发 dApp 这个过程呢? 尽管有严格的开发、测试和代码审计流程,但这些手段的显然不足以缓解所有错误和攻击,因为事实上通过测试和审计消除所有运行时错误几乎是不可能的。那么我们如何保护我们的软件免遭失败呢? 运行时保护(Runtime Protection) 运行时保护是一种安全技术,可保护软件应用程序在运行时免受恶意攻击。它的原理是在代码实际运行时进行实时检测,分析程序的实际行为以保护程序免受恶意数据和攻击的影响。 高可靠性软件的运行时保护需要花费大量的投入和设计,因为它们是确保软件不会进入未知状态或故障的最后一道防线。这不仅仅是个论点,而是几十年来经过验证的实践。 今天在 Web3 中,我认为 DeFi 应用程序需要同样的高可靠性,并且应该考虑同样的方法。然而,由于其潜在的限制,EVM 并不是为处理运行时保护等复杂任务而设计的。那么,我们如何提供运行时保护呢? 一种方式是通过 Aspect 编程,Aspects 由 Artela 区块链网络设计的,它能够在任何智能合约交易的生命周期内切换执行上下文,以对程序的实时状态进行高级检查。Artela 通过 Aspect 和兼容 EVM 的方式,提供运行时保护的独特设计,它有机会成为加密智能合约安全的未来基础。 查看更多 —- 编译者/作者:金色财经 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
ShimaCapitalCTO的Curve反思:为什么我们需要RuntimeProctection和Aspect
2023-08-22 金色财经 来源:区块链网络
LOADING...
相关阅读:
- 冷却的市场下如何捕捉回暖信号并熬过寒冬2023-08-16
- SEC主席瞄准AI人工智能代币可能面临双重审查风险2023-08-16
- DePIN:真实世界与区块链的桥梁2023-08-14
- MatterLabs共识负责人致JonCharbonneau的公开信:关于Rollup的一些想法2023-08-09
- 慢雾:起底假充值攻击如何突破交易所的层层防御2023-07-27