根據DeFi應用解決的問題,我們將其分為基礎設施/協議,財富管理/錢包,去中心化交易,抵押借貸,衍生品,保險,數字身份,預測市場,以及穩定幣。圖1展示了各種使用場景在整個DeFi專案中的佔比,資料篩選自defiprime.com上DeFi專案和產品,共138個。一些產品涵蓋了不止一種功能,例如dYdX上既有保證金交易,又整合了借貸等功能。可以看到,除了基礎設施外,抵押借貸和去中心化交易是開發者們熱衷的方向,分別佔到14%和19%。
Kyber Network上面沒有掛單的功能,取而代之的是由儲備管理者(Reserve Manager)直接對智慧合約設定匯率,使用者交易前就可以透過網站或呼叫API取得匯率,由於在交易前就可以取得匯率,使用者就可以依照此匯率決定要不要在Kyber Network交易貨幣。儲備供應者(Reserve Contributor) 這個角色提供多種多樣的加密貨幣,他們可以將自己的加密貨幣提供給Kyber Network並且分得利潤。
使用者有兌換需求時,Kyber將帶著使用者的需求在各個代幣儲備庫間進行比價,挑選出最優的儲備庫直接提供一個匯率給使用者進行兌換。與之相比,Uniswap和Bancor則主要是透過儲備庫自帶的、根據庫存來定價的演算法提供匯率。
Uniswap
解決的問題:
交易時需要交易對手且流動性不足;
目標:
擺脫限價訂單,提供實時流動性;
設計與實現:
1)恆定乘積做市商
Uniswap 使用了一種被稱為“恆定乘積做市商模型”的演算法。其中一大特點是,無論訂單簿規模有多大或流動性資金池有多小,它都能提供流動性。其中的竅門是隨著需方數量(買單)的增加,漸進式地增加代幣的價格。
恆定乘積做市商模型:X*Y=K 2-1
其中x 和 y 是流動性池中的代幣數量,k 是乘積。要想保持 k 恆定,x 和 y 只能相互反向變動。比如某一交易者在此合約中用 DAI 購買 ETH,則他們正在增加 x(因為增加了流動池中的 Dai),同時也減少了 y(因為減少了流動池中的 ETH)。但這個反向變化不是線性增長的關係。如果現在使用者要購買100ETH而不是10ETH,那麼在購買10ETH所需的Dai的基礎上增加10 倍,可能並不夠用,事實上所需的Dai是漸進式增加的。圖3為合約中的token變化的曲線。
Kyber Network 上面沒有掛單的功能,取而代之的是由儲備管理者(Reserve Manager)直接 對智慧合約設定匯率,使用者交易前就可以透過網站或呼叫 API 取得匯率,由於在交易前就可以取 得匯率,使用者就可以依照此匯率決定要不要在 Kyber Network 交易貨幣。儲備供應者 (Reserve Contributor) 這個角色提供多種多樣的加密貨幣,他們可以將自己的加密貨幣提供給 Kyber Network 並且分得利潤。
使用者有兌換需求時,Kyber 將帶著使用者的需求在各個代幣儲備庫間進行比價,挑選出最優的儲 備庫直接提供一個匯率給使用者進行兌換。與之相比,Uniswap 和 Bancor 則主要是透過儲備庫自帶的、 根據庫存來定價的演算法提供匯率。
2)流動性供應
流動性提供者可以向池中增加流動性時,他不能只向交易對的一方提供流動性,這樣會改變兩種代幣間的比率、設定出一個新交易價格(這是個危險操作,因為他將立即被交易對手套利,造成損失)。例如,某一流動性提供者僅增加了1,000ETH,則合約的新比率為 100,000/2,000 = 50。套利者將蜂擁而至,直至該比率再次變成100:1。流動性提供者必須為交易對的兩個幣種提供等值的資金 (Uniswap介面將確保不會出現錯誤操作)。
流動性提供者獲得的獎勵是總交易量的0.3%,假設其注入的金額相當於總流動性池的10%,因此合約會產出一種流動性代幣 (liquidity token),將其提供給市商,使其有權獲得池中可用流動性的10%。這些代幣不是用於交易的代幣,而只是一種用於記錄流動性提供方債權的記賬工具。如果其他人隨後存幣或者取幣,則將會產生或者銷燬新的流動性代幣,保證每個人在流動資金池中的相對份額保持不變。
2.3 抵押借貸
目前,抵押借貸DeFi最普遍的應用場景,使用者可借款的額度由抵押物的價值決定,不再由自身信用決定,從而保障了貸款人的資金安全。DeFi 借貸市場則是近兩年進入公眾視野,最早的產品是MakerDao,於2017年末上市,現在依然是以太坊上的頭部應用。我們已經在穩定幣中介紹了MakerDao,下面介紹另一個借貸應用:Compound。它於 2018 年 09 月份推出,定位為一個貨幣市場平臺,使用者可以放貸加密貨幣賺取利息或者從平臺上借用加密資產。
Compound
解決的問題:
1)有限的借貸機制,導致了資產的錯誤定價;
2)由於儲存成本和風險造成的加密資產負收益率,沒有自然利率來抵消這些成本。
目標:
用於借用以太坊代幣,沒有中心化交易所的風險,運作適當的貨幣市場能夠建立一種安全的正收益率方法來儲存資產。
設計與實現:
貨幣市場由MoneyMarket合約來維護賬戶餘額和資產負債表,後者滿足國際會計準則:Cash + Borrows = Supply + Equity 2-2
Compound協議聚合每個使用者的供應,當使用者提供資產時,它就成為可替代的資源。使用者可以隨時提取資產,而無需等待特定貸款到期。提供給市場的資產由ERC-20代幣餘額(cToken)表示,該餘額使所有者有權獲得越來越多的標的資產。隨著貨幣市場累積利息,cTokens可以轉換為越來越多的標的資產。
使用cTokens作為抵押品,Compound允許使用者從協議中無摩擦地借用,以便在以太坊生態系統的任何地方使用。使用者只需指定所需的資產,沒有談判條款、到期日或利率,借款是即時和可預測的。與提供資產類似,每個貨幣市場都有一個由市場力量設定的浮動利率,這決定了每種資產的借貸成本。
在每個貨幣市場,利息是由供需來實現均衡,當需求增多時,利息升高;當需求減少時,利息降低。它主要涉及到如下概念:
1)資金使用率U:U = Borrows/(Cash+Borrows) 2-3
2)利率和需求掛鉤,借入利率(Borrowing Interest Rate, BIR):BIR = 2.5%+U*20% 2-4
3)貸出利率(Supplying Interest Rate, SIR)等於借入利率:SIR = BIR*U 2-5
根據上述公式,我們假設這個利率是按天來計算,一個直觀的例子如圖3所示:
利率的歷史由利息指數索引捕獲,它會因為使用者的存取行為改變。一個借款者的餘額與利息之和等於最近檢查點的資產與現在的index的商,以元組的形式儲存。每當一個交易發生,供應和借款利息率都會發生改變,在新的交易發生之前,利息率的計算公式是:Indexa,n = Indexa,(n-1) *(1+r*t) 2-6
其中a代表資產型別,n代表索引,r是最近的利率,t則代表區塊數。使用者可以貸款的前提是在合約中存有餘額,借款人可以隨借隨還,當使用者餘額資產低於抵押率時,將會啟動清算流程,相應的,貸款人可以隨存隨取。
2.4 金融衍生品
DeFi在衍生品方面的應用出現的更晚,尚在剛起步階段。dYdX和Cdxproject[14]的應用上線不到一年。dYdX是一個去中心化的金融衍生品協議,其用智慧合約重寫衍生品的交易規則,使用者可以透過借入資金來放大槓桿,用來做空或者做多ETH。Cdxproject可以讓投資者建立信用違約互換(Credit Default Swap, CDS),從而對沖交易平臺被攻擊而導致資產丟失。本文選擇了dYdX進行詳細分析。
dYdX
解決的問題:
1)怎麼讓使用者透過合約來做空或者做多;
2)使用者如何借貸和交易。
目標:
提供基於ERC20代幣的保證金交易。
設計與實現:
目前的產品是Expo[15],提供sETH/lETH作為空單和多單,主要的角色包括:
1)借貸者:出借資金,釋出包括資金的種類,數量,保證金數量,利息等資訊;
2)交易者:借入資金,賣出owed token,持有held token。
它主要包括三個合約:
1)Margin contract:保證金交易的業務邏輯;
2)Proxy contract:代表使用者完成各種資產的轉移;
3)Vault contract:作為一個儲備金庫託管使用者在保證金交易中的資產。
一個保證金交易的具體細節和流程如下:
1)供應訊息(Offering Message)
出借人把自己手裡持有的某個token 以指定借出的利率和保證金借出去,透過轉發借貸訊息,無論是鏈上還是鏈下的平臺,dYdX不管借款人和貸款人如何達成貸款共識,這意味著可以透過傳統的中心化的方式來撮合。
2)買盤(Buyer)
買盤可以像貸款一樣,透過多種方式撮合,交易者通常選擇價格最佳的買盤。dYdX使用Exchange Wrapper來重新封裝了去中心化交易所的智慧合約,比如0x協議。交易者可以使用這個Exchange Wrapper或者自己來開發Exchange Wrapper。
3)開倉(Position opening)
交易者透過呼叫Margin合約來開啟保證金交易,包括交易者,接受借款,買盤(指定owe->held token),Exchange Wrapper地址,owed token,保證金使用owed/held token支付,保證金數量,交易者的地址等資訊。
Margin智慧合約將確認借貸是否生效,依次呼叫Proxy轉移貸款人的代幣並呼叫Exchange Wrapper來執行買盤交易。
4)平倉(Closing)
交易者可以在任何時間平倉,Margin合約收到平倉訊息時,會執行清算,呼叫proxy轉移借入資產和利息給貸款人,剩下的則是借款人的資產。通常由貸款方來監控借款人的價格倉位,現在可以委託給第三方完成。
3、開放金融的思考
過去的一年裡,我們看到DeFi眾多應用進展迅速。各個應用的抵押額總和從一年前的1.74億美元上升到11.8億美元,增幅接近七倍[16]。DeFi應用現在的規模還非常小,發展剛剛起步。和整個加密資產相比,不到1%的規模。金融作為區塊鏈的主要應用場景,我們相信DeFi在未來有很大潛力,尤其能夠幫助通證找到它們的使用場景,最佳化通政經濟。傳統金融巨頭不僅開始研究相關技術,也在和區塊鏈公司合作,希望避免自己被新技術顛覆[17-18]。
DeFi會帶來很多影響。首先是普惠金融,帶來了縮小貧富差距的可能。例如,非洲的一些欠發達地區,政局不穩定,貨幣易貶值,基礎設施落後,並不具備開設商業銀行的條件,更不用說其它金融服務。非洲的網際網路設施較為落後,但移動網際網路發展迅速,現在50%的非洲居民擁有手機[19]。任何一個有智慧手機並可以訪問移動網際網路的人都能使用DeFi上面的服務。持有穩定幣可以使用理財、借貸等產品,不僅可以實現財富保值、增值,也能夠實現一定的借貸等融資服務。
其次,DeFi的產品基於區塊鏈,跨境轉賬、支付不再需要經過銀行,不僅到賬速度快,而且手續費接近由於零。相比之下,透過西聯匯款、SWIFT等中介機構需要付7-10%的手續費。簡言之,DeFi應用不僅可以帶來社會運轉效率的提升,也能使資源進行更加有效的配置。
區塊鏈等相關技術尚在早期開發階段,雖然已經有不少產品問世,但仍存在一些普遍的問題。DeFi面臨的風險主要來自公鏈的底層和其上生態。
從公鏈底層來看:
1)網路分叉:當網路發生51%攻擊或者驗證者作惡,導致網路分叉,底層的共識失效,這也是整個公鏈面臨的安全風險;
2)網路堵塞:受限於公鏈的效能,當發生網路擁堵時,交易無法及時被打包,將直接影響交易結果,降低市場效率;
3)交易成本:PoW類公鏈按照交易手續費對交易進行排序,導致交易手續費升高,而在PoS類公鏈中的驗證者安排插隊交易等會導致更嚴重的問題。
從公鏈生態來看:
1)喂價失敗:DeFi類應用依賴預言機輸入外部價格對資產估值,一旦發生資料操縱或者價格源出現問題將導致資產估值錯誤;
2)價格波動:加密貨幣資產價格波動大,當出現黑天鵝事件時,系統出現大面積違約的情況,使用者和平臺都將承受巨大的損失,Maker設計了全域性清算模式,讓MKR持有者一起承擔損失,這種做法存在爭議;
3)合約漏洞:一些智慧合約沒有經過嚴格的程式碼審計,存在漏洞,存在被駭客攻擊可能,讓使用者蒙受難以估量的損失。
DeFi雖然給未來的金融和社會帶來無限可能,但也給使用者資產安全以及監管帶來了挑戰。
首先,使用區塊鏈和DeFi需要一定的科技和金融知識,對普通使用者來說,入門較難,知識的科普非常重要;由於引入了公私鑰加密系統,保護不當則容易導致資產丟失,而追索和復原將十分困難;如何在保證功能、安全的前提下,設計出門檻低,使用簡單的產品,是各個專案團隊以及產品人需要仔細考慮的問題。
第二,由於DeFi部署在公有鏈上,使用者參與門檻低,能夠接觸到的DeFi的產品將來自全球各地,參與者、開發者可能都是匿名的,出現爭議時,使用者權益的保護和法律責任的追究將較難實現。
第三,一些應用可能會被用來從事違法活動,如洗錢、恐怖主義融資。目前,絕大多數國家已對中心化交易平臺以及其他提供加密資產服務的產品實施了監管,實行了解客戶(KYC),因此一般使用者很難在匿名條件下交易加密資產。使用DEX將增加使用者的匿名性,進而增加了監管難度。
目前,各國政府的監管框架基於公司實體或中心化的金融機構,雖然很多政府已成立針對加密資產的部門,但政策法規的出臺始終會落後於DeFi的創新速度。因此,為保護普通投資者和金融穩定,大國政府的監管較為嚴格。
4、開放金融的展望與總結
DeFi下一階段的發展趨勢,主要集中在以下三個方面:
1)從單一借貸類應用到更加豐富的應用;
2)底層的去中心化交易、資產管理和保險基礎應用將加速發展;
3)身份和信用類應用將扮演越來越重要的角色,並且在監管合規中出現新的形態。
公鏈的生態形成羊群效應,越來越多的DeFi應用將構建在頭部公鏈之上,擠壓其他公鏈的生存空間。DeFi將起到支點的作用,其他公鏈仍然可以藉由DeFi爭取到更大的市場空間。透過DeFi可以豐富Token的使用場景和加密經濟生態:創造穩定幣,支撐理財、借貸和衍生品等金融需求,同時可以提高流動性和交易深度。
如何實現搭建DeFi的基礎環境,作為一個最小化的方案,列舉如下三條:
1)預言機Oracle,穩定幣和Dex:提供外部資訊,確定交易價格基準並提供內部流動性;
2)借貸平臺,Compound、Dharma和BlockFi:滿足抵押借貸的基本需求;
3)保證金交易,dYdX、Augur:這屬於金融衍生品市場。
完整基礎設施的構建,可以激勵創造更多基於這些DApp的上層應用,構建更豐富的金融生態,整個系統的資產流通速度有效提升。
DeFi創造了自由的平臺和生態,吸引著區塊鏈行業的開發者,併產生了一定的網路效應,DeFi上的應用不僅從數量上還是質量上來看,均發展迅速。儘管如此,DeFi依然處於萌芽階段,存在一些問題,對於大多數場景依然是次優選擇,還遠沒有形成規模,因此不要期待DeFi在短期內可以顛覆現有的金融機構。現階段,DeFi並非是區塊鏈唯一使用的場景,但卻是最佳用例之一。未來幾年,分散式賬簿技術將逐漸更新基礎設施,完成擴容,並將能夠支撐大規模的商業應用,屆時一些出眾的DeFi應用有可能覆蓋全球數十億使用者,讓人們享受到高效與廉價的金融服務。這場造福人類的金融革新才剛剛開始。
參考文獻
[1]Buterin, V. (2014). A next-generation smart contract and decentralized application platform. white paper, 3, 37.
[2]Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.
[3]Antonopoulos, A. M., & Wood, G. (2018). Mastering ethereum: building smart contracts and dapps. O'Reilly Media.
[4]Antonopoulos, A. M. (2017). Mastering Bitcoin: Programming the open blockchain. " O'Reilly Media, Inc.".
[5]De Filippi, P. D. F. (2018). Blockchain and the law: The rule of code. Harvard University Press.
[6]Maker Team. The Dai Stablecoin System (2017). https://makerdao.com/whitepaper/DaiDec17WP.pdf
[7]Compound https://compound.finance/documents/Compound.Whitepaper.pdf
[8]Etherisc https://etherisc.com/files/etherisc_whitepaper_1.01_en.pdf
[9]Opyn https://www.opyn.co/#/
[10]dYdX White Paper. https://whitepaper.dydx.exchange/
[11]Kyber network https://files.kyber.network/Kyber_Protocol_22_April_v0.1.pdf
[12]https://defi.dapp.review/
[13]Uniswap https://hackmd.io/C-DvwDSfSxuh-Gd4WKE_ig
[14]https://cdxproject.com/
[15]https://dydx.exchange/
[16]https://dapptotal.com/defi
[17]https://www.coindesk.com/swift-chief-announces-integration-with-r3-at-paris-fintech-forum
[18]https://cointelegraph.com/news/western-union-partners-with-stellar-collaborator-thunes-for-mobile-wallet-transfers
[19]https://www.budde.com.au/Research/2010-Global-Mobile-Communications-Key-Trends-and-Growth-in-a-Challenging-Environment