区块链 - 去中心化自治组织

2016 年 4 月推出的去中心化自治组织 (DAO) 是一种旨在促进投资机会的智能合约。应谨慎对待"代码即法律"原则或不可变智能合约概念,因为这些想法的执行尚未达到值得绝对信任的成熟度。

在 DAO 系统被黑客入侵事件发生后,这种担忧变得显而易见,当时以太坊基金会介入,通过在以太坊区块链中实施硬分叉来停止和修改 DAO 的运营。

尽管这次硬分叉是出于正当理由而制定的,但它违背了去中心化、不变性和代码统治一切的信念的基本原则。为了应对这次硬分叉,一部分用户选择继续在原链上挖矿,从而建立了以太坊经典版。这个版本的区块链仍然是原始的、未经改变的以太坊,仍然包含 DAO,这强化了这样一种观点:在这个链上,代码仍然是最终权威。

去中心化自治组织 (DAO) 的历史

2016 年 6 月,代码中一个称为重入漏洞的漏洞导致了一次重大入侵,导致大约 360 万个 以太币(相当于约 5000 万美元)从 DAO 被盗到另一个账户。

虽然经常使用"黑客攻击"一词,但必须澄清的是,智能合约按预期运行;然而,智能合约固有的弱点让攻击者得以利用这种情况。此次事件可以视为 DAO 开发人员未曾预料到的不可预见的缺陷(错误)。

因此,此次事件促使 以太坊区块链 发生硬分叉,以便从攻击中恢复。DAO 攻击利用了 DAO 代码中的缺陷,使攻击者能够多次从 DAO 智能合约中提取代币,而合约则没有机会更新其内部状态以反映提取的代币数量。攻击者成功执行了几次提款,但最终智能合约只记录了一次提款,并且丢失了后续提款的记录。

去中心化自治组织 (DAO) 的安全问题

DAO 的安全问题在以下要点中提及 −

  • DAO 攻击凸显了未正式和彻底测试智能合约的危险。
  • 它还凸显了开发用于开发和验证智能合约的正式语言的绝对必要性。
  • 此次攻击还凸显了彻底测试的重要性,以避免 DAO 遇到的问题。过去几年,以太​​坊中发现了各种与智能合约开发语言有关的漏洞。
  • 开发一个标准框架来解决所有这些问题至关重要。

一些工作已经开始,例如在线服务提供商Securify,它提供了正式验证智能合约代码的工具。