DeFiで落ちてるお金を拾いたいブログ

DeFiについてのメモ書きやポエムを投下する予定です

ステーブルコインFei Protocolに何が起きたか

f:id:vividot:20210412232634p:plain

注意書き

このブログは事実をもとに所感や考察を述べるレポートではなく、ポエムとなっております。

意見の偏りや認識の違いについてご了承ください。
事実に反する記載等ありましたら、お手数ですが、ご指摘をお願いいたします。

Fei Protocolの概要

ここではFEIを語るにあたって必要な簡単な概要のみを解説します。 詳細については次のメルマガやレポートがオススメです。 また、公式discordの日本語チャンネルには翻訳されたホワイトペーパーがあるので確認してみてください。

Feiの価格安定の仕組み/Zapperはトークンを発行するか 等 - Bspeak! - 暗号通貨/ブロックチェーン

Fei Protocolの概要と注意点 新たなステーブルコインと価格安定メカニズム | HashHub Research

Fei ProtocolはステーブルコインFEIの発行・ペグ価格維持を行うプロトコルです。

従来のステーブルコインは種類によって様々な欠点があります。 例えば、法定通貨担保型であれば規制リスク、暗号資産担保型であれば過剰担保による低い資本効率などです。
そこで、Fei Protocolでは、担保という概念を取り除き、新しく導入したProtocol Control Value(PCV)という概念でステーブルコインの実現を目指しています。

FEIの購入/売却

前述したようにFEIに担保という概念はなく、ユーザはFEIをFei Protocolから購入し、Fei Protocolに(間接的に)売却することになります。 つまり、プロトコルに送られるETHはユーザの管理下ではなく、全てプロトコルの管理下となるためProtocol Controlと称されています。

PCVは様々な方法で利用が可能ですが、今回はローンチ直後から十分な流動性を確保でき、後述するリウェイトとの相性も良いUniswapへの流動性提供が採用されています。

プロトコルがペグ価格を維持する方法

Fei Protocolには、市場価格がペグ価格の下に乖離した場合に対する2つのアプローチがあります。

ダイレクトインセンティブ

1つ目は、負の方向のインセンティブを含むダイレクトインセンティブです。以降、負のインセンティブについてはペナルティと表記します。

f:id:vividot:20210413191529p:plain:w500
Fei Protocol WhitePaperより引用
画像のように、ペグ価格を下乖離している状態での売り買いにインセンティブを付与し「売りたくない状況・買いたくなる状況」にすることでペグ価格への復帰を促します。 またインセンティブは乖離すればするほど指数関数的に強くなるという特徴(厳密にはペナルティの特徴)があります。

リウェイト

2つ目は、プロトコルによる買い上げ(リウェイト)です。 ある一定の条件を満たすと、プロトコルがPCV(Protocol Control Value)を用いてFEIを買い上げ市場価格の調整を行います。 リウェイトは「あとで1ドルになる」という期待をユーザに与え、インセンティブを受け取るためにFEIを買うユーザの背中を後押しします。

方法としては、ペアに流動性提供しているPCVのETH(とFEI)を全て引き上げます。 その後、ペアのETH-FEIの割合をペグ価格であるETH-USDCペアの割合と同じになるようにFEIを買い上げ、引き上げたPCVのETHで再度流動性提供を行います。

f:id:vividot:20210413192115p:plain:w500
Fei Protocol WhitePaperより引用

分野外の素人からすると、この2つのアプローチによるメカニズムはうまく動作するように思います。
ただし、次のツイートのようなメカニズムの欠陥を指摘する意見もあり、壮大な実験であることは否めません。

何が起きたか

やっと本題ですが、FEIのローンチから今日までに何があったかを記したいと思います。

Fei Protocol Genesisの成功

まず、初期PCVを集めるためにジェネシスと呼ばれるイベントが開催されました。 これは「ETHでFEIを買う」という行為によって、Fei ProtocolのガバナンストークンであるTRIBEを得られるというものです。

2ヶ月ぐらい前は「そもそも十分な初期PCV集まる?w」みたいな感じだったのですが、2週間前ぐらいから界隈がザワザワとしだし……結果的に639,235ETH(13億ドル)が集まりました。

約64万ものETHが集まった理由の1つがジェネシスに参加して得られるTRIBEです。 ETHでFEIを買って、ローンチ後にFEIでETH買い戻せばコントラクトリスクだけでTRIBEタダ!という考えの人が大勢いたと思います。 えぇ、私もこのアイディアを聞いた時「天才かよ」と思いました。

