​去中心化交易的阿喀琉斯之路

Front Running:​去中心化交易的阿喀琉斯之踵

在《明日边缘》中,人类的各种战术对于入侵的外星人都是无效的,因为一旦这种战术生效,外星人在被干掉后就会把时间倒回到战役发生前,整个过程重来一遍。在这个新的时间中,外星人知道什么将会发生,当然也就知道怎么应对。

《明日边缘》宣传语:生死轮回

在区块链中,也有人知道什么将会发生。他们不仅知道未来会发生的事情,他们还可以像《明日边缘》中的外星人一样,利用这种信息去行动,以生成一种对自己有利的未来。

这一切从何说起?就从最近风口浪尖的闪电贷事件开始。

闪电贷事件始末

闪电贷事件中黑客赚钱的方法与你我的方法无异:低点买,高点卖。唯一不同的是黑客知道低点在哪儿、高点在哪儿。他为什么知道?因为马上要把价格拉升起来的人正是他自己

一个仅用于说明原理的模拟攻击过程是这样的:通过 dYdX 的闪贷功能借入 60 ETH,然后在 Compound 抵押 40 ETH 借出 1 BTC,再用剩下的 20 ETH 在 bZx 加 5 倍杠杆买入 BTC,此杠杆交易的流动性由 Uniswap 提供,导致 Uniswap 上 BTC 对 ETH 的价格猛涨,这时候再把 1 BTC 卖给 Uniswap,假设平均卖价涨了一倍,就能卖出 80 ETH,还掉最初借的 60 ETH,盈利 20 ETH(真实过程可阅读文末的参考资料 1、2)

图自 CryptoLaboratory

可以认为黑客有两个分身,分身一拉盘(20 ETH × 5 = 100 ETH),分身二获利(40 ETH),在这个过程中,分身二赚的钱以及 Uniswap 做市商赚的钱加起来应该等于分身一亏的钱,也就是说总体算下来,黑客是赔钱的,但由于 bZx 存在合约漏洞,没有及时爆分身一的仓,导致 bZx 的储户也一起承担了亏损,而这正是黑客攻击可以成立的原因。闪电贷在整起事件中的作用只是提供初始资金,使得黑客可以无成本、零风险完成攻击。

不过,这起攻击事件本身不是本文关注的核心,讲述这个例子是因为它清晰地展现了一件事情:如果知道未来有人会大量买入(市场上会有大的价格波动),就可以在其买入前「埋伏」起来,实现盈利。形象化来说就是:如果 A 计划买入大量 ETH, B 知道了 A 的购买意图,就可以抢在 A 之前以当前价格买入 ETH,再以更高的价格卖掉,赚取差额。

在传统金融市场中,这种行为属于 Front  Running (抢先交易)。Front  Running 是指:如果从非公开信息中预先知道会影响到资产价格的大型交易,就可以抢先买卖以获得利润。

它主要包含两种情况:

  1. 交易商在执行客户买卖委托前,认为客户的买卖将改变市场价格,因此先替自己的账户买卖的行为;

  2. 经纪商在自己发表的研究报告尚未广为散播之前,先行买卖股票的行为。

在链上的去中心化交易市场中,Front  Running 与上述的第一种情况比较类似,是在得知对方的购买意图后,抢先完成自己的交易。这种行为在传统金融市场中是违法的,因为利用的是非公开信息,但在区块链上很难认定它违法,因为其利用的是「公开」信息。

由于区块链时间的特殊性,区块链上的未来是可以在发生前被「看见」的,也就是说,我们在一笔交易发生之前便知道这笔交易会发生,就像执行客户买卖委托的交易商知道买卖会发生一样。

区块链的时间特殊性

区块链是一个分布式的系统,其最大的问题之一是参与者无法就物理时间达成共识。但为了确定交易顺序从而避免双花,网络参与者们对时间达成共识又非常重要,因此中本聪把工作量证明与最长链原则结合在一起,实现时间戳服务:用区块的先后顺序代表时间的先后顺序,参与者们只需对区块顺序达成一致即可。可以认为区块是区块链上的基本时间单位。

