MakerDAO入門

KanaGold
BUIDL
Published in
12 min readApr 22, 2019

今回の記事は、DeFiの中核とも言えるMakerDAOの仕組みを解説するものです。twitterでよく見かける宇宙語ひとつひとつの解説ではなく、法定通貨担保型のステーブルコインと仮想通貨担保型のステーブルコインにおける担保の意味合いが、制度の維持の観点で論理構造的な違いを持っていることを理解し、いまMakerDAOで行われているガバナンスの意味するところを本質的に理解することが目的になります。

多くの人は「MakerDAOはETHを担保に入れることでドルに価格がペグしたDaiを借りられるプロトコル」ということまでは認識しているかと思いますので、ここから浮かんでくるよくある質問にお答えする形式で解説していきたいと思います。

Q1「どうして仮想通貨の価格は安定しないの?」

仮想通貨をどう定義するかが大事そうな問いですが、少なくともビットコインの延長上には価格が安定する世界線はなさそうです。ビットコインの場合、需要がいくら増えても単位時間あたりの生成枚数は変化しないように難易度調整されるため、需要の増加に呼応した価格上昇を抑える力が存在しないことが一つの大きな理由です。そのため、たとえば難易度調整をしないようにハードフォークすれば、需要の増加に対してマイニングする人も増えて新規供給量も増加するので、価格上昇圧力を抑えることができます。しかし、需要が低下した場合はどうでしょうか。新規供給量の調整可能な下限はゼロなので、需要の低下の程度によっては価格下落を抑える力が不十分になってしまいます。そうなると、すでに発行されているビットコインを市場から消し去ることで価格下落を抑える必要が出てきますが、これはどのように実現すればよいでしょうか。一つの答えは、いまの中央銀行のように、買いオペや売りオペをする主体を登場させることです。ビットコインの価格をモノの価値に対して安定させるように、圧倒的な資金力でビットコインを買いまくったり、場合によっては売りまくって調整する人を登場させればよいのです。ただ、このような人物の存在に期待しないところが仮想通貨の思想なはずなので、プロトコルの中にこのような存在を作り出さない限り価格は安定しないことになります。

Q2「スマートコントラクトが買い取ってくれるようにするってこと?」

ひとことで言ってしまうとそういうことですが、仮にDaiをスマートコントラクトに対して引き渡すとしたら、代わりに当然対価を要求することになりますよね。スマートコントラクトなので同じブロックチェーン上の資産が対価になる候補で、イーサリアムを基盤として考えれば、ETHが対価の筆頭候補になるわけです。ここで、ETHは無からは生まれてこないわけで、スマートコントラクトがETHを対価として支払えるためには、事前にそのスマートコントラクトにETHが持ち込まれる必要が出てきます。そこで、MakerDAOでは、ETHを持ち込んでくれた人にDaiを発行する仕組みにしたわけです。BasisやCarbonの場合は、対価として未来の同じトークンを支払うこととして、外から対価となる資産が持ち込まれなくても回る仕組みにしようとした、と考えることもできますね。

Q3「Daiを発行する際にどれくらいの量のETHを持ち込んでくれればいいの?」

現在1Dai = 1USDとすることを目標にしており、担保率として最低150%が設定されているので、例えば1ETH=$300のときに1ETHをコントラクトに持ち込めば(「CDPを発行する」という行為)、最大200Daiほどを受け取ることができます。

Q4「1Dai =1USDを目標にしつつ、1ETH=$300のときに1ETHを持ち込んだ人に対して3000Dai発行してあげることはできないの?」

これは絶対にできません。なぜなら、300USDを取引所に入金して1ETHを買い、このスマートコントラクトに送って3000Daiを受け取って、1Dai = 1USDで換金できるならば、無リスクで300USDが3000USDに化けることになるので、無限にみんなこれを繰り返すはずです。よって、この例では1Dai=1USDという目標は決して達成されず、0.1USD以下にしかなれないことがわかります。よって、「1Dai=1USDという政策目標を達成する」ための「必要条件」として、「少なくとも発行時点において、Dai発行評価額以上の評価額のETHが持ち込まれる」ことが要求されることがわかります。

Q5「持ち込まれたETHの評価額が事後的に大きく下落してしまった場合にはどうなるの?」

