自動マーケットメイカーBalancerの発展ロジックと欠陥を理解する
この記事は2020年5月2日にChainNewsに掲載され、著者の潘致雄はChainNewsの研究ディレクターです。
今はDeFi分野の「自動化マーケットメーカー」というトラックに注目する最適な時期です。このトラックで、以前最も注目を集めたスターは分散型取引所のUniswapです。Alethioが最新に発表したDeFiデータレポートによると、UniswapはEthereumチェーン上の取引量をますます食い尽くしています。自動化アルゴリズムを用いて取引を実現するプロトコルとして、Uniswapは3月12日の「ブラックサーズデー」期間中にEthereumチェーン上の取引プラットフォームの40%の日次アクティブユーザーを引き寄せました。
そして4月初めに新たに登場したBalancerは、もう一つ注目すべきスターです。この新たに登場したDeFiプラットフォームは、UniswapのようなAMMツールにさらなる想像力を注入しました:Balancerは単なる取引ツールにとどまらず、一般向けの「インデックスファンド投資ツール」に拡張でき、投資リターンは専門の投資家を上回る可能性があります。
もしUniswapが0から1の突破を実現したとすれば、Balancerは1から10の成長を促進する可能性があります。
Balancerはチェーン上の流動性ツールに対する大きな向上です。先輩のUniswapと比較して、より多くの設定と機能を提供しているため、これを「上級版のUniswap」と理解することができます。
Balancerの前には、UniswapとCurveが同類製品の中で最も典型的な二つです:Uniswapはシンプルな汎用型ソリューションを提供し、Curveはステーブルコインのシナリオに深く最適化されています。しかし、UniswapとCurveの二つの製品は「取引」のシナリオに限られ、より多くのアプリケーションに拡張することができませんでした。また、取引機能において、彼らのカスタマイズの程度は高くありません。Uniswapを例に取ると、流動性提供者は手数料をカスタマイズできず、各資金プールは特定の比率で配分できず、各資金プールは2つのトークンのみをサポートしています。
しかし、Balancerはこの問題を突破しました。マーケットメーカーにより包括的でカスタマイズ可能なソリューションを提供するために、Balancerは上記の問題を解決しました。Balancerの設計では、マーケットメーカーと流動性提供者は高度にカスタマイズ可能な取引資金プールを自ら作成でき、以下を実現します:
- 手数料のカスタマイズ:取引手数料が低いまたは高い資金プール(取引ペア)、Uniswapは0.3%に固定されています;
- 資産配分のカスタマイズ:資金プール内の資産は任意の比率で流動性を追加でき、Uniswapは1:1の比率で追加しなければなりません;
- 最大8種類の資産をサポート:さらに、1つの資金プールに最大8種類の資産を追加でき、Uniswapの各資金プールは2種類の資産のみを含みます;
- インデックスファンド:多資産の資金プールはインデックスファンドの機能を実現でき、ユーザーはそれを通じてパッシブ投資を行うことができます。
ある意味で、UniswapはBalancerのサブセットと見なすことができます。ユーザーはBalancerを通じてUniswapとほぼ同じ資金プールを作成できますが、流動性は資金プールの資金量に依存するため、両者は競争関係にあります。
広義に言えば、Balancerは他の資産管理型DeFiプロトコルとも競争しています。Balancerの流動性提供者として、投入資本の主な目的は取引手数料を稼ぐことですので、より高いリターンと低リスクの投資機会があれば、最終的にBalancerの流動性パフォーマンスに影響を与える可能性があります。
Balancerは4月1日にEthereumメインネットに上場した後、全体的に良好な成長を遂げています。現在、29の独立した資金プールが作成され、累計取引量は36万ドル、累計流動性は137万ドルに達しています。
その中で流動性が最も良好な資金プールはWETHとMKRで構成され、資産は約76万ドルに達しています。これはUniswapと似ており、Uniswapでも流動性が比較的優位な資金プールはEthereumとMakerDAOのガバナンストークンMKRで構成されています。
全体的に見て、Balancerの発展は期待に値します。
小知識:マーケットメーカー、AMM、資金プールとは?
Balancerを深く探求する前に、「自動化マーケットメーカー(AMM)」について簡単に説明する必要があります。
UniswapとBalancerは、どちらも自動化マーケットメーカー(AMM)に属します。この種のDeFi製品はDeFiの基盤インフラとなっています。ますます多くのチェーン上の取引プラットフォームや分散型取引所(DEX)がAMMを統合し、流動性の保証を提供しています。
マーケットメーカーは取引市場の流動性提供者であり、市場の取引効率を向上させるのに役立ちます。
自動化マーケットメーカー(AMM)は特定のアルゴリズムやモデルに基づいて実現されます。例えば、Uniswapは定常積マーケットモデルを採用しており、さらに複雑なAMMモデルは取引品目や市場の変動に応じてカスタマイズできます。
各AMMプロトコルには複数の資金プールが含まれており、これを取引所の取引ペアと理解できますが、その中にはAMMのマーケットモデルを実行するための一部の資産が含まれています。ユーザーとAMMの資金プールとのインタラクション方法は主に3つあります:流動性の注入、流動性の引き出し、取引です。流動性を注入するユーザーはマーケットメーカーとなり、流動性を引き出すユーザーは資金プールから取り戻すことになります。
より多くの一般ユーザーが余剰資金を資金プールに注入し、マーケットメーカーの一員となることを促進するために、AMMプロトコルは一般的に「配当」メカニズムを内蔵し、集められた取引手数料を資金プールの占有比率に応じてすべての流動性提供者に分配します。
BalancerとUniswapの違いは?
上記で簡単に紹介したように、Balancerは「上級版のUniswap」と理解でき、UniswapはBalancerのサブセットと見なすことができます。
「上級」とは性能を指すのではなく、両者は同じくEthereum Layer 1に基づいているため、性能や取引スループットの差を引き離すことは難しいです。違いはカスタマイズ性とスケーラビリティに現れます。
Ethereum DEXの基盤インフラとして、Uniswapの利点はマーケットアルゴリズムと製品ロジックがシンプルであり、管理者特権(admin key)がないため、コミュニティからは高い分散化度を持つプロトコルと見なされています。他の一般的な分散型取引プロトコル、例えばKyberや0x APIも、一部の取引注文をUniswapに転送してマッチングを行います。
製品ロジックの簡潔さを保つために、Uniswapの一部のパラメータは固定されており、ユーザー設定は開放されていません。将来的に開放されるかどうかは不明ですが、現在のUniswap V2の改善から見ても、これらはUniswapの現段階での関心の重点ではありません。
これがまさにBalancerの突破口を形成し、Uniswapとの差別化競争を可能にします。Uniswapと比較して、Balancerは主に3つのコンポーネントのカスタマイズ性を増加させました:
- 資金プールの手数料を設定可能:このパラメータは、取引者が各取引に対して支払う追加取引コストを決定し、流動性提供者が得られる収入の割合です;
- サポートされる資産の数は最大8個:これにより、一般ユーザーは単一の資金プール内で最大8つの資産の取引を実現でき、Uniswapではユーザーは通常、2つのトークンの取引を実現するために複数の資金プールを使用する必要があります;
- 資金プール内の資産の占比を設定可能:資金プールを作成する際、資産を等しい価値で投入する必要はなく(Uniswapのように)、任意の比率で追加できます。
最初の項目は比較的明確な特性ですが、2番目と3番目はより多くの具体的なケースを通じて理解する必要があります。
さらに、AMMツールの最も重要なモジュール「マーケットアルゴリズム」も調整が必要です。以前Uniswapで採用されていた「定常積マーケットメーカー」アルゴリズムモデルはもはや適用できず、より汎用的なモデルにアップグレードする必要があります。おそらくこれを「強化版定常積マーケットメーカー」と呼ぶことができ、Uniswapのモデルに重みと多トークンの属性を追加し、上記の2番目と3番目の特性をより良くサポートします。
これらの違いを理解するために、1つのケースを通じて考えてみましょう。計算を簡単にするために、以下のケースでは取引手数料の影響を除外し、計算の規模を簡略化します。
Uniswapの定常積マーケットモデル
UniswapのETH/DAIの資金プールに10個のETHと1000個のDAIがあると仮定すると、その資金プールの定常積モデルは次のようになります:
このモデルは、後続のユーザーがどのように取引しても、その資金プール内に保持されるETHの数量とDAIの数量の積が10000で一定に保たれることを規定しています。ユーザーがこの資金プールを通じて取引を行う場合、10個のETHを提出して500個のDAIを得ることができます:
Balancerの「強化版」定常積マーケットモデル
Uniswapでは、単一の資金プールは2つのトークンのみですが、上記の公式は有効です。しかし、Balancerのマーケットメーカーのモデルは多トークンをサポートしており、つまり1つの資金プールには8つのトークン(これは現在の制限です)を相互に交換できるため、最大で8つの変数が関与します。
さらに指摘すべきは、このモデルはより多くのトークンをサポートできる可能性があり、将来的にはこの制限が解除されるかもしれません。
仮にBalancerのある資金プールにETH、DAI、SNTの3つの資産が含まれているとし、初期状態で資金プールには10個のETH、500個のDAI、100000個のSNTが含まれており、この資金プールの作成者が設定した3つの資産の占比はそれぞれ30%、30%、40%であるとします。すると、この資金プールモデルの定常積は:
この公式は多資産とその中の重みの影響を考慮しており、各取引時の比率を計算することができます。資産の数が多ければ、さらに多くの積を加え、同様に続けます。
「強化版」定常積マーケットモデルを通じて、資金プールは最大で8種類の資産をサポートできます。
利点:なぜ多トークンをサポートするのか?
Uniswapは任意の2つのERC-20トークンの交換を実現できますが、実際には2つの資金プールによって実現されています。各ERC-20資産はETHとの資金プールを作成でき、一般ユーザーはその特定の資金プールに流動性を提供できます。
例えば、ユーザーがSNTをBATに交換する場合、実際にはSNT/ETH資金プールとBAT/ETH資金プールを通じて実現され、ETHは取引メディアとして機能し、2つの取引ペアが同時に成立しますが、これには2回の取引手数料がかかります。
しかし、Balancerでは1つの資金プールに複数のトークンを含めることができるため、ERC-20間の取引は同じ資金プール内で実現でき、取引手数料やチェーン上のガス費用を削減できるかもしれません。
ただし、多くの場合、取引コスト(スリッページ)を削減するために、Balancerはユーザーが複数の資金プールから最適な取引パスを探し、集約するのを助けることもできます。
利点:手数料のカスタマイズが市場化を促進
Balancerの大きな改良点は、資金プールの作成者が資金プールの取引手数料を設定できることであり、カスタマイズされた手数料は流動性供給の市場化を促進します。
Uniswapでは、各資金プールの手数料は固定で0.3%ですが、Curveでは手数料はわずか0.04%です。したがって、ステーブルコイン取引のシナリオに遭遇した場合、ユーザーはCurveを優先的に選択するでしょう。また、Curveのマーケットモデルはステーブルコインにより適しており、スリッページも低くなります。
Balancerは資金プールの作成者に手数料のカスタマイズ機能を提供し、異なる資金プール間で取引量を競うために手数料を競争の核心パラメータとして使用する可能性があります。これにより、DEXの全体的な取引手数料が低下することが期待されます。
また、大量の資金を持つ流動性提供者や特定の資産を提供する資金プールは、より高い取引手数料を設定できる可能性があります。なぜなら、彼らは市場により多くの流動性と特別なリソースを提供しているからです。
なぜ一般ユーザーはAMMに流動性を提供するのか?利益を得ることもあれば、損失を被ることもある
流動性提供者はAMMを資産管理ツールと見なすことができます。
AMMは、より多くのユーザーが余剰資金を投入して流動性資金プールを構築するように促すため、資金プール内の収益をすべての流動性提供者に分配する必要があります。
収益は資金プールの取引手数料と資金プールの総取引量に依存します。例えば、Curveの資金プールの取引手数料はわずか0.04%ですが、取引量が多いため、流動性提供者には年率20%近くの収益をもたらすことができます。しかし、最近Curveの資金プールの収益は大幅に減少し、一時は4%にまで落ち込みました。
流動性供給の市場化が進むにつれて、収益は最終的に均衡点に戻ることになります。もしある資金プールの年率収益率が他の資金プールよりも著しく高い場合、より多くのユーザーがその収益の高い資金プールに資金を投入することになり、資金プールの総量が増加するにつれて、単位コストの収益は下降します。
しかし、リスクが存在することも避けられません。
プロトコルの安全リスクの観点から見ると、オープンソースで安全監査を受けたAMMは相対的にリスクが低く、すべての取引はスマートコントラクトを通じて実行されます。しかし、明らかな欠点は、ユーザーの収益が一籃子の通貨で計算される必要があることです。ユーザーが流動性を提供する際には、その資金プールにサポートされているすべてのトークンを注入する必要があります。また、ユーザーが流動性を引き出す際にも、その資金プールにサポートされているすべてのトークンを受け取ることになります。
上記の「収益率」公式から見ると、計算を簡略化するために、実際には非常に重要な変数が漏れています。それは資産自体の価値の変動です。したがって、上記の公式は資産の価値変動があまり顕著でない資金プール(例えばCurveのステーブルコイン資金プール)に適しています。もし資産価値の変動の変数を追加すれば、資金プールの収益率は資産自体の価値の下落を差し引くか、追加の収益を加える必要があり、計算は非常に複雑になります。
結局、資産間の価格は市場の変化に応じて変動し、波動は非常に激しい可能性があります。
Uniswapのような均衡型の資金プールを例に取ると、ユーザーは1 ETHと100 DAIの流動性資金を初期投入しました(つまり市場価格は1 ETH = 100 DAIです)。しかし、引き出す前にETHの価格がDAIに対して大幅に上昇(市場価格が1 ETH = 133.34 DAIに上昇)したため、ユーザーは0.9 ETHと120 DAIしか引き出せません。
もし完全にETHで計算すれば、ユーザーが初期投入した2 ETHはすでに1.8 ETHに下落しています(つまり損失です)。もし完全にDAIで計算すれば、ユーザーが初期投入した200 DAIは240 DAIに上昇しています(つまり利益です)。比較すると、もしユーザーが資金プールに参加せず、2 ETHを保持していた場合、彼が保持する資産の価値はDAIで計算すると266.67 DAIとなり(最終的には損失)、結局は損失となります。
Crypto EspañolチャンネルのブロガーAlfaBlokは、このリスクについて詳しく分析しています。特定のパラメータを固定する場合、実際に近いケースを考えると、1 ETH = 100 DAI、取引手数料が0.3%、資金プールのサイズが30K ETH、月間取引量が20万ETH、保有期間が1年の前提で、UniswapのETH/DAI資金プールにおいて、ETH/DAI価格が-80%から120%の範囲内で変動する場合、資金プールに投入した方が収益が高くなります。そうでなければ、ETHを保持していた方が良いということになります。
収益の計算全体において、変数には資金プールのサイズ、資金プールの取引量、取引手数料、2つの資産間の価格変動、どの資産で計算するかなどが含まれるため、これは非常にシンプルな資産管理投資ツールではなく、これが多くの初心者流動性提供者にとっての障壁となる可能性があります。
欠点:Balancerの資金プールは取引スリッページを増加させる可能性がある
取引スリッページの観点から見ると、UniswapのAMMモデルはより優れています。なぜなら、Uniswapでは各資金プールが50%と50%の比率で設立されているため、その曲線(X*Y=K)は標準的な反比例関数(第一象限のみを含む)です。
一方、Balancerでは、資金プール内の各資産の占比を設定できるため、例えばトークンAとトークンBを85%と15%の比率で組み合わせた資金プールの場合、その資金プールの定常積曲線は次のようになります。
青い曲線
上記でUniswapモデルとBalancerモデルの具体的な公式を紹介しましたが、公式に基づいてUniswapの1:1モデル全体のスリッページがより低いことが推導できます。あるいは、上の図を参照すると、緑の点は非常に明確な分水嶺であり、緑の点の左側では、トークンB(Y軸)を交換するために非常に大きなコストが必要で、わずかなトークンA(X軸)を得ることができます。
この状況をBalancerの多トークン資金プールに拡張すると、状況はほぼ同様です。しかし、スリッページを減少させるために、Balancerの資金プールも資産の比率を1:1または1:1:1などに設定することができ、そうすればUniswapとほぼ同じになります。
Balancerの潜在能力を再考:インデックスファンド生成器
BalancerはUniswapの良い補完となる機会があり、チェーン上の資産流動性の重要な提供者となる可能性があります。しかし、それだけではありません:Balancerのもう一つの本質はインデックスファンドの作成ツールとなることです。
インデックスファンド投資は伝統的な金融分野における基本的な投資戦略であり、例えばよく知られているS&P 500やCSI 300は2つの大盤インデックスであり、ファンド会社はインデックスに基づいて対応するインデックスファンドを作成し、大盤の動向を追跡します。
このようなパッシブ投資ファンドは手数料が低く、しばしば投資リターンはアクティブ管理ファンドに劣らないため、市場で主流かつ一般的なパッシブ投資方法となっています。
インデックスファンドの父、バンガードグループの創設者ジョン・ボーグは、「市場がどうであれ、インデックスファンドは合理的な市場リターンを提供する」と述べました。バフェットは、「定期的にインデックスファンドに投資することで、何も知らないアマチュア投資家が大多数の専門家投資家を上回ることができる」と述べています。
具体的には、インデックスファンドは複数の資産対象を相応の比率で組み合わせて構成され、特定の市場指標や資産価格を追跡するための投資ツールです。まさにこれがBalancer資金プールの設定です。
Balancerの各資金プールは最大8種類の資産をサポートしているため、ユーザーはBalancerを通じて最大8種類の資産で構成されるインデックスファンドを作成できます。例えば:
- 暗号通貨市場の状況を追跡するために、ビットコイン(Ethereumにクロスチェーンで実現できるWBTCまたはHBTCを利用)やEthereum、DAIで構成される;
- DeFiエコシステムを追跡するために、DeFiプロトコルのネイティブトークンで構成される、例えばMKR、ZRX、KNC、BNTなど;
- オラクルエコシステムを追跡するために、オラクル製品のネイティブトークンで構成される、例えばLINK、TRB、NESTなど。
このような例は他にもたくさんあります。機能が許可されれば、Balancerは複合型ファンドやマザーファンド(FoF)を発行するためにも使用でき、各インデックスファンドの流動性トークンを再度Balancerの資金プールに集約するだけで済みます。
なぜインデックスファンド生成器は流動性問題を解決できるのか?
インデックスファンドには再バランス(rebalance)の需要があり、トレーダーには最適な為替レートやアービトラージを探す需要があります。この2つの需要をマッチングさせることで、市場に流動性を提供します。これを理解するために、1つのケースを通じて全体のプロセスを考えてみましょう。
現在の市場価格が1 BTC = 10000 USDCであると仮定し、Balancer上に50%のビットコインと50%のUSDCで構成されるファンドを作成し、ドルとビットコインの価格を追跡しようとします。
5日後、BTCの市場公正価格が20%上昇し12000 USDCに達した場合、資金プール内の2つの資産は最新の市場価格に応じて、資金プール内の価値の占比がそれぞれ55%と45%に調整されます。
しかし、その資金プールの交換比率は依然として1 BTC = 10000 USDCの定常積曲線に保たれています。外部のトレーダーにとって、資金プール内の価格と市場価格が乖離しているため、外部トレーダーは利益を得ることができます。
定常積モデルに基づいて計算すると、アービトラージャーは資金プールに500ドルを投入して0.0476ビットコインを得ることができます(これは1 BTC = 10,504 USDCに相当します)。このBTCの価格は市場(1 BTC = 12000 USDC)よりもはるかに低く、ユーザーは0.0476ビットコインを公開市場で売却し、571.2 USDCを得ることができます。
500ドルのコストで71.2ドルを稼ぎ、単回の収益率は14%に達します。多くのアービトラージャーがこのアービトラージのスペースに参入し、市場の流動性を増加させることが確実です。
最終的に市場価格はその資金プール内の交換比率に非常に近づくべきであり、これは動的に持続的なプロセスですので、その資金プールの資産分布は初期設定時の比率を維持し続けるはずです。
もしこの資金プールをインデックスファンドと見なすなら、上記の市場自動調整メカニズムは、インデックスファンドの「再バランス」(rebalance)を行い、初期設定時のインデックス配分比率に戻すことに相当します。通常のインデックスファンドは日、週、月、または年の頻度で再バランスを実行しますが、Balancerでは再バランスはいつでも発生します。
共同曲面を利用して流動性トークンを発行
Balancerプロトコルは、各流動性提供者が投入した資金の額をどのように記録するのでしょうか?「流動性トークン」を発行して記帳証明書とします。「流動性トークン」を発行するプロセスをより良く説明するために、Balancerは「共同曲面」(Bonding Surface)という概念を提唱しました。
「共同曲面」という用語は「共同曲線」から派生したもので、前者は後者のより一般的なバージョンであり、あるいは「共同曲面」を「共同曲線」のアップグレード版と理解することもできます。
まず、DeFi分野で有名な「共同曲線」を理解しましょう。これは、スマートコントラクトを通じてトークンを発行する方法です。多くの人は「共同曲線」が特定の曲線であると思うかもしれませんが、実際には「トークン発行量」と「トークン価格」の関係を説明するための概念です。したがって、これら2つの間の関数関係が直角座標系で曲線または直線として描かれるかどうかにかかわらず、すべて「共同曲線」と呼ばれます。
なぜ「トークン価格」と「トークン発行量」には関数関係が存在するのでしょうか?なぜビットコインやイーサリアムの発行量と価格には何の関連もないのでしょうか?
「共同曲線」を利用したトークン発行は一次市場に似ており、二次市場ではありません。そして、この一次市場はプロジェクト側の資金調達の一次市場とは異なり、共同曲線によるトークン発行のプロセスはスマートコントラクトを通じて実現されます。
では、共同曲線とBalancerにはどのような関係があるのでしょうか?
主な役割は「流動性トークン」を発行し、流動性を投入した証明書として機能します。ユーザーがBalancerの特定の資金プールに相応の流動性を提供すると、Balancerは投入資産の数量に応じて、相応の公式を用いてユーザーの貢献を計算し、相応の「流動性トークン」を発行します。
一定の時間が経過した後、その資金プールに何の変化もなければ、ユーザーは以前の流動性トークンを同じ資産に交換できます。しかし、その間にその資金プールがより多くの取引手数料を集めた場合、ユーザーは以前の流動性トークンを同じ資産に加えて得られた取引収益と交換できます。
「共同曲面」と呼ばれるのは、共同曲線が2つのトークン、すなわち投入されたトークンAと得られたトークンBに関与するからです。しかし、Balancerの二資産資金プールでは、実際には3つのトークン、すなわち資金プール内のトークンAとトークンB、そして対応する「流動性トークン」が関与します。
X軸とY軸はトークンAとBを表し、Z軸は流動性トークンを表します
共同曲面は資金プール内のトークンA、トークンB、および流動性トークンの関係を説明しています。ただし、Balancerの資金プールが2つのトークンを超える場合、共同曲面はさらに多次元の曲面にアップグレードされます。多次元の共同曲面をコンピュータで描くのは難しいですが、すべての公式と定義は依然として有効です。
BalancerはAMMのアプリケーションシーンの扉を開いた
UniswapとBancorが提唱したAMMの概念は、現物取引という1つのシーンに束縛されてきました。しかし、BalancerはAMMのアプリケーションシーンを広げる最初のツールであり、AMMが単なる現物取引だけでなく、インデックスファンド管理プラットフォームとしても機能できることを実証しました。これは大規模なパッシブ投資ファンドを管理するために、分散型の形式で行われます。
現在、ますます多くのDeFiプロジェクトがAMMのさまざまな限界を探求しています。例えば、CurveとShell ProtocolはステーブルコインAMMアルゴリズムの最適化を行い、MCDEXとFutureswapはデリバティブ取引分野を探求しています。例えば、20倍のレバレッジを持つ永続的スワップ契約などです。
現在の段階では、Ethereumの性能は限界があり、DeFiエコシステムはAMMなどの自動化ツールを必要として、チェーン上の提出頻度を減少させ、ネットワーク性能を節約する必要があります。しかし、もしEthereum 2.0が取引スループットを数百倍、数千倍に向上させた場合、まったく別のシーンが展開されるかもしれません。おそらく、現在の中央集権的取引所と同様に、マーケットメーカーはほぼ専門機関によって主導されることになるでしょう。その時、汎用的なAMMのシーンはどこにあるのか、DeFiエコシステムは今から考慮すべき問題です。