IC3研究人员:闪电网络等HTLC系统易遭受攻击,解决方案是加入MAD机制
写在前面:据IC3加密货币及合约研究组织的Ittay Eyal等人发现,理论上所有依赖HTLC的系统都存在安全漏洞,这些系统的安全性需要依赖于矿工良好的意愿,为了解决这个问题,他们根据相互保证毁灭的概念提出了名为MAD-HTLC的解决方案。
对此,康奈尔大学教授Emin Gün Sirer评论称:
“这一漏洞影响所有的Layer 2网络,包括比特币的闪电网络,这是对支付通道的自私挖矿,它是一个重大而大范围的漏洞,它可以被矿工所利用。是的,HTLC存在缺陷,但幸运的是,论文作者提出了一种名为MAD-HTLC的东西可以解决这个问题。闪电网络很脆弱,我们发明的比特币保险库(Bitcoin Vaults)也很脆弱。”先说坏消息:事实证明,哈希时间锁定智能合约(HTLC)的安全,依赖于区块链矿工良好的意愿,或者至少是他们的短视性。是的,这是基于这样一种假设:矿工,那些通过能源赚钱的群体,是天真又无私的。
因此,所有依赖HTLC的系统(在任何区块链上)也都需要这种假设才能正常工作。不幸的是,HTLC是最常见的智能合约原语之一,并且几乎在所有地方都被使用,其中包括支付通道网络、原子互换、零知识或有付款、加密货币保险库等。
当然,这并非是什么大新闻。众所周知的是,这个基本漏洞更适用于复杂的智能合约系统,例如以太坊。然而,我们发现它也适用于更简单的系统,即比特币,而且执行起来比以前认为的要便宜得多。
好消息是:我们提出了一个解决方案——HTLC的插件替代,它依赖于矿工的理性,而不是他们的天真,它基于臭名昭著的相互保证毁灭(MAD)的概念,我们称其为MAD-HTLC。其想法是,如果行为不端,双方都会受到严厉惩罚,这就消除了攻击的动机。
我们概述了攻击及其分析,以及MAD-HTLC解决方案。但首先,先快速解释下HTLC合约-如果你熟悉的话,可以跳过这一部分。
HTLC
HTLC由两方建立:Alice和Bob,使用哈希锁和timeout参数化。合约是用加密货币token发起的,最初由Alice或Bob(根据不同的用例)发起存款。
要赎回代币,Alice或Bob必须提交满足合约条件的交易。Alice的交易需要为哈希锁提供一个特定的哈希原像,而Bob的交易必须等待timeout时间过去。
交易需要向确认交易的矿工提供费用,然后矿工会优先处理提供高手续费的交易,以最大限度地提高自己收到的费用。请注意,一旦一方获得代币,其他方就无法获得这些代币(即没有双花)。
攻击
攻击发生在Alice(受害者)试图通过提交她的交易来获取HTLC代币时。
Bob(攻击者)用一笔他自己的交易来回应,该交易提供足够高的费用,以激励矿工选择他的交易而不是Alice的。矿工然后简单地等待timeout时间过去,并包含Bob的交易,结果Bob获得了HTLC代币,矿工获得了更高的费用,Alice什么也得不到。
由于Bob提供了更多的钱,矿工就有可能去接受他提出的交易
我们将此行为分析为一个在Alice、Bob和矿工之间进行的游戏,所有这些人都努力最大化他们的代币余额。游戏在HTLC的持续时间内进行,在每一轮中,一个矿工生成一个区块。我们使用子博弈完美均衡解决方案概念,即所有参与者都是理性的,并且意识到所有其他参与者的理性,并且他们在考虑游戏的动态性和顺序性的同时,优化了自己的利润。 我们的分析表明,Bob“足够高的费用”实际上很低,这意味着部署这种攻击非常便宜。在比特币上部署HTLC的各种情况下,这种攻击可能会提供5位数的ROI比率, 例如以1美元的成本就可以产生10000美元的收益。请注意,Bob激励矿工以其最大利益行事,也就是说,他假设矿工们做出了最佳的交易选择。虽然通常情况并非如此,但不断增加的赌注和机会(例如,神秘的以太坊用户支付了极高的费用)将使优化变得有价值。实际上,我们用150行代码修补标准的Bitcoin Core客户端来实现优化。
MAD-HTLC
相互保证毁灭(MAD)最明显的是和冷战学说有关:对立双方持有核导弹库存,如果他们中的任何一方受到核攻击,作为最后的行动,双方都会遭到核攻击。由于双方都知道对方的反应,因此他们都不会展开进攻。
因此,我们在MAD-HTLC设计中应用了一种威慑机制。具体来说,我们将其设置为:如果Bob尝试使用Alice的代币,则可以保证他会丢失代币。
MAD-HTLC核心的第二个概念,是将矿工视为智能合约中的积极参与实体。也就是说,我们利用了以下事实:矿工是理性的,并且为了他们的最大利益而行动。该构造基于经典的HTLC。我们添加了第二个哈希锁,Bob需要解决该哈希锁,因此,在任何尝试获取代币的交易中,Bob都必须透露另一个额外的原像。我们还添加了另一个赎回选项-如果任何实体都能解决Alice和Bob的哈希锁,那么任何实体都可以获取代币。
现在,如果Alice和Bob都试图对MAD-HTLC进行赎回操作,他们都必须显示各自的哈希原像。公开的原像允许任何人构建自己的交易,并获取全部MAD-HTLC金额。矿工们在这里有一个优势:因为他们产生了区块,他们可以创建这样的交易并自己获得资金,导致Alice和Bob什么也得不到——即相互保证毁灭(MAD)。
但是,如果每个人都只管自己的,MAD-HTLC的操作就与HTLC相似。如果Alice和Bob不争夺代币,其他各方则不能窃取资金。博弈论分析表明,正确的行为是唯一的子博弈完美平衡,从而使MAD-HTLC激励兼容。
我们的技术论文包括了详细的分析,以及MAD-HTLC比特币脚本、指向主要网络实验(例如,Alice Redems、Bob Redems、miner Redems)的指针,以及我们为通用miner优化实现Bitcoin Core补丁的详细信息。
在发布这篇文章之前,我们与相关各方进行了负责任的披露。