大多数硬分叉计划作为路线图的一部分,并包含社区普遍认同的更新;这通常被称为共识。然而,一些硬分叉并不总是保持共识,这导致多个不同的区块链。导致以太坊/以太坊经典分裂的事件就是这种情况。
以太坊经典
在以太坊社区的成员继续使用时间敏感的硬分叉之后,以太坊经典就出现了。2016年7月20日,在以192万的区块高度上,以太坊通过硬分叉引入了不规则的状态变化,从而退还大约360万的ether,这些以太币来自一个名为TheDAO的智能合约。
社区中的一些人不同意这种变化,认为这违反了以太坊的不变性;他们选择在以太坊经典的绰号下继续保持原有的链条。虽然分裂本身最初是意识形态的,但两个链条已经发展成为它们各自独立的实体。
去中心化的自治组织
DAO是由Slock.It创建的;一支技术精湛的开发团队,包括以前的以太坊创始成员。Slock.It将DAO视为基于社区为项目提供的资金的一种方式。其核心思想是提交提案,管理者人将管理提案,资金将从以太坊社区的投资者筹集,如果项目证明成功,那么投资者将获得一部分利润。
DAO也是以太坊token中的第一个实验之一。参与者不是直接用Ether资助项目,而是将他们的以太币交换为DAO代币,使用它们对项目资金进行投票,然后能够将它们交换为以太币。
DAOtoken能够在2016年4月5日至4月30日期间的众筹中购买,占据了当时总价值约1.5亿美元的全部以太存款的近14%。
重入Bug
6月9日,开发商PeterVessenes和Chriseth报告称,大多数基于以太坊的合约管理基金都可能容易受到可以清空合约资金的漏洞的影响。几天后斯蒂芬·塔尔报告说,DAO的代码并不容易受到彼得和克里斯描述的错误的影响。令人担忧的DAO贡献者暂时松了一口气,直到5天后,一名未知的攻击者开始使用类似于6月9日描述的漏洞利用DAO。最终,DAO攻击者从DAO中吸取了大约360万个ether。
同时,一群自称为RobinhoodGroup的志愿者开始使用相同的漏洞来提取剩余的资金。6月21日,RHG宣布他们已经获得了另外70%的DAO,约720万以太,并计划将其退还社区。RHG的快速行动和思考被给予了很多感谢和赞扬,这有助于保护社区的大部分ether。
Re-Entrancy技术
虽然PhilDaian描述了对该错误的更详细和详尽的解释,但简短的解释是可以在以太坊虚拟机上同时多次调用合约函数)。这允许DAO攻击者反复请求提取ether,并且在合约记录DAO攻击者已经提取之前,攻击者再次提取。
Re-Entrancy攻击流程
想象一下,你的银行账户中有100美元,你可以向你的银行出纳员提取任意数量的提款单。银行出纳员按顺序为你提供每张单据的金额,并且只有在所有单据结束时才会记录你的提款。如果你给他们带来三张单,每张100美元怎么办?如果你给他们带来三千个怎么办?
换句话说,流程是:
DAO攻击者要求DAO合约提取DAOtokens。在合约更新其DAO被提取的记录之前,DAO攻击者要求合约再次提取DAO。尽可能重复第二步。合约最终记录了一次DAO的提取,失去了在此期间发生的取款。
DAO硬分叉
DAO中的一想安全措施是所有提款请求都要延迟28天。这为社区提供了一个简短的时间来讨论如何处理漏洞利用。从大约6月17日到7月20日,DAO攻击者将无法将他们的DAOtoken转换为ether。
一些开发人员专注于寻找可行的解决方案,并在这么短的时间内探索了多种途径。其中包括6月24日宣布的DAO软分叉推迟DAO的退出,直到达成共识,以及7月15日宣布的DAO硬分叉,以不正常的方式扭转DAO攻击影响的状态改变。
6月28日,开发人员在DAO软分叉中发现了一个DoS漏洞,并得出结论,DAO硬分叉将是fork之路上的唯一可行选择。DAO硬分叉将把所有投资于DAO的ether转移到新的退款智能合约中,允许ether的原始所有者要求全额退款。这为返还被黑的资金提供了解决方案,但也意味着干扰网络上特定地址的余额;但他们是孤立的。在DAO的部分中也会有一些剩余的ether,称为childDAO。一组受托人将手动授权剩余的ether;当时的价值约为6-7百万美元。
随着时间的推移,多个以太坊开发团队创建了允许用户决定是否要启用此分叉的客户端。但是,客户端创建者想要决定是否选择opt-in,或选择opt-out。7月15日,Carbonvote.com上的投票开始了。7月16日,在块,它被关闭。在以太供应总票数的5.5%中,约80%的选票投票选择opt-out。选择opt-out的投票的四分之一来自单一地址。
最终决定成为选择opt-out,反对DAO硬分叉的人需要通过更改他们运行的软件中的配置选项来不分叉。
7月20日,在块1,920,000以太坊实施了DAO硬分叉,因此创建了两个以太坊,一个支持不规则的状态变化,另一个与它相对。
当硬分叉的以太坊获得了大部分采矿权时,许多人认为达成共识并且少数群体链将逐渐消失;和以前的分叉一样。尽管如此,以太坊社区的相当大一部分开始支持原来的区块链,后来被称为以太坊经典。
几天之内,几个交易所开始列出以太坊和以太坊经典。由于硬分叉的性质,所有在分拆时持有ether的以太网用户现在都在两个区块链中都持有资金,在Poloniex于7月24日列出ETC后,ETC的市场价值很快就建立了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。