找回密码
 立即注册

QQ登录

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏

干货:工作量证明生态的现状与运行原理

kg01 2019-3-16 15:20:14 显示全部楼层 阅读模式 打印 上一主题 下一主题

编者按:本文来自以太坊爱好者(ID:ethfans),作者:David Vorick,翻译&校对: 陈亮 & Elisa

2019 年是密码学货币的 51% 攻击之年,因为 51% 攻击曾经似乎只是一些市值微不足道的密码学货币面临的问题,然而我们发现如今那些拥有比较高的知名度和市值的密码学货币也在面临因 51% 攻击而产生的 “双花” 问题,而交易所首当其冲成为这些攻击的受害者。

随着密码学货币攻击事件日趋频繁和严重,交易所开始采取针对的防御措施来防范风险。通常,提高密码学货币转账的区块确认数可以防御 51% 攻击,然而,攻击已经能够从影响数十个区块扩大到影响上百个区块,通过提高区块确认数来抵御 51% 攻击的有效性已无法保证。

如果没有重大的协议升级,我们预期攻击事件将会越来越多,甚至可能导致交易所无法正常经营下去。这些 51% 攻击之所以能成功是因为这些被攻击的密码学货币底层的基础协议存在弱点,因此交易所最终在选择和支持新的密码学货币方面也会越来越保守。

博弈论与风险模型

许多去中心化的协议都假设至少 51% 的网络协议参与者都是诚实可靠的。比特币之所以成功是因为协议的设计者意识到这样的假设不足以支撑真实世界中去中心化协议的有效运转。在一个匿名且不受监管的互联网世界,每一个网络参与者都扮演着经济主体的角色,即使他们采取和既定的协议规则不相符的“越轨”的行为,也不会有什么后果。与其假设 51% 的协议参与者都诚实可靠,比特币假设超过 51% 的参与者都会按照符合自己经济利益最大化的规则行事。

比特币开发者假设所有的比特币协议参与者都会积极寻找能够获利的方式方法,即使这种方法违背协议本身规则也在所不惜,(比特币)这种风险模型的假设条件宽松度(相比于假设 51% 参与者诚实可靠的模型)大幅降低,但这种假设也会限制协议设计的灵活性,但却是在开放网络取得成功的必然要求。.

比特币开发者努力寻求的是激励的相容性,即意味着每一个协议参与者自身的最优决策也就是整个系统的最优决策。当一个协议具有激励相容性时,所有参与的个人可以做到完全利己,因为这样利己的行为对整个系统来说也是有利的。

比特币能够安全稳定运行,其背后的博弈论理论是复杂而巧妙的。许多尝试模仿比特币协议设计的密码学货币都因为不适当地改变而破坏了这种激励相容性,因此,这些密码学货币并不安全,近期 “双花” 攻击的泛滥很好的向我们展示了一个道理:这个世界并不是所有的事情都像我们想象的那么有序。

尽管竞争币的设计者在花式改变原本比特币协议的激励协调性,但造成近期 “双花” 攻击频发更重要的一个原因是很多竞争币决定使用更为通用的硬件作为保证区块链安全的手段。当一个挖矿硬件能够挖多种的密码学货币,那么关键的激励协相容性就会被破坏。

使用多链硬件挖矿模式的密码学货币主要有两类:第一种也是最著名的是抗 ASIC 挖矿的密码学货币,抗 ASIC 挖矿的密码学货币一般都用多链硬件挖矿,支持抵抗 ASIC 挖矿的人认为更低的挖矿门槛,更通用的挖矿设备,将使得算力更加分散和去中心化;第二种使用多链硬件挖矿的密码学货币虽然也是 ASIC 挖矿,却与个别其他密码学货币使用一样的挖矿算法。当多种密码学货币使用一样的挖矿算法时,同样的挖矿硬件(即使是专用挖矿硬件)一样可以将任何一个密码学货币作为目标,对其进行攻击并导致激励相容性被破坏,就像我们看到抗 ASIC 挖矿的密码学货币被攻击的情形那样。

2017 年以来的变化

多链硬件挖矿多年来一直是密码学货币领域的讨论热点,然而 51% 攻击是最近才开始频繁出现的,诚然,引起这些攻击发生的一个简单原因是更便捷的工具开始出现,更聪明的攻击者涌现,行业的基础设施越来越完善,行业发展越来越复杂和多样。行业的快速发展给诚实的参与者带来更多好处的同时,也在另一方面方便了攻击者的攻击,使得一些经验丰富但别有用心的人来攻击不安全的密码学货币变得更加容易。

