クリプトゥーロゥ.com

灯篭による仮想通貨にFXに株をハックする投資のあれこれ、ときたま脱線

レンディングプロトコルのリスクと利用する際に見るべきポイント

DeFi(分散型金融)」という言葉に対して、どのような印象をお持ちでしょうか。

実際に様々な方に伺うと「CeFi(中央集権型金融)に比べてリスクが高いと感じる」と述べる方は少なくありません。CEX(中央集権型取引所)の外で起きる事件の多くは、レンディングプロトコルやブリッジで発生します。このうち、ブリッジは中央集権的であるがゆえに事故が発生しているので、本記事ではブリッジをDeFiとはせず、レンディングプロトコルに絞ってそのリスクやリスクとの向き合い方に関して記します。

※本記事では過剰担保型と呼ばれるスタイルのレンディングプロトコルを取り扱います。ウォレットや企業などの信用性に応じて、少ない担保もしくは無担保での貸し出しをするサービスも存在しますが、その信用性の判断には中央集権的なプロセスがどうしても絡むうえ、まだそういったサービスも少なく、世界中の人が行き交うブロックチェーン世界においては債務者は簡単に逃げられるため、リスクも非常に高くなります。よって、ここでは殆どのレンディングプロトコルが該当する過剰担保型のものに絞ります。個人的な感想ですが、それ以外の形態のレンディングプロトコルは触らないことを勧めます。

レンディングプロトコルとは

レンディングプロトコルとは、暗号資産の貸し借りを分散的に実現するためのスマートコントラクトの集合体です。

これらのコントラクトをウォレットで承認してトランザクションを発行すれば、実際に取引が可能です。

https://app.compound.finance/というウェブサイトではウォレットを接続して、より簡単にその取引が可能になっていますが、本質的にはこの記事がやっていることと、何も変わりなく、ただCompoundというレンディングプロトコルのスマートコントラクトをまとめているだけなのです。

有志が集まったDAO(自律分散型組織)としてガバナンスの承認を得て、開発を行っている。その開発DAOが、流れ上たまたまこの便利なまとめサイトも運営している。それだけなので、実際に他のまとめサイトが存在してもいい(むしろより健康的)のです。ウェブサイトへの攻撃によってプロトコルが棄損されることもありません。このブログのアカウントに不正アクセスされて上記のコントラクトが別のものにすり替えられていてもCompoundに何か不具合があったわけではないのと同じです。さらにウェブサイト自体への攻撃は、中央集権的なすべてのサービスにおいても全く同じリスクが存在するので、ウェブサイト自体への攻撃も本記事では省略します。

レンディングプロトコルで発生する事件

平均的な印象とはおそらく乖離しますが、本来基本的にDeFiは安全性の非常に高いものです。それは事実上改変不能なスマートコントラクトが分散性を持つパブリックチェーン上で発行されており、取引を行う前に "そのトランザクションを送信すると、この後何が起きるのか" がわかるからです。ハッキングを不正アクセスと訳すのであれば、ハッキング自体は限りなく不可能に近いものとなります。

"Contract" という英単語は契約を意味します。コントラクトの承認という作業は契約書へのサインと同じです。その契約書は改変不能で全世界に公開されているので、その内容をしっかり確認していれば予想外のことは起きません。

しかし、多くのユーザーにとって予想外の事件はレンディングプロトコルにて比較的頻繁に発生します。事件はその契約の内容に由来しているのです。

つまり、ユーザーが事前に承諾している契約上のルールにのっとって資金は取られています。

レンディングプロトコルのルール

レンディングプロトコルで暗号資産を貸し出すと利息が貰えます。

その貸し出した資産を担保にすると、別の暗号資産を借り入れることが可能です。暗号資産を借りる人は利息を支払う側になります。また、担保にした資産額の一定割合額相当(その割合を担保掛目と言います)までしか借りることができません。

例えばETHを1,000ドル分貸し出します。ETHの担保掛目が85%の場合、850ドル相当までの他の資産を借りることができます。ここでUSDTを借り入れたとします。ETHが下落していくと担保の評価額が落ちていき、やがては強制的にロスカットされます。その場合、担保にしたETHを取り戻すことができなくなり、USDTは手元に残ります。取引の内容は事実上信用取引における空売りと同じなので、レンディングプロトコル空売りするためのツールとして利用する方も少なくありません。

例:1,000ドル相当のUSDTを担保に700ドル相当のETHを借り、ETHをUSDTに交換する。その後ETHが下落すると、ETHを買い戻して返済しても余りがでるので利益が生じます。

