往往只需要一个恶意的提议就可以搞垮一个协议,所以清楚地了解接受和拒绝提议的风险权衡是至关重要的。来源:老雅痞
许多Web3项目使用可替换和可交易的原生代币进行无许可投票。无权限投票可以提供许多好处,从降低准入门槛到增加竞争。代币持有者可以使用他们的代币对一系列问题进行投票——从简单的参数调整到治理过程本身的大修。但是无权限投票很容易受到治理攻击,即攻击者通过合法手段获得投票权,但为了攻击者自己的利益,利用这种投票权来操纵协议。这些攻击是纯粹的「协议内」,这意味着它们不能通过密码学解决。相反,防止它们需要周到的机制设计。为此,我们开发了一个框架,以帮助DAO评估威胁,并有可能对抗此类攻击。
实践中的治理攻击
治理攻击的问题并不只是理论上的。它们不仅可以在现实世界中发生,而且已经发生并将继续发生。
在一个突出的例子中,Steemit,一家在其区块链上建立去中心化社交网络的创业公司,Steem有一个由20个证人控制的链上治理系统。投票者使用他们的STEEM代币来选择证人。在Steemit和Steem获得牵引力的同时,孙宇晨已经制定了将Steem合并到Tron的计划,Tron是他在2018年创立的区块链协议。为了获得这样做的投票权,孙宇晨找到了Steem的创始人之一,并购买了相当于总供应量30%的代币。一旦当时的Steem证人发现他的购买行为,他们就冻结了孙宇晨的代币。接下来是孙宇晨和Steem之间的公开反击,以控制足够的代币来部署他们喜欢的前20名证人名单。在涉及主要交易所并花费数十万美元购买代币后,孙宇晨最终取得了胜利,并有效地自由控制了网络。
Web3信用协议 Getaverse 获得 StarWin Group投资:据官方消息,Web3信用协议 Getaverse 获得 StarWin Group投资,StarWin Group将凭借自身在金融科技与加密货币领域的优良基因,加快Getaverse信用协议与现实世界资产的链接,扩展DID信用系统在传统金融的应用。
StarWin Group(星合资本)成立于2015年,由点融网创始人郭宇航联合新东方创始人俞敏洪、资深投资银行家盛希泰共同发起、成立的基金。长期深耕以科技提升金融效率的早期优秀创业公司的孵化,挖掘创业者潜力,专注于金融、区块链、人工智能等领域的投资机会。[2023/5/9 14:52:25]
在另一个例子中,Beanstalk,一个稳定币协议,发现自己很容易受到通过Flashloan的治理攻击。一个攻击者通过贷款获得了足够多的Beanstalk的治理代币,瞬间通过了一个恶意提案,让他们夺取了Beanstalk的1.82亿美元的储备。与Steem攻击不同,这次攻击发生在一个区块的范围内,这意味着在任何人都没有时间做出反应之前就已经结束了。
虽然这两起攻击发生在公开场合和公众视线之下,但治理攻击也可以在很长一段时间内秘密进行。攻击者可能会创建许多匿名账户,慢慢积累治理代币,同时表现得与其他持有人一样,以避免被怀疑。事实上,鉴于许多DAO的选民参与度往往很低,这些账户可以长期处于休眠状态而不引起怀疑。从DAO的角度来看,攻击者的匿名账户可以促进健康水平的去中心化投票权的出现。但最终攻击者可能达到一个门槛,即这些虚假钱包有能力单方面控制治理,而社区却无法回应。同样,恶意行为者可能会在投票率足够低的时候获得足够的投票权来控制治理,然后在许多其他代币持有人不活跃的时候试图通过恶意的提案。
印度总理莫迪:数字经济和初创企业是印度的优势领域:金色财经报道,印度总理莫迪表示:数字经济和初创企业是印度的优势领域,国际货币基金组织对印度的数字银行系统表示赞扬。(金十)[2022/10/17 17:28:09]
虽然我们可能认为所有的治理行动只是市场力量发挥作用的结果,但在实践中,治理有时会产生低效的结果,这是激励失败或协议设计中其他漏洞的结果。就像政府决策会被利益集团甚至是简单的惯性所控制一样,DAO治理如果结构不当也会导致低劣的结果。
那么,我们如何通过机制设计来解决这种攻击?
根本的挑战:不可辨别性
代币分配的市场机制无法区分那些想为项目做出有价值贡献的用户和那些对破坏或以其他方式控制项目抱有很高价值的攻击者。在一个代币可以在公共市场上买卖的世界里,从市场的角度来看,这两个群体在行为上是不可区分的:都愿意以越来越高的价格购买大量的代币。
这种不可区分性问题意味着去中心化的治理不是免费的。相反,协议设计者在公开的去中心化治理和确保他们的系统免受寻求利用治理机制的攻击者的影响之间面临着基本的权衡。社区成员越是能自由地获得治理权力并影响协议,攻击者就越容易利用同一机制进行恶意修改。
以太坊L2网络总锁仓量跌至49.3亿美元:金色财经报道,L2BEAT数据显示,截至目前,以太坊Layer2上总锁仓量为49.3亿美元。近7日跌幅10%,其中锁仓量最高的为扩容方案Arbitrum,约26.7亿美元,占比52.35%。其次是Optimism,锁仓量14.4亿美元,占比28.28%。dYdX占据第三,锁仓量4.68亿美元,占比9.18%。[2022/9/17 7:03:28]
这种不可辨别性的问题在权益证明区块链网络的设计中很熟悉。在那里就是如此,代币的高流动性市场使得攻击者更容易获得足够的权益来破坏网络的安全保障。尽管如此,代币激励和流动性设计的混合使得权益证明网络成为可能。类似的策略可以帮助确保DAO协议的安全。
评估和解决脆弱性的框架
为了分析不同项目所面临的脆弱性,我们使用了一个由以下公式捕获的框架:
Terra创始人Do Kwon回应UST脱锚担忧:已被讨论太多次,无需理会:5月8日消息,Terra创始人Do Kwon对此在社交媒体上回应部分加密KOL对UST脱锚的担忧:关于 UST 脱锚的问题已经被讨论无数次了,无需理会。行情数据显示,LUNA跌破65美元,现报价64.81美元,24 小时跌幅15.68%。UST 现报价0.9919美元,一度跌至0.98美元。Curve平台UST/3CRV池资产比例出现倾斜,目前达到67%/33%。[2022/5/8 2:58:28]
对于一个协议来说,要想被认为是对治理攻击的安全,攻击者的利润应该是负的。在为一个项目设计治理规则时,这个方程可以作为评估不同设计选择的影响的一个指导原则。为了减少利用协议的动机,该方程意味着三个明确的选择:降低攻击的价值,增加获得投票权的成本,以及增加执行攻击的成本。
降低攻击的价值
限制攻击的价值可能很困难,因为一个项目越成功,成功的攻击可能就越有价值。显然,一个项目不应该为了减少攻击的价值而故意破坏自己的成功。
然而,设计者可以通过限制治理所能做的范围来限制攻击的价值。如果治理只包括改变项目中某些参数的权力,那么潜在的攻击范围就比治理允许完全普遍控制治理的智能合约时要窄得多。
Aku项目方价值3,400万美元ETH被永久锁定,系合约实现逻辑问题:4月23日消息,NFT项目方Akutar的11,539.5 ETH(约合3,400万美元)被永久锁定在拍卖合约。
Aku采用的是类似荷兰降价拍卖的形式,拍卖结束后会按照结束价格给用户退还超过最低价格的部分,因此这涉及refund以及total bids统计两个方面,而项目方在这两个方面均存在实现逻辑问题。
第一个漏洞,processRefunds() 会被恶意合约阻断,实现DoS攻击,也确有用户使用恶意合约阻断了processRefunds()执行,但该名用户表示只是让项目方确认问题存在,随即设置恶意合约变量,使得processRefunds()顺利执行完,因此该漏洞虽被利用,但已成功解决。
第二个漏洞,也就是真正导致项目方无法提款的关键所在,processRefunds()是按照msg.sender的数量记录在了refundProgress变量,拍卖结束项目方调用claimProjectFunds()取出合约内的ETH时,要求满足refundProgress >= totalBids,而totalBids记录的是NFT的数量,合约最终状态refundProgress数值为3669,totalBids数值为5495,从而导致项目方无法提取合约内的11539.5 ETH。
需要指出的是,在执行processRefunds()之前,参与拍卖的用户可以在三天后通过emergencyWithdraw()将个人投入的ETH取回,但由于processRefunds()的执行,导致用户的拍卖状态由未处理变为refund,从而不能再进行emergencyWithdraw()。[2022/4/23 14:43:41]
治理范围可以是一个项目阶段的功能。在其生命的早期,一个项目可能有更广泛的治理,因为它找到了自己的立足点,但实际上治理可能被创始团队和社区严格控制。随着项目的成熟和控制权的下放,在治理中引入一定程度的摩擦可能是有意义的——至少在最重要的决策中需要有大型全体会议。
增加获得投票权的成本
一个项目也可以采取措施,使其更难获得攻击所需的投票权。代币的流动性越强,就越容易要求获得投票权,因此,几乎是矛盾的,项目可能希望为了保护治理而减少流动性。人们可以尝试直接减少代币的短期交易性,但这在技术上可能是不可行的。
为了间接减少流动性,项目可以提供激励措施,使个别代币持有者不太愿意出售。这可以通过激励质押来实现,或者通过赋予代币独立的价值,超越纯粹的治理。代币持有人获得的价值越多,他们就越能与项目的成功保持一致。
独立的代币利益可能包括参加现场活动或社交体验。至关重要的是,像这样的好处对与项目保持一致的个人来说是高价值的,但对攻击者来说是无用的。提供这类好处提高了攻击者在获取代币时面临的有效价格:由于独立的好处,目前的持有人将不太愿意出售,这应该增加市场价格;然而,虽然攻击者必须支付更高的价格,但独立功能的存在并没有提高攻击者获取代币的价值。
增加执行攻击的成本
除了提高投票权的成本,还可以引入摩擦,使攻击者即使在获得代币后也难以行使投票权。例如,设计者可以要求对参与投票的用户进行某种认证,如KYC检查或信誉评分阈值。我们甚至可以限制未经认证的行为者首先获得投票代币的能力,也许需要一些现有的验证者来证明新方的合法性。
在某种意义上,这正是许多项目分配其初始代币的方式,确保受信任的各方控制相当一部分的投票权。(许多权益证明解决方案使用类似的技术来捍卫他们的安全——严格控制谁可以访问早期的权益,然后从那里逐渐去中心化。)
另外,项目可以让攻击者即使控制了大量的投票权,他们在通过恶意提案时仍然面临困难。例如,一些项目有时间锁,使一个代币在被交换后的一段时间内不能被用来投票。因此,寻求购买或借用大量代币的攻击者将面临着在实际投票前等待的额外成本——以及投票成员会注意到并在这期间挫败他们的预期攻击的风险。授权在这里也是有帮助的。通过给予积极但非恶意的参与者代表他们投票的权利,那些不想在治理中发挥特别积极作用的个人仍然可以为保护系统贡献他们的投票权。
一些项目使用否决权,允许投票推迟一段时间,以提醒不活跃的选民注意一个潜在的危险提案。在这样的方案下,即使攻击者提出恶意提案,投票者也有能力回应并关闭它。这些设计和类似的设计背后的想法是阻止攻击者偷偷摸摸地通过恶意提案,并为项目的社区提供时间来制定应对措施。理想情况下,那些明显符合协议利益的提案将不必面对这些路障。
例如,在NounsDAO,否决权由Nouns基金会掌握,直到DAO本身准备好实施一个替代模式。正如他们在网站上写的那样,「Nouns基金会将否决那些给NounsDAO或Nouns基金会带来非同小可的法律或生存风险的提案。」
项目必须取得平衡,允许对社区变化有一定程度的开放性,同时不允许恶意提案从缝隙中溜走。往往只需要一个恶意的提议就可以搞垮一个协议,所以清楚地了解接受和拒绝提议的风险权衡是至关重要的。当然,在确保治理安全和使治理成为可能之间也存在着高水平的权衡——任何引入摩擦以阻止潜在攻击者的机制当然也会使治理过程更难使用。
我们在这里勾勒出的解决方案属于完全去中心化的治理和为了协议的整体健康而部分牺牲一些去中心化的理想之间的光谱。我们的框架突出了项目可以选择的不同路径,因为他们寻求确保治理攻击不会获利。我们希望社区能够利用这个框架,通过他们自己的实验进一步发展这些机制,使DAO在未来更加安全。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。