下面我们来看一些对 51% 攻击非常重要的新生事物,但我相信,即使没有这些,我们依然会看到越来越多高调的 51% 攻击发生在使用多链挖矿设备的密码学货币上。在防御 “双花” 攻击上,多链挖矿设备从根本上来说就是一个不安全的方法。

算力市场

算力市场的成熟是导致最近密码学货币攻击事件频发的关键催化剂之一,对于使用多链挖矿设备的密码学货币,知道每个时段挖矿利润最高的密码学货币需要一定的技巧和经验。而算力市场则提供了这么一个市场,让矿机所有者可以把矿机租赁给更有经验的矿工,增加了算力市场所有参与者的利润,创造了一个双赢的局面。然而,算力市场的负面效果在于为攻击者实施攻击提供了一个可以快速租借大量算力的平台。比如在算力市场出现以前,攻击一个全网拥有 10 万个 GPU 挖矿的密码学货币,攻击者或多或少也要拥有 10 万个 GPU,这就要求攻击者必须拥有千万美元的资金量才能发动攻击,攻击门槛很高也就意味着 GPU 挖矿的密码学货币相对安全。但随着算力市场的发展,同样的 10 万个 GPU 被攻击者租借几个小时,付出的成本可能只有几万美元,算力市场让使用多链挖矿设备的密码学货币安全边际下降了几个数量级。

我们不得不假设未来多链挖矿设备的算力市场会持续增长,因为这样的算力市场能够让挖矿设备的使用效率更高,同时让挖矿设备所有者以及矿工等各个群体利益最大化。

然而算力市场对使用专用挖矿设备的密码学货币远没有那么大影响,算力市场的好处是它能够让多链挖矿设备所有者无需为考虑挖什么密码学货币最赚钱而绞尽脑汁,而对于使用专用挖矿设备的密码学货币,一种矿机只能挖这一种密码学货币,这也意味着即使矿机所有者参与算力市场也没有什么超额收益。

从博弈论的角度讲,算力市场中,还有另一个层面比较重要的因素需要考虑,当一个矿工把多链挖矿设备放到算力市场以供租赁时,他的挖矿设备就有可能被租赁用于发动对密码学货币的攻击,但是矿机的所有者并不关心他的设备被用于攻击密码学货币还是普通挖矿,因为只要攻击者愿意支付一定的溢价给所有者(攻击者同时租赁大量相同的挖矿设备,挖矿设备的租赁价格也会上升),他们就愿意出租自己的挖矿设备,并且即使该多链矿机所挖的某一种密码学货币遭遇严重攻击,也不影响该矿机的价值,因为多链挖矿设备不只能挖这一种币。

相比之下,专用挖矿设备所有者只能从它所挖的唯一一种密码学货币中获利,租赁专用挖矿设备给攻击者就非常冒险了,因为攻击者对该密码学货币的成功攻击将对其专用矿机有非常直接的负面影响。一旦有人成功发起攻击,所有在算力市场出租该币种专用挖矿设备的矿工都将面临失去唯一收益来源的风险,因此专用挖矿设备所有者有足够的动力远离算力市场,从而使他们所挖的密码学货币保持足够的安全边际。

大矿场

大矿场的出现同样减少了多链挖矿设备所挖的密码学货币的安全边际,许多大型矿场拥有超过 1 万台 GPU,多个矿场拥有超过 10 万台 GPU,甚至最大的几个矿场拥有超过 50 万台 GPU。

从安全的角度讲,一个 GPU 挖矿的密码学货币如果没有 50 万台 GPU 所对应的算力,那么从理论上来讲,它是可能被最大的几个矿场所攻击的。一个 GPU 挖矿的密码学货币没有 10 万台 GPU 对应的算力,则不仅仅可能受到一个普通矿场的攻击,很多大型矿场都能够独立对它发动 51% 攻击并造成 “双花”,而一个密码学货币如果少于 1 万台 GPU 对应的算力,是非常脆弱并容易遭到攻击的。

许多 GPU 矿场都是盈利驱动的,几乎毫不关心密码学货币领域的价值追求,对于这些 “唯利是图” 的矿场,只要他们能够赚取更多的利润,他们便会通过各种方式去实现,哪怕对密码学货币底层生态造成破发,也在所不惜。