担保にしている間も貸し出した資産に利息が発生するので、ETHを貸し出してそれを担保にしてUSDTを借りている状態では、ETHに対する利息を貰いながらUSDTに対する利息を払うことになります。その差分が実際に支払う金利となります。

余談ですが「BNBを貸し出して貰える利息>USDTの借り入れで支払う利息」になっていた時があり、BNBを貸し出してUSDTを借りて、そのUSDTでBNBを購入してBNBを貸し出すというループを行うとどんどんBNBが貰える時期が過去にありました。貸し出しと借り入れの金利差についても注目すると利益機会は増えるかもしれません。

ルールの落とし穴

ロスカットも存在するので一見、事件は発生し得ないのではないのかと感じた方もいるかもしれません。しかし、事件はルールを守って発生します。1,000ドル相当のETHと言うときの1,000ドル相当という換算は、オラクルという別のDeFiプロトコルを利用します。

ラクルは各暗号資産が今いくらなのかを様々なDEXを参考にするなどして分散的に判断し、そのデータを各DeFiプロトコルへ提供します。

「ETHが今20,000ドルである。」とオラクルが判断し、そのレンディングプロトコルでのETHの担保掛目が85%の場合、1 ETHあたり、20,000×0.85 =17,000ドル相当のUSDTを借り入れることができます。実際には一瞬でもETHの相場価格を20,000ドル相当まで引き上げるためには膨大なコストが必要であり、採算が合いません。しかし、取引量の少ない他のトークンだったらどうでしょうか。

簡単に市場でPUMPさせられる取引量の少ないトークンAを100万ドル分担保にします。

5000万ドル使って相場で買い上げ、瞬間的に100倍の価格に引き上げます。すると担保にした100万ドル相当のトークンAの評価額は1億ドル相当になっています。担保掛目が85%ならこの瞬間に上限いっぱい8500万ドル相当のETHを借り入れます。トークンAは瞬間的にPUMPさせられただけなので、すぐに価格は暴落して元の価格に収束していきます。そして担保にしていたトークンAはロスカットされて没収されます。

没収されたトークンAの取得にかかった100万ドルとPUMPするのにかかった5000万ドルがコストとなり、差し引き4900万ドル相当のETHが利益となります。プロトコル上では暴落したトークンAばかりが残って、ETHが大量に引き出されているので貸し倒れが発生し、ETHを貸し出している人が返金してもらえなくなります。これが最も一般的かつ大抵のレンディングプロトコルでの事件で起きているおおまかな内容です。

危険なレンディングプロトコル

レンディングプロトコルでは前項で述べたように流動性の低いトークンをリストアップすると非常に危険な状態になります。よって、例えばEthereum上のETHを貸し出したい場合、見るべきは、そのレンディングプロトコル上で担保にできるETH以外のEthereum上の全トークンの流動性です。種類が少なく、流動性が高いもののみで構成されているほど堅牢になり、種類が多く流動性が低いものが一つでもリストアップされていれば非常に脆弱になります。

2022年10月に発生したSolana上のMango MarketsというプロトコルではこのプロトコルのガバナンストークンであるMNGOトークンが狙われました。プロトコルを司るトークン自体の流動性が低く、それをリスティングしている。この状態では慢性的にいつでもお金盗み放題な超ハイリスク状態であり、資金を引き抜かれて当然レベルです。

事件の内容はMNGOを担保に入れて10倍にPUMPすると同時に一気に借り入れて資金を引き抜くというものです。

また、FBIサイバー犯罪課のChris Tarbell氏もCoinDesk.tvで「この事件はルールにのっとったものであり、これはシステムに不正アクセスをするいわゆるハッキングではなく、市場操作である。」とコメントしています *1。このコメントは本質を的確に捉えています。

フラッシュローン

一部のレンディングプロトコルにはフラッシュローンと呼ばれる機能が存在しています。これは同ブロック内での返済を条件として、無担保での融資をするものです。例えば、Ethereumは約15秒間隔でブロックを生成しているので、Ethereumでのフラッシュローンは『借り入れから15秒前後以内に返済する』というルールになります。返済できない場合、貸り入れたこと自体が無かったこととなり、その後の全てのトランザクションも無効になります。基本的に人間が利用できる機能ではないのでbotを組んで利用するものなのですが、無担保に大きな金額を借りることができるので、これが悪用されて "たった1ブロック" のうちに惨事が発生するケースもしばしばあります。そのため、フラッシュローン機能が一般に公開されているプロトコルも私は避けます。本来はアービトラージで利用すること(以下図参照)が想定されています。

