LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 伦敦帝国学院研究论文:利用闪电贷攻击DeFi生态系统以获得乐趣和利润

伦敦帝国学院研究论文:利用闪电贷攻击DeFi生态系统以获得乐趣和利润

2020-07-10 灰狼 来源:区块链网络

引言

今天的主菜是一篇非常专业的研究论文,需要耐心和一定的专业度,因此开启此文之前先来看一下两篇关于Defi的简要新闻,一则是关于KNC项目质押的消息,而另一篇则是业内人士提出需要持续重视Defi安全。

最后今天主菜是一篇关于Defi安全攻击的研究论文,文中作者对于利用闪电贷结合价格预言机的价格操纵,进行的跨交易所黑客攻击进行了详细的描述与分析,看完此篇文章给灰狼最大的感慨是未来几年又可能是区块链行业黑客的美好时光,未来估计时不时会爆出黑客攻击事件。这篇文章建议可以与洁SIR前天翻译的《深入了解DeFi预言机,看这一文就够了》一起看,如果你研究透了各Defi项目的机制及价格预言机的规则,再结合本文,说不定你也可以成为一名牛叉的黑客。而对于项目方来说,一定要避免文中所提及的安全攻击漏洞,同时也要预防其他各种潜在的安全漏洞。下面进入今天的文章。

前戏1:一天内接近供应量的6%的Kyber的代币被质押

在Kyber启动这项服务后的24小时内,已经价值超过1600万美元的KNC被抵押。


价值1670万美元的去中心化金融(DeFi)流动性协议Kyber网络的KNC代币已在服务启动后的24小时内质押锁定。

Kyber联合创始人Loi Luu指出了这一里程碑,他在推特上宣布已经有近1050万KNC被抵押。

对此次发行的大肆宣传在质押开始之前的几个月里导致了一次大涨潮,自4月下旬以来,KNC对美元的价格上涨了两倍多。然而,KNC自大约一周前触顶以来,已经出现了10%的价格回调。


上市以来的KNC/BTC:Coin360

Kyber的网络在质押开启之前市场非常活跃,上周KNC的每日交易量创下历史新高。

KNC的流通量接近1.82亿,已锁定的量占市场总供应量的5.7%。根据stakingrewards.com的数据,Kyber目前提供0.05%的质押奖励。

作为被动收入来源的质押越来越受欢迎,已经看到了很大一部分加密货币资产的流通供应被锁定,九个项目的流通供应中有一半以上被指定用于质押。

超过80%的Kava(KAVA)和Tezos(XTZ)被质押,Synthetix网络(SNX)和Cosmos(ATOM)占有70%以上。至少有11个项目中超过49%的供应已锁定。

前戏2:DeFi高管表示,安全是DeFi持续增长的最大挑战

区块链安全公司Quantstamp的创始人Richard Ma说,安全是DeFi增长的最大挑战。


区块链安全初创公司Quantstamp的首席执行官兼联合创始人Richard Ma解释说,去中心化金融有可能改变我们的金融生态系统,但安全性仍然是巨大的挑战。

他在今天的Unitize数字会议上说:“我们认为安全对DeFi的增长至关重要。” Ma指出,2020年迄今发生了数起DeFi黑客攻击事件,仅今年一年就从DeFi项目盗窃了价值2600万美元的资金。

2.1对DeFi的兴趣上升

DeFi生态系统从2019年12月的7亿美元到目前的20亿美元,增长了近三倍。 关于这一增长,Ma说:

“这表明了人们对替代金融系统的渴望,因为正如你在新冠病毒上所看到的,银行正在印刷越来越多的钱,而传统金融系统中可用的利率却很低。因此,人们正在寻找更好的选择。”

他特别指出了DeFi项目Compound的扩张,并说将近7亿美元流入DeFi项目,以获得比传统金融系统更高的收益。

2.2但是安全问题仍然存在

Ma表示,尽管DeFi项目承诺实现金融包容性、提高利率并降低成本,但许多安全领域仍然缺乏,而且用户资金存在严重漏洞。

Ma说,最大的攻击手段之一是通过欠抵押贷款,黑客将某些资产的价值暂时抬高,将其存入贷款协议,然后利用操纵的价格借入不同的资产。

由于这些项目是去中心化的,并且无法跟踪和恢复非法交易,因此“提前做好适当的安全保障至关重要。”Ma总结说,除了安全审核之外,专注于实时安全监控、提高透明度和保险将是提高DeFi潜力的途径。

正文:利用闪电贷攻击DeFi生态系统以获得乐趣和利润

Kaihua Qin伦敦帝国学院

Liyi Zhou 伦敦帝国学院

Benjamin Livshits 伦敦帝国学院

Arthur Gervais 伦敦帝国学院

摘要

信贷允许贷款人将剩余资本借给借款人。在传统经济中,信贷承担着借款人可能违约的风险,因此贷款人要求借款人提供一笔预付抵押品,外加利息费。

由于区块链交易的原子性,贷款人可以提供短期贷款,即仅在一项交易中有效且必须在该交易结束时偿还的贷款。这个概念导致了许多有趣的攻击可能性,其中一些最近已被利用(2020年2月)。

本文是第一个探索闪电贷对新生的去中心化金融(DeFi)生态系统影响的文章。 我们分析了两个现有的具有显着投资回报率(ROI)(超过500k%)的攻击向量,然后继续将寻找基于闪电贷的攻击参数公式化为对基础以太坊区块链状态以及DeFi生态系统状态的优化问题。具体来说,我们展示了如何“增强”两次之前执行的攻击,分别产生82.95万美元和110万美元的利润,分别提高了2.37倍和1.73倍。

I.介绍

信贷是我们经济的核心组成部分:为了促进经济增长,市场参与者可以相互借贷资产。如果信贷创造了新的和可持续的价值,它可能被视为一种积极的力量。然而,滥用信贷,即当借款人承担的债务超过其偿还能力时,必然会带来负面的未来后果。过度债务可能导致债务违约,即借款人不再有能力偿还贷款和利息。这就引出了下面一个有趣的问题:如果能够提供信贷,而不承担借款人不偿还债务的风险呢?在传统金融界,这样的概念似乎不切实际。无论借款金额多么小,贷款期限多么短,借款人违约的风险仍然存在。如果绝对可以偿还债务,则可以提供几乎无限量的贷款,或者向个人提供贷款,而不受人口和地理位置的影响,从而有效地使富人和穷人都能获得资本。

鉴于基于区块链的智能合约的特殊性,出现了所谓的闪电贷。闪电贷是仅在一个区块链交易中有效的贷款。如果借款人在贷款交易结束前没有偿还债务,则闪电贷将失败。也就是说,因为如果不满足还款条件,则可以在执行过程中还原区块链交易。这种即时贷款产生了三个新颖的属性,而在中心化金融经济中是不存在的:


图1.我们的参数化优化器概述。给定区块链状态、DeFi模型和攻击向量,它可以解决产生最佳收益的参数。

?无债务违约风险:提供闪电贷的贷款人不承担借款人违约债务的风险1。由于必须以原子方式执行交易及其指令,因此,如果由于债务违约而导致交易失败,则不会授予闪电贷。

?无需抵押:由于保证可以偿还贷款人,因此款人可以在没有借款人预付抵押的情况下发放信贷:闪电贷是无需抵押的。

?贷款额:闪电贷来自公共智能合约管理的流动性资金池。任何借款人都可以在任何时间点借入整个资金池。截至2020年3月,两个最大的闪电贷池[5],[15]各提供超过2000万美元的金额。

据我们所知,这是第一篇调查闪电贷的论文。我们对他们的用例进行分类,并探讨他们的危险。我们精心剖析了两个事件,天才交易者通过两次独立的闪电款分别实现了约35万美元和60万美元的利润。我们将向你展示这些交易者如何分别放弃实现分别超过82.95万美元和110万美元的利润的机会。我们通过使用参数化优化器找到交易者应该采用的最佳对抗参数来实现这一目标(参见图1)。