专用挖矿设备从两个途径解决了网络攻击的问题。首先,专业挖矿设备所挖的密码学货币,基本上只可能有最大的一家矿场有能力对网络发动 51% 攻击,尽管这听起来不是什么了不起的保障,但使用专用矿机的密码学货币最多只需要信任这么一家矿场。但这已经与大部分抗 ASIC 挖矿的密码学货币形成了鲜明对比,大部分抗 ASIC 挖矿的密码学货币在任何时候都有可能被不同的矿场攻击。

使用专用挖矿设备的密码学货币最重要的优势是激励相容,对于一个追逐利润的(专用矿机)矿场而言,攻击其密码学货币网络通常无法获利,因为那样会造成矿场挖矿硬件设备价值下降。即时一个矿场拥有全网 51% 的算力,这个矿场也没有动力去执行 51% 攻击,因为攻击所获利并不能超过攻击导致的专用挖矿设备价值的损失,这是一个 “得不偿失” 的举动。

攻击——更多的资源,更高的复杂度

相较 2017 年,密码学货币在 2019 年的重要改变之一便是这一行业保有了更高的价值,更多人开始理解相关理论,专家也变得更多。

在 2017 年,懂得密码学货币存在这些漏洞的人并不是很多。此外,通常某一密码学货币也并没有很高的市值,这也意味着即使你懂得如何攻击密码学货币,也没法从中捞取很多利润。

而在 2019 年,懂得密码学货币如何运作的人变得更多,懂得如何攻击那些具有重大缺陷的密码学货币的人也变得更多。同时,对密码学货币一次成功的攻击带来的回报水涨船高,这意味着更多有能力进行攻击的人正在尝试发动攻击。更高的回报也意味着攻击者们会投入更多的时间、金钱以及资源,来发起一次攻击。

这种情况会日趋严重。如今 51% 攻击大行其道正是由于其带来的高额回报唾手可得。然而,许多主流 dApp 都存在着致命漏洞,并且随着它们的价值增长,攻击者也愈加有经验,这些漏洞将进一步地被攻击者们利用。我个人尤其担心这些问题(担心程度由高到低):涉及新的共识算法、区块链链上治理机制、预言机、稳定币、预测市场以及一些其他的概念的密码学货币项目。通常来说,并非核心概念本身具有可乘之隙,而是它们具体的设计模式和实施方案存在问题。这一行业目前缺乏同行的评审;有很多已经部署的高曝光度项目并未经历充分的审查,因此它们可能存在未被修复的重大漏洞。

硬件熊市

硬件熊市不论是对使用多链硬件还是使用专用硬件的密码学货币都会产生影响。如果矿机的价值下降到让挖矿变得无利可图时,攻击者们将能够以低廉的价格获取这些硬件。由于目前正处于密码学货币熊市中,许多矿机的价值一落千丈,也就是说,密码学货币用于抵抗攻击的有效算力现在更少,同时意味着攻击者们可以以更加低廉的成本租贸或购买硬件以进行攻击。

GPU 市场正遭受另一重影响:现在有专用于以太坊和 Zcash 挖矿的 ASIC 了。以前这两种密码学货币是驱动 GPU 算力的主力,而现在这部分算力正逐渐转移到 ASIC 算力上了,这使得租用 GPU 以攻击更低价值密码学货币的成本大大降低。随着 ASIC 逐渐占领原本使用 GPU 的高价值密码学货币市场,不难看出这种情况会加剧,同时,51% 攻击也会变得更加普遍,成本更加低廉。即使新的抗 ASIC 手段出现,我也不认为这样的趋势会缓和或停滞。

面对硬件熊市,比特币也不能幸免于难。据估计,多达三分之一的比特币算力被已经破产的矿场甩卖。如今,S9 矿机的价格已经远远低于其制造成本,尽管现在这似乎不能算作比特币的安全隐患,如果价格继续下跌这个幅度的二到四倍,它将成为悬在比特币头上的一把达摩克利斯之剑。

熊市对制造商造成的影响尤为严重。据估计,比特大陆、芯动科技、台积电,甚至三星都因硬件价格突然下跌遭受重大损失,因此在未来我们不太可能看到这些公司的过度生产——我们现在知道,大量生产带来的风险非常高,而现在比特币的硬件风险高到许多公司不愿承担了。我认为,比特币现在正处于有史以来最严峻的硬件熊市中。