那么,如何把一笔交易的分秒时间单位转换成区块时间单位?

交易在被提交后,会进入一个叫做交易池的地方,这里还有很多其他交易。矿工会从交易池中选择交易打包进下一个区块,这些交易有默认的优先次序,物理时间是决定次序的一个因素,但不是最重要的因素,比如矿工费就远比物理时间重要。只有被选择进入下一个区块的交易,才会从分秒时间单位转换成区块时间单位,也只有当这种转换完成后,这笔交易才算真正地在区块链上发生。

不难发现,交易要先在物理时间发生,然后在交易池中等待,最后在区块链上发生。这个不确定的等待过程会导致交易意图暴露,使得 Front  Running 很容易发生。

谁能看见暴露了的交易意图?最典型的是矿工。矿工是打包交易的人,他们不仅能看见交易,甚至知道哪些交易会进入下一个区块,以及这些交易在同一区块中的顺序。从技术角度而言,矿工可以通过对交易次序的干预,把自己的交易插入到合适的位置。在 Front  Running 这件事上,没有人比矿工更具优势。

除了矿工,我们每个人也都可以看到交易意图。因为交易是先被广播到网络,然后进入交易池的,而所有人都可以去监听交易广播。对于 DEX 上的交易者、交易机器人而言,只需要监控 DEX 上的交易情况,在发现交易意图后,通过提高交易费的方法让自己的交易排在前边,从而完成 Front  Running,实现无风险盈利。

但 Front  Running 显然是不公平的,它破坏了正常交易者的交易策略、损害了他们的交易利益。一个不准确但可以说明问题的例子:你计划从市场购买 100ETH,可能的平均价格是 270 美元 /ETH;但交易机器人发现你的交易意图后抢先买入,它是以 270 美元 /ETH 价格买的,而你可能就要以拉升后的 280 美元/ETH 的价格买,多花费 1000 美元

在这种情况下,人们怎么可能在 DEX 上进行大规模的交易?每笔交易都有可能被「揩油」。只要 Front  Running 存在,DEX 就难成规模。

DEX 上的 Flash Boys

2019 年,活跃的康奈尔大学区块链研究员菲利普•戴安与同事一起发表了一篇论文,名为《Flash Boys 2.0:去中心化交易中的抢先交易,交易重排及不稳定共识》,分析了区块链上的交易机器人通过提高交易费、减少网络延迟进行抢先交易的情况。

Flash Boys 来源于《大空头》作者迈克尔·刘易斯的《Flash Boys:一场华尔街起义》一书,指代的是华尔街上的一群高频交易员们。

《Flash Boys:一场华尔街起义》,迈克尔·刘易斯著

区块链上的 Front Running 会被拿来与高频交易(High Frequency Trading)进行比较,因为它们具有一定的相似性。

高频交易会在所有交易所放上「诱饵」订单,这些小额订单提供最低的卖价和最高的买价,当一笔大交易分拆成多笔交易在多个交易所完成时,它们最先遇到的总是这些诱饵,如此一来其交易意图就可能暴露(还有其他方法一起预测该交易的情况);与此同时,高频交易利用更好的技术与更「直」的网线,抢在这笔大交易的其余部分完成之前,在各个交易所进行相关股票的买卖,然后通过价格差赚钱。

高频交易究竟有多赚钱?我们可以找到一个有趣的途径进行反推:刘易斯曾谈论过一个为 Citadel 证券工作的人,他每年的薪水是 9000 万美元,但他后来愤怒地离职了,因为觉得公司没有给够他薪酬。

高频交易和区块链上的 Front Running 都包括两个基本的组成部分:发现交易意图,抢先完成交易。只不过前者是通过「诱饵」发现交易意图,后者是通过监听发现交易意图;前者是通过更好的技术把自己的交易提前,后者是通过更高的交易费把自己的交易提前。

