frxETH v2のアップデートは、中央集権化の問題を解決することを目的としており、同時に市場で最高の年利(金利)を維持します。
過去のFrax FinanceのfrxETH v1で最も批判されていた点は、すべてのノードがチームによって運営されており、中央集権性が高すぎることでした。
簡単に言えば、frxETH v2のアップデートはこの中央集権性の問題を解決すると同時に、市場で最高の年利(金利)を維持することを目指しています。
では、どのように実現するのでしょうか?以下では、プロトコル設計の流れに沿ってこのアップデートを理解していきます。
まず背景を紹介します。Frax Financeの創設者Sam Kazemianは、すべてのLSDプロトコル(Liquid Staking Derivatives)の本質は「ピア・ツー・プール」型の貸借契約であり、LSDトークンとは、ユーザーがETHをプールに預けた後にプロトコルが発行する借用証であると考えています。市場における各種借用証はその発行方法によって異なっており、たとえば$stETHのようなリベース型トークンや、$sETHのような指数成長型などがあります。
他のLSDプロトコルとは異なり、Frax Financeはステーブルコインのアーキテクチャを出発点とする二重トークンモデルを採用しています。$stETHはETHに連動したステーブルコイン(同時に借用証)であり、金利支払いの機能を持たず、純粋にステーブルコインとして存在します。このステーブルコインがステーキングされるとsfrxETHとなり、これは生息型ETHステーブルコインになります。
frxETH v2において、ノードは「ETHを借りる」のではなく、「バリデーターを借りる」という点が抽象的で、従来のLSDの理解とは異なります。たとえばRocket Poolでは、ノードが自ら8ETHを準備し、24ETHを借りて合計32ETHを満たすという構造ですが、この場合「借りられる」のは「ETH」です。一方frxETH v2では、ノードはBorrowerとして「バリデーター」を借り出すのです。下図をご覧ください。
ここでは、現在最大の二つのプロトコルであるLidoとRocket Poolを使ってこの概念を説明します。
左側のLidoを例に取ると、ノードがバリデーターを借りたい場合、ホワイトリストに登録される必要がありますが、担保の提出は不要です。この仕組みにより、バリデーター内のすべてのETHがレンディングプールから供給され、LTV = 100%となり、資金が完全に活用されます。
ここで言うLTV = 100%とはどういう意味でしょうか?
私も当初理解に時間がかかりました。これまで私が認識していたLTVは単純で、例えば$100のsfrxETHを担保にして最大$75のFraxを借りられる場合、LTV = 75%となります。しかしfrxETH v2の文脈では、LTVとは「一つのバリデーター内のETHのうち、どれだけの割合が借り入れによるものか」を示す概念です。
Rocket Poolの仕組みをfrxETH v2の概念で説明すると、右図のように表せます。NOs(Node Operators)はまず自ら8ETHを担保として預けることで「バリデーターを借りる資格」を得ます。この8ETHはすでに24ETHが存在するバリデーターに追加され、合計32ETHを形成するため、LTV = 75%となります。預入者(金利を受け取る側)にとっては、同じバリデーターからの収益でも四分の三しか分配されません。
NOsが自ら担保として提供するETHには、預入者へのレンタル料(金利)は発生しません。その代わり得られるメリットは、Lidoよりもはるかに高い非中央集権性です。つまり「非中央集権化にはコストがかかる」ということです。この概念については後ほど再び触れます。
上記の例からわかるように、預入者のAPR(年利)は本質的にETHをプールに預けることで得られる利息であり、ノードが「バリデーターを借りる」ことに対するコストでもあります。
本質的には貸借関係であるため、LTVが存在します。すべての条件が固定されている前提では、プロトコルが預入者に支払える利息の量は基本的にLTVの大きさ、つまり資金の使用効率に依存します。
Frax Financeは、これがLidoがRocket Poolよりも高い年利を提供できる理由だと考えています。なぜなら前者のLTVが後者より大きいからです。
冒頭でも述べたように、frxETH v2は中央集権性の問題を解決しようとしています。そのためには「非中央集権化に対して一定のコストを支払う」必要があり、つまりLTVが100%になることは不可能です。この前提のもと、frxETH v2が目指すものは「より高効率なRocket Pool」と言えるでしょう。
では、どうやって高効率を保ちつつ非中央集権性も維持できるのでしょうか?
Frax Financeはここに「自由市場のゲーム理論」の概念を導入します。
以下では、frxETH v2の動作メカニズムに沿って、設計の流れを順に追ってみます。まずユーザーがETHをプロトコルに預けると、$frxETHを受け取ります。これが上図のMinterの役割です。次に重要な点として、預けられたETHは「即座に」Curve AMO(Autonomous Market Operations)に送られ、その後Curve AMOがレンディングプールの需要に応じてETHをバリデーターの担保として投入します。
この関係を明確にしましょう。預入者が預けたETHは直接レンディングプールに入るのではなく、一旦Curve AMOを経由します。この手法により全体の効率が向上します。なぜなら、レンディングプール以外に必要なETHはCurve AMO内で収益やマイニング報酬(いわゆる賄賂コスト)を得ることができ、同時にfrxETH/ETH間の取引流動性を高め、より良い取引体験を提供できるからです。
上記のメカニズムを実現するには、frxETH自身の「二重トークン構造」にもう一度戻って確認する必要があります。
$frxETHは、現在唯一ステーブルコインの概念を採用して設計されたLSDトークンです。金利支払いの機能を持たないことに加え、Frax Financeが保有する豊富なガバナンス資源と組み合わせることで、純粋にステーブルコインとしてCurve AMO内で退出経路を提供し、AMOを通じて価格のアンカー維持を実現しています。
次にバリデータープールについて説明します。NOsがバリデータープールから「バリデーターを借りる」場合、一定量のETHを担保として預ける必要があります。ここではRocket Poolと同じく8ETHを例に取ります(この数値は変数Xとして、$veFXSによる投票で決定され、プロトコルがLTVの大きさを制御します)。つまり、担保を預けてはじめてバリデーターを借りることができます。
バリデータープールはレンディングプールに32-X(8)= 24ETHの借り入れを要求し、合計32ETHを完成させます。「Rocket Pool並みの非中央集権性を持ちながら、さらに高効率にする」鍵は、左上の「Interest Rate Calculator(金利計算機)」にあります。
金利は市場の力と資金利用率によって決まり、あらかじめ設定された料金体系はありません。
もしNOsにとってバリデーターの借り入れが「安い」(つまり収益が支出を上回る)と判断されれば、彼らは積極的にバリデーターを借り、預入者に金利を支払いながらも高MEVパフォーマンスを提供して自身の利益を最大化しようとします。優れたノードは自ら判断してfrxETH v2でバリデーターを借りるべきかどうかを決めます。逆に、金利が高すぎて利益が出ない場合は、NOsは直ちにバリデーターを返却し、運用を停止して担保を回収することができます。そして金利(コスト)が十分低くなり再び利益が出ると判断した時点で再び参加できます。
市場の力学によって最適な金利が自然に決定されることで、frxETH v2はホワイトリスト/KYCを必要とせず、市場で最も効率的に稼働しているノードを維持することができます。
frxETH v1は中央集権的でしたが、実際には現在市場で最も効率的に稼働しているプレイヤーでした。frxETH v2においても、元のチームが参入(つまり「競争に加わる」)することで、frxETH v2の効率性を引き上げていきます。
この時点での仕組みは一般的な貸借プロトコルと同様に、引き出し先アドレスやすべての管理が非中央集権化され、完全にオンチェーンかつアップグレード不可となっており、金利はETH+PoSによって得られるキャッシュフローから直接支払われます。またBeacon Oracleもzk proof技術を用いて完全に非中央集権化されており、管理者キー/マルチシグ/EOAを一切信頼する必要がありません。
Sam Kazemian自身は、このメカニズムがfrxETH v1の効率性を維持するだけでなく、さらなる向上の可能性もあると考えており、ローンチ後の実際の成果が注目されます。
以上がすべての内容です。以上の解説はすべてFrax Finance創設者Sam Kazemianによるものです。frxETH v2は理解がやや複雑だと感じますが、誤りがあればぜひご指摘ください。