この記事ではAutomatic Liquidationについて說明します。Liquidation概要については以下の記事も簡潔な説明をしています。
Automatic Liquidation of risky CDPs
MakerDAOは、価格がソフトペッグされたステーブルコインであるDAIに注目が集まることが多いのですが、全体の機能としてはむしろ銀行に近いと私は思っています。
Etherを担保に入れ、DAIを発行する。DAIは担保資産の裏付けを持つものですが、担保としてプールされている資産を含めると、市場に流通している暗号トークンの総額は増えているともいえるわけで(厳密に議論すると意見が分かれそうではありますが)、これは銀行の信用創造に近い機能ですよね。
しかし、このシリーズでも再三指摘しているように、担保資産としてEtherを使う一方で、USDにペッグさせようとしているので、非常に複雑なシステムにならざるを得ません。Tetherのようにトラストを前提に、USDを振り込んで、USDペッグトークンを発行してもらうシステムの単純さに比べると、無意味とも思われかねないほどに複雑です(実際にはトラストレス下での稼働を目指しているので無意味ではありませんが)。
DAIの価格安定のために重要なのは、担保率が十分ではなくなったCDPを速やかに清算することです。ホワイトペーパーの11ページ目にこのことが書かれています。
Liquidity Providing Contract(Single-Collateral DAI)
設定された維持率を下回ったCDPは清算されますが、MakerDAOのシステムにおいてどのように清算されるのでしょうか?
清算されたCDPのオーナーには、担保資産から借金(=発行したDAI)、システムの使用料、清算ペナルティを差し引いたものが返却されます。
担保資産としてプールされていたEther(=PETH)はLiquidity Providing Contractで売りに出され、KeeperはそのPETHをDAIで購入することができます。詳しくはWPの12ページ目を見て頂きたいのですが、精算されるCDPによって発行されたDAIは未だに発行者の手元にあるわけですが、このDAIを強制的に徴収することはできません。しかし最低維持率を下回っているCDPは終了させなければいけません。そこでKeeperが支払ったDAIから清算されたCDPによって発行されたDAIが差し引かれ、そのDAIを使ってCDPの清算を行い、余ったDAIはPETHの購入とバーンに使われることになっています。
逆に担保資産であるPETHの売却によって発行されたDAIの埋め合わせができなかった場合、PETHが追加発行され、PETHの希薄化が発生します。これも以前の記事で紹介しましたが、今回は別の角度から見てみました。
この仕組みが成立するには、Keeper等の主体がシステム設計者が想定するレベルで効率的に動くことが重要です。結局、全てをシステムで完結することができない場合、インセンティブ設計を行い利害関係者の行動をデザインする必要が出てきます。この辺りのデザインは一般的なコーディング能力とは別の能力が求められるでしょう。今後需要の増える専門的な技能だと思います。
Debt and Collateral Auctions (Multi-Collateral Dai)
担保資産としてEther以外の複数資産が使えるようになった場合のシステムは上述の仕組みとはやや異なります。
清算されたCDPが発行したDAIを補填する必要があるのは同様ですが、複数担保が可能になった段階では、Debt Auctionなるものが開催され、MKRトークンの希薄化とオークションにおけるMKRトークンの売却が行われます。
同時に、CDPの担保資産の売却がCollateral Auctionによって行われます。このオークションによってCDPによって発行されたDAIとペナルティの総額を上限に売却された担保資産は、MKRの購入とバーンに使われます。
このMKRトークンの売却と購入の部分は一見ややこしいのですが、もし担保資産が発行されたDAI(=借金)の補填に十分であれば、担保資産は最小限売却され、残りは元のCDP作成者に返却されると説明されているので、MKRトークンの売却は、担保資産だけでは借金の返済ができないほどに担保資産の市場価格が下がってしまった場合に行われるというシンプルな理解で良いはずです。
その他の説明
ホワイトペーパーにはユースケース、MakerDAOやDAIを活用できる市場、想定されるリスクとその緩和策などが書かれているのですが、MakerDAOの基本的な構造を理解するために必須ではないので省略します。
5回にわたって書いてきましたが、このシリーズによってMakerDAOが何となく理解できたという方がいれば嬉しいです。恐らく私の理解が間違っている箇所もあると思いますので、何かあればTwitterまでご連絡下さい。