然而,其他使用专用硬件的密码学货币并没有比特币那么大的规模,因此硬件生产商可能更愿意承担过度生产这类矿机的风险,而这会使得那些密码学货币经历价格突然下跌或其他动荡时引发硬件熊市。

区块奖励的影响

由于硬件的获取和操作成本非常高昂,密码学货币对 “双花” 攻击的抵御很大程度上取决于其区块奖励。密码学货币抵御攻击的能力与其挖矿硬件数量成正比,因此,如果区块奖励低到没有大量硬件用于该货币的挖矿,这种货币受到的保护将变得微乎其微。

总之,谈到密码学货币的安全性,我们必须考虑发起一次 51% 攻击所需的美元成本。如果一种密码学货币的所有矿机总价值是一百万美元,那么显而易见,任何超过一百万美元的交易都极易遭受 51% 攻击,因为交易对手只需要花一百万美元来购买或制造矿机,就能发动 “双花” 攻击。

评估一种密码学货币的矿机总价值难乎其难,评估制造一套足够发动 51% 攻击的硬件设施的成本亦是如此,但根据一般经验,该成本应该等同于 6 到 24 个月的区块奖励。通常矿机市场的开放竞争会确保其价值处于这个范围。

这一经验有助于我们确定密码学货币的最大安全交易额,但在确定这一数值之前,我们需要先谈谈 “双花”。事实上,双花还有可能成为三花、四花甚至攻击者可能达到的最大倍数的多花。单次双花攻击可以同时在多个不同的交易所发起。因此,在应对双花攻击时,仅仅考虑一次交易实际上是远远不够的,我们还需要考虑其他可能同时发动的攻击。

实际的最大安全交易额通常视密码学货币种类而定,并且取决于包括区块奖励的多重因素。但根据一般经验,对于使用专用矿机的密码学货币,超过一个月区块奖励价值的交易会让我感到不安,而对于已有大型算力市场的密码学货币而言,也许一个小时的区块奖励价值的交易就足以引发攻击了。

密码学货币空头

本质上来说,做空就是借贷。当你做空一种密码学货币时,你其实正在借一些代币,而这些代币是你在将来需要等额偿还的(通常来说,也许会附带一些利息)。一般来说,当有人做空一种货币时,他们会立刻出售这些借来的代币,并祈祷这种密码学货币随后会贬值,以让他们随后能够低价买入并偿清借贷,从而从中获利。

空头交易需要有两方参与。其中一方借入,另一方借出。而对于密码学货币而言,借入方和借出方存在着矛盾:借入方可能利用这笔钱攻击该密码学货币本身,使其价格崩溃。攻击可能是不同类型的:双花攻击、或是拒绝服务器攻击(攻击者一直挖空块)。根据密码学货币的种类,攻击者可能还会发动其他更高级的攻击。

有两个原因让我提出空头这一论题。第一个原因是为了警告交易所和市场参与者,反对空头市场。如果你正提供密码学货币借贷,你可能正在为攻击者们提供资金,从而导致你之后收回的资产贬值。较传统市场而言,密码学货币市场的空头借出方承担的风险要高得多。

另一个原因是,大型空头市场可能会增加其他依赖该密码学货币安全性的参与方的风险。如果一种密码学货币拥有大型空头市场,潜在的攻击者有充足资源来筹措用以发动攻击的资金,并且一旦攻击成功,他们需要偿还的资金将大大降低。因此,交易所和用户应谨慎小心或避免持有拥有大型空头市场的密码学货币。

现有防御方法的不足之处
  • 增加确认时长的不足之处


增加充币确认时长以应对网络波动,这在大部分情况下行之有效,能大幅降低某些类型的风险。但另一些时候,这种方法却毫无建树,无法提供切实保护。

在 P2P 网络出现波动的时候,增加确认时长确是最有效的措施之一。当遇到区块传输变慢、网络暂时分叉、节点扣块攻击,或者发生路由层攻击等情况时,增加确认数非常有效。把确认时长从 60 分钟延长到 24 小时,则有更充裕的时间来稳定最长链、修复分叉、或解决路由攻击。

