鄧釔敏,司世景,王健宗,李澤遠,肖京
1. 平安科技(深圳)有限公司,廣東 深圳 518063;
2. 中國科學技術(shù)大學先進技術(shù)研究院,安徽 合肥 230026
區(qū)塊鏈技術(shù)和數(shù)字資產(chǎn)行業(yè)的發(fā)展提供了一種解決傳統(tǒng)金融問題的全新方案。去中心化金融(decentralized finance,DeFi)[1]是一種基于區(qū)塊鏈技術(shù)的應用,通過開源協(xié)議和分布式網(wǎng)絡提供無中介要求的金融服務。特別是DeFi具備解決傳統(tǒng)金融行業(yè)中存在的信息流通速度慢、中介機構(gòu)的額外成本高等問題的獨特潛力,現(xiàn)有的DeFi應用涉及包括交易、借貸[2]、加密貨幣衍生品[3]在內(nèi)的眾多金融領(lǐng)域,市場表現(xiàn)活躍。面對社會動蕩等不安因素,市場缺乏可靠的中心化托管時,DeFi模式更能促進資產(chǎn)的流通。
DeFi的技術(shù)基礎(chǔ)是區(qū)塊鏈和智能合約(smart contract)技術(shù),其中區(qū)塊鏈提供了一種分布式交易記錄賬本的實現(xiàn)方式,DeFi的諸多協(xié)議均可被視作賬本的上層應用。此外,智能合約同樣是DeFi能夠被廣泛應用的重要基礎(chǔ)。智能合約本質(zhì)上是一組被預先定義的處理事務規(guī)則的程序編碼,智能合約語言支持原語和條件執(zhí)行操作,極大地拓展了DeFi協(xié)議的表達能力。
DeFi的應用經(jīng)濟生態(tài)涉及不同層面的多種協(xié)議,其中最重要的是鏈上資產(chǎn)交換(asset exchange)協(xié)議,交易機制的設計關(guān)系到復雜應用的穩(wěn)定性。常見的資產(chǎn)交易表現(xiàn)形式可以被分為中心化交易所與去中心化交易所(decentralized exchange,DEX)兩類。中心化交易所本質(zhì)上是基于中央機構(gòu)的數(shù)字化實現(xiàn),去中心化交易所則由于分散式運作,提升了交易的公平性和透明性,得到了廣泛研究和關(guān)注。
在現(xiàn)有的文獻中,已有研究者對區(qū)塊鏈[4]、DeFi[5]以及DEX[6-7]進行了綜述。然而就DeFi的交易機制而言,現(xiàn)有的研究成果[6]局限于特定的交易機制實現(xiàn)方式,目前還缺乏系統(tǒng)性的綜述工作。為此,本文從去中心化交易所的交易協(xié)議設計出發(fā),概述了相關(guān)研究成果,提出了統(tǒng)一的表述形式,分析了各類交易機制的優(yōu)缺點,最終總結(jié)出去中心化交易所交易機制的應用優(yōu)勢和發(fā)展方向。本文對DeFi交易機制進行了系統(tǒng)性梳理,希望進一步豐富交易機制的研究內(nèi)涵和充實現(xiàn)有金融理論體系,助力完善市場激勵和監(jiān)管制度,為后續(xù)的深入研究和技術(shù)應用提供系統(tǒng)性的參考意見。
2008年中本聰提出了比特幣(Bitcoin,BTC)[8]的構(gòu)想,在其設計中,交易記錄通過一種以區(qū)塊相互鏈接的方式來維護,由此產(chǎn)生了區(qū)塊鏈的概念。作為比特幣的技術(shù)基礎(chǔ),區(qū)塊鏈是一種基于密碼學方法鏈接的不斷增長的分布式記錄賬本。與傳統(tǒng)的賬本實現(xiàn)方式相比,區(qū)塊鏈的分布式賬本信息由參與者基于共識算法來維護,具有透明可追溯和難以篡改的特性。
區(qū)塊鏈結(jié)構(gòu)如圖1所示,一個區(qū)塊通常由區(qū)塊頭和區(qū)塊體組成,并且區(qū)塊頭中保存了前一區(qū)塊的哈希值,以此形成鏈式結(jié)構(gòu)。區(qū)塊頭中的數(shù)據(jù)結(jié)構(gòu)主要包括版本、時間戳、隨機數(shù)、樹哈希等內(nèi)容。其中,隨機數(shù)主要用于基于工作量證明[8]的共識機制的建立,而樹哈希則用于簡易支付驗證的改進,降低了數(shù)據(jù)結(jié)構(gòu)的規(guī)模,提升了網(wǎng)絡傳輸性能[9]。區(qū)塊體包含了事務信息,以便參與者進行驗證。
圖1 區(qū)塊鏈結(jié)構(gòu)
區(qū)塊鏈目前已經(jīng)逐步發(fā)展為涉及多層次的體系結(jié)構(gòu)[10],如圖2所示,DeFi領(lǐng)域的研究與實現(xiàn)主要集中于應用層。
圖2 區(qū)塊鏈層次體系結(jié)構(gòu)
此外,DeFi的成功應用還依賴于作為技術(shù)基礎(chǔ)的智能合約。智能合約最早于1995年被提出,其是一種以數(shù)字形式定義并基于程序化方式執(zhí)行的交易承諾[11]。2013年,以太坊(Ethereum)白皮書[12]提出比特幣是一種弱化的智能合約的觀點,基于此觀點提出了以太坊的設計,其中包括圖靈完備語言以及以太坊虛擬機的構(gòu)想,以此實現(xiàn)了基于區(qū)塊鏈的智能合約技術(shù)。
智能合約的本質(zhì)是一組處理事務規(guī)則的程序編碼,且處理規(guī)則由區(qū)塊鏈的共識機制確認。智能合約依賴于具備狀態(tài)機機制的區(qū)塊鏈,且參與方能夠以一定方式與區(qū)塊鏈進行交互。當事務信息被確認后,合約代碼就會在區(qū)塊鏈網(wǎng)絡中的所有節(jié)點上執(zhí)行。執(zhí)行過程需要消耗算力成本,因此需要向合約的參與方收取費用。以太坊將燃料(gas)定義為衡量算力資源消耗的量化指標[13],當執(zhí)行交易時,燃料將按照特定的規(guī)則逐漸減少。智能合約的執(zhí)行語言允許條件執(zhí)行和迭代操作,能夠與具備相同上下文環(huán)境的事務進行交互以及支持原子性操作,這些特點使得其具備足夠的描述協(xié)議具體內(nèi)容的表達能力,因此能夠創(chuàng)造具備復雜功能的DeFi應用。
近年來,DeFi已經(jīng)從區(qū)塊鏈基礎(chǔ)[14]發(fā)展成復雜層次體系[15],如圖3所示,DeFi的基礎(chǔ)架構(gòu)可以分為基礎(chǔ)設施層、資產(chǎn)層、協(xié)議層。
圖3 DeFi 架構(gòu)
● 基礎(chǔ)設施層:該層次的功能為提供應用基礎(chǔ)設施。該層次主要由區(qū)塊鏈及其原生協(xié)議組成。區(qū)塊鏈原生協(xié)議主要指底層區(qū)塊鏈原生資產(chǎn)協(xié)議,如比特幣[8]、以太幣(ETH)[12],該協(xié)議聯(lián)系了部分基礎(chǔ)設施層與資產(chǎn)層的功能?;A(chǔ)設施層提供了可信存儲事務的方式,確保能夠基于共識機制確認事務狀態(tài)的轉(zhuǎn)變。
● 資產(chǎn)層:該層次的功能為確定資產(chǎn)協(xié)議。該層次主要由區(qū)塊鏈原生協(xié)議以及能夠被基礎(chǔ)設施層區(qū)塊鏈接受的其他資產(chǎn)協(xié)議組成,這些資產(chǎn)協(xié)議通常被稱作通證(token)。
● 協(xié)議層:該層次的功能為設定用例標準,例如為交易、借貸、加密貨幣衍生品和投資管理等提供標準定義,這些標準通常以一組智能合約的形式實現(xiàn)。為了便于向用戶提供基于協(xié)議的服務,開發(fā)者基于協(xié)議層開發(fā)了不同種類的用戶應用接口,通常以基于Web瀏覽器的方式與智能合約交互。
鑒于DeFi領(lǐng)域的復雜性,接下來主要對與交易機制相關(guān)的協(xié)議進行介紹,以便說明其內(nèi)涵。相關(guān)協(xié)議包括通證、穩(wěn)定幣(Stablecoin)以及鏈上資產(chǎn)交換協(xié)議,通證主要提供交易的貨幣基礎(chǔ);穩(wěn)定幣確立了通證的價值關(guān)系;鏈上資產(chǎn)交換協(xié)議則由一類協(xié)議組成,其中最重要的是去中心化交易所協(xié)議,其保障了交易的實現(xiàn)。
● 通證:通證的定義為以數(shù)字形式存在的權(quán)益憑證[16]。通證目前主要有兩種形式:一種是以ERC-20標準[17]為代表的同質(zhì)化通證,另一種是以ERC-721標準[18]為代表的非同質(zhì)化通證[19]。兩者的主要區(qū)別在于通證中的不同個體間是否能直接互換,同質(zhì)化通證的不同個體間能夠直接互換,類似于貨幣的價值系統(tǒng);非同質(zhì)化通證的不同個體間不能直接互換且存在本質(zhì)性差異,類似于權(quán)益的價值系統(tǒng)。DeFi中的交易行為主要面向同質(zhì)化通證,非同質(zhì)化通證的交易更類似于拍賣行為。
● 穩(wěn)定幣:穩(wěn)定幣[20]本質(zhì)是一種以錨定法定貨幣(通常為美元)為單位,通過嵌入穩(wěn)定機制保持價格穩(wěn)定的數(shù)字貨幣,其中比較引人注目的是MarkerDAO的Dai[21]幣,其通過超額抵押資產(chǎn)并在抵押資產(chǎn)價值低于抵押線時觸發(fā)清算的方式維持價格的穩(wěn)定。另外,泰達幣(Tether USD,USDT)[22]雖然不屬于DeFi領(lǐng)域中的穩(wěn)定幣概念,但由于其依賴于可信第三方的維護,經(jīng)常被用于其他DeFi協(xié)議并起到相似的作用。除了基于抵押機制實現(xiàn),還有單純依賴算法實現(xiàn)在錨定價格附近波動的穩(wěn)定幣,如AMPL(Ampleforth)[23]。總而言之,穩(wěn)定幣的使用為交易行為提供了價值參考,數(shù)字貨幣以及其他權(quán)益通證的價值能夠通過穩(wěn)定幣與法定貨幣建立聯(lián)系,保障了交易的價值屬性。
● 鏈上資產(chǎn)交換協(xié)議:鏈上資產(chǎn)交換協(xié)議主要由與交易相關(guān)的協(xié)議組成,其中去中心化交易所協(xié)議是一類滿足去中心化特點的交易協(xié)議[24]。所謂的去中心化特點主要指在任何時刻中心機構(gòu)都不會擁有用戶的任何資產(chǎn),去中心化交易所會在鏈上處理所有交易,以便參與者驗證每筆交易的真實性。
2014年,比特股(Bitshares,BTS)誕生,其旨在建立一個點對點的去中心化支付系統(tǒng),發(fā)行代幣BTS[25],去中心化概念興起。2017年,基于以太坊公鏈運行的抵押借貸項目MakerDAO以發(fā)行穩(wěn)定通證和抵押融資的特點,在全世界范圍推廣DeFi。自此之后,DeFi的應用領(lǐng)域逐漸擴大,融入更多傳統(tǒng)金融產(chǎn)品。2019年,去中心化交易所出現(xiàn)。2020年,Compound掀起了流動性挖礦的熱潮,DeFi再次迎來爆發(fā)性增長[26]。截至2022年4月,DeFi總協(xié)議鎖倉量達到2 219.1億美元。未來DeFi將朝著分叉式發(fā)展,一部分為迎合特定領(lǐng)域的合規(guī)性要求接受監(jiān)管,出現(xiàn)“許可型DeFi”概念,同時為用戶保持一定的透明度;另一部分仍保持無須許可和匿名的特點加快完全去中心化進程。
目前,基于價格發(fā)現(xiàn)機制的不同,去中心化交易所協(xié)議擁有幾種實現(xiàn)方式,包括交易委托賬本(order book)、自動做市商(automated marker maker,AMM)、聚合器(aggregator)等協(xié)議,其中自動做市商是目前廣泛采用的方法。本節(jié)根據(jù)交易實現(xiàn)方式將現(xiàn)有主流DeFi交易機制分為3類:交易委托賬本、自動做市商和聚合器,并對交易機制的設計實現(xiàn)和相應的交易所進行分析介紹。
2.1.1 實現(xiàn)原理
交易委托賬本是傳統(tǒng)金融中最常見的交易實現(xiàn)方式,如證券、期貨交易所等金融機構(gòu)采取該方式撮合買賣雙方的交易意圖。具體而言,首先,做市商提供交易資產(chǎn)意圖,包括交易方向(買入或賣出)、成交價格以及交易數(shù)量。如圖4所示,做市商1提出以99元的價格購買1單位資產(chǎn)的意圖。之后,交易所創(chuàng)建賬本,并將所有接收到的意圖收集聚合。然后,交易所將聚合后的賬本公開發(fā)布至所有用戶。最后,為了完成交易,需要進行訂單匹配的過程,交易所將提出購買意愿的交易單與賬本中的訂單進行匹配,以當前可用的最佳價格處理購買者的訂單。
圖4 交易委托賬本流程
2.1.2 具體工作
基于交易委托賬本的交易所根據(jù)其處理賬本的方式以及訂單匹配的方式進行分類。自數(shù)字貨幣交易市場出現(xiàn)以來,交易委托賬本經(jīng)歷了從中心化到去中心化的轉(zhuǎn)變。早期的Coinbase[27]、Binance[28]等平臺基于中心化方式實現(xiàn)。其中,Coinbase是首家在納斯達克上市的中心化交易所[29]。以Coinbase為例,其訂單匹配方式基于先進先出(first-in-first-out,F(xiàn)IFO)原則,具體的含義是做市商提交的訂單按照價格/時間優(yōu)先級進行匹配。優(yōu)先處理價格位于買賣填充區(qū)域的交易訂單,當訂單的價格相同時,按照時間順序進行處理,較早提交的訂單將被優(yōu)先處理。當訂單無法在填充區(qū)域內(nèi)完成交易時,聚合剩余的交易信息,并在鏈下發(fā)布賬本,Coinbase提供包括BTC、ETH等在內(nèi)的遵守ERC-20協(xié)議的數(shù)字貨幣資產(chǎn)的交易。Binance則是國內(nèi)比較知名的中心化交易所,其訂單匹配方式類似于Coinbase,主要區(qū)別在于其底層采用了自行設計的幣安智能鏈(Binance smart chain,BSC),主要交易會基于BSC進行,以解決交易中的擁塞問題。
然而,中心化交易所的固有特點導致其具有內(nèi)在缺陷。中心化交易所因為由中央機構(gòu)維護交易賬本信息,因而可以控制信息以及訪問狀態(tài)[30]??刂菩畔⒅饕冈谑占瘏⑴c者的交易意圖時,中心化交易所具有披露訂單內(nèi)容以及時間的能力,這可能會導致交易所可以從撮合交易中獲取不正當利益。另外,中心化交易所為了促進資產(chǎn)的流通,通常傾向于保管用戶的資產(chǎn),例如Binance會保管參與者的資產(chǎn),這也帶來了由黑客攻擊造成的資產(chǎn)丟失風險[31]。
目前,基于去中心化的實現(xiàn)方式逐漸受到關(guān)注,去中心化的屬性主要體現(xiàn)在此類交易所削弱了對交易過程的控制權(quán)[32],實現(xiàn)了一定程度的權(quán)利下放。dYd X[33]是一個經(jīng)典的去中心化交易所,其與Coinbase類似,訂單匹配方法按照價格和時間優(yōu)先級的順序進行。然而,dYdX的去中心化體現(xiàn)在其匹配合約時通過開源的智能合約自動執(zhí)行匹配和交易過程。另外,受限于以太坊區(qū)塊的燃料限制,dYdX每次最多僅能匹配10份訂單,當買方需求足夠大導致前10份做市商訂單難以滿足時,將會執(zhí)行更新賬本信息的操作以滿足交易需要。近年來創(chuàng)新性地出現(xiàn)了各種去中心化交易所,下面將介紹具有代表性的4個去中心化交易所。
● Ser um[34]是一個比較特殊的去中心化交易所,其特點在于實現(xiàn)了比較少見的鏈上賬本的公布方式。由于dYdX提出的交易意圖眾多以及部分方法的底層實現(xiàn)主要基于以太坊及其變體,其難以具備即時的鏈上收集與處理信息能力。而Serum得益于底層Solana[35]區(qū)塊鏈的高吞吐量和高性能特點,實現(xiàn)了高流動性的鏈上賬本。除此之外,Serum的交易方法也有所改進,訂單匹配過程仍然采用FIFO機制。但在交易過程中,不同于其他常見的直接向合約發(fā)送待交易資產(chǎn)的方式[34],其考慮了合約執(zhí)行依賴誠實的驗證節(jié)點的問題。因此,其提出雙方在交易前首先進行資產(chǎn)抵押,等智能合約執(zhí)行完成后再對抵押資產(chǎn)進行處理。此方法被認為是基于FIFO機制的抵押改進版本(collateral-FIFO),有效減少了交易雙方的違約風險。當然,此方法需要交易雙方提前準備等值的同種數(shù)字貨幣資產(chǎn)作為抵押,因此不允許參與未持有的貨幣種類的交易,這在一定程度上降低了可用性。
● 0x Relayer[36]采用了開放訂單簿(open order book)的訂單匹配方法,其本質(zhì)上通過設置中繼器(relayer)不斷接收并廣播地址全為0的訂單。任何參與者都可以充當中繼器角色,實現(xiàn)0x協(xié)議并提供資產(chǎn)托管服務[37]。當其他參與者看到相關(guān)的訂單信息時,其可以通過本地調(diào)用特定函數(shù)構(gòu)造交易。0x Relayer采取鏈下托管賬本、鏈上交易的形式,參與者都能創(chuàng)建交易所托管訂單,在一定程度上降低了交易費用,使交易更自由,但可能會對流動性有影響。
● Waves Exchange[38]則是穩(wěn)定幣交換的交易所,提供了Waves代幣與錨定各國法定貨幣的穩(wěn)定幣的交換方式。其中,數(shù)字貨幣與穩(wěn)定幣之間的交換通過FIFO機制進行,而穩(wěn)定幣基于Neutrino[39]協(xié)議維持與法定貨幣一致的穩(wěn)定性。不同于基于超額資產(chǎn)抵押方式實現(xiàn)的穩(wěn)定幣[21],Neutrino通過預言機以及Waves代幣間的發(fā)行與銷毀機制實現(xiàn)穩(wěn)定幣功能。
● Injective[40]提出了基于頻繁批量拍賣(frequent batch auctions,F(xiàn)BA)的訂單匹配機制。其在交易間隔內(nèi)收集訂單,并在間隔結(jié)束時按照優(yōu)先級順序進行排序。之后進行統(tǒng)一清算價格的流程,直到交易間隔結(jié)束并且批量拍賣成交后,訂單才會被聚合成賬本并發(fā)布。相比傳統(tǒng)的FIFO訂單匹配機制,F(xiàn)BA在保持交易效率和靠近市場價方面具有優(yōu)勢。
本節(jié)主要對基于委托交易賬本的交易所進行綜述,根據(jù)訂單匹配機制、賬本收集方式和依托的底層區(qū)塊鏈進行分類,具體見表1。在創(chuàng)新性方面,Serum體現(xiàn)出鏈上賬本的創(chuàng)新,0x Relayer和Injective提出了新型訂單匹配機制,Serum和Waves Exchange提出新的區(qū)塊鏈以應對特殊的交易需求。
表1 不同交易委托賬本的方法
2.2.1 實現(xiàn)原理
交易委托賬本的去中心化主要體現(xiàn)在交易所實現(xiàn)了一定程度的權(quán)利下放,而基于自動做市商機制的去中心化交易所是目前業(yè)界比較熱門的選擇,交易流程完全實現(xiàn)去中心化。自動做市商采取交易者與流動性池(liquidity pool)交易的方式,無須特定的交易對手即可獲得流動性。其中,流動性池由鎖定在智能合約中至少兩種類別的資產(chǎn)通證(通常是不同種類的數(shù)字貨幣,如BTC與ETH)組成[41],因此可以通過部署包含各類數(shù)字貨幣作為資產(chǎn)儲備的智能合約創(chuàng)建流動性池,并由流動性池創(chuàng)建者(liquidity pool creator)第一個向流動性池提供流動性。
當交易發(fā)生時,一種資產(chǎn)將會被添加到流動性池中的資產(chǎn)儲備中,并從其他類別的資產(chǎn)儲備中提取資產(chǎn)(以BTC-ETH流動性池為例,當BTC資產(chǎn)被添加時,ETH資產(chǎn)會被同時提?。?,添加和提取的交換比例不同于上述交易委托賬本的訂單匹配方式,而是利用恒定函數(shù),通過允許資產(chǎn)數(shù)量沿著函數(shù)定義的曲線移動的方式確定。下面首先對自動做市商涉及的參與方和經(jīng)濟系統(tǒng)進行介紹,然后綜述具體恒定函數(shù)的設計。
自動做市商的參與方主要涉及3 種角色,分別是流動性提供者(liquidity provider,LP)、交易者(trader)以及套利者(arbitrageur)[42]。其中,流動性提供者主要為流動性池提供資產(chǎn)儲備以提高流動性,交易者主要參與與流動性池的交易,套利者具有確保流動性池內(nèi)的資產(chǎn)與公開市場價格持平的作用。
自動做市商的經(jīng)濟系統(tǒng)主要涉及三方面的內(nèi)容:獎勵、顯式花費和隱式花費[42]。其中,獎勵主要是指一種激勵機制,顯式花費指的是每次交易需要付出的成本,隱式花費則指交易機制伴隨的隱式損失,包括滑點和無常損失[43-47]。接下來描述自動做市商機制常見的執(zhí)行行為。
交易所發(fā)布原生代幣后,鼓勵流動性提供者通過質(zhì)押資產(chǎn)[48]長期持有代幣,以獲得投資獎勵。在創(chuàng)建初期,還會根據(jù)代幣持有份額分享治理收益,以吸引參與者和提高社群治理水平。為了維護流動性,交易所還要求流動性提供者贖回資產(chǎn)儲備時繳納罰款。
作為參與方,流動性提供者通過增加一種或多種資產(chǎn)儲備的方式向池內(nèi)提供流動性,從而換取相應貢獻比例的池內(nèi)股權(quán),參與分紅獎勵。當流動性提供者贖回提交的資產(chǎn)儲備時,需放棄池內(nèi)股權(quán)并繳納罰款,且需要承擔潛在的無常損失。而交易者向流動性池提交指定輸入資產(chǎn)交易請求時,需繳納手續(xù)費和驗證費用。手續(xù)費以分紅形式補貼流動性提供者,驗證費用作為底層區(qū)塊鏈驗證交易的算力成本。當交易規(guī)模較大,而池內(nèi)流動性較低時,交易價格明顯偏離實際價格,便產(chǎn)生了滑點,這意味著交易者需承受滑點帶來的隱式損失。當池內(nèi)流動性較低時,單筆交易可能導致池內(nèi)資產(chǎn)相對公開市場產(chǎn)生較大的價格波動,從而產(chǎn)生套利空間。套利者會在不同市場中買賣相同資產(chǎn),并從價格差異中獲利。
無常損失是自動做市商機制的主要風險之一,體現(xiàn)在池內(nèi)鎖定資產(chǎn)在公開市場價格波動時造成的損失。傳統(tǒng)的自動做市商機制依靠套利者的套利行為進行池內(nèi)資產(chǎn)的調(diào)節(jié),以在價格波動后達到新的穩(wěn)態(tài),而套利者獲取的利潤是流動性提供者的潛在損失。這種損失是不定的,價格的波動僅會造成浮動盈虧。無常損失真正發(fā)生在流動性提供者贖回資產(chǎn)儲備時,例如當資產(chǎn)價格出現(xiàn)暴跌時,部分流動性提供者選擇贖回資產(chǎn)儲備,其贖回的資產(chǎn)價值已然下跌,而池內(nèi)資產(chǎn)價格受此影響繼續(xù)下跌,出現(xiàn)“死亡螺旋”現(xiàn)象;或者池內(nèi)資產(chǎn)價格跌幅過大,難以恢復[47]。
由此可見,自動做市商機制可以被描述為涉及多類參與方和執(zhí)行行為的經(jīng)濟系統(tǒng)。自動做市商機制的狀態(tài)轉(zhuǎn)移方式如圖5所示,其中池內(nèi)狀態(tài)會根據(jù)不同參與方的不同行為而變化。
圖5 自動做市商機制的狀態(tài)轉(zhuǎn)移方式
盡 管自動做市商機制涉及的概念復雜,但其核心原理能夠用形式化的方式進行描述[5,49]。具體而言,本節(jié)將通過定義一組基本機制及其狀態(tài)轉(zhuǎn)移的方式描述其核心過程,并說明常見的恒定函數(shù)設計,以及隱式損失的形式化定義。符號與定義見表2。
表2 符號與定義
流動性池是自動做市商中重要的概念之一, 其狀態(tài)會受到執(zhí)行行為的影響,因此可以通過狀態(tài)空間表示建模的方式進行描述。X表示流動性池的狀態(tài),參與方執(zhí)行行為對其產(chǎn)生影響的過程表示如式(1)所示,流動性池的具體表示如式(2)所示。
自動做市商的核心在于流動性池中每種資產(chǎn)的數(shù)量,恒定函數(shù)描述的是各類資產(chǎn)之間的組合關(guān)系,包括但不限于恒定和、恒定積等方式[50]。值得注意的是,恒定函數(shù)的不變性的前提在于池內(nèi)流動性的穩(wěn)定,當提供或贖回資產(chǎn)儲備時,恒定函數(shù)會發(fā)生變化。
恒定狀態(tài)值可以被認為是池內(nèi)通證數(shù)量的某種組合關(guān)系所產(chǎn)生的結(jié)果,無論通證數(shù)量關(guān)系如何變化,在其他條件不變的前提下,恒定函數(shù)的狀態(tài)定值保持不變。恒定函數(shù)用于在多類通證之間建立守恒關(guān)系。建立好守恒關(guān)系后,即可描述通證間的交換關(guān)系,具體的描述如式(3)所示。
執(zhí)行交易的一般過程可以被描述為向池內(nèi)加入xi個通證i,由于需要維持恒定狀態(tài)值不變,因此將得到xj個的通證j,在交易過程中其他通證將保持不變。由于恒定函數(shù)的設計,交易過程中的預設價格不等于真實價格,因此滑點的計算方式即衡量預設價格和真實價格之間的偏差,具體如式(4)所示。
對自動做市商涉及的概念進行定義以及形式化描述的過程如前文所述。下面將利用上述定義對經(jīng)典的自動做市商協(xié)議進行綜述。
2.2.2 具體工作
本節(jié)著重對U N I S W A P[51]、mStable[52]、Balancer[53]等經(jīng)典自動做市商機制進行分析。其中,UNISWAP是在兩類通證之間進行直接交易的方法,其核心思想在于交易過程中始終不改變兩類通證的數(shù)量乘積,因而被稱作恒定積做市商;mStable同樣針對兩類通證關(guān)系,但其保持不變的是兩類通證的數(shù)量之和,因而被稱作恒定和做市商;Balancer提供了一種在多類通證之間進行交易的方式,其中每類通證i都設置了對應的權(quán)重wi,且所有權(quán)重之和為1。值得注意的是,權(quán)重是流動性池的超參數(shù),流動性池一旦建立,權(quán)重也就確定了,無論是流動性變化還是交易行為均會對其造成影響。UNISWAP可被看作Balancer的特例,當w1=w2=0.5時,Balancer退化為UNISWAP協(xié)議,具體見表3。
表3 恒定函數(shù)
不同做市商機制的恒定函數(shù)對比如圖6所示,值得注意的是,交易過程會被約束在恒定函數(shù)的曲線中。圖6(a)和圖6(c)說明了恒定積做市商機制具備穩(wěn)定市場的功能,而圖6(b)所示的恒定和做市商在價格波動產(chǎn)生套利空間時,池內(nèi)價值較高的資產(chǎn)將被清空,退化為賬本交易機制。
圖6 不同做市商機制的恒定函數(shù)對比
第一代自動做市商機制局限性較高,如無常損失帶來的暫時性虧損、低流動性伴隨的低資本效率等。根據(jù)UNISWAP的中心思想,當資產(chǎn)價格變動時,需要依靠套利者的活動使自動做市商提供的價格與外部市場相匹配的方法,會導致自動做市商內(nèi)的暫時性虧損,而這種虧損只能等待通證的相對價格恢復到原來價值才會消失。
針對暫時性虧損情況,可以采取預言機[54]動態(tài)調(diào)整自動做市商內(nèi)的通證相對價格,使內(nèi)部匯率與外部市場價格相匹配。自動做市商的改進還體現(xiàn)在提高資本利用率上,主要方案有控制低滑點、實現(xiàn)穩(wěn)定幣交易以及增強流動性。
除了上述經(jīng)典自動做市商機制,還有其他被廣泛應用的自動做市商機制。其中多數(shù)協(xié)議[53-55]可被看作經(jīng)典機制的改進變體。目前,UNISWAP發(fā)展到了v3版本[55],通過控制滑點增強流動性;Balancer也推出了v2版本[42],提出了資產(chǎn)管理器設計,將自動做市商邏輯從資產(chǎn)管理中分離。下面將對其中影響力較高的方法進行綜述。
● U N I S W A P v 3[55]對 經(jīng) 典UNISWAP[51]協(xié)議進行了改進,兩者最主要的區(qū)別在于恒定積函數(shù)。UNISWAP v3提出了滑點控制的概念,在恒定函數(shù)的設計中加入了滑點控制參數(shù),因此實現(xiàn)了流動性創(chuàng)建者精確控制資產(chǎn)價格變化曲線的方式。此外,UNISWAP v3還允許用戶通過承擔不同的風險等級獲得補償。改進的主要目的是將流動性集中供應在交易意圖活躍的區(qū)間,因此擴大了恒定函數(shù)值,并減少了滑點對交易產(chǎn)生的損失影響。
● 與交易委托賬本中的W a v e s Exchange 類似,自動做市商也具有支持穩(wěn)定幣交易的機制。StableSwap[56]提供了一種穩(wěn)定幣交易的機制。由于穩(wěn)定幣的價值錨定法定貨幣,可以認為在特定時間內(nèi)各種穩(wěn)定幣之間的價格比例固定。StableSwap的恒定函數(shù)設計采納了恒定和函數(shù)與恒定積函數(shù)的優(yōu)點,交易曲線介于二者之間。當穩(wěn)定幣的交換比例接近真實價格比例時,恒定函數(shù)形式接近恒定和函數(shù),因此交易滑點較低;而當交換比例遠離真實價格比例時,恒定函數(shù)形式接近恒定積函數(shù),提供了一種市場均衡的能力。
● SushiSwap[57]是與UNISWAP極其相似的協(xié)議,僅僅在社群治理結(jié)構(gòu)中有所區(qū)別。2020年8月,SushiSwap通過“吸血鬼攻擊”(vampire attack)[58]的方式掠奪了UNISWAP的流動性。“吸血鬼攻擊”產(chǎn)生的主要原因在于SushiSwap早期兼容UNISWAP的流動性池,通過增加通證激勵的方式,流動性提供者獲取了更高的收益。隨著流動性的轉(zhuǎn)移,SushiSwap 侵蝕了競爭對手的市場份額,提高了自己的知名度和流動性,實現(xiàn)了快速發(fā)展。截至2021年8月,SushiSwap仍然占據(jù)大部分自動做市商市場的份額。
● Raydium[59]是一種結(jié)合自動做市商和交易委托賬本的機制,與其他常見的基于恒定函數(shù)的方式不同,其采用常數(shù)函數(shù)定義交易方程,而且能夠通過Serum[34]的交易委托賬本提供流動性,這意味著其流動性來源不僅包括自身的流動性池,還包括Serum的所有訂單信息。目前,Raydium根據(jù)基于常數(shù)函數(shù)的特定方式對賬本上的訂單進行定價,預計還將采用預言機方法進一步提高流動性。
總體而言,自動做市商機制的活力主要來源于流動性,上述4種變體的改進方向普遍在于提高流動性,降低無常損失對流動性提供者的負面影響,進一步保障DeFi參與者的權(quán)益,加快資產(chǎn)的流通,提高交易效率。
本節(jié)主要對基于自動做市商的交易機制進行綜述,并根據(jù)恒定函數(shù)、池內(nèi)資產(chǎn)交易形式和底層區(qū)塊鏈進行分類,具體見表4。
表4 不同自動做市商協(xié)議
2.3.1 實現(xiàn)原理
準確而言,聚合器協(xié)議并非一種獨立的交易機制,其交易功能的實現(xiàn)依賴于其他DeFi協(xié)議。聚合器本質(zhì)上是對多種交易協(xié)議的聚合,并為交易者提供統(tǒng)一的服務[60]。目前由于自動做市商機制的廣泛應用,不可避免地產(chǎn)生流動性割裂的現(xiàn)象。因為各類自動做市商機制遵守不同協(xié)議,甚至儲備不同資產(chǎn)的流動性池并不能相互交易,所以各個流動性池的流動性釋放相對于公開市場存在時延,這種時延就是產(chǎn)生套利空間的根本原因。聚合器協(xié)議能夠收集市場上各處的流動性并尋找最優(yōu)交易路徑,以此實現(xiàn)降低交易成本的目的。簡而言之,聚合器本質(zhì)上是一種路由搜索算法,基本流程如下。
算法1:聚合器搜索算法
1.流動性收集。聚合器首先收集具備流動性的提供方,記作Set。
2.交易信息處理。根據(jù)交易者提出的A→B請求,在所有流動性提供方中尋找所需的流動性提供方,記作Set′。
3.算法執(zhí)行。對Set′中的所有流動性提供方進行遍歷與協(xié)議計算,尋找其中代價最小的交易路徑。
4.結(jié)果返回。將路徑結(jié)果返回給交易者。
總體而言,不同的聚合器協(xié)議之間的主要區(qū)別在于算法執(zhí)行過程的不同。聚合器通常并非聚合單一協(xié)議,本文主要對具備聚合交易協(xié)議能力的聚合器協(xié)議進行分析。
2.3.2 具體工作
1inch 聚合協(xié)議(1inch aggregation protocol)[61]是目前比較流行的聚合器協(xié)議。其主要通過組件路徑發(fā)現(xiàn)器實現(xiàn)對交易路徑的搜索。組件路徑發(fā)現(xiàn)器能夠在多個流動性池中拆分交易,實現(xiàn)了更廣泛的交易狀態(tài)空間搜索。另外,組件路徑發(fā)現(xiàn)器還支持利用市場深度分析交易源請求和目的請求路徑的深度關(guān)系;特別地,還能夠針對同一份協(xié)議的不同市場深度拆分交易請求并部分交換,以降低燃料費用。
Matcha[62]是基于0x[63]協(xié)議的聚合器實現(xiàn)。0x協(xié)議除了提供路徑搜索方案,還特別提出了一種激勵做市商的機制。通過發(fā)送通證獎勵補貼做市成本的方式,激勵做市商快速按照市場價格的比例提供流動性,因此降低了搜尋交易路徑以及進行交易拆分所需要的成本。0x協(xié)議利用流動性提供者和去中心化交易所的競爭性特點,通過特有的通證經(jīng)濟學激勵具備了相較于兩者的競爭優(yōu)勢。
總體而言,目前聚合器協(xié)議受到越來越廣泛的關(guān)注,其能夠連接不同交易協(xié)議之間的流動性,完善交易機制,減少市場達到均衡狀態(tài)前的波動。表5給出了交易委托賬本、自動做市商、聚合器3類去中心化交易機制的多維度對比。除交易委托賬本外,自動做市商、聚合器兩類交易機制都依賴智能合約進行價格發(fā)現(xiàn)和交易撮合,采用區(qū)塊鏈技術(shù)進行清算,三者的治理方法都基于去中心化的自治組織,自動做市商和聚合器還在合約開發(fā)過程中加入了治理內(nèi)容。在具體的交易行為中,交易委托賬本的流動性依賴于交易量和訂單匹配方式的實現(xiàn),缺乏機動性;自動做市商的流動性依賴外部提供,具有巨大的潛力和活力;而聚合器結(jié)合多種流動性池,進一步提高了交易的機動性。
表5 3 類DeFi 交易機制
本文總結(jié)了目前DeFi領(lǐng)域的交易機制,首先概述了與DeFi領(lǐng)域相關(guān)的研究工作,包括區(qū)塊鏈、DeFi的基本概念,以及兩者之間的聯(lián)系;接著對基于交易委托賬本、自動做市商以及聚合器的交易機制進行了介紹,分別對比了交易委托賬本和自動做市商機制中多種實現(xiàn)方法的區(qū)別與聯(lián)系;針對目前廣泛應用的自動做市商機制進行了形式化的定義與描述,總結(jié)了作為其核心思想的恒定函數(shù)設計?;贒eFi的實現(xiàn)特點和本質(zhì),后文將從公平性、安全性與匿名性3個方面對去中心化金融交易體制的未來發(fā)展方向展開討論。
由于DeFi具有透明性和不被第三方監(jiān)管的特點,交易公平性問題普遍存在于交易委托賬本機制和自動做市商機制中,其中搶先交易現(xiàn)象[64]尤為嚴重,不同形式的搶先交易需要落實不同對策。
對于基于交易委托賬本的去中心化交易所而言,鏈下賬本的維護和交易上鏈的過程中存在時間間隔,攻擊者通過設置高手續(xù)費提前進行交易,從而獲取不當利益??梢詮闹悄芎霞s的編寫來解決這方面問題,例如通過設置交易時延提高搶先交易成本。
自動做市商的公平性主要面臨三明治攻擊[65]和閃電貸(flash loan)攻擊[66]的威脅。三明治攻擊體現(xiàn)在攻擊者通過交易行為操縱真實價格,以搶先交易低價買入被攻擊交易所需資產(chǎn),令其以較高價格提取所需資產(chǎn),攻擊者緊隨其后高價賣出同種資產(chǎn)。閃電貸攻擊是指在同一筆鏈上交易中實現(xiàn)無須抵押的借款和還款,攻擊者可以在短時間內(nèi)獲得大量資本來操縱多個市場的不同資產(chǎn)價格,并從中獲利。
為了避免三明治攻擊,可以設法保證普通用戶的交易在區(qū)塊中的優(yōu)先權(quán)與部分信息的隱藏。閃電貸攻擊瞄準的是某些對外部市場價格不敏感的預言機的漏洞,因此可以利用去中心化預言機,通過多個來源確定資產(chǎn)價格,提高交易所對資產(chǎn)價格的敏感性和精確定價能力。未來解決方案可以往交易保護和精準定價方向進一步發(fā)展,以便更有效地維護交易公平性。
DeFi領(lǐng)域關(guān)系到眾多數(shù)字資產(chǎn)的安全,因此其安全性問題尤為重要。DeFi應用的安全性取決于底層實現(xiàn)的安全性,底層實現(xiàn)所依賴的區(qū)塊鏈和智能合約技術(shù)的安全性值得研究。
目前智能合約的安全隱患包含合約漏洞和邏輯錯誤兩方面,重入漏洞[67]是其中一種嚴重的安全隱患。合約開發(fā)過程中的邏輯錯誤等無法從根本上避免,特定情況下的代碼執(zhí)行錯誤同樣可能帶來嚴重的損失[68]。為了減少智能合約代碼的漏洞以及邏輯錯誤,合約審計[69]的方法被提出,自動化的審計執(zhí)行方法也是能夠提高系統(tǒng)安全性邊界的重要研究內(nèi)容。針對智能合約的安全問題,未來解決方案可以繼續(xù)朝著完善代碼開發(fā)方向發(fā)展,進一步加強代碼的邏輯和重視代碼維護工作。
在DeFi領(lǐng)域中,需要關(guān)注參與交易行為的用戶的隱私信息管理。基于區(qū)塊鏈的DeFi交易環(huán)境具有透明開放性,方便用戶觀察交易。而匿名是為了合法保護用戶隱私資料,但是產(chǎn)生惡意交易行為的用戶逃脫責任的情況難以避免,影響了交易生態(tài)的治理和管理。如何平衡隱私保護和惡意交易行為打擊是未來監(jiān)管的一大挑戰(zhàn)。
基于以太坊的交易行為是有可能實現(xiàn)用戶身份追蹤和行為推理的,其通過利用代理的偽匿名性將代理的真實身份綁定到鏈上地址。目前用于加密貨幣的交易可靠性驗證的技術(shù)有零知識證明[70-72]和多方計算[73-74]。這些技術(shù)涉及底層區(qū)塊鏈的計算,其使用和部署都需要付出相當大的算力成本,降低這一成本也是DeFi協(xié)議的改進方向。其他底層區(qū)塊鏈也可以借鑒以太坊的案例來開展交易隱私管理的改進工作,以便進一步維護DeFi的經(jīng)濟生態(tài)。