ガバナンスのジレンマ

レンディングプロトコルではしばしばガバナンスにおいてジレンマが発生します。

レンディングプロトコルで発生する事件の代表格と言えば「C.R.E.A.M Finance」です。Cream FinanceはCompoundをフォークしたものであり、基本的な機能はCompoundと殆ど同様です。Compoundと同じように保守的なリスティングをしていると誰も使う人はいないでしょう。C.R.E.A.M FinanceのリスティングはCREAMトーク保有者の投票によって決定されていました。存在意義を見出すため、CREAMトーク保有者はより流動性の低いトークンのリスティングをする方向性で投票を繰り返しました。その結果が事件に繋がっています。

流動性の低いトークンをリストアップすると危険ではあるが、それをしないで非常に流動性の高いトークンのみを取り扱ったとして、大手プロトコルと競争できない。より様々なトークンを取り扱っているからこそ存在意義があるので、ガバナンストーク保有者は危険なトークンをリスティングしようとしてしまう。このジレンマは恐ろしく、そして幾度となく事件の根本的な原因となっています。

レンディングプロトコルを利用する際に見て欲しいところ

レンディングプロトコルを利用する際に見て欲しい点をまとめます。

1. 流動性の低いトークンを貸し出せるようになってないか

流動性の低いトークンを担保に融資を受けられるプロトコルは非常に危険です。より人口の少ないチェーンでは流動性もそれだけ小さくなるので、それだけで危険な状態になりやすい傾向があります。

2.運営が大量に売るかもしれない中央集権的なトークンをリストアップしていないか

特定の運営団体がいてトークンを大量に保有している場合、それを担保にして他の資産を借り入れることで一気にトークンを実質的に売却することが可能です。そのため、BCG銘柄や特定の運営団体がいる銘柄をリスティングしているとそれだけリスクが高くなります。

3. フラッシュローン機能を実装しているか

あったら絶対使わない方が良いというものでもないですが、これがあると流動性の小さいトークンがあったときにより攻撃しやすくなるので、無い方が安全性は高まります。

4. ガバナンスの傾向

流動性の低いトークンをリストアップする傾向にある/ありそうなガバナンス決定をするプロトコルは危険です。 

5. URLは正しいか

これはCeFiでも存在していますが、フィッシングサイトによる詐欺は常に存在するため、正しいURLで目的のウェブサイトに接続しているかは必ずチェックしましょう。

そもそもレンディングプロトコルを利用するメリットとは?

これも感覚とは乖離すると思いますが、レンディングプロトコルの需要は非常に大きく、膨大な資金が日々動いています。しかも貸し出しAPYは比較的低めです。

執筆時点でのCompoundでのETHの貸し出しAPYは0.09%です。しかし、1.22億ドル相当も預けられています。

実はレンディングプロトコルの"みそ"は借りる側にあります。貸すだけでは正直、APYが低すぎて割に合わないケースが殆どであるはずです。ここでレンディングプロトコルの上手な使い方を4点紹介します。

挙げる以外にも様々な活用方法があるので、是非色々考えてみてください!

1. 信用取引

これは上でも述べた通りです。USDTを貸し出して、ETHを借りる。このETHをDEXでUSDTに交換すれば、DeFiのみでETHの空売り(≒ショート)が可能です。

2. エアードロップ

現物を借りるので、そのトーク保有者に対してエアードロップがある際にも強い味方になる場合があります。

例:USDTを担保にトークンCを借りる。トークンC保有者にはトークンDが配布されるのでスナップショットのタイミングまで借りる(無駄な利息を減らすためなるべく直近が望ましい)。スナップショットのタイミングを跨いだらトークンCを返済することで、利息支払いのみでトークンCを得ることができます。

3. アービトラージ

2つの取引所間でトークンEに価格差が生まれているとします。自身はETHを保有していてこれを売りたくない。この場合、ETHを貸し出して、USDTを借り、そのUSDTでトークンCを安い方の取引所で購入して高い方の取引所でUSDTにしてそのUSDTで返済するとUSDTが余り、ETHを売ることなく利益を出せます。

4. 節約

ETHを持っていて日本円に対して含み益が生じているとします。これを他のトークンや法定通貨と交換したり、買い物に利用したりすると利益が出たと税制上見做されます。ETHを貸し出してUSDTを借り入れた場合、利益を得ずにUSDTを使えるようになります。

※詳しくは専門の方へご相談ください