さらには、InvestorsにCoinbaseのような著名VCが名を連ねているという謎の安心感もあります。

結果としてジェネシスは大成功、初期PCVが預け入れられるFEI-ETHは(謎の草コインを除けば)Uniswapで最大のペアとなりました。めでたし、めでたし。

f:id:vividot:20210413193251p:plain:w750
Uniswap.infoのスクリーンショット(4/13時点)

とはなりませんでした。

ユーザの誤算

1USDで売れるはずのFEIは、残念ながら1USDで売れません。 なぜなら「ダイレクトインセンティブ」があるからです。

青線がFEI-ETHペアにおけるFEIのドル建て価格で、赤線がFEI-ETHペアで1FEIを売ったときにペナルティを差し引いて返ってくるETHのドル建て価格です。 とても1FEIを1USDで売ることはできそうにありません。

ただし、ダイレクトインセンティブはUniswapの特定ペア(FEI-ETH)のみに適用されます。 そのためFEI-DAIやFEI-TRIBEを経由することでペナルティを回避した売却が可能であり、これを市場価格と考えると1FEI約0.75-0.85USDで取引されていました。

チームの誤算

事実と妄想を書きます。

妄想① チームはここまでのETHが集まるのを想定していなかった

下乖離の修正にはユーザの購入による押し上げが期待されていましたが、Uniswapのプールがデカすぎて多少の買いでは変動しません。

例えば、執筆時点で1FEI約0.79USDで、ここから1USDに戻すには25%ちょっと上昇する必要があります。 これには約160000ETH分の買いが必要となりますが……あまり現実的ではないですね。

流動性供給に使うPCVの量を制限し、余剰分は別のプロトコルに預けて運用するなどの方法を検討しておく必要があったと思います。

事実① 売りたい人が多すぎた

当たり前ですが、Genesisにape inした人は持っているFEIを早く売りたいと考えています。
ここで、Genesis参加で貰えるTRIBEを考慮すると、当然1FEI 1USD未満で購入しており、ペナルティをくらってでもトントンであれば逃げ出したい人が続出していたようです。 市場価格の形成には、買いインセンティブとのアビトラなど様々な要素がありますが、下乖離の要因の1つではあると思います。

事実② リウェイトが機能していない?

リウェイトはFEI-ETHペアの価格を強制的に1ドルにペッグさせる方法であり、多くのユーザがこれを待ち望んでいました。 しかしこの「リウェイトが機能していない」というコメントがあります。

これは合っていますが、間違っていて、正確には「リウェイト自体は機能しているものの、一般ユーザから見ると機能していない」です。

どういうことかというと、DeFiの参加者には自己の利益を追求する人がたくさんいます。 そして、Fei Protocolで一番の稼ぎ場はFEIを売ることです。 売り方向のペナルティは?と思われるかもしれませんが、唯一リウェイトの直後はペナルティがほぼない/あっても極小です。

Uniswap最大のペアの価格が数%でも動けば、そこにはアビトラをする大きな機会が生まれます。 例えば、執筆時点でリウェイトが発生した場合、DAI-FEIペア経由で22ETH、TRIBE-FEIペア経由で27ETHのアビトラ益を抽出することが可能です。

ただし、アビトラは1人ないし数人で分け合うことになるので、巨大な資本がある場合には、より堅実に稼ぐ方法があります。 それは10%とか20%とかのインセンティブでFeiを買っておいて、リウェイト直後にFEIを売却する方法です。
例えば、500ETHで20%ボーナスを貰ってFEIを買っておいて、それを1ドルで売れば100ETHの儲けになります。 (ちなみにFEI-ETHペアは500ETH分の売り買いでPrice Impact0.1%とかのサイズ感です。)

実際3回目のリウェイトにおいて、リウェイトと同じブロックでFEIが売られている量が次の画像になります。 ジェネシスに参加した鯨による売りも含まれていますが、合計15,542,855FEI(1ETH2000USDだとしても約7000ETH分)売られており、手動で挑む場合はこの売りの後に売ることになります。

f:id:vividot:20210413204620p:plain

このような活動の影響もあり、(少し誇張すると)リウェイト直後にもう0.975USDでーす!はい、君は10%ペナルティね!リウェイト?終わったよ!みたいなことが起きていました。

ただし、これはbotが悪いか鯨が悪いかというとそうではなく、第一に巨大な売り圧という大きな要因があります。
つまり、売り圧のせいでインセンティブが高くなり、さらにリウェイト後の売り圧が発生するという状況です。

事実③ 脆弱性の発見