1除了智能合约漏洞的风险。

本文做出了以下贡献:

?闪电贷使用情况分析。我们提供了一个全面的概述,如何和在何处可以和利用闪贷技术。

?对现有攻击进行剖析。我们提供了两种使用闪电贷并产生超过500k%投资回报率的现有攻击的详细分析:从2020年2月15日开始的抽水和套利,以及从2020年2月18日开始的预言机操纵。

?攻击参数优化框架。给定几个涵盖交易所、信贷/贷款和保证金交易系统的DeFi系统,我们提供了一个框架,用于确定参数,这些参数可产生交易者在使用特定的闪电贷策略时可以实现的最大收益。

?机会损失。我们分析了先前提出和执行的攻击,以根据上述框架确定的最佳行为,量化攻击者的机会损失。我们通过实验验证了上述两种攻击对其各自的区块链状态的机会损失。

论文组织:论文的其余部分组织方式如下。第II节详细介绍了DeFi背景。第III节概述了闪电贷案例。第IV节剖析了两种已知的闪电贷攻击,第V节展示了如何优化其收益。第VI节进行了讨论。我们将在第VII节概述相关工作。在第VIII节我们对这篇论文进行了总结。

II.背景

类似比特币[36]的去中心化账本,可以在没有可信第三方的情况下实现点对点交易。区块链的核心是一连串的区块[8],[36],由矿工通过制作包含交易的新区块来扩展。智能合约[39]允许执行复杂的交易类型,从而实现DeFi。

A.去中心化金融 (DeFi)

去中心化金融是由开源智能合约定义的金融加密货币相关协议的综合体。例如,这些协议允许借贷资产[31],[18]、交易所[15],[38]、保证金交易[15],[4],空头和多头[4]、并允许创建衍生资产 [18]。在撰写本文时,DeFi领域在不同提供商之间的智能合约锁定资本中占了超过10亿美元。大多数DeFi平台都在以太坊虚拟机(EVM)的治理下在以太坊区块链上运行。

B. 恢复EVM状态转换

以太坊区块链本质上是一个自我复制状态机。为了实现状态转换,可以应用一种输入事务,该事务根据已部署的智能合约中编码的规则来修改EVM状态。仅在事务成功执行后,EVM状态才会更改。否则,EVM状态将恢复为先前的未修改状态。 事务可能由于以下三个原因而失败:(i)交易手续费不足(例如,由于GAS不足异常),(ii)由于交易冲突(例如,使用相同的随机数)或(iii)由于待执行交易中无法满足的特定条件。因此,状态恢复似乎是必要的功能。

C. 闪电贷

反转EVM状态更改,可以引入一个有趣的新金融概念:闪电贷。闪电贷仅在单个事务中有效(请参见图2)。


图2.闪电贷方法概述。

闪电贷依赖于单个区块内的区块链(特别是以太坊)交易的原子性。原子性对闪电贷有两个重要影响。首先,非抵押贷款:贷款人无需提供前期抵押品即可请求任何规模的贷款,但不超过闪电贷流动性库存总金额。任何愿意支付所需交易手续费(通常为几美元)的贷款人都是合格的贷款人。第二,无风险贷款:如果贷款人无法偿还贷款,则闪电贷交易将失败。除了智能合约以及更普遍的区块链漏洞之外,贷款人因此不会面临债务违约的风险。

D.DeFi角色

在下文中,我们定义了在这项工作中考虑的链上角色,并将重点放在单个区块链上。

交易者:交易者拥有私钥/公钥对,并有资格签署交易并将交易发送到其他账户和智能合约。

流动性提供商:拥有多余资本的交易者可以选择将其提供给其他交易者,例如作为去中心化交易所或借贷平台中的抵押品。

流动性接受者:为交易量提供者服务的交易者,在交易所收取费用以获取可用资本。

E. DeFi平台

我们简要总结了相关的DeFi平台,例如交易所[38]、[26]、保证金交易[15]、[4],信贷/贷款[31]、[18] DeFi平台。在本文中,我们不涵盖替代的DeFi平台,例如稳定币[31]、预测市场和保险系统。

交易所:我们观察以下DeFi交易所。

限价订单簿(LOB)去中心化交易所:订单簿是买卖订单的集合。交易者将市场资产的买入/投标或卖出/询价单发布到LOB。投标订单将交易者定位为买方,而询价则将交易者定位为卖方。买方的目标是以尽可能低的价格购买资产,而卖方的目标是尽可能以最高的销售价格。当交易者指定固定或更好价格的订单时,该交易者发出所谓的限价单[2]。买卖双方发布具有兼容价格的订单后,便可以匹配他们的订单。流动性提供者出价并请求以促进匹配(即做市)。几个区块链交易所在智能合约[32]、[27]、[26]中操作LOB。

自动做市商(AMM)去中心化交易所:另一种交易所设计是在流动性池中收集资金,例如 AMM资产对X / Y的两个池。AMM市场X / Y的状态(或深度)定义为(x,y),其中x代表流动性池中资产X的数量,y代表资产Y的数量。流动性提供者可以在X和Y池中进行存款/取款,以增加/减少流动性。AMM去中心化交易所支持端点(例如SwapXforY)将资产X交换为Y。最简单的AMM机制是恒定产品做市商,对于任意资产对X / Y,交易期间产品x×y保持恒定。许多去中心化交易所在AMM模型[38]、[26]下运行。

在交易所交易时,可能会出现价格滑落,即交易期间资产价格的变化。交易量越大,滑点越大。

保证金交易:保证金交易为交易者提供了从交易平台(或经纪人)借入资产并使用这些借入资产进行交易的机会。交易者通常必须提供抵押品,然后交易平台使交易者能够借入抵押品的几个乘数以进行保证金交易。多个DeFi平台提供保证金交易[4]、[15]。

信贷和贷款:信贷拥有超过9亿美元的固定资本,是基于区块链的DeFi系统最重要的近期使用案例之一。由于借款人仅具有较弱的身份(例如公钥),因此他们必须提供资产x的125%[15]至150%[31]的抵押品,才能借入另一资产y的100%。存在不同的DeFi借贷平台,从用户到用户的贷款,到集中贷款[18]和支持去中心化稳定币的贷款。

III.闪电贷案例

在本节中,我们分析闪电贷的可能案例。通常很难将这些活动定为完全良性或恶意的活动——这取决于组织这些事务的人的意图。

A.套利

资产的价值通常取决于不同交易所之间市场的需求和供应。由于交易所之间缺乏即时同步,因此同一资产可以在每个交易所上以略有不同的价格进行交易。相关工作比较了2017年1月1日至2018年2月28日在欧洲、韩国、日本和美国(不包括中国)的14个交易所的比特币、以太坊和瑞波币的价格变化[30]。研究发现两次,在几个小时内价格偏差超过50%。套利是利用交易所之间的价格差异获取经济利益的过程[3]。实际上,套利通过激励交易者使交易所之间相同资产的价格相等来帮助同步交易。为了进行套利,交易者需要在不同的交易所储备资产–即套利需要广泛的投资组合和波动性风险管理。

闪电贷如何改变套利风险:有了闪电贷,交易者可以在不同的去中心化交易所上进行套利,而无需持有货币头寸或承受波动风险。交易者可以简单地开出一笔贷款,进行套利交易并偿还贷款和利息。有人可能会争辩说,闪电贷使套利没有风险,但是,智能合约漏洞的风险仍然存在。

套利示例:2020年1月18日,一笔小额贷款从Aave [5]借了3137.41DAI,以在AMM去中心化交易所Uniswap2上进行套利交易。为了准备套利,使用MakerDAO的迁移合约3将DAI转换为3137.41SAI。套利使用SAI/ETH Uniswap将SAI转换为18.16ETH,然后立即使用DAI/ETH Uniswap将18.16 ETH转换回3148.39 DAI。 套利后,将3148.38 DAI转移回Aave,以支付贷款加手续费。这项交易花费0.02 ETH的GAS(在撰写本文时约为5.63USD)。请注意,即使交易发送方从套利中获得了3.29 DAI(PS:实际差价11DAI,有没套利?),该特定交易也无法盈利。