增加确认时长,也能有效应对自私挖矿和总算力不足 50% 的欺诈挖矿。当自私挖矿严重,或大矿场开挖非正常区块时,区块大规模重组的几率会大大增加。和通常 2-3 个区块的重组不同,大规模重组的区块个数有可能达到十几个。当然,如果并非 51% 攻击,重组区块数量也不太可能超过几十个。此时,区块链仍将大概率保持单一方向增长。

然而,当遭受真正的 51% 攻击时,增加确认时长的效果则不甚显著。把确认时长从 60 分钟延长到 6 小时,需要攻击者租用更多的算力,或者需要攻击矿场耗费更多的时间,但也仅限于此,因此只有当攻击某币种的攻击门槛足够高时,这一策略(校注:通过增加租用算力成本或增长攻击时间造成攻击无利可图)才会有效。

很重要的一点,当加密货币遭受 51% 攻击时,攻击者将把所挖区块的奖励都收入囊中。如果攻击过后币价下跌有限,那么攻击者足以靠这些获利以战养战。这也是为什么对依靠 GPU 挖矿的规模较小的币种来说,增加确认时长的方法作用不大的关键原因之一。如果币种规模较小或区块奖励较低,攻击者可能只需租用几个小时的算力,便能获得整整一周的区块奖励。

  • 地址黑名单的不足之处


之前,交易所曾用紧急添加黑名单的方法阻止攻击。攻击者实施双花时需要提币,通常会将币转移到其它交易所以供后续交易,因此,交易所之间可以互相知会那些参与双花的问题地址,并将他们列入黑名单,以此来阻止盗币和双花,挽回损失。

尽管地址黑名单有时候很有效,但攻击者也会逐渐掌握应对方法。这些方法包括使用匿名币、先行转移被盗货币到多个钱包后再发起双花、或使用去中心化交易所进行提币。复杂的攻击手段使得地址黑名单这一防护方式力不从心。

当然,交易所也不该就此弃用地址黑名单,从曾经追回过大量损失的角度看,这是个不错的方式。只是现在不该完全依赖它来挽回攻击遭受的损失,毕竟大多数情况下这将徒劳无功。

降低风险的一些建议

尽管处境糟糕,特别是那些交易所,我们依然可以采取些措施,来降低规模较大且使用多链矿机挖矿的币种的风险。不过,随着攻击方式复杂化以及基础设施(如去中心化的交易所和去中心化的算力市场)的改进,最终这些措施可能会失效。因此,唯一的一劳永逸的解决方案是,让所有的加密货币使用专有矿机,且它们的算法必须是独有且可以使用 ASIC 的。不过,在根本地解决问题之前,可以靠一些降低风险的措施来争取时间。

措施一,监控全球矿机的可用性

措施之一,是监控每一种加密货币矿机的使用情况,以帮助交易所管控风险。通过某一币种矿机的开机率,能较好地预测该币种的安全状况。

对于使用专用矿机的币种,只需要关注挖矿奖励情况以及矿机市场是否处于熊市。比如,当某币种因为挖矿利润太低,导致绝大部分矿机关机时,攻击者的攻击成本就会比较低,因为购买攻击用矿机的成本很低。除此之外,这一类币种在面对算力攻击时相对安全。

对于那些使用 ASIC 或其他专用矿机但有相同算法的币种来说,则需要关注每个币种的算力与该类矿机总算力的占比。一般地,当某一币种的算力占比超过 70% 时,我认为它是安全的;如果算力占比在 10% 和 70% 之间,可能需要将确认时间延长到 24 小时才安全。因为即便算力占比达到 70%,大矿场还是有可能发动算力攻击并获得成功,而 24 小时的确认时长,会使攻击的可行性大幅降低;如果某个此类加密货币算力占比小于 10%,则很不安全。交易所是否停止充提币,取决于自身的抗风险能力等因素,但我建议只有当这类币种改用更安全的挖矿算法时,才允许充提。

对于使用 GPU 挖矿的币种,风险管理着实依赖于对算力交易市场和大矿场运行情况的了解。

虽然没有进行大量严谨的调研,但据我估计,当前 GPU 算力交易市场的规模在 1 亿-2.5 亿美元之间。这个数字的关键之处,是它能够表明某个币种是否容易遭受 51% 攻击。当然,仅关心算力交易市场是不够的。曾有报道指出,一些大的矿场对一些小规模的币种发起过 51% 攻击。特别地,至少有一个 GPU 算力规模约在 1千万-1 亿美元之间的矿场,被指乐于参与攻击。

