[译] 什么是“暂停 DAO”的提案,以及为什么要支持它?

译者注: The DAO 毫无疑问是一个伟大的民主实验,但是就像任何幼弱时期的民主制度一样,DAO 目前仍然处于早期,存在很多问题,还需要不断的发展和完善。

这篇文章距离 “暂停 DAO” 的提案投票截止期所剩的时间不多(2016–06–11 19:31:34 UTC),所以这篇文章可能无法对该提案产生什么影响,但是我仍然觉得有必要翻译出来,让更多人理解这场“暂停 DAO”的提案的来龙去脉,如何解读针对 DAO 的潜在攻击,以及尽可能解答针对 DAO 的质疑。如果你是一个 DAO Token 持有者,你应该担负怎样的职责等内容。

暂停 DAO 提案和可能的攻击方式介绍

Do not Disturb: Curating in Progress

5月27日,Vlad Zamfir 在 DAOhub 论坛上发了一个帖子并指出支持“暂停 DAO“的提案是很有必要的,可以保护 DAO Token 持有人防范倾向投赞成票以及减缓其他基于博弈论类型的攻击。

他和 Dino Mark,以及 Emin Gun Sirer 在其他社区的帮助下审查了 The DAO 项目的源码,并且这次代码审查主要从博弈论角度分析 DAO 的参与机制设计。这次审计结果以一篇博客文章在线文档发布出来,在文档内描述了几种可能的攻击方式以及可行的解决方案。

在这里不会详细解释每种攻击方式的细节,比如被攻击的概率或者可能的损失,如果你希望了解这方面的细节,建议直接去审计和研究源码。我们非常希望给 DTH (DAO Token 持有人)做详细的风险矩阵分析,给出详尽的结论来帮助 DTH 作出稳妥的判断是否暂停 DAO,而无需大家去要去耗费时间精力研究技术文档和白皮书中的细节,但是这样并没有必要,所以我们尽量通过一些简单到外行也能理解的摘要来解释每一种攻击方式

1. 倾向投赞成票和抑制投反对票

DAO 缺失某种激励方式去激励投票者投赞成票或者反对票。如果在投票期间,投票者的 Token 会处于锁定状态,如果提案被通过的话,即使投了反对票也会被强制支付。如果投票者选择不投票的话,那么他在提案通过前通过分割资金的方式将本金提走。

2. 跟踪攻击

跟踪攻击近期已经被讨论很多,其从本质上讲是在分隔期间,攻击者可以通过加入分割出来的 DAO 的方式阻止提取资金,但是这需要攻击者本身投入 Token 数量占据主要优势的时候才可以发起,这也会给攻击者带来一些经济上的风险。Slock.it 写了一篇很长的文章解释如何预防跟踪攻击,但是这个机制是被批评最多的一个。

3. 埋伏攻击

埋伏攻击(又被称为最后一刻攻击)是建立在抑制投反对票的基础上,这里很适合用一个例子来解释:一个非常糟糕的提案还有两个小时就要到投票截止期了,投票率为15%,其中投赞成和反对的各占一半,理性的 DTH 此刻并没有强烈的意愿去投反对票,因为投票率没有达到规定的比率,在最后一分钟的时候,一个占大比例的投票者加入并投了赞成票(比如此投票者是该提案的获益者),此刻由于时间原因导致大部分其他 DTH 来不及察觉到攻击,并及时作出响应。

4. Token 价格攻击

Token 价格攻击采用直接影响 DAO Token 的价格的方式直接获利(如空头或者看跌期权),比如通过公开市场直接抛售大量的 DAO Token 来实现攻击,这种攻击方式可以由攻击者直接通过市场方式执行,也可以联合其他攻击共同执行,或者在社交媒体公开宣布(或者造谣)的方式攻击。

5. extraBalance 攻击

攻击者会通过各种办法让更多的 Token 持有人通过分割资金的方式提取本金,这样会让剩余的 Token 由于有 extraBalance 的存在而升值。

6. 多数分裂劫持攻击

多数劫持攻击的攻击者必须是占多数 Token 比例的持有者,白皮书上介绍了这种攻击和对策,占比多数 Token 的持有者可以确保对他们有利的提案 100% 被通过,为了防御这种攻击采取的办法是引入监管人角色,由监管人确保这种提案不会被放置到白名单上。

多数分裂劫持攻击的原理是,多个有害的提案被踢出,并且每个提案只影响部分基金,在这样的攻击方式下,监管人很难采取有效的措施检测和干预。

7. 稀释回报

