ETH-TheDAO
约 3478 字大约 12 分钟
2021-11-29
我们说比特币实现了去中心化的货币,以太坊实现了去中心化的合约,那么既然去中心化那么好,为什么不把所用都改成去中心化呢?DAO:Decentralized Autonomous Organization
(去中心化的自制组织)这个概念就是在这种背景下产生的。
DAO
DAO,全称为Decentralized Autonomous Organization(去中心化自治组织),是一种基于区块链技术的新型组织形式。以下是DAO的一些核心特点和定义:
- 去中心化:DAO不依赖于中央管理机构,而是由成员共同管理,决策通过智能合约自动执行,无需中介或第三方干预。
- 智能合约:DAO的管理和运营规则被编码为智能合约,这些合约在区块链上运行,确保规则的透明性和不可篡改性。
- 成员治理:DAO的决策权由持有代币的成员共同掌控,所有规则和操作都被记录在区块链上,实现了高度的透明度和信任。
- 全球性与开放性:DAO不受物理世界空间限制,可以吸引全球范围内的成员参与,降低了加入的门槛。
- 自主运行:DAO在没有集中控制的情况下自主运行,通过预先编写好的智能合约来执行组织的规则和协议。
- 透明性:DAO的所有行动和资金流向都是公开透明的,任何人都可以查看,这大大降低了腐败和审查的风险。
- 集体智慧:DAO依赖于集体智慧,通过集结众人的意见转化为决策,发挥集体智能的优势。
- 适应性:DAO能够快速形成、传播且高度互动,并伴随着目标的消失而自动解散,展现出适应性。
- 技术基础:DAO以互联网基础协议、区块链技术、人工智能、大数据、物联网等为底层技术支撑。
- 治理手段:DAO采用通证激励和协同治理为治理手段,具备高度信任和高度共识、开放平等、去中心化、公开透明、自动化特征。
DAO的出现被视为人类协作史上的一次革命性进化,它代表了公司组织形态的进化版,并且是区块链技术应用的一种形式。通过这种方式,DAO有望成为应对不确定、多样、复杂环境的一种新型有效组织。
The DAO就是一个众筹的投资基金,本质是运行在以太坊上的智能合约,然后投资哪个项目呢,可以把以太币发给这个智能合约,可以换回The DAO的代币,需要决定投资哪个项目的时候,是通过大家投票决定的,手里的代币越多,投票的权重就越大。投资之后有了收益,也是按照这个智能合约中指定的制度来进行利益分配。
有些类似于DAC:Decentralized Autonomous Corporation
,去中心化公司。一般来说DAC是出于盈利目的要经营赚钱的。DAO可以是出于非盈利性质的,比如某种公益事业。
The DAO在2015年的时候开始众筹的时候,收到很大的关注的,因为以前总来没有这么民主的投资基金!一般的风投都是少数高职位的人说了算。所以在当时被称为是一种伟大的尝试。一个月的时间就筹集到了价值1.5亿美元的以太币,有的人甚至评价The DAO会超过以太坊本身。遗憾的是,The DAO没有能等到3到5年发展,一共只存活了3个月。
问题出在哪里呢。比如你是The DAO的投资者,怎么取回投资的收益,这个在The DAO的基金里进行拆分的方式实现的,叫做Split DAO
,这种拆分不是单纯的用来取回收益,也是建立子基金的方法,叫做child DAO,拆分完之后得到child DAO
。拆分的极端例子是一个child DAO里只有一个人,然后把所有的钱投给自己,这是投资者取回收益的唯一途径!它没有实现像withDraw
的方法,要想取回,只能用拆分的方法。成立一个child DAO,会把对应的以太币打到这里面,要在28天以后才能取出来。后面会看到,就是这28天的锁定期,给了以太坊社区采用补救措施的时间。拆分的理念并没有错,而且可以说是民主制度的进一步体现,民主制度并不是绝对的少数服从多数,而是也要尊重少数人选择的权利。主要问题就出在Split DAO的实现上。
看到这个就应该警觉了,正确的操作顺序是先把账户清零,然后再转账,黑客就是利用这个漏洞进行的重入攻击。The DAO是从2015年5月开始众筹的,差不多1个月的时间筹集到了价值1.5亿美元的以太币,然后黑客就利用这个重入攻击,从里面转走了5000万美元的以太币,差不多31,这件事在当时的以太坊社区引起了很大的恐慌,也引起了以太币价格的大跳水!以太坊社区对此进行了激烈的讨论,社区的意见分裂为俩派,一派认为要回滚交易,前面提到过成立的child DAO有28天的锁定期,所以黑客暂时还不能把钱取走,还有时间采取补救措施,这样能保证广大投资者的利益。另一派认为,不需要采取补救措施,因为黑客的行为并没有违法,既然code is law,规则是由代码决定的,代码中的漏洞也是代码的一部分。因为区块链的最重要的特性是不可篡改性,如果出了问题就回滚,那怎么能叫不可篡改呢。而且这次出的问题只是以太坊上运行的一个应用而已,The DAO是以太坊上运行的智能合约,以太坊本身的代码没有问题,只是上面运行的一个智能合约有漏洞。以太坊上运行的那么多那么多的智能合约,如果每个智能合约出了问题都回滚的话,那不就乱套了,还就自称什么不可篡改的,去中心化的账本呢?
以太坊的开发团队,是支持采取补救措施的,主要是这个事件的影响太大了。The DAO筹集到以太币数目已经占到当时以太币总流通量的很大一部分。如果放纵不管,这些币落入到黑客手里。套用一句美国金融危机当时的一种说法,too big too fail 大而不能倒。所以还是要补救的。
假设要采取补救措施,怎么补救?比如说从发生攻击的之前的那个区块,开始分叉,这样行不行?
这样会有什么后果,不光是黑客的攻击回滚了,上面还有很多合法的交易,都回滚了。所以这么干是不行的,要回滚的话,必须精确定位,只能是针对黑客盗取以太币的交易,正常的交易不能收到影响,这是采取补救措施的原则。
怎么操作呢?以太坊团队制定了俩步骤方案,第一步首先要锁定黑客的账户。第二步再设法把这些被盗取的以太币再退回去。
先说第一步,以太坊团队发布了软件升级,在升级的版本里增加了一条规则,凡事跟The DAO这个基金相关的账户,不允许做任何交易。这个是属于硬分叉,还是软分叉呢? 这个软件升级的本质是增加了一条判断规则,当一个节点收到一个交易之后,判断这个交易是不是合法,增加一条新的规则,新矿工挖出的区块旧矿工是认可的,因为旧矿工不知道这个新规则,但是就矿工挖出的区块,新矿工有可能不认可,所以这是一个软分叉。这个想法是挺好的,也得到很多人的支持。遗憾的是升级后的软件有一个bug,这个bug不是功能上的bug,也不是安全漏洞,而是跟汽油费相关的。 比如收到一个交易,判断是跟The DAO相关的,不允许执行,但是这个交易的汽油费要不要收取?本来是合法的,现在加入新规则是非法的,这个交易不能执行,汽油费要不要收呢? 汽油费的设计是为了Denial of Service而产生的,避免有恶意的节点不断的请求,浪费资源。以太坊的升级就是检查到非法错误的时候,没有收取汽油费。结果网上有大量的Denial Service Attack,都是这种非法的交易发起的,很多人不停的受到攻击。于是分分回滚这个升级,于是软分叉这个方案就失败了。
这种时候形势就比较严峻了。child DAO有28天的锁定期,然后黑客就能把钱取走了。软分叉的方案失败之后,剩下的时间就不多了。那怎么办呢?既然软的不行,就来硬的。。
以太坊团队采用硬分叉的方式,并且把The DAO上所有的资金强行转到另外一个新的智能合约上去,这个新的智能合约只有一个功能,就是退钱。 凡事The DAO上的账户,所有的钱不管所有者同意不同意,也不用签名,都要强行转移到新的智能合约上去,有点像是法院的强制执行。升级的软件里规定了强制执行的具体日期,挖到第192万个区块的时候,自动执行这个转账交易,不用什么签名、什么合法性检查。旧矿工是不会认可的,因为没有合法签名,是非法的,所以是硬分叉。
这个硬分叉方案提出来后,引起了非常激烈的讨论。社区本来就分成两派,这种强行重新记账的方法岂不是没有任何安全性,甚至跟中心化没有区别,开发团队发布一个软件升级就把别人的钱转走了,太流氓了吧。最后怎么办呢,投票。。以太坊团队实现了一个用智能合约投票的功能,最后是大部分人支持硬分叉。于是矿工们又升级了,人们都在等待着挖出第192万个区块的历史时刻。这次没意外,成功的补救了。
但这个故事并没有结束。当初那些反对硬分叉的人并没有因为投票结果而改变立场,他们认为首先这次投票参与的人不是很多,还有一点,投票就能说明问题么?大多数人的意见一定是对的么?那现实中发起一个投票,把那些大富豪的钱给平分了怎么样。肯定大多人都同意。硬分叉后,旧的那条链并没有消亡,只不过算力大幅度下降。还是有些矿工愿意留在旧链上去挖。过一段时间后,有些交易所,开始上市交易旧链上的以太币。
以太币的符号是ETH,硬分叉后,新的链继承了这个名称还是ETH。旧链上的被称为ETC Ethereum Classic。后来增加了chain ID才分离了。
扩展
在The DAO事件之后,确实出现了一些修复了bug、类似The DAO的新的众筹基金应用。以下是一些例子:
- ConstitutionDAO:这是一个较新的例子,它是一个去中心化的组织,旨在众筹购买一份美国宪法的初版印刷副本。ConstitutionDAO在短时间内迅速筹集了超过4500万美元,显示了DAO模式的潜力和社区的响应能力。
- 改进的安全性和协议:在The DAO事件之后,以太坊社区对智能合约的安全性有了更深的认识,并在后续的DAO项目中采取了更加严格的安全措施,包括代码审计和改进的智能合约协议,以防止类似的漏洞再次发生。
- “Rage-quitting”机制:许多新的DAO采用了“rage-quitting”机制,允许成员在特定情况下退出DAO,并按比例索取DAO资金,这有助于避免资金在DAO中被锁定的情况。
- DAO的增长和多样化:DAO的概念并没有因为The DAO事件而消失,反而得到了进一步的发展。DAOs被用于各种目的,包括慈善和盈利项目,并且它们的存在已经扩展到了区块链领域之外。
这些新的DAO应用和组织展示了从The DAO事件中吸取的教训,以及社区对于改进和创新的持续努力。尽管面临挑战和风险,DAO作为一种组织形式仍在不断发展和演变。