B.洗单交易

资产的交易量是表示资产交易受欢迎程度的度量。因此,最受欢迎的资产应该是交易量最大的——例如,比特币是迄今为止所有加密货币中交易量最高的(据报道每天高达50万亿美元)。

恶意交易所或交易者可以通过人为地夸大资产的交易量来吸引利益,从而误导其他交易者。在2019年9月,Coinmarketcap上排名前100位的交易所中有73家进行了洗单交易,交易量超过了交易量的90%[1]。在中心化交易所中,操作员可以轻松、自由地在后端创建虚假交易,而去中心化交易所在链上结算交易。因此,在去中心化交易所上进行洗单交易需要洗单交易者持有和使用实际资产。闪电贷可以消除这种“障碍”,洗单交易要付出贷款利息、交易手续费和(区块链)交易手续费的成本,如GAS。例如,要在Uniswap的ETH/DAI市场上进行一次24小时交易量增加50%的洗单交易,其成本约为1298美元(参见图3)。我们在图3中可视化了在Uniswap市场中创建虚假交易量所需的成本。在撰写本文时,交易手续费用为0.01美元,闪电贷利息的范围从恒定的1 Wei(在dYdX上)到0.09%(在Aave上),而交易手续费用约为0.3%(在Uniswap上)。

2交易ID: 0x4555a69b40fa465b60406c4d23e2eb98d8aee51def21faa28bb7d2b4a73ab1a9

3地址: 0xc73e0383F3Aff3215E6f04B0331D58CeCf0Ab849


图3.在两个Uniswap市场上洗单交易,闪贷成本分别为0.09%(Aave)和1wei(dYdX)。 截至2020年3月1日,ETH/DAI和ETH/WBTC市场的24小时交易量分别为9630786美元和670690美元。

清单交易示例:2020年3月2日,从dYdX借入的0.01 ETH的闪电贷在Uniswap ETH/LOOM市场4上进行了两次来回交易(首先将0.01 ETH转换为122.1898LOOM,然后将122.1898LOOM转换回0.0099 ETH)。由于两次交易,ETH/LOOM市场的24小时交易量增加了25.8%(从17.71美元增加到22.28美元)。

C.抵押交换

我们将依赖用户提供加密货币[15]、[5]、[31]的DeFi平台分类如下:(i)铸造新资产并用用户提供的抵押品进行背书的DeFi系统(例如MakerDAO的DAI或SAI [31])和(ii)提供长期贷款,资产在流动资金池中汇总(例如,保证金交易[4]或长期贷款[5])的DeFi系统。打开抵押头寸后,DeFi平台会将抵押资产存储在保管库中,直到新的/借入的资产被销毁/归还为止。由于加密货币价格波动,这种资产锁定承担货币风险。使用闪电贷,即使用户没有足够的资金来销毁/归还新的/借入的资产,也可以用另一种资产代替抵押资产。用户可以使用借入资金关闭现有抵押品头寸,然后立即使用其他资产打开新的抵押品头寸。

抵押交换示例:2020年2月20日,一笔闪电贷(从Aave借来了20.00 DAI)以进行抵押互换(在MakerDAO上)5。在此交易之前,事务发送方使用0.18 WETH作为抵押品实例化20.00 DAI(在MakerDAO上)。事务发送方首先使用20.00 DAI闪电贷提取所有WETH,然后将0.18 WETH转换为178.08 BAT(使用Uniswap)。最后,用户使用BAT作为抵押创建20.03 DAI,并偿还20.02 DAI(需向Aave支付手续费)。该交易将抵押物从WETH转换为BAT,用户获得了0.01 DAI,估计GAS费为0.86 USD。

D.闪电铸币

加密货币资产通常称为通货膨胀(可以铸造更多单位的资产)或通货紧缩(资产的单位总数是有限的)。闪电铸币是一种允许瞬时铸造任意数量的资产的想法——新铸造的单位仅在一次事务中存在。目前尚不清楚该想法可能适用于何处,铸造资产可能会暂时增加流动性。


图4. 闪电铸币示例。

闪电铸币示例:Flash Mint函数(参见图4)可以集成到ERC20代币中,仅在一个事务中铸造任意数量的代币。在事务终止之前,铸造的代币将被销毁。如果在事务结束时要销毁的可用代币数量少于铸造的代币数量,则事务将被还原(即不执行)。示例ERC20 闪电铸币代码可以采用以下形式6:

IV.闪电贷剖析

在本节中,我们将研究如何使用闪电贷,并深入概述两次恶意的闪电贷交易,这些交易产生的投资回报率超过50万%。据我们所知,闪电贷仅在2020年初出现。

A.野外闪电贷用途

我们首先考虑Aave [5]在以太坊区块链上提供的闪电贷,该区块链于2020年1月8日开始运行。据我们所知,这是第一个广泛宣传闪电贷功能的DeFi平台之一(尽管其他平台,例如dYdX还允许以无文件记录的方式借用闪电贷)。在撰写本文时,Aave收取闪电贷恒定的0.09%利息,并积累了2200万美元的总流动资金。

我们收集了2020年1月8日至2020年2月26日之间的闪电贷数据,并有一个完整的以太坊存档节点,收集了Aave智能合约的所有事件日志7。然后,我们将交易数据映射到已知的项目列表(请参阅附录A)。在图5中,我们显示了对Aave闪电贷的分析,并手动标记了闪电贷与之交互的平台。我们观察到,大多数闪电贷与借贷/交换DeFi系统相互作用,并且闪电贷的交易成本(即天然气)显得很可观(有时超过4百万GAS,而定期以太坊转移为21000GAS)。

4交易ID:0xf65b384ebe2b7bf1e7bd06adf0daac0413defeed42 fd2cc72a75385a200e1544

5交易ID:0x5d5bbfe0b666631916adb8a56821b204d97e75e2a 852945ac7396a82e207e0ca

6参见。https://etherscan.io/address/0x09b4c8200f0cb51e6d44a1974 a1bc07336b9f47f#code

7地址:0x398eC7346DcD622eDc5ae82352F02bE94C62d119


图5.根据Aave [5]对2020年1月8日至2020年2月26日之间的交易进行的分析,对野外闪电贷的使用进行分类。未知表示我们无法附加所有者的私人合约。

B.抽水与套利

一笔闪电贷交易8,接着是74笔交易,产生了10193.69以太坊(35万美元)的利润,交易费用为132.36美元(累计5002370867GAS,0.5以太坊)。我们在第V-E节中指出,对手选择的参数不是最优的,对手可以获得超过829.5万美元的利润。

攻击直觉:此交易的核心是利用去中心化交易所(bZx)上的保证金交易来提高另一去中心化交易所(Uniswap)上WBTC/ETH的价格,从而创造套利机会。然后,交易者使用ETH作为抵押品(在Compound)借入WBTC,然后在扭曲的(Uniswap)去中心化交易所市场上以“便宜”的价格购买ETH。为了获得最大的利润,对手在闪电贷后的两天内将“便宜”的ETH转换为以非操纵的市场价格购买WBTC。 然后,对手将WBTC(到Compound)赎回ETH抵押品。如图6所示,该交易主要由两部分组成。为简单起见,我们省略了WETH(以ERC20交易的ETH版本)和ETH之间的转换。

闪电贷(一个区块):攻击的第一部分(请参见图6)由单个事务中的7个步骤组成。


图6.抽水和套利攻击的程序图。实心框表示单个状态更改操作,虚线框表示聚合状态更改操作。攻击包括两个部分,一个是单笔贷款交易,另一个是几笔贷款赎回交易。矩形内的数字表示通过参数化优化器找到的最佳参数(请参阅第V节)。

