見出し画像

オラクルガード/フラッシュローン

おはようございます。😊

先日のWEX暴落でレバレッジファーミングをしている人の中には清算された人がたくさんいるようです。アルパカ公式テレグラムでは、オラクルガードが役にたたなかったと文句をいう人がたくさんいます。

ではオラクルガードはいらないのでしょうか? ほんとに役にたっているのでしょうか。素人の僕が理解できる限りのことをみなさんにご説明しようと思います。

オラクルガードとは

日本語で「オラクルガード」をググっても、求めるものは何もでません、たぶん。

だからといって英語で「Oracle Guard」をググっても求めるものとは少し違うようです。

これまで生きてきて、Googleで調べてわからなかったことなんてないのに、最近そんなことにたくさん出会います。

というわけでアルパカさんのオラクルガードです。

ひとことで説明すると、不正な価格での取引や、フラッシュローン攻撃などからユーザーを守ってくれるしくみです。

一方でオラクルガードに不満をいう人がいます。守ってくれなかったじゃないか、役にたたないじゃないかと。

どちらの言い分が正しいんでしょうか。

そのことを考えるには、そもそも不正な価格とは、フラッシュローンとは、というところから入らないと理解が進まないと思います。

フラッシュローンとは

フラッシュローンとは、1つのトランザクション(取引)の中でお金を借りて返すというしくみです。

たぶんAaveというプロジェクトが最初なのかな、レンディングプール内の借りられていない資産を有効活用しようと考えたしくみです。

1つのトランザクションの中で借り入れと返済を行えば、利子はなく手数料のみで担保なし上限なしで借金ができます。手数料は借入の0.09%。100万円をフラッシュローンで借り入れしたら900円の手数料です。

100万円借りて900円って安いですよね、安いですけど、借りることができるのはほんの1秒程度、それで何ができるのでしょうか?

アービトラージ

アービトラージ(裁定取引)っていう言葉は難しくて聞きなれないと思いますが、要するにせどり、つまり転売です。安く買って高く売ることです。

ここに取引所Aと取引所Bがあるとします。ドル円の交換を扱っていて、ある時それぞれ $1 = 100円と、$1 = 101円のレートでした。(話をごく単純にするために、売りと買いのレートが同じだとします、手数料もなし!)

画像1

花子は100万円借金して取引所Aで$10,000のドルを買い、そのまま取引所Bに行き、$10,000ドルを101万円に両替しました。借金を返した後、花子の手元には1万円の利益が残りました

これがアービトラージです。

太郎は、花子がアービトラージで儲けたというお話を聞きつけて、同じように100万円借金して取引所Aで$10,000を買いました。そのまま取引所Bに行きましたが、不運なことに移動中に為替に悪いニュースがあり、取引所Bの取り扱い価格が$1=99円になっていました。

画像2

太郎は$10,000を99万円に両替しましたが、借金を返すために自己資金をさらに1万円追加しました。つまり1万円の損失をだしてしまいました

このように、アービトラージは必ずうまくいくとは限りません。いろんな要因で失敗することがあります。

ここでフラッシュローンです。

フラッシュローンを使うと、1つのトランザクション内で取引が完了するので時間差がほとんどないことに加えて、もし最後の借金返済が失敗したらそもそもその取引が最初からなかったことにできるのです。

このしくみだと上記の太郎のような失敗はなくなります。とてもローリスクでアービトラージができることになります。

それに加えて、レンディングプロトコルの側でも、返済されないことがあり得ないため、ノーリスクで手数料だけただ取りできるという利点があります。

市場はこのアービトラージにより、取引所間の為替の差がなくなり、健全な状態になります。

このようにフラッシュローンというのは、これまでの既存金融ではあり得ない、契約がプログラム化できるDeFiならではの素晴らしい発明なのです。

他にも便利な使い方として

・ローンの借り替え
・担保のスワップ
・手数料の削減

などが考えられます。⇒What is a Flash Loan? - coindesk

例えばVenusで1BTCを担保に最大借入率80%のVAIを借りていたとします。

VAIをもって魔界をお散歩しているうちに全て失ってしまいました。嫌気がさしてBSCから撤退しようと思いますが、VAIを返せないので担保のBTCが返してもらえません。

そこで、フラッシュローンでVAIを借りて一旦VenusにVAIを返済すると、1BTCを引き出すことができるので、BTCの80%をVAIに両替してローンを返済します。すると残りの20%のBTCが手元に返ってくる、という素敵なことが考えられそうです。

フラッシュローンは、はさみや自動車のようなもので、使い方を間違えなければとても便利なツールです。

悪用

しかし、フラッシュローンが画期的な発明なら、それを悪用しようとする人が必ず現れます、というかほぼ悪用しかされていないイメージです。😓

いろいろ考えるな〜と思わされますが、基本的な考え方は

・フラッシュローンで大量の資金を借りる
・ある資産を大量購入し、価格を釣り上げる
・高騰した価格で売りぬく
・フラッシュローンを返済する
・残ったぶんが利益

というものです。

