区块链 DAO 怎么实现?DAO 在区块链上如何构建和部署?

文章导读
Previous Quiz Next 去中心化自治组织 (DAO) 于 2016 年 4 月推出,它作为一个智能合约运行,旨在促进投资机会。“代码即法律”这一原则或不可变智能合约的概念应谨慎对待,因为这些理念的执行尚未达到值得绝对信任的成熟度。
📋 目录
  1. A 去中心化自治组织 (DAO) 的历史
  2. B 去中心化自治组织 (DAO) 的安全问题
A A

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



Previous
Quiz
Next

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

在 DAO 遭受黑客入侵事件后,这种担忧变得显而易见,当时 Ethereum 基金会通过在 Ethereum 区块链上实施 硬分叉 来干预、停止并修改 DAO 的运行。

尽管此次硬分叉出于正当理由实施,但它违背了去中心化、不可变性和代码至上的基本原则。作为对此硬分叉的回应,一部分用户选择继续在原始链上挖矿,从而建立了 Ethereum Classic。这个区块链版本仍是原始、未更改的 Ethereum,仍然包含 DAO,这强化了在该链上代码仍是最终权威的理念。

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

2016 年 6 月,代码中的一个名为 重入漏洞 (reentrancy bug) 的漏洞导致重大安全事件,黑客窃取了大约 360 万 ether,相当于约 5000 万美元,从 DAO 转移到另一个账户。

虽然常用“被黑”一词,但需要澄清的是,智能合约按预期运行;然而,智能合约的固有弱点让攻击者得以利用。这一事件可视为 DAO 开发者未预料到的意外缺陷(一个 bug)。

因此,此事件引发了 Ethereum 区块链 的硬分叉,以实现攻击后的恢复。DAO 攻击利用了 DAO 代码中的一个缺陷,使攻击者能够在合约更新其内部状态以反映提取的代币数量之前多次从 DAO 智能合约中提取代币。攻击者成功执行了多次提取,但最终智能合约仅记录了一次提取,并丢失了对后续提取的跟踪。

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

DAO 的安全问题如下列 bullet points 所述 −

  • DAO 攻击突显了未对智能合约进行正式和彻底测试的危险。
  • 它还强调了开发用于智能合约开发和验证的正式语言的绝对必要性。
  • 该攻击还突显了彻底测试的重要性,以避免 DAO 经历的问题。近年来,在 Ethereum 的智能合约开发语言中发现了各种漏洞。
  • 开发一个标准框架来解决所有这些问题至关重要。

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