在步骤1中,对抗交易者(adversary trader)从闪电贷提供者(dYdX)借入10000.00 ETH的闪电贷。在步骤2和3中,对抗交易者使用10000.00 ETH中的5500.00作为抵押品,在借贷平台(Compound)上借入112.00 WBTC。更具体地说,对手首先将5500 ETH存入Compound,以换取274843.68 cETH(cToken)作为拥有这种流动性的证明。然后,对抗交易者使用cETH代币作为抵押品借入WBTC(在Compound上)。请注意,对抗交易者不会在闪电贷内退还112.00 WBTC。这意味着如果价格波动,对抗交易者将面临被强制清算的风险,即274843.68 cETH抵押品。在步骤4中,对抗交易者以5倍杠杆为WBTC开仓以太坊的ETH空头头寸。收到此请求后,bZx在交易所(Uniswap)上以51.35 WBTC(109.79ETH/WBTC)交易5637.62 ETH。注意,在方框9484688的开始时,Uniswap的总供应量为2817.77 ETH和77.09 WBTC(36.55 ETH/WBTC)。此交易的下滑幅度高达239.84%(参见公式1)。

8在2020年2月15日执行,交易ID:0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838,264.71USD/ETH


去中心化交易所Uniswap和bZx都允许发生这种高滑点。在步骤5中,对抗交易者将从借贷平台(Compound)借来的112.00 WBTC转换为去中心化交易所(Uniswap)上的60871.41ETH(为61.35 ETH / WBTC)。同样,可以根据公式2计算滑移率。


在步骤6中,对抗交易者偿还了贷款,并支付了1×1011 Wei手续费。请注意,dYdX只需要1 Wei的手续费。在进行了闪电贷交易之后(即本次抽水和套利交易的第一部分),交易者获得了71.41ETH,并拥有112 WBTC(49.10ETH/WBTC)的5500 ETH的超额抵押贷款。如果ETH/WBTC市场价格高于此贷款汇率,则对抗交易者可以按以下方式赎回贷款抵押品。

贷款赎回:交易的第二部分包括以太坊区块9484917和9496602之间的三个重复步骤(步骤a-c)。这些交易旨在通过偿还较早的WBTC(在Compound上)来赎回ETH。为避免购买WBTC时出现滑点,对抗交易者在两天的时间内在去中心化交易所(Kyber、Uniswap)上少量执行第二部分。对抗交易者总共用4377.72 ETH交换了112 WBTC(按39.08 ETH/WBTC的价格)以赎回5500.00 ETH。

寻找受害者:我们调查参与实体中谁在赔钱。请注意,在图6的第4步中,空头头寸(在bZx上)从贷款提供商(bZx)借入5300.62-1300 = 4337.62 ETH,抵押品为1300ETH。第4步要求以328.49ETH/WBTC的价格购买WBTC,同时包含对抗交易者的抵押品和流动性提供者的总资金。攻击之前328.49 ETH/WBTC与市场价格36.55 ETH/WBTC不对应,因此,流动性提供者多付了近一个数量级的WBTC价格。