価格を釣り上げても、売る時にまだ下がるはずなので、普通では利益はでないと思うのですが、何かしらコントラクトのバグとか不完全な価格調整のスキをついて利益を得ています。

コントラクトの動作と市場の価格決定のしくみを知り尽くした人が利益を出しているのです。

いろんな意見はあるでしょうけど、僕には必ずしもこれが悪だとは思えない部分もあります。「見える」人からすれば、目の前にたくさんのお金が落ちてるのに誰も気づかない、じゃぁ自分が拾って、届けないでいるだけのことですから。せどりと同じ感覚です。

今回のWEX事件の詳細

さて、フラッシュローンを使って儲ける方法ばかりを話していますが、本題はオラクルガードです。今回のWEXはフラッシュローンを使って価格操作がされました。

1. 攻撃者はフラッシュローンでWUSDを借り入れ、すぐにRedeemしUSDTとWEXに交換(準備1)

2. 攻撃者はフラッシュローンでUSDTを借り入れる(準備2)

3. フラッシュローンしたUSDTの1部をWEXに両替(pump!)

4. フラッシュローンしたUSDTの1部でWUSDをMINT(発行)、その際に10%WEXが買われて価格が上昇する(発行上限の$250Kずつ何回も)

5. 操作されたレートでWEXをUSDTに両替

6. WUSDとUSDTの2つのフラッシュローンを返済し、手数料を差し引き$848k(約9,300万円)の利益を得る

以上が手口です、ポイントは手順1,2でフラッシュローンでWUSDとUSDTの2種類を借りて、上手く行き来させて、返済する時に両替不要にしていること、手順4のWUSD発行で 1 : 1 のレートでMINTしながら、自分の資金は使わずにどんどんWEXを買わせて価値を3倍に上げていることです。

うまくWUSDのしくみのスキをついた手口です。感心します。

この方法だと、必要な手持ち資金はゼロ、かかる時間は数秒です。😯

整理メモ:
1. フラッシュローン16.8M WUSD ⇒ Redeem 15M USDT + 106M WEX
2. フラッシュローン40M USDT うち23M USDT ⇒ 518M WEX購入(pump!), 残り17M USDT
■この時点で、32M USDT + 624M WEXを保有
4. USDT ⇒ WUSD (250Kずつ16.8M分!)この工程でもWEX pump!
6. 624M WEXを26M USDTに交換
■この時点で16.8M WUSDと(32-16.8+26 =)41.2M USDTを保有、借りたWUSDとUSDTの返済後1.2M USDTが手元に残る(実際はここから各種手数料が引かれている)

避けられない被害

では、今回の被害は、WEXはしょうがないとしてアルパカさんはオラクルガードで助かることはできなかったのでしょうか?

一気にWEX価格が下がった時、オラクルガードはしっかり働いていたようですが、解除される要件、つまり市場価格とWaultSwapの価格が一致して正常な価格と判定されるだけの時間が経過したのでしょう。結局価格が落ちたままなので、そのまま清算されました。

オラクルガードがありがたい場面は、フラッシュによる値動きが一瞬でもとに戻る場合です。長いひげのイメージです。価格の不釣り合いが一瞬だったら、オラクルガードがたくさんの人の資産を守ってくれます。

しかし問題は、価格の継続的な低下(もしくは上昇)の場合、オラクルガードが有効になってしまうと、担保を追加したい時にも追加できず、損切りしたい時も損切りできない状況になることです。

せめて担保を追加したいときには追加できるようなしくみにすれば良いんじゃないか?と思いますよね。

しかし、アルパカさんの場合は担保を追加する際にLPを追加するので、その際に不正な価格でトークンを両替することにもなります。

だから、どちらも良し悪しがあって、とても難しいところです。

(今気づいたんですが、元々持ってる資産で両替なしにLPが作れるなら良いような気がします! どうかな?)

そもそもフラッシュローン攻撃をとめないといけません、が、フラッシュローンは、はさみや自動車のようなもので、それをDeFiの世界から無くしてしまうというのも難しいのか、現状はなくなる気配はありません。

プロジェクトが対策をするしかないのでしょう。

まとめ

うまく説明できていますでしょうか?
オラクルガードの特性が少しでもわかるようになればうれしいです。

オラクルガードは、フラッシュローン攻撃などによる、一瞬の価格操作によって清算されることを防ぎます。

しかし、「清算されないしくみ」ではないので、価格が元に戻らない場合は、やはり清算されてしまいます。

だから、中には、オラクルガードが発動しているために担保の追加も何もできず、本来清算されるべきところで清算されず、より不利な金額で清算される場合もあります。そんな場合はオラクルガードが邪魔になります。

一方、広い視点でみると、フラッシュローンによる清算の総額は確実に少なくなっていると思います。

データがなくて断定は難しいのですが、冷静に考えると「無い方が良いこともあるが、あった方がずっと良い」というしくみのように思えます。今後の改善にも注目です。

それではまた、DeFi〜(@^^)/~~~


この記事が気に入ったらサポートをしてみませんか?