综上所述,我建议对那些硬件成本在 5 千万到 2 亿 5 千万美元之间的 GPU 挖矿币种,使用 24 小时的交易确认时长。对于那些规模更小的币种,则应该禁止充币,因为当硬件成本低于 5 千万时,攻击它们的难度和成本不是很高。

随着加密货币生态的演进,大矿场和算力交易市场会发生变化,针对不同规模和算法类型的加密货币的风险分析同样也会变化。交易所们只有紧跟变化,才能作出更精确的风险分析和最合适的商业决定。

措施二,和大矿场及算力交易市场保持良好关系

交易所和大矿场及主要算力交易市场保持良好关系,有助于减少整体风险。

算力交易市场是大部分攻击的源头。算力市场的中心化特点,有助于降低小规模币种遭受攻击的风险。降低风险的手段包括限制单次出租的算力总量,或者通过 KYC 等手段获取用户信息,特别是正在大规模采购算力的用户信息。最差情况下,当算力市场察觉到针对某币种算力的大规模突击采买时,可以及时对交易所示警。

当然,有经验的攻击者,可以通过女巫攻击或者盗用账号,来躲避交易市场的监控。随着中心化算力市场监控的深入,也会驱使用户寻找去中心化的解决方案,以躲避监控。因此,监控最多只是个临时方案,但在加密货币寻找到更好的解决方案前,它或许能争取足够时间。

同样,和大矿场建立关系也大有裨益。至少,通过了解当前不同币种的挖矿情况,交易所能够预判它们是否易受攻击。从降低风险的角度,我相信这种良好的关系会事半功倍。

  • 自动停止交易以及地址黑名单


当交易所检测到加密货币会发生重大的重组时,该加密货币的交易应该自动停止,当检测到有双花交易时,相关的地址都应该自动列入黑名单中。越多交易所实行这样的措施越好,不应仅仅在受到双花交易攻击的交易所实行。

尽管暂时性的停止交易无助于资金被盗的事实,但这样确实大大减少了攻击者处理被盗资金的选择余地。同时,攻击者总是可以通过预测大规模攻击后币价的走势,并针对走势进行大规模的交易来获利。如果交易被冻结,攻击者潜在的利益来源就会减少。

地址黑名单也有相似的功效:它减少了攻击者的选择余地。减少攻击者更多的选择余地意味着我们有更多的机会来收回资金,也意味着即使攻击者有办法规避所有的控制,他们也不愿进行攻击了。

根据我们以往的经验,攻击者往往不是那么技艺高超,也总会犯下大错误。即使理论上来说当你面对一个完美的攻击者时是无能为力的,但现实就是攻击者并非完美。积极追捕攻击者来迫使他们犯下严重错误可能会非常有效。

  • 焦土式反击


现在有一种更加高级同时更加有风险的选择来处理双花攻击,即发动反击。当一个攻击者在加密货币上创建了一笔双花交易时,受影响的交易所可以通过购买一定的算力来延长原始的链(即保证理论上正确的链有足够多的算力来成为“最长的链”),从而稳固原始交易不被攻击者覆盖。

当然,攻击者也可以反击这样的攻击,通过对于延长攻击链来应对交易所对于原始链的延长。这里的难点在于,对于每个时间点来说,交易所花费更多的钱去延长原始链和攻击者花费更多的钱去延长攻击链都是有意义的。即使攻击者和交易所所花费的已经超过了被盗窃的币的价值,他们仍然需要通过延长自己的那条链来收回投入的资金。

击者花了 10,000 美元买工作量证明算力,从交易所盗取了 50,000 美元。此时攻击者赚了 40,000 美元,交易所亏了 50,000 美元。此时交易所最佳措施就是也花费 10,000 美元将原始链恢复为最长的链,于是攻击者就变成了亏 10,000 美元,同时交易所也亏了 10,000 美元。如果我们继续下去,会得到以下结果:

轮次:               攻击者             交易所

第一轮攻击:    +$40,000       -$50,000

第一轮防守:    -$10,000       -$10,000

第二轮攻击:    +$30,000       -$60,000

第二轮防守:    -$20,000       -$20,000

第三轮攻击:    +$20,000       -$70,000

第三轮防守:    -$30,000       -$30,000

第四轮攻击:    +$10,000       -$80,000