受害者损失了多少:我们现在量化流动性提供者的损失。贷款提供者损失4337.62(来自贷款提供者的ETH-51.35(WBTC处于空头头寸)×39.08(市场汇率ETH/WBTC)=2330.86 ETH。对抗交易者获利5500.00(Compound中的ETH贷款抵押品)-4377.72(购买WBTC所花费的ETH)+ 71.41(第1部分)= 总计1193.69ETH。

套利:留在桌面上的钱更多:由于受到攻击,Uniswap的价格从36.55ETH/WBTC降低到11.50ETH/WBTC。这创造了套利机会,交易者可以在Uniswap上对WBTC出售ETH以同步价格。1233.79ETH将产生60.65 WBTC,而不是33.76WBTC,实现套利26.89 WBTC(286035.04 USD)。

C.预言机操纵

在下文中,我们讨论第二笔闪电贷交易的详细信息,在118.79美元的交易手续费下,在单笔交易9中产生2381.41ETH(约65万美元)的利润。在深入探讨细节之前,我们将介绍其他必需的背景知识。我们再次展示所选的攻击参数不是最佳的,并在V-E攻击参数部分中给出最佳参数,它们会产生110万美元的利润。 对于此攻击,对抗交易者涉及同一sUSD/ETH市场对的三个不同交易所(Kyber-Uniswap储备、Kyber和Synthetix)。其中两个交易所(Kyber,Kyber-Uniswap)充当对抗交易者从其借出资产的借贷平台(bZx)的价格预言机。

9于2020年2月18日执行,交易ID:0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15, 282.91USD/ETH

价格预言机:DeFi生态系统的目标之一是不依赖可信的第三方。该前提既适用于资产托管,也适用于其他信息,例如资产定价。因此,确定资产价格的一种常用方法是依赖链上去中心化交易所(例如Uniswap)的定价信息。这种方法的一个缺点是操纵去中心化交易所价格的危险。

攻击直觉:此交易的核心是对资产对sUSD/ETH进行闪电贷的预言机操纵。操纵降低了sUSD/ETH的价格(Uniswap的sUSD/ETH从268.30降低到106.05 sUSD/ETH,在Kyber储备上为108.44sUSD/ETH)。第二步,通过以sUSD作为抵押品借入ETH,对抗交易者将从sUSD/ETH价格下跌中受益。


图7. 预言机操纵攻击程序图。实心框表示单个状态更改操作,虚线框表示聚合状态更改操作。矩形内的数字表示通过参数化优化器找到的最佳参数(请参阅第V节)。

对抗性预言机操控:我们在这个事务中总共确定了6个步骤(参见图7)。在步骤1中,交易者借入一笔7500.00 ETH(在bZx上)的闪电贷。在接下来的三个步骤(2、3、4)中,对抗交易者将总共4417.86 ETH转换为943837.59 sUSD(平均213.64sUSD/ETH)。第2步以171.15sUSD/ETH(在Kyber-Uniswap储备上)的价格用ETH购买sUSD,第3步,以111.23sUSD/ETH(在Kyber上)的价格用ETH购买sUSD。涉及的第三方是借贷平台bZx,它使用去中心化交易所Kyber作为价格预言机。第2步和第3步允许对手用ETH借入更多sUSD,因为自攻击开始以来,借贷平台感知到的sUSD / ETH的价格下降了58%以上。步骤4在第三个交易市场(Synthetix)上将ETH转换为sUSD,该交易尚未受到之前交易的影响。该交易所不充当借贷平台(bZx)的价格预言机。

对抗交易者然后使用购买的sUSD的总和(1099841.39)作为借入6799.27ETH的抵押品(在bZx上,汇率/抵押品系数=max(106.05108.44×1.5=162.66sUSD/ETH) 。 现在,对抗交易者拥有6799.27+3082.14 ETH,并在最后一步偿还了75000.00 ETH的闪电贷。因此,对抗交易者仅消耗0.42 ETH(118.79 USD)的交易手费用,就产生了2381.41ETH的利润。

寻找受害者:对抗交易者将预言机(即Uniswap和Kyber)的价格从268.30sUSD/ETH扭曲到107.83sUSD/ETH,而其他DeFi平台则没有受到268.30sUSD/ETH的影响。和抽水与套利攻击类似,bZx上的贷方是价格预言机失真的受害者,他们损失了加密货币。贷方损失了6799.27 ETH-1099,841sUSD,估计为2699.97 ETH(按268.30sUSD/ETH)。对抗交易者获得6799.27(来自借款的ETH)-3517.86(购买sUSD的ETH)-360(购买sUSD的ETH)-540(购买sUSD的ETH)= 2381.41ETH。

V.最佳DeFi攻击参数生成

鉴于上述DeFi攻击的复杂性(请参阅第IV节),在本节中,我们提出一种约束优化框架,该框架可以有效地发现最佳交易参数,从而最大程度地提高预期收益。

A.系统模型和假设

所考虑的系统仅限于一个支持伪图灵完备智能合约的去中心化账本(例如类似于以太坊虚拟机;在某些情况下,例如GAS用完或返还资金不足的情况下,状态转换可以逆转)。我们的系统由普通用户或交易者组成,他们至少持有一个私有/公共密钥对来表示他们的区块链地址。私钥使用户能够转移加密货币资产并交互/调用智能合约。

我们假设底层区块链不受恶意对手的破坏。因此,我们假设被对手破坏的共识参与者的份额受维持基础区块链的安全性和活力所需的阈值限制。例如,在中本共识的区块链中,我们假设对手的计算能力不超过1/3 [21],[20]。同样,在拜占庭式容错系统中(例如,基于权益证明),我们假设错误进程的数量不超过共识参与者数量的1/3。先前的假设保证了链的质量和通用前缀属性[20]。我们认为,经过k次确认后,事务将安全地包含在区块链中,其中k取决于交易价值[21]和链增长属性[20]。

重要的是,闪电贷仅适用于单个事务,因此我们将分析局限于单个区块链区块内可能发生的情况。

B.威胁与网络模型

首先,我们假设所考虑的区块链的加密原语是安全的。我们还假设存在至少一个在计算上受限制且经济上合理的对手A。尝试利用闪电贷的可用性获取经济利益。A可以执行使经济利益最大化的任何操作,例如检查器或延迟事务、在网络层或内存池上观察未确认的事务以及发起女巫攻击[14]。在网络层,我们遵循相关工作[17],[13],假设相关的诚实节点连接良好,并且通信通道是半同步的。重要的是,我们假设用户广播的事务在一个上限时间内被诚实的用户接收。对手可能与其他对手串通。虽然A不需要提供自己的抵押品来进行所提出的攻击,但对手有经济能力支付交易手续费。对手可能会积累更多的资本,这可能会增加其影响力和投资回报率。

C.DeFi状态建模

我们首先对可能参与DeFi攻击的不同组件进行建模。为了促进最佳参数求解,我们将DeFi平台提供的每个端点定量化为一个状态转换函数S'= T(S;p),约束条件为C(S;p),其中S为给定状态,p为对手选择的参数,S0为输出状态。例如,状态可以代表对抗性余额或DeFi平台的任何内部状态,而限制条件则由以太坊虚拟机的执行要求来设置(例如,实体的以太坊余额不应为负数)或由各自的DeFi平台定义的规则(例如,必须在交易终止前偿还闪电贷,以及贷款费用)。请注意,在量化利润时,我们忽略了在当前DeFi攻击中可以忽略不计的贷款利息/费用支付和以太坊交易手续费。对输入参数和输出状态施加约束,以确保优化器产生有效参数。

我们定义余额状态函数B(E;X;S)来表示实体E在给定状态S下所持有的货币X的余额。必须始终满足公式3的约束。

?(E,X,S), B(E;X;S)≥0 (3)

在下文中,我们详细介绍了定量DeFi模型在这项工作中的应用。请注意,我们并未包括与DeFi攻击相关的所有状态,而仅包括与约束优化相关的状态。

闪电贷:我们假设一个闪电贷平台F,对手A可以借用具有zX量的资产X。借入b/X所需的利息由利息(b)表示。

状态:在闪电贷中,状态由A的余额表示,即B(A;X;S)。

状态转换:我们在公式4中定义了贷款,在公式5中定义了还款的状态转换函数,其中参数bX表示借入金额。


固定价格交易:我们定义了端点SellXforY,允许对手A以固定价格pm将qX数量的X交易给Y。maxY是可用于交易的Y的最大数量。

状态:我们考虑以下状态变量:

?A持有的资产X余额:B(A;X;S)

?A持有的资产Y余额:B(A;Y;S)

状态转换:SellXforY的状态转换函数在公式6中定义。


恒定乘积自动做市商:恒定乘积AMM在AMM去中心化交易所(当前DeFi生态系统中最常见的AMM模型)中的市场份额为77%[38]。我们用M表示具有交易对X/Y和汇率f的AMM实例。

状态:我们考虑以下状态变量,可以在AMM状态转换中进行修改。

?AMM流动资金池中的X数量:uX(S),等于B(M;X;S)

?AMM流动资金池中的Y数量:uY(S),等于B(M;Y;S)

?A持有的X余额:B(A;X;S)

?A持有的Y余额:B(A;Y;S)

状态转换:在M的端点中,我们重点关注SwapXforY和SwapYforX,它们是本文中讨论的DeFi攻击的相关端点。pX是代表对手打算交易的X数量的参数。A在AMM流动资金池中输入pX数量的X,并接收oY数量的Y作为输出。恒定乘积规则[38]要求公式7成立。


我们在公式8中定义SwapXforY的状态转换函数和约束(类似于SwapYforX)。


由于AMM去中心化交易所M透明地公开了链上的所有价格转换,因此其他DeFi平台可以将其用作价格预言机。在状态S下,由M给出的Y相对于X的价格在公式9中定义。


自动价格储备:自动价格储备是AMM的另一种类型,可以根据库存中的资产自动计算交易价格。我们用R表示持有资产对X/Y的储备。当启动R时,设置最小价格minP和最高价格maxP。R依靠流动性比率参数lr来计算资产价格。我们假设R在状态S下持有X的kX(S)量。我们在公式10中定义Y的价格。


R提供的端点ConvertXtoY允许对手A将X交易为Y。

状态:我们考虑以下状态变量:

?储备中X的库存:kX(S),等于B(R;X;S)

?A持有的X余额:B(A;X;S)

?A持有的Y余额:B(A;Y;S)

状态转换:我们用hX表示A在交易中输入的X对Y进行交易的量。Y的交易输出量通过以下公式计算。


我们在公式11中定义状态转换函数。


抵押贷款和借贷:我们考虑一个抵押贷款平台L,该平台提供了抵押贷款端点,该端点要求用户以抵押因子cf(约束0<cf<1)抵押资产X并以汇率er借入另一资产Y 。抵押因子确定用户可以借入的上限。例如,如果抵押因子为0.75,则允许用户借入抵押价值的75%。例如,汇率由一个外包价格预言机决定。zY表示可借入的Y的最大金额。

状态:因此,我们考虑以下状态变量,为简单起见,忽略了L的余额变化。

?A持有的资产X余额:B(A;X;S)

?A持有的资产Y余额:B(A;Y;S)

状态转换:参数cX表示A要抵押的资产X的数量。尽管允许A借入的金额少于其抵押品允许的金额,但我们假设A使用了其全部抵押品。公式12显示了抵押贷款的状态转换函数。


A可以通过端点抵押还款(CollateralizedRepay)偿还借入的资产来获取其抵押品。我们在公式13中显示了状态转换函数,为简单起见,忽略了贷款利息费用。


保证金交易:保证金交易平台T允许对手A通过以杠杆`(其中≥1)抵押资产X来做空资产Y。

我们专注于MarginShort端点,该端点与本文中讨论的DeFi攻击有关。我们假设A在F上的相对于X卖空Y。参数dX表示A预先抵押以开立保证金的X的数量。 wX表示F持有的可用于做空保证金的X数量。要求A在保证金交易中以ocr的比率超额抵押。在我们的模型中,当打开一个空头保证金(相对于X的空头Y)时,F在外部X/Y市场(例如Uniswap)上执行交易,将杠杆X转换为Y。交易的Y被锁定,直到保证金关闭或清算。

状态:在做空保证金交易中,我们考虑以下状态变量:

?A持有的X余额:B(A;X;S)

?Y的锁定量:L(A;Y;S)

状态转换:我们假设F以emp的价格从外部市场进行交易。状态转换函数和约束在公式14中指定。


D.参数优化

我们的参数化优化器(请参见图1)旨在解决最佳参数,这些参数可以在链上状态、Defi模型(请参见V-C节)和攻击向量的情况下最大化收益。攻击向量指定了各种DeFi平台上不同端点的执行顺序,这取决于我们形式化了一个单向转移函数链(参见公式15)。



图8.抽水与套利攻击的初始链上状态。

通过嵌套转换函数,可以轻松获得累积状态转换函数ACCi(S0;p1:i;pi)满足公式16,其中p 1:i =(p1,...,pi)。


因此,在每个步骤中生成的约束可以表示为公式17。


我们假设一个攻击向量由N个过渡函数组成。可以从初始状态S0和最终状态SN(例如对抗性余额的增加)计算目标函数。


给定初始状态S0,我们将攻击向量表示成关于所有参数p1:N的约束优化问题(参见方程19)。


E.优化抽水与套利

下面,我们根据第IV节中描述的现有攻击评估我们的参数化优化框架。图8总结了执行攻击(即S0)时的链上状态。我们将这些区块链记录用作评估中的初始状态。X和Y分别表示ETH和WBTC。为简单起见,我们忽略了恒定乘积AMM中的交易手续费(即f=0代表M)。在抽水与套利攻击中执行的端点按执行顺序如下。

1)贷款(dYdX)

2)抵押贷款(Compound)

3)MarginShort(bZx)和SwapXforY(Uniswap)

4)SwapYforX(Uniswap)

5)还款(dYdX)

6)SellXforY和抵押还款(Compound)

在抽水与套利攻击向量中,我们打算调整以下两个参数:(i)p1:在端点2借入Y的抵押X数量)和(ii)p2:

在端点3中抵押为卖空Y的X的数量。按照第V-D节的过程,我们将详细介绍约束系统的构建。

0):我们假设A拥有的X的初始余额为B0(请参见公式20),对于剩余的初始状态值,我们请读者参考图8。


1) 贷款: A总共获得X金额为p1+p2的闪电贷


约束为


2) 抵押贷款: A将p1的X作为抵押,从贷款平台L借Y


3) MarginShort和SwapXforY: A在保证金交易平台T上以`的杠杆作用开立x的p2数量的空头保证金;T将恒定乘积AMM M的杠杆X交换为Y


4) SwapYforX: A将所有借来的Y都转储到M


5) 还款:A偿还闪电贷