两者的不同之处在于,高频交易的时间窗口很小,所有人都是以纳秒为单位进行赛跑,这对高频交易系统有着极高的要求;而区块链上的 Front Running 基本只受交易费的影响,出的钱越多,就越能跑到前边。

总体而言,从交易的手法来说,区块链上 Front Running 更接近于传统金融市场中的高频交易,只不过用更高的交易费代替了更「直」的网线。从性质、不公平的程度,以及对市场的伤害而言,它则更接近于传统金融市场中的 Front Running,只不过在区块链上这种交易行为算不上违法,因此也不能被禁止。

解决之道

避免去中心化交易中的 Front Running 问题,需要从 DEX 本身的设计入手。不同特点的 DEX 协议,可能会发展出不同的方法。

荷兰拍模式的 DEX 协议很难发生 Front Running,典型的代表是 DutchX,交易间的竞争主要基于价格而不是基于「时间」,且这些交易都以相同的价格被执行,Front Running 无利可图。不过由于荷兰拍完成的时间较长,对时间敏感的交易需求无法通过 DutchX 满足。

自动化做市模式的 DEX 协议较难阻击 Front Running,比如 Uniswap,它根据可用的流动性自动调整价格,交易的大小对报价有较大影响,而交易的顺序就决定了成交的价格。为了减少 Front Running 带来的破坏,Uniswap 采用的方法是允许用户指定交易的最高价格,这样一来用户可能无法完成交易,但不会以难以接受的高价完成交易。不过这是一种权宜之计,真正解决问题的方法还需要进一步被探索。

目前应用最广泛的、基于订单簿模式的 DEX 协议,在对抗 Front Running 的难易程度上基于前两类协议之间。可以通过对 DEX 的设计来减少 Front Running 的影响:已经被应用的方法是引入一些中心化,比如由管理员在链下完成订单的匹配,并限制只允许管理员最终提交至链上进行结算;正在发展中的方法是利用零知识证明,隐藏交易者的交易意图。根据已有的经验,用密码学的方法来解决区块链上的问题似乎是比较理想的途径。

Front Running 是 DEX 面临的普遍问题,也是阻碍 DEX 成为主流选择的重要原因。但随着技术的发展,我们有可能规避或控制 Front Running。本文讨论的是 DEX 的问题,但这些问题并不能用来证明 DEX 不是一种好的选择,我们讨论它,恰恰因为它值得讨论。

参考资料

24小时热点

投资者寻找 2025 年牛市前爆升10大潜力币 8月最佳百倍币

随着 2024 年进入下半年,全球投资者的目光正紧紧聚焦于能 ...

115307

非小号

元宇宙原力币是什么?有什么用?

随着科技的不断进步,元宇宙的概念已经逐渐从科幻小说中走入现实 ...

178886

区块链圈小菜鸡

元宇宙入口是什么?原力元宇宙官方网站入口及注册流程

原力元宇宙官方网站入口是 https://meta-forc ...

104764

树图链

被朋友骗去弄数字货币

  有一次,一个朋友突然给我说他有一种可以赚钱的新方法,他说 ...

446050

DigiFinex

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045804

BitKeep钱包

中国十大庞氏骗局之RUNE币 THORChain

RUNE- 简介详情 THOR ...

146951

非小号

国家版本数据中心

国家版本数据中心(National Data Version ...

439370

元视觉

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

989208

T网

盘点目前最火的区块链游戏项目排名

随着区块链技术的不断成熟和普及,其在游戏行业的应用也逐渐兴起 ...

153476

波场区块链浏览器

2024年以太坊会恢复挖矿吗?后续有什么调整?

以太坊在2022年完成了从工作量证明(PoW)到权益证明(P ...

87534

波场区块链浏览器

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2318557

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1752801

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1328854

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1158056

Bitstamp交易所

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045720

BitKeep钱包

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

1015812

区块链博客

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

988901

T网

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

948964

DCG区块链孵化器

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

813235

CoinBene满币网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

727516

QuillAudits