第四轮防守:    -$40,000       -$40,000

第五轮攻击:    +$0            -$90,000

第五轮防守:    -$50,000       -$50,000

第六轮攻击:    -$10,000       -$100,000

第六轮防守:    -$60,000       -$60,000

当攻击者在整个攻击中不再获利时,交易所也已经损失了与面对攻击不作为会损失的同样金额。以该策略,在任何时候交易所都会亏损,而且只会亏损越来越多。

并且,这个博弈实际上没有结束状态。在任何时候,每一方都有动机继续尝试收回原本的 50,000 美元,因为每一次你花费 10,000 美元都是为了收回 50,000 美元。这就是为什么这个策略被称为 “焦土” ——没有哪一方会获胜,还会伴随着大量的资金被销毁。

这种策略的价值在于,至少从理论上说,交易所可以阻止攻击者(借此)赚钱。如果攻击者提前知道交易所会实行焦土策略,那么攻击将会变得没有意义,同时交易所在受到最初几次攻击之后将不会再受到攻击。

这个策略有另一个比较大的痛点。攻击者在准备方面有很大优势。一个攻击者可以花费数周或者数月来准备一次攻击,但是交易所必须几乎立即响应这次攻击。并且,如果攻击者愿意这样和交易所交战,很可能是因为攻击者有很大的优势。例如,如果攻击者优化了自己的代码,使得每轮只需要花费 5,000 美元,但是交易所每轮还是要花费 10,000 美元。在这样情况下,交易所也无法判断攻击者是否具有优势。

如果多个交易所同时使用这样的策略,也可能会出现问题。交易所最终可能会和彼此(并非攻击者)产生一场算力的战争,根据不同交易所的预算,代价可能会非常高昂。

这个策略的最后一个考虑因素在于,这可能会对生态系统造成巨大的连带损害。许多密码学货币并不能真正处理大量的连续重组。节点可能会宕机,其他交易可能会丢失或者在(算力)战争中可能会发生双花交易,一般来说,用户在这场焦土战争中可能会面临更大的风险。

综上所述,我并不推荐交易所使用上述策略来抵抗双花攻击。

  • 开发者决断


我提出的最后一种策略则是开发者决断,因为这在某些加密货币对抗攻击中成功过。当发生了一起盗币事件时,开发者总是可以通过提出一个硬分叉来收回被偷窃的币。但是这又会导致开发者的高度集中化,并且由于开发者也并非完美,他们可能被欺骗导致对攻击判断错误,最终误将用户账户上的合法代币转给攻击者而不是返还被盗窃代币。

开发者也可以对区块进行签名。一旦一个区块被开发者签名了,这个区块就是永久确定了,并且区块内的交易不可能是双花交易。这已经通过历史上无数次的密码学货币所证明,但这种做法本身非常危险。如果开发者的密钥被盗了,会发生大量问题。并且,一旦开发者事实上可以决定哪些交易能够上链,他们也就将受到金融监管机构的无情监管。

开发者应该对这样的事情保持相当的谨慎,因为如果一个开发者在找回资产的时候做了一个错误的决策,签署了一个错误的块,或者允许了某个已知的恐怖组织进行交易,就会引发严重的法律后果。特别是现在监管机构对这个领域相当重视,我并不推荐这个方案,至于对中心化的担忧我也就不再提了。

结论

随着加密货币领域的不断发展,我们将会看到更加复杂的攻击手段。在接下来的 6-12 个月里,大部分攻击可能会集中在对于工作量证明保障较弱的加密货币的双花攻击上,但是我认为攻击种类会随着开发漏洞的显现而增加。安全的加密货币设计非常困难,大多数加密货币和 dApp 都无法确保他们项目的安全性。

由于多链矿机的算力攻击导致的价值数百万美元的币被盗事件让我们深有感触,但是这些只是对加密货币社区的第一波大规模攻击。

为了防止进一步的损失,我们需要在短期采取措施来防止交易所被多链矿机算力攻击。某些情况下,将确认时间增加至 24 小时是有效的,而在其他情况下,我建议锁定账户余额,直到该加密货币能分叉到一条安全的链上。从长期看,交易所需要对加密货币的风险模型采取更保守的措施,并对上交易所的代币进行更深入的调查。

特别感谢 Ethan Heilman 的审阅和反馈。


工作量证明.jpg
回复

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册