1ETH=300USDのときに1ETHを持ち込んで200Daiを受け取り、この200Daiで買い物をして、いったん使ってしまったとします。後日1ETH=30USDまで下落したとします。このとき、預けているETHを回収しようとした場合、仕組み上はもともと借りている200Daiを返却する必要があるわけですが、200USD相当を支払って30USD相当の資産を回収するわけがありません。仮に1Dai=1USDが維持できずに1Dai=0.9USDとかになってしまった場合、市場に流通しているDaiの量を減らして価格上昇圧力を生み出そうとするわけですが、Daiの流通量を減らすためには、借りているDaiを返却してETHを引き出すアクションを誘因する必要があり、どうやっても1Dai=0.15USD程度でないと誘因できないことになってしまいます。よって、「1Dai=1USDという政策目標を達成する」ための「必要条件」として、「発行時点以降においても、Dai発行評価額以上の評価額のETHが預託されている状態を維持する」ことが要求されることがわかります。そのため、「最低担保維持率をキープできなければ強制ロスカットされる仕組み」が「必要条件」になるわけです。

Q6「ETHの価格はボラタイルだから、ETH以外も担保に入れられるほうがいいんじゃないの?」

その通りです。そのため、MakerDAOは複数のERC20トークンを担保として入れられるように仕様変更しようとしております。Multi Collateral Daiと呼ばれています。

Q7「Multi Collateral Daiになったら、1Dai=1USDは維持されやすくなるのね?最近1Dai=0.95USDくらいで推移していると聞いてたけど、これが改善されるということ?」

あくまでも、「1Dai=1USDという政策目標を達成する」ための「必要条件」として、「Dai発行評価額以上の評価額のETHが預託されている状態を維持する」ことがあり、この必要条件を達成するために、「最低担保維持率をキープできなければ強制ロスカットされる仕組み」があって、現状は弱いこの仕組みがMulti Collateral Daiによって改善する、ということです。Multi Collateral Daiによって、「Dai発行評価額以上の評価額のETHが預託されている状態を維持する」ことと「最低担保維持率をキープできなければ強制ロスカットされる仕組み」が同値となったとしても、「1Dai=1USDという政策目標を達成する」ための「必要条件」にすぎないということです。言い方を変えると、「最低担保維持率をキープできなければ強制ロスカットされる仕組み」が存在しなければ「1Dai=1USDという政策目標を達成する」ことは絶対にできませんが、「最低担保維持率をキープできなければ強制ロスカットされる仕組み」が存在するだけで「1Dai=1USDという政策目標を達成する」ことができるわけではないということです。trueUSDのような法定通貨担保型の場合は「1TUSD=1USDという政策目標を達成する」ことの「必要十分条件」が、アービトラージの可能性によって「TUSD発行額と同数量のUSDが預託されている状態を維持する」ことになっているため、ここが広く勘違いされているポイントの一つになっています。

Q8「なるほど、担保率を維持する制度が仮に完全に疑いの余地なくワークすると仮定したときに、1Dai=1USDという政策目標を達成することに失敗するシナリオというのは何が考えられるの?」

まず、よく勘違いされている点ですが、MakerDAOのプロトコルがOracleで取得しているのはETH/USDの価格すなわち強制ロスカットで使うものだけであって、政策目標であるDaiの価格がドルに対していくらなのかはOracleでは取得していません。流動性のあるETH/DaiとETH/USDからDai/USDを計算して観察しているところになり、仮にDai/USDが1ドルから乖離したとしてもアービトラージをすることはできません。アービトラージがない中で1ドル近傍になるということは、MakerDAOの政策により需給が調整されて1ドルへ回帰してゆくことへの期待がなされているということになります。よって、MakerDAOの政策への期待が失われるか、政策ではカバーできないほどに需給のバランスが崩れれば、1ドルへのペグは失われることになります。

Q9「そもそもMakerDAOの政策では需給をどのようにコントロールしているの?」