另外一种潜在的攻击方式是稀释支付给 split 后剩余 Token 持有人的的股息。比如通过循环投资的方式,或者发行新的分红 Token 的方式去稀释早期投资的收益。这种攻击源于收益的计算要包括维护支出,内部转换,以及对单一提案的原始投资。

提案需要监管人的参与才能发起,但是监管人出于善意发起的提案可能会包含对资金的重新分配,或者合约的执行结果低于预期,甚至可能直接将提案中的资金作为奖励返还给攻击者。

8. 无风险投票

Token 持有人可以对一个提案投票,但并不意味着一定会投资这个提案,这里存在可以根据策略行为发起其他攻击的可能,比如,攻击者以常规方式投票,但是当投票期结束后,在合约被正式执行前,通过调用合约的 unblockMe 并分割资金,这样攻击者可以无风险的方式将自己的资金从投票中全部撤出,并通过让其他投票者相信攻击者的大额投票仍然留存在提案中的方式,去锁定其他投资者的资金去施行对自己有利的提案。这种攻击方式并非没有风险,因为解锁和分割必须非常及时,否则可能导致解锁失败,所以这种攻击依赖攻击者对时间的精确把控。

9. 并行提案陷阱

这是一种通过阻塞其他的 Token 持有人分割资金的一种攻击方式,具体做法是先发起一个投票周期较长的提案,与此同时,攻击者同时发起一个投票期相对较短,且对自己有利的提案,参与了投票期较长的 Token 持有人无法在此期间分割资金,为了保护自己的资金安全,被迫参与到投票期较短的提案中。

10. 独立性假设

独立性假设是指 DAO 设计上的某种缺陷,即不需要某种决策过程就可以直接接受有依赖关系的提案。

暂停能否让 DAO 更安全?

关于这方面的讨论仍然在继续,Alex van de Sande 总结了三种可能的措施可以在暂停期间被采纳,同时论坛上也有相关的讨论和建议。

1. 派生 DAO

派生 DAO 的方案目前仍然是 Alex 一个主意,这个主意最初是他在 Reddit 上发起的一个题为 “I’ve been convinced there are technical reasons that make mini-DAOs impractical.” 的讨论,所以我们在这里就不继续展开了。

2. 合约全面升级

合约全面升级意味着一整套新版本的 DAO 合约代码开发,测试并部署,然后旧版本的 DAO 会迁移到新版本上。实施这项操作需要超过 53.3% 的赞成投票才能施行。

3. 标准提案

监管人将会设立一套标准提案准则,这套准则将会被内置于标准开放提案模版。这个方案是目前的推荐的方案,因为大部分的问题都可以通过提案本身得到解决,或者解决大部分问题。

与此同时,监管人正在呼吁 DAO,slock.it,相关研究组织以及社区共同合作关于 DAO 2.0 的开发。

标准提案得到了 slock.it 的积极响应,并在它们的博客文章中对 Alex 的建议给出了方案。

后续

关于暂停 DAO 的提案投票将在 2016–06–11 19:31:34 UTC 截止,可能会产生三个结果

1. 未达到额定投票率

对 DAO 来说,这可能是最糟糕的结果,说明这个问题无法引起足够的关注,到那个时候将由监管人来决定下一步应该如何处理。

2. 方案被拒绝

这说明 Token 持有人跟在安全方面跟监管人的看法并不一致,在这种情况下,监管人将会审核,并把提案放置到白名单上。

3. 方案被通过

这说明监管人在安全方面的观点得到了大众的支持,届时将需要进一步从细节评估每一种攻击方式的严重程度,并针对开发修补方案。目前很难估算需要多长时间才能将所有问题修复,这取决于所选择的问题解决方案。

结论

作为 Token 持有人有责任基于这些潜在的攻击方式来决定是否通过暂停 DAO 的提案,根据 Alex 和 slock.it 提供的信息,暂停 DAO 的提案和标准提案模版方案很可能最终被采纳,而解决方案会在一个可预见的时间内被提交。

虽然攻击方式列表看起来很长,但是所有的攻击方式都属于博弈论层面的攻击,而不是由于代码缺陷导致,也就是说 DAO 代码被 "hack" 的情况并不存在。

个人观点:必须要为监管人在 DAO 中所表现出的责任心点赞,监管人甚至担负了超出角色定义的职责范围之外的责任,所以从积极正面的角度看,以太坊网络正是因为这些聪明的人的努力变的更好更安全。


原文链接:What is the proposed Moratorium — and what is it good for?