監査はOpenZeppelinとConsenSysAuditsの2社を通していますが、脆弱性が発見されたとのことで買いインセンティブが停止されました。

価格安定メカニズムの肝である、買いインセンティブが停止されたことにより、価格は下落を続けました。
その後、リウェイトとペナルティも停止され、現在に至ります。

発見された脆弱性については、フォーラムmediumで解説されています。
大きく分けて3つの脆弱性があり、かいつまんで説明します。

1つ目の脆弱性

1つ目の脆弱性は、買いインセンティブの停止の原因となった脆弱性であり、攻撃者はインセンティブを取得してからペナルティなしでFEI(入手したインセンティブを含む)を販売することが可能でした。

原理としては、まず大量のETHでFEIを買い、インセンティブ分の追加FEIを受け取りながら市場価格をペグ価格の上に押し上げます。 その後、取得したFEIを全て売るのですが、普通に売ると当然ペナルティをくらいます。
しかし、ペナルティは「ユーザのアドレス」から「FEI-ETHペアのアドレス」に送金された時の市場価格と送金量によって判定されます。

Uniswapを用いる場合に通常意識することはありませんが、Uniswapにおけるトークンの交換は
①「ユーザのアドレス」から「ペアのアドレス」に送金
② スワップ処理
という段階を踏んでいます。

そして、Fei Protocolが参照していた市場価格が更新されるのは②スワップ処理のタイミングです。 つまり、ペナルティをくらわない範囲で小分けにして「FEI-ETHペアのアドレス」にFEIを送ってからスワップすることでペナルティを回避することが可能です。

これを図にすると次のようになります。

f:id:vividot:20210413214604p:plain:w600
上が通常の売却フロー、下がペナルティを回避する売却フローの例

(図を入れると分かりやすいよとアドバイスを頂きましたが、自分の図作成能力の問題で伝わりやすさが向上してるかどうかは…。)

この脆弱性は、UniswapのFEI-ETHペアの流動性提供者に損失を与え、PCVを減少させる可能性のある脆弱性であり、インセンティブの停止もやむを得ないかとは思います。

2つ目の脆弱性

2つ目の脆弱性は、脆弱性というより実装ミスによるバグですが、UniswapのFEI-ETHペアから流動性を引き上げる時のインセンティブがユーザではなくUniswapV2Routerに送られていました。

流動性提供はFEIをペアに送るため売却扱いでペナルティが、引き上げはFEIをペアから受け取るため購入扱いでインセンティブがあることは、WhitePaperにも記載がありますが、この実装だと流動性提供者がペナルティだけ食らって損をしてしまいます。

ただし、FEI-ETHに誰も流動性提供しなくても巨大なPCVによる流動性があるため致命的な脆弱性ではありません(というか、ない方がリウェイト時のPCVの減少も少なくなる)。

3つ目の脆弱性

3つ目の脆弱性は、リウェイトに関する実装ミスですが、正直どうでもいいレベルです。

スマートコントラクト経由でリウェイトを実行できないようにするのが開発チームの意図でしたが、実際はスマートコントラクト経由でも実行できました(正確にはスマートコントラクトのデプロイ時のみ実行可能)。

この脆弱性が原因で、PCVが減少したりUniswapの流動性提供者が損失を被ることはありません。

今後の展開

現在、ガバナンストークンTRIBEの保有者によるオフチェーン投票が行われています。 投票の内容は①変更なし ②1FEIを1USDで償還 ③1FEIを0.9USDで償還 の3択ですが、執筆時点でNo Changeに決まりそうな勢いです。

f:id:vividot:20210413190803p:plain

というのも、長期的に見ているユーザ(特に鯨)からするとFEIを償還させ、PCVのETHを減らすメリットがないためです。 TRIBE保持者にとっては「ペアでかすぎるからETH半分compoundに預けようぜ利子は分配な!」みたいな流れにしたほうが有益です。

最後に

現状のFei Protocolは「PCVに大量のETHがあり、いつか1ドルになる」ということだけで価格が約0.78USD程度で維持されており、それはそれで面白い状況ではあります。 ですが、ここから本来のFei Protocolに戻すには脆弱性を修正したコントラクトを実装して、監査して、オンチェーン投票して…と踏むべきステップは多いです。

このプロトコルは明確に一度失敗しており、また様々な批判もありますが、大量のETHを抱えたプロジェクトであることに間違いなく今後(新たな稼ぎ場となることを)期待しています。

ポエム、終わり。どこで改行したり段落分けたりしたらいいか微妙に分からなくなってきたので、後で修正します。