6) SellXforY和抵押还款: A以市场价格pm从市场买入Y,并从L取回抵押品



图9.为抽水与套利攻击生成的约束。我们注意到uX(S4)对于p1和p2是一个非线性分量。

目标函数是对抗性ETH收入(参见公式21)。


约束:我们在图9中总结了约束,五个线性约束和一个非线性约束,这意味着可以有效地解决优化问题。

F.优化抽水与套利攻击

我们使用SciPy10中的序列最小二乘编程(SLSQP)算法来解决优化问题。我们的程序在16核CPU和32GB RAM的Ubuntu 18.04.2计算机上进行了评估。我们重复了10000次实验,优化器平均花费6.1ms收敛到最佳状态。

最佳抽水和套利参数:将参数(p1;p2)设置为(2470.08;1456.23)时,优化程序提供的最大收益为2778.94 ETH,而在原始攻击中,参数(5500;1300)仅产生1171.70 ETH。请注意,由于忽略了交易手续费和精确度差异,使用我们的模型计算出的原始攻击收入与实际收入之间存在细微差异,即实际收入为1193.69 ETH(请参阅第IV节)。使用当时的价格,这比发生的攻击增加了829.5k美元。

最佳参数验证:我们在方框9484687(原始攻击事务之前的一个方框)中通过用Ganache11分叉以太坊区块链,以实验方式验证最佳抽水与套利攻击。然后,我们在版本v0.6.3中实施抽水和套利攻击。在“抽水与套利”攻击中,收入分为两部分:第一部分来自快速贷款交易,第二部分是后续步骤(请参阅第IV节)中的后续操作以偿还贷款。为简单起见,我们选择仅验证第一部分,并遵循以下方法:(i)我们将参数化优化器的参数输出(即(p1;p2)=(2470.08;1456.23))应用于对抗对象验证智能合约。(ii)请注意,我们的模型是真实区块链转换函数的近似值。因此,由于我们模型的不精确性,我们不能直接使用精确的模型输出,而是将模型输出用作手动、反复试验和试错搜索的指南。我们发现1344是允许成功进行对抗**易的p2的最大值。(iii)给定新的p2约束,我们的优化器将输出新的最佳参数(2404;1344)。(iv)我们的最佳对抗**易产生的利润为1958.01ETH的第一部分收入(原始攻击为71.41ETH)。执行我们的攻击总共消耗330万GAS。我们注意到,对于更精确的DeFi模型,这些麻烦的手动参数调整将是不必要的。


图10. 预言机操纵攻击的初始链上状态。

G.优化预言机操纵攻击

在预言机操纵攻击中,X表示ETH,Y表示sUSD。同样,我们忽略了恒定乘积AMM中的交易手续费(即f=0代表M)。初始状态变量如图10所示。我们假设A拥有X或Y的零余额。我们列出了涉及预言机操纵攻击向量的端点,如下所示。

1)贷款(bZx)

2)SwapXforY(Uniswap)

3)ConvertXtoY(Kyber储备)

4)SellXforY(合成)

5)抵押借款(bZx)

6)还款(bZx)

在此攻击中有三个参数需要优化:(i)p1:在步骤2)中用于交换Y的X数量;ii在步骤3)中用于交换Y的X的数量;(iii)在步骤4中用于交换Y的Y的数量。我们构造约束优化问题如下。

1) 贷款: A获得一笔金额为p1+p2+p3的闪电贷


约束条件为


2) SwapXforY: 从恒定乘积AMM M中将X的p1数量的X交换为Y


3) ConvertXtoY: A从自动价格储备R中将X的p2数量转换为Y


4) SellXforY: A以pm的价格将p3数量的X卖成Y


5) 抵押借款: A根据恒定乘积AMM M给出的价格(即汇率er=1/PY(M;S2))将所有拥有的Y抵押以借入X


约束条件为


6) 偿还:A偿还闪电贷


约束条件为


目标函数是偿还闪电贷后X的剩余余额(请参见公式22)。


约束:我们在图11中总结了预言机操纵攻击向量的产生约束。五个约束是线性的,另外两个约束是非线性的。

H. 寻找最优的预言机操纵参数

我们在具有16核CPU和32 GB RAM的同一Ubuntu 18.04.2计算机上执行优化程序1000次。平均收敛时间为12.9ms。


图11.为预言机操控攻击生成的约束。我们注意到B(A;Y;S4)和PY(M;S2)是相对于p1、p2和p3的非线性分量。

最佳的预言机操控参数:优化程序发现将(p1;p2;p3)设置为(898.58;546.80;3517.86)会为对抗交易者带来大约6323.93 ETH的利润。这样就获得了110万美元的收益,而不是大约60万美元。