ここでやっと、最近話題のStability Feeが出てきます。twitterでよく見かける宇宙語の代表格。Stability Feeとは、ETHを預け入れてDaiを借り入れている人にかかる金利です。Stability Feeが3%の状態で100Daiを借り入れた場合、1年借りたら、返却してETHを引き出すときには103Dai相当を返さないといけないということです。最近このStability Feeが14.5%まで引き上げられましたが、こうなるとDaiを借りている状態が辛くなるし、消費者金融で借りたほうがマシな水準になってきているので、Stability Feeの引き上げは、早期返済により市場で流通するDaiの減少に寄与し、結果的にDaiの価格の上昇圧力につながることがわかります。最近Stability Feeをひきあげる議論が活発なことの背景に、1Dai=0.94USD程度で長期に渡って推移していたことがありますが、Stability Feeを引き上げることで供給量を減らし、価格上昇圧力を生もうという趣旨であったことがわかります。このStability Feeの引き上げは、MakerDAOのMKRトークン保持者によるガバナンスによって決定されます。

Q10「Stability Feeを引き上げたら1Dai=1USDまで回帰したの?」

残念ながら、この結果として0.96USD程度まで回復はしたものの、依然として1ドルまで回帰する気配がありません。発行されているDaiの数量もあまり反応しませんでした。そのため、さらにStability Feeを引き上げる方向で議論がされていたり、Daiを預け入れることで金利がもらえる仕組み(Dai Saving Rate)を導入しようとしています。

Q11「Stability Feeをいっきに10000%まで上昇させたらどうなるの?」

ETHを預け入れてDaiを使っちゃった人は、いますぐDaiを取り戻してして返済しないと追加で無駄金を払わないと閉じれなくなってしまい、1Dai=1.5USD近くでも買おうとするため、価格が上側に乖離することになります。なんやかんやですでにETHを引き出すために必要な鍵をセルフGOXしている人もいるでしょうから、途中からは、買われきらなかったDaiが行き場をなくし、今度は逆に暴落して二束三文で売買されながらMakerDAOは終了することになります。これをやってしまうと、MakerDAOのガバナンスによって価格が安定することへの期待が完全に喪失することになるので、仮に再開したとしても価格が安定することは期待できないでしょう。よって、MakerDAOのガバナンスの結果としてStability Feeを異常に高くする選択肢はとられないことがわかります。

Q12「Stability Feeを25%くらいまで上昇させたらどうなるの?」

上で見たとおり、担保率が維持できなかった場合にDaiの価格は暴落してしまうことから、上手くいっている限りは1ドル近傍だけれども、失敗した場合には0ドル近傍になる可能性のある資産がDaiだと言うことができるので、これが1ドル未満で取引されるのは実は自然なことなのです。そのため、供給側がStability Feeの適度な上昇により減ったとしても、需要としては1ドル未満でなくては欲しくないはずなので、決して1ドルで安定することはありません。

Q13「じゃあ、1.05ドルあたりを狙っていけば1ドルくらいで安定するんじゃない?」

いま1ドルとしているところを全て1.05ドルに読み替えていくと、結果的にそのようになると推測されます。いずれにしても、狙っている価格よりも下で取引されるのは自然だということを受け入れる必要がある、ということが趣旨になります。

Q14「では、どうしてMakerDAOのガバナンスではDaiの価格を0.96ドルからさらに引き上げるために、Stability Feeをさらに引き上げようとしているの?11.5%でも十分不便なくらい高いと思うんだけど?」

1ドルには達し得ないということを認識したうえで、程度の問題を議論しているのであれば、それは完全にガバナンスの裁量の範疇でしょう。そのような金融政策のもとで価格が決定される通貨がDaiなので、ドルや円やユーロ、はたまたブロックチェーン上のtrueUSDやGUSDなど、様々な通貨の中で好きなものを使っていけばよいかと思います。

まだまだギモンがわいてくるかと思いますが、今回は入門編なのでここまでです。おさらいすると、最も重要な点は、trueUSDのような法定通貨担保型の場合は「1TUSD=1USDという政策目標を達成する」ことの「必要十分条件」が、アービトラージの可能性によって「TUSD発行額と同数量のUSDが預託されている状態を維持する」ことになりますが、MakerDAOの場合は、「1Dai=1USDという政策目標を達成する」ための「必要条件」として、「Dai発行評価額以上の評価額のETHが預託されている状態を維持する」制度が存在しているにすぎず、この条件のもとで期待形成による金融政策を行っているにすぎないという点です。

いろんな国の金融政策を俯瞰してみると、MakerDAOならではの特徴がさらに見えてくるかもしれませんね。

--

--

KanaGold
BUIDL
Editor for

Enigma公式日本admin & ビットコイナー反省会レギュラー。元JPX & bitFlyer