去中心化金融,由 MakerDAO 說起
前言:為何話風一轉,忽然談去中心化金融 (DeFi)?事緣 Big Dipper 正在進行升級工程,這將包括支援 DeFi 的功能,我有需要讓同事們了解幾個 DeFi 項目的操作,而 MakerDAO 則是 DeFi 中的表表者,背後有很多複雜的細節,若能理解 MakerDAO,對理解其他 DeFi 項目非常有幫助,既然都要向內部解釋,不要浪費了,順手寫一篇文章賺賺 LikeCoin。
作者:@Terence
tl;dr:
MakerDAO 是以太坊中最成功的項目之一,首先解釋 MakerDAO 這名字的含義:
- Maker:指的是 market maker,即造市商,香港慣稱為「莊家」。他們的存在是為市場提供流動性以確保市場的買家或賣家定能找到交易對手以買入或賣出某東西 (例如某家公司的股票,某種衍生工具,某類大宗商品如石油)。
- DAO:decentralized autonomous organization,去中心化自治組織。它是一個由電腦程式編制並公開透明地運作的組織,不能由中央權威直接控制。
在金融市場中,大眾對造市商普遍持壞印象,這來自於他們被視為貪婪資本家、特權階級、財技高手、黑箱作業、官商勾結等的綜合體,但造市商卻是必需的存在。想像一下如果我們要有一個賣牛的市場,首先要有一些商人有大量牛隻以應付市場需求,而在有人要賣牛出來時,亦有具備一定財力的商人能承接,這就是造市商的功能。
MakerDAO,顧名思義就是將 Maker 及 DAO 的意義合併,成為一個由電腦程式推動的去中心化造市商制度:以公開透明、公眾參與及無法被少數權威干預操控的方式來運作,掃除了上述的壞處,同時降低金融系統的操作成本,令參與者受惠。整個系統按 Maker 協議 (Maker Protocol) 來運作。"DAI" 穩定幣就是這協議的旗艦產品。
- DAI:與 DAO 完全是兩碼子的事。或許出乎你的意料,DAI 其實是「貸」字的國語拼音,象徵了這穩定幣是與貸款有關。
加密貨幣 (如比特幣 BTC 或以太幣 ETH) 相對法定貨幣 (如美元) 的波動太大,而當現實生活是以法定貨幣為主要計價單位的時候,這樣的波動性不利於加密貨幣的普及化使用,所以趨生了「穩定幣」這產物。
其中一種穩定幣是以法定貨幣作儲備支持,例如 Tether (USDT),它會跟你說每一個 USDT 是會有一美元支撐,這些美元儲備是有專業機構的公證核實及保管,但這做法令這些穩定幣實質上並不是去中心化的,因為它非常倚賴中心化的運作,例如它需要有一家公司提供這美元儲備,又要委託律師及會計師等多種專業人士來提供核實及保管,這裡每一層都有操作及串通的風險,USDT 持有人需要依賴對這公司及這些專業人士的信用 (trust),這違反了加密貨幣的毋須第三方提供信用 (即 trustless) 的初心。(事實上,Tether 曾出現相關的醜聞。)
Maker 協議的巧妙之處在於,它試圖通過去中心化的電腦程式 (就是大家經常聽到的「智能合約」),配合博弈論 (game theory) 設計,奬勵及懲罰兼施,再加上緊急處理機制,來創建一個去中心化的抵押貸款平台,在提供抵押貸款的同時,生成一種能與美元一對一掛勾的穩定幣, 一石二鳥,整個過程毋須要以法定貨幣作儲備。
相信大家近年已深深體會中心化的金融系統帶來的問題。Maker 協議的繁瑣艱澀的細節,都是為了要確保這個平台是最大可能地去中心化。學習 Maker 協議,一定對你有非常多的啟發。
以 MKR 幣去治理 Maker 協議
有點年紀的朋友或許知道上圖是甚麽,就是日漸式微的典當舖 (在香港又稱大押)。以前,人們需要些資金週轉,有時候就會將一些貴重但又不想賣掉的東西 (例如名錶,嫁妝,甚至是綿被) 抵押予典當舖以換取一些資金,日後資金充裕些,就連本帶利還款贖回抵押品。雖然這些典當業已慢慢被淘汰,但其實今天的商業銀行仍有大量的近似業務,例如樓宇按揭就是其一:你抵押了物業以換取貸款。
Maker 協議其實就像一個去中心化典當舖。首先,有一個組織以一種名為 MKR 的幣來運作,MKR 持有人憑 MKR 投票決定這個去中心化典當舖的各種制度,而這通常是與風險管理有關的,例如接受甚麽加密貨幣作抵押 (目前接受 ETH 及 BAT)、貸款對抵押品比率的上限、DAI 存款利率是多少、貸款利率是多少等事項。
[註:在 MakerDAO 上沒有用「貸款利率」這詞,而是稱為穩定費 (stability fee),但我認為其本質上是接近貸款利率的,不同的是穩定費是在贖回抵押品時才支付。)
DAI 穩定幣如何被創造出來
我們先假設抵押品是 ETH。ETH 持有人通過抵押以太幣,來獲取與美元一對一兌換的 DAI 幣。舉例若 ETH 目前價格是 140 美元,我可以抵押 1 個 ETH 來獲取 84 個 DAI (84 DAI 相當於 84 美元),這是基於貸幣對抵押品比率是 0.6:1。當我還掉這 84 DAI 時,我就可以取回抵押了的 1 個 ETH。整個過程大概是這樣:
第一步:創建「Maker 金庫」並鎖進抵押品。Maker 金庫 (Maker Vault,舊稱 Collateralized Debt Position "CDP") 其實就是一個電腦程式 (即智能合約)。只要鎖進相關金額的抵押品 (例如 ETH),這個 Maker 金庫就會變為有擔保 (collateralized) 的狀態。
第二步:通過有擔保的 Maker 金庫生成 DAI
第三步:償還貸款並支付穩定費。金庫持有者可以償還全部或部份的 DAI,並支付借款期間累積的穩定費用 (其實就是利息啦),以解除全部或部份抵押品的抵押狀態,並可以將已解除抵押的倉位發送至指定的錢包地址。留意穩定費只能以 DAI 來支付。
Maker 協議的多重防衛機制
MakerDAO 以至 Maker 協議,給市場的印象就是兩個字:複雜。上述的抵押貸款過程,行外人聽起來像很直接,不明白有何複雜。這件事最複雜的地方在於,Maker 協議試圖以去中心化的方式去運作 (不受某中心權威干預,包括 MakerDAO 創辦人及編寫協議程程序的開發員都不能單方面干預),並可以在不用以法定美元作儲備下都能確保 DAI 的匯價能夠與美元掛勾。在這裡我只能粗略帶過 Maker 協議中的部份防衛機制,希望令大家有個大概的理解。
守護者 (Keeper)
或許我們可以視守護者提供造市商的功能。他們在一個奬勵機制下運作,瞄準 Maker 協議網絡上的套利機會,當 DAI 的價格升穿 1 美元時,他們賣出 DAI,當 DAI 的價格跌穿 1 美元時,他們買入 DAI,他們將能從這兩個操作出獲取利潤。他們亦會參與其他的防衛機制,籨而將自身利益最大化,例如當有金庫因為抵押品價格跌破安全線而要被清算並拍賣時,守護者會參與拍賣,以釋放足夠資金確保每 1 個 DAI 都能反映 1 美元的價格,而守護者亦能從中套利。總之,守護者是按套利空間來行動,所以它們通常是以電腦程式驅動並自動化地執行。(是的,越來越科幻了。)
價格預言機 (Price Oracle)
去中心化網絡的其中一個痛點,就是如何連接至綫下的、中心化的資訊,例如 Maker 協議應該要如何獲取抵押品 (例如 ETH) 的價格呢?要知道這價格非常重要,例如 ETH 現值是 140 美元,但 Maker 協議獲得的價格如被錯誤地列為 70 美元,即所有以 ETH 為抵押品的金庫的抵押品價值忽然錯誤地下跌了 50%,將觸發清算 (記著,沒有中央權威能介入阻止,因為這機制是以智能合約驅動)。因為這個需要,市場有另一種產品出現 - 去中心化預言機 (decentralized oracle)。
Maker 協議有它的去中心化預言機架構,它由大量獨立節點來「餵價」(price feed), MKR 持有者投票決定可接受的餵價節點的數量,並選出一組他們認為可靠的節點來從事這餵價工作。這其中又有兩個防範風險措施:
- Maker 協議並不會直接使用餵價節點的實時報價,而是會延時一小時,即當下 Maker 協議採用的價格,是餵價節點一小時前提供的價格。這一個小時可確保如 Maker 協議發現有餵價節點有不當行為時,能有足夠時間凍結該節點。
- MKR 投票者還會議決選出緊急預言機 (Emergency Oracles),緊急預言機能單方面緊急凍結個別餵價節點,並啟動 Maker 協議防衛機制的終極大招:緊急停機 (Emergency Shutdown)
緊急停機 (Emergency Shutdown)
作為終極大招,緊急停機對 Maker 協議有非常嚴重的後果,它存在的本身其實就是想避免它的執行。它旨在在出現惡意治理行為、非法入侵、安全漏洞及市場長期處於非理性狀態等的緊急情況下直接執行 DAI 的目標價格以保護 Maker 協議。
緊急停機有三大階段:
一:金庫及餵價凍結,金庫擁有者可即時取回多出貸款金額部份的抵押品。
二:將餘下的抵押品拍賣。
三: DAI 持有者以所持有的 DAI 換取剩餘的抵押品。
重重的機制,目的都是盡力地維護 DAI 的目標價格 (例如與美元 1:1 地掛勾),又同時維持 Maker 協議能貫徹去中心化的治理及運作。
結語
學習 MakerDAO 項目的可貴之處是學習他們的思維方式。他們很清楚自己搞這項目的宗旨就是要促進去中心化金融制度,他們設計的很多細節都是為了鞏固及保衛這個宗旨。我認為這種思維模式可以套用到金融制度以外的地方。
參考:
Maker Protocol 101
Maker Protocol Whitepaper
Rune Christensen of MakerDAO Part 1: How to Keep a Crypto-Collateralized Stablecoin Afloat
關於 @BigDipper:由 @Forbole 開發,是 Cosmos 生態的開源區塊鏈瀏覽器及管理工具,它是 Cosmos HackAtom 的獲奬作品,上線至今已有來自全球 140 個國家的用戶瀏覽。
Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!
- Author
- More