最佳参数验证:在9504626块(原始对抗交易之前的一个块),我们用Ganache分叉了以太坊区块链。然后,我们实现预言机操控攻击solidity v0.6.3。我们验证执行参数为(p1;p2;p3)=(898.58;546.8;3517.86)的对抗性智能合约可获利6262.28ETH,而原始攻击参数可产生2381.41 ETH。攻击消耗了1130万GAS(超过以太坊主网上的GAS限制(970万)。通过分析对抗性验证合约,我们发现460是p2的最大值,该值使GAS消耗低于区块链限制。遵循第V-F节中类似的方法,我们将新约束添加到优化器,该优化器随后将提供最佳参数(714.3;460;3517.86)。增强的验证合约获利4167.01 ETH,消耗960万GAS。

VI.讨论

当前一代的DeFi是有机地发展起来的,在金融安全方面没有经过太多的审查。因此,它提出了一个有趣的安全挑战。一方面,DeFi欢迎创新和新协议的出现,例如MakerDAO、Compound和Uniswap。另一方面,尽管在尝试保护智能合约[28]、[23]、[11]、[40]、[37],以及避免各种形式的市场操纵等[33]、[34]、[7] 方面花费了大量精力,但是几乎没有努力来保护整个协议。

这样,DeFi协议加入了生态系统,这既导致针对协议本身的攻击,也导致利用了多个协议的多步攻击,例如第四节中的两种攻击。在某种程度上,这突显了这样一个事实,即DeFi缺乏能够强制执行强势安全状态的中央集权,因此最终会因设计而有效地受到多种攻击。闪电贷仅仅是加速这些攻击的一种机制。它不需要任何抵押品(除少量GAS成本),从而以某种方式使攻击民主化,向大众开放了这一战略。但是,很有可能会有其他机制被发明出来,在不久的将来,可能会有更大破坏性的攻击。

责任披露:鉴于潜在的漏洞和受害人并不总是十分清楚,而且缺乏适用的安全标准,因此尚不清楚如何在DeFi中执行责任披露。我们计划与Aave、Kyber和Uniswap联系,以公开本文的内容。

确定什么是恶意的:一个有趣的问题仍然存在,我们是否可以将使用闪电贷(参见第III节)定性为明显恶意(或明显良性)。我们认为,这是一个很难回答的问题,我们宁愿保留价值判断。第IV节中的两种攻击显然是恶意的:抽水和套利涉及在Uniswap上操纵WBTC/ETH价格;预言机操纵攻击涉及通过操纵降低Kyber上ETH对sUSD的价格产生价格预言机依据。但是,套利机制通常并不是恶意的——仅仅是DeFi生态系统去中心化的结果,在该生态系统中,许多交易所和去中心化交易所彼此之间无需太多协调就可以存在。这样一来,套利将继续作为一种现象存在,并带来好与坏的后果。

额外的资金是否有帮助:闪电贷的主要吸引力在于它们不需要抵押品。但是,人们可能会怀疑,额外的资金是否会使我们关注的攻击更有效,投资回报率更高。 根据我们的结果,第IV节两次攻击的额外抵押不会增加投资回报,因为中间协议的流动性约束不允许产生更大的影响。

潜在的防御措施:这里我们讨论几种潜在的防御措施。但是,我们将第一个承认这些方法并非万无一失,并且会带来潜在的负面影响,严重阻碍正常的互动。

?去中心化交易所是否应该接受来自闪电贷的交易?

?如果前一个区块未在地址中显示这些资金,去中心化交易是否应从该地址接受代币?

?引入延迟可能是有道理的,例如 在治理投票中,还是在价格预言机中?

?设计DeFi协议时,应限制单个事务的能力:去中心化交易不应允许单个事务触发滑差超过100%。

未来展望:将来,我们预计DeFi协议最终将开始符合更高的安全测试标准,无论是在协议本身内,还是在DeFi生态系统中进行集成测试的一部分。我们认为,最终,这可能会导致涉及金融安全的某种形式的DeFi标准,类似于在传统的中心化(政府控制)金融中对银行和其他金融机构施加的标准。我们预计,无论是整个系统的渗透测试,还是像本文中那样对可能性领域建模的分析方法,都是改进未来DeFi协议的两种方法。

VII.相关工作

越来越多的工作集中在加密货币市场中的各种形式的操纵和金融驱动的攻击上。 由于本文中介绍的某些现象太新了,因此直接相关的工作很少。但是,现有工作可以分为以下几类。

加密市场操纵:Daian等人进行的彻底的加密市场操纵研究。[12]分析竞争套利机器人的行为。Gandal等。[19]证明2013年末美元兑BTC汇率的空前飙升可能是由价格操纵造成的。Makarov等。[29]探索加密市场中的套利机会。许多学者使用GARCH模型来拟合比特币价格的时间序列。Dyhrberg等。[16]探索了比特币的金融资产能力,并建议将比特币归类为介于黄金和美元之间的东西; Katsiampa [25]强调建模的准确性,并建议使用AR-CGARCH模型进行价格回归拟合。Bariviera等。[6]通过去趋势波动分析法计算赫斯特指数,得出市场流动性不影响长期依赖水平的结论。Corbet等。[10]证明存在期货交易的情况下,比特币也显示出投机性资产而不是货币的特征。最近的一些论文集中在操纵加密代币价格的抽水现象[41]、[24]。

治理攻击:诸如MakerDAO [31]之类的DeFi协议以去中心化的治理机制运行。投票代币的持有人有资格对协议的更改进行提议和投票。通过设计,能够积累足够数量的投票代币的实体有资格执行单方面的重大变更(例如清算并收取所有抵押品)。闪电贷[22]可能会加剧治理攻击[35]。

VIII.结论

本文是第一个对以太坊网络上的闪电贷机制进行详细探讨的文章。虽然在DeFi中提出了一种聪明的机制,但闪电贷开始被用作金融攻击媒介,以有效地以加密货币的形式从DeFi中提取资金。在本文中,我们详细分析了现有的基于闪电贷的攻击,然后继续提出可显着提高这些攻击的投资收益率的优化。具体而言,我们能够展示如何“增强”先前执行的两次攻击,分别产生82.95万美元和110万美元的收入,分别提高了2.37倍和1.73倍。

参考

[1] Bti市场监测报告——2019年9月——bti。https://www.bti.live/bti-september-2019-wash-trade-report/。(访问时间2020年02月24日)。

[2]SEC词汇表,2019。

[3]套利,2020。

[4]Bzx网络,2020。

[5]Aave。Aave协议。https://github.com/aave/aave-protocol,2020。

[6]Aurelio F。Bariviera,Mar??a Jos?? Basgall,Waldo Hasperu?e,和Marcelo Naiouf。比特币市场的一些典型事实。Physica A:统计力学及其应用,484:82–90,2017年。

[7] Iddo Bentov、Yan Ji、Fan Zhang、Yunqi Li, Xueyuan Zhao,、Lorenz Breidenbach, Philip Daian和 Ari Juels。Tesseract:使用可信硬件进行的实时加密货币交换。2019年计算机和通信安全会议。

[8]约瑟夫·波诺(Joseph Bonneau)、安德鲁·米勒(Andrew Miller)、杰里米·克拉克(Jeremy Clark)、阿文·纳拉亚南(Arvind Narayanan)、约书亚·阿克罗尔(Joshua A Kroll)和爱德华·费尔顿(Edward W Felten)Sok:比特币和加密货币的研究前景和挑战。安全性和隐私(SP),2015 IEEE研讨会,第104–121页。 IEEE,2015年。

[9] CoinMarketCap。比特币市值,2019。

[10] 0] Shaen Corbet、Brian Lucey、Maurice Peat和Samuel Vigne。比特币期货——它们有什么用?经济学快报,172:23–27,2018。

[11] Crytic。Echidna:以太坊模糊测试框架。

[12]Philip Daian、Steven Goldfeder、Tyler Kell、Yunqi Li、Xueyuan ZhaoPhilip Daian、Steven Goldfeder、Tyler Kell、Yunqi Li、Xueyuan Zhao、Iddo Bentov、Lorenz Breidenbach、Ari JuelsIddo Bentov、Lorenz Breidenbach,和Ari Juels。 高频交易员2.0:去中心化交易所中的提前交易、事务重新排序和共识不稳定。 IEEE安全和隐私2020年,2020年。

[13]Bernardo David、Peter Ga Davidzi、Aggelos Kiayias和Alexander Russell。 Ouroboros praos:自适应安全的半同步权益证明区块链。加密技术理论与应用会议,第66–98页。施普林格,2018年。

[14]John R Douceur。女巫攻击。点对点系统国际研讨会,第251-260页。斯普林格,2002年。

[15]dYdX。dYdX。https://dydx.exchange/,2020年。

[16]Anne Haubo Dyhrberg。比特币、黄金和美元——GARCH波动率分析。金融研究快报,16:85–92,2015年。

[17]Ittay Eyal、Adem Efe Gencer、Emin Gun Sirer和Robbert Van Renesse。 Bitcoin-ng:可扩展的区块链协议。USENIX网络系统设计和实现研讨会(NSDI 16),2016年。

