
今天圈子里炸锅了——The DAO 被黑了。就在昨天,有人发现 The DAO 的智能合约有漏洞,被人钻了空子,盗走了大量以太币。这事儿今天一整天都在刷屏,我也来好好聊聊。
到底发生了什么
先给不了解情况的人捋一下。The DAO 是什么?就是我之前文章里聊过的那个”去中心化投资基金”——它是建在以太坊上的智能合约,大家往里面投以太币,然后投票决定投资什么项目。
这个项目上线之后,吸引了大量资金——总共募集了超过 1100 万个以太币,按当时的价格算,价值超过 1.5 亿美元。这在当时是一个天文数字,所以大家都很关注。
但就在昨天,有人发现 The DAO 的智能合约有一个漏洞。这个漏洞叫”重入漏洞”——简单说,就是合约在处理转账的时候,没有正确地更新余额,导致攻击者可以反复调用转账函数,一次又一次地把钱转走。
结果就是,攻击者利用这个漏洞,从 The DAO 里盗走了大约 360 万个以太币。这个数字,按当时的价格算,大约是 5000 多万美元。一夜之间,半个 The DAO 的钱就没了。
这事儿怎么发现的
这事儿不是攻击者自己宣布的,而是社区里的人发现的。最早发现异常的是一些研究者——他们注意到 The DAO 的资金在不正常地流动,然后顺着线索查下去,发现有人在利用漏洞反复提款。
发现之后,社区马上就炸锅了。大家先是赶紧想办法能不能阻止资金被转走——有人提议紧急硬分叉,有人提议冻结合约,有人提议追回资金。但问题是,智能合约一旦部署上去,就是”铁律”——谁也改不了。你想改,就只能硬分叉整个以太坊网络。
这就陷入了一个两难:如果不改,那被盗的钱就真的没了;如果硬分叉,那又违背了”代码即法律”的原则——合约写好了就不能改,这是区块链的基本精神。
现在的情况
现在的情况是这样的:被盗的资金被攻击者转移到了一个”子 DAO”里。按照 The DAO 的规则,资金转移之后有一个等待期——大约 27 天,期间不能提取。这意味着,攻击者现在还拿不到这笔钱,他得等 27 天才能提走。
这就给了社区一个窗口期——在这 27 天里,大家可以想办法把这笔钱追回来。怎么追?最直接的办法就是硬分叉——改以太坊的规则,把被盗的资金退回来。但硬分叉是个大决定,不是说做就能做的。
现在整个社区都在争论:到底该不该硬分叉?如果分叉了,是不是就打破了”代码不可篡改”的原则?如果不分叉,那被盗的钱怎么办?这个争论,现在还没有结论。
我怎么看这个事
这个事,我觉得是一个教训。它告诉我们,智能合约不是万能的——代码写得再好,也可能有漏洞。你觉得完美的东西,别人可能一眼就看出破绽,这就是现实。
The DAO 的开发者,当初觉得自己的代码是安全的。他们做了审计,做了测试,但还是漏了这个重入漏洞。这说明什么?说明写代码这事儿,永远不能说”我觉得没问题”。你觉得没问题的地方,别人可能一眼就看出问题,这就是教训。
而且,这个事也暴露了智能合约的一个根本矛盾:代码到底能不能改?如果代码出了问题,我们能不能硬分叉去改?如果改了,那”代码即法律”的原则就破了;如果不改,那出了问题谁负责?这个矛盾,现在还没有答案。
这个问题,现在没有标准答案。但不管最后怎么决定,我觉得有一点是肯定的:智能合约这个东西,还很年轻,还很不成熟。它会出问题,会犯错,会让大家吃亏。但这不代表它没前途——只是说明,它还需要时间来成长,急不得。
对以太坊意味着什么
这个事对以太坊来说,是一个很大的考验。以太坊刚火起来,就出了这么大的事。这会不会打击大家对以太坊的信心?
我觉得,短期来看,肯定会有影响。大家会担心:以太坊上的智能合约,是不是都不安全?是不是随时可能出问题?这种担心,是很正常的,换谁都会担心。
但长期来看,我觉得这不一定是坏事。因为这个问题暴露出来了,大家就会去解决它。以后的智能合约,会更安全、更严谨、更完善。这次的教训,会让整个行业变得更好,这是好事。
而且,这个事也逼大家去思考:智能合约到底应该怎么设计?怎么才能避免类似的漏洞?这些问题,以前大家可能没想这么深。但现在出了事,大家就会认真去想。这也是一种进步,是好事。
这事儿给我们什么教训
The DAO 被黑,给我们的教训是什么?我觉得有这么几条,每一条都值得好好记下来。
第一,代码不是完美的。你觉得安全的代码,别人可能一眼就看出漏洞。永远不要觉得自己的代码是”绝对安全”的——这种想法本身就很危险。
第二,智能合约出了问题,怎么补救?这是一个根本问题。如果代码出了错,我们能不能改?如果能改,那”代码即法律”就破了;如果不能改,那出了问题谁负责?这个问题,现在没有标准答案,但它是我们必须面对的。
第三,去中心化的代价是什么?去中心化意味着没有中心机构来兜底。如果出了问题,没有人来救你。这是去中心化的代价——你享受了去中心化的好处,也要承担去中心化的风险。
普通人现在该怎么办
有人可能会问:我就是个普通人,这事儿跟我有什么关系?我该怎么办?
我的建议是:别慌。虽然 The DAO 被黑了,但这不代表整个区块链行业都完了。这只是一个项目出了问题,不是整个技术出了问题,别搞混了。
而且,被盗的资金现在还在”等待期”里——攻击者还拿不到钱。社区还有时间来想办法补救。最后会怎么样,还不好说。
我建议大家理性看待这个事。不要一看到出事就恐慌抛售,也不要觉得区块链都是骗局。这个行业还很年轻,出问题是正常的。重要的是,出了问题之后,我们能不能从中学到东西,能不能让这个行业变得更好,这才是关键。
写在最后
The DAO 被黑,是这个圈子里的一个大事件。它暴露了智能合约的问题,也逼大家去思考未来的方向。我会接着关注这个事的发展——被盗的钱能不能追回来?社区最后会怎么决定?我会持续关注,有什么新情况再跟大家好好聊聊。
这个行业还很年轻,年轻到连规则都没定下来。但越是这样,越值得我们这些蹲在里面的人,认真去看、去想、去写。我会一直在这儿,陪着大家一起看下去,慢慢来,不着急。
0 条评论
还没有评论,快来抢沙发吧!
发表评论