[18]Compound金融。Compound金融,2019年。

[19]Juan Garay、Aggelos Kiayias、和Nikos Leonardos。比特币生态系统中的价格操纵。货币经济学杂志,95(4):86-96,2018年。

[20]Juan Garay、Aggelos Kiayias和Nikos Leonardos。比特币骨干协议:分析和应用。年度加密技术理论和应用国际会议,第281-310页。施普林格,2015年。

[21] Arthur Gervais、Ghassan O Karame、Karl Wust、Vasileios Glykantzis、Hubert Ritzdorf和Srdjan Capkun。关于工作量证明区块链的安全性和性能。2016年ACM SIGSAC计算机和通信安全会议记录,第3-16页。ACM,2016年。

[22]Lewis Gudgeon、Daniel Perez、Dominik Harz、Arthur Gervais和Benjamin Livshits。去中心化金融危机:攻击defi,2020年。

[23]Bo Jiang、Ye Liu和WK Chan。Contractfuzzer:对智能合约进行模糊处理以检测漏洞。第33届ACM/IEEE国际自动化软件工程会议论文集,第259-269页。ACM,2018年。

[24]Josh Kamps和Bennett Kleinberg。去月球:定义和检测加密货币的拉高出货。犯罪科学,2018年7月12日。

[25]Paraskevi Katsiampa。比特币的波动率估计:GARCH模型的比较。经济学快报,158:3-6,2017年。

[26]Kyber。Kyber。https://kyber.network/,2020。

[27]Aurora实验室。Idex:实时、高吞吐量的以太坊智能合约交换。技术报告,2019年1月。

[28]Loi Luu、Duc-Hiep Chu、Hrishi Olickel、Prateek Saxena和Aquinas Hobor。 使智能合约更智能。2016年ACM SIGSAC计算机和通信安全会议论文集,第254–269页,2016年。

[29]伊戈尔·马卡罗夫(Igor Makarov)和安托瓦内特·肖尔(Antoinette Schoar)。 加密货币市场中的交易和套利。2018。

[30]伊戈尔·马卡罗夫(Igor Makarov)和安托瓦内特·肖尔(Antoinette Schoar)。 加密货币市场的交易和套利。金融经济学杂志,135(2):293-319,2020年。

[31]挂单。Makerdao。https://makerdao.com/en/,2019。

[32]MakerDao。oasisdex协议简介,2019年9月。访问时间:2019年11月12日,https://github.com/makerdao/de veloperguides/blob/master/Oasis/intro-to-oasis/intro-to-oasi s-maker-otc.md.

[33]Vasilios Mavroudis。市场操纵是一个安全问题。arXiv预印本arXiv:1903.12458,2019。

[34]Vasilios Mavroudis和Hayden Melton。Libra:电子金融交易的公平订单匹配。arXiv预印本arXiv:1910.00321,2019。

[35]Micah Zoltu。如何在15秒内将2000万美元变成3.4亿美元。 https://medium.com/coinmonks/how-to-turn-20m-into-34 0m-in-15-seconds-48d161a42311,2019年。[线上; 访问日期:2020年2月9日]。

[36]中本聪。比特币:一个点对点电子现金系统。2008年。

[37]Petar Tsankov、Andrei Dan、Dana Drachsler-Cohen、Arthur Gervais、Florian Buenzli和Martin Vechev。Securify:智能合约的实用安全性分析。2018年ACM SIGSAC计算机和通信安全会议记录,第67-82页。ACM,2018年。

[38]Uniswap.io. 访问时间 November, 2019.

[39]Gavin Wood。以太坊:一个安全的去中心化的通用交易账本。以太坊黄皮书,2014年。

[40]Valentin W¨ustholz 和Maria Christakis。Harvey:智能合约的灰盒模糊器。 arXiv:1905.06944,2019。

[41] Jiahua Xu和Benjamin Livshits。加密货币质押方案剖析。Usenix安全研讨会论文集,2019年8月。

附录

category map = { "0x6B175474E89094C44Da98b954EedeAC495271d0F":"Dai",

"0x61935CbDd02287B511119DDb11Aeb42F1593b7Ef":"0x",

"0x197E90f9FAD81970bA7976f33CbD77088E5D7cf7":"MakerDAO",

"0x7a3370075a54B187d7bD5DceBf0ff2B5552d4F7D":"Kyber",

"0x9759A6Ac90977b93B58547b4A71c78317f391A28":"MakerDAO",

"0xad37fd42185Ba63009177058208dd1be4b136e6b":"MakerDAO",

"0x2a1530C4C41db0B0b2bB646CB5Eb1A67b7158667":"Uniswap",

"0x398eC7346DcD622eDc5ae82352F02bE94C62d119":"Aave",

"0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B":"Compound",

"0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643":"cDai",

"0xc0829421C1d260BD3cB3E0F06cfE2D52db2cE315":"Bancor",

"0x8007aa43792A392b221DC091bdb2191E5fF626d1":"Kyber",

"0x5bcA0f6cD5F9a74895d66005acEf969342F301A0":"CollateralSwap",

"0x20a1d01e03D65495AE157d47E4519EceACb608f6":"OneLeverage",

"0x5ef30b9986345249bc32d8928B7ee64DE9435E39":"MakerDAO",

"0x3D0B1912B66114d4096F48A8CEe3A56C231772cA":"MakerDAO",

"0x3Ab6564d5c214bc416EE8421E05219960504eeAD":"Bancor",

"0x201b704Ae89b31fB795F5EF41E62461b9302E1BA":"DSProxy",

"0x65bF64Ff5f51272f729BDcD7AcFB00677ced86Cd":"Kyber",

"0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5":"cEther",

"0x2F0b23f53734252Bda2277357e97e1517d6B042A":"MakerDAO",

"0x23401C7811411f40008CE9688EdB293D8fe507bc":"DSProxy",

"0x06f7Bf937Dec0C413a2E0464Bb300C4d464bb891":"Bancor",

"0x3dfd23A6c5E8BbcFc9581d2E864a68feb6a076d3":"Aave",

"0x63825c174ab367968EC60f061753D3bbD36A0D8F":"Kyber",

"0x794e6e91555438aFc3ccF1c5076A74F42133d08D":"Oasis",

"0xC9A4AEF09fD9ae835A0c60A0757C8dd748116781":"OneLeverage",

"0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C":"Bancor",

"0xFa8C4B17ac43A025977F5feD843B6c8c4EA52F1c":"DSProxy",

"0x2E642b8D59B45a1D8c5aEf716A84FF44ea665914":"Uniswap",

"0xE03374cAcf4600F56BDDbDC82c07b375f318fc5C":"Bancor",

"0x309627af60F0926daa6041B8279484312f2bf060":"Bancor",

"0x09cabEC1eAd1c0Ba254B09efb3EE13841712bE14":"Uniswap",

"0x0D8775F648430679A709E98d2b0Cb6250d2887EF":"BAT",

"0x207737F726c13C1298B318D233AAa6164EE6b712":"DSProxy",

"0x818E6FECD516Ecc3849DAf6845e3EC868087B755":"Kyber",

"0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B":"MakerDAO",

"0x39755357759cE0d7f32dC8dC45414CCa409AE24e":"Oasis",

"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48":"USDC",

"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2":"WETH9",

"0x7778d1011e19C0091C930d4BEfA2B0e47441562A":"OneLeverage",

"0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359":"SAI",

"0xd3ec78814966Ca1Eb4c923aF4Da86BF7e6c743bA":"Bancor",

"0x19c0976f590D67707E62397C87829d896Dc0f1F1":"MakerDAO",

"0x35A679A2A63F774BBEc5E80E32aE436BC3b5d98e":"DSProxy" }

相关原文链接

DeFi高管表示,安全是DeFi持续增长的最大挑战

一天内接近供应量的6%的Kyber的代币被质押

—-

编译者/作者:灰狼

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...