分散型取引所(DEX)のユニスワップ(Uniswap)とは

ユニスワップ(Uniswap)は、管理者の存在しない分散型取引所(DEX)である。一般的な中央集権型の仮想通貨取引所(CEX)とは違い、自身のウォレットをユニスワップに直接接続するだけで取引を開始でき、本人確認(KYC)などの作業が必要ない。

CEXの中には未成年や外国籍の人々の利用を禁止しているものもあるため、分散型取引所はそういった人々の受け皿にもなっている。また、全てがブロックチェーン上で動作するため、メンテナンスなどにより一時的に利用できないといった状況も発生しない。

2021年5月時点で、ユニスワップにロックされている総資産額は約74億3400万ドルとなっており、右肩上がりの成長を続けている。

ユニスワップのTVL
市場にどれだけの資産が供給されているかを意味するTVL(Total Value Locked)は右肩上がり。出所:DEFI PULSE

ユニスワップはAMM型のDEX

ユニスワップは、2018年10月にチェコで開催されたイーサリアムの開発者カンファレンスDevconにて発表されたプロジェクトだ。以前からEtherDeltaなどをはじめDEX自体はいくつか存在していたものの、流動性に大きく欠ける部分があり一般的に普及しているとは言えない状況だった。

この状況を変えたのが、ユニスワップを中心に開発が進められていたAMM(Automated Market Maker:自動マーケットメーカー)である。

CEXや従来のDEXでは、買い手と売り手を直接マッチングすることで取引を成立させる方法が主流となっていた。この場合、流動性が不足しているとマッチングが成立しにくく、なかなか注文が通らない状況に陥ってしまう。

これに対してユニスワップは、「プール(流動性プールともいう)」と呼ばれる場所を設けることで買い手と売り手のバランスを維持させる方法を採用したのだ。ユニスワップのプールのアルゴリズムには、予め設計されたシンプルな数式「X × Y = K」が組み込まれている。XとYはトークンを、Kは流動性を意味する。

詳細は後述するが、K(流動性)を常時一定に保つことで取引時のレートを算出しており、管理者が存在しない状態でも正常に取引所としての機能を成立させている。この仕組みこそがAMMと呼ばれる所以だ。

ユニスワップなどのAMMが登場したことでDEXは流動性の問題を解消し、さまざまなトークンを即時取引できるようになった。ユニスワップは今では、世界最大規模のCEXであるバイナンスやコインベースと肩を並べる規模にまで成長している。

ユニスワップの取引の仕組み
トレーダー同士で直接取引するのではなく、プールを介して取引する。出所:ユニスワップHP

誰もが任意のトークンペアを上場させることが可能

ユニスワップの特徴は、利用者が自ら流動性プロバイダー(Liquidity Provider、LP)になれる点だ。ユニスワップでは、トークンの取引以外に、プールに対して自身の持つトークンを供給することが可能だ。流動性プロバイダーは、トークンを供給することで手数料収益を受け取ることができる。

この時、供給するトークンは必ず2種類のペアでなければならず、かつ同額にする必要がある。たとえば、イーサリアム(ETH)とUSDコイン(USDC)のペアを同じ金額になるように供給するといった具合だ。なお、供給したトークンペアはいつでも引き出し可能だ。

ユニスワップで「ETHとUSDCを取引したい」といった需要には、ETH:USDCのプールが応じることになる。ユニスワップには、他にも多くのトークンペアに対応したプールが用意されており、それぞれのプールに対して流動性プロバイダーが存在している。

ここで特筆すべきは、誰でも任意のトークンペアを作成できる点だ。たとえば、現時点でユニスワップにイーサリアム(ETH)テザー(USDT)のプールが存在しなかった場合でも、自身の持つETHとUSDTを供給することでプールを作成することができる。

これはつまり、誰でも自由に好きなトークンペアをユニスワップに作成(上場)できることを意味する。CEXの場合、取引所で取り扱うトークンは運営会社が独断的に決定するが、ユニスワップではユーザーが自由に決められる。

ユニスワップに流動性を供給すると、その証拠となるプールトークン(例えばETH/WBTCなどのペア)を受け取る仕組みとなっている。流動性として供給したトークンは、プールトークンを返却することでいつでも引き出すことが可能だ。

後述するユニスワップのバージョン2では、このプールトークンを他のDeFiサービスに担保として預けることもできるようになった。たとえば、メーカーダオに対してユニスワップのプールトークンを担保資産として預け入れることで、ステーブルコインDAIを発行することが可能だ。


ユニスワップの変遷とアップデート

ユニスワップのようなブロックチェーン上に展開される分散型のサービスの場合、機能をアップデートするには新たなスマートコントラクトを定義しなければならない。ユニスワップも例に漏れず、これまでに3度のアップデートを実施している。

ここでは、ユニスワップの変遷と共にこれまで行なってきたアップデートについて詳しく見ていく。


バージョン1

最初のアップデートにより誕生したユニスワップのバージョン1では、ユニスワップのコアとなる「X × Y = K」を採用したプールのアルゴリズムが導入された。K(流動性)を常時一定に保つことで、XとYが変動するにつれて自動的に取引レートを調整できる仕組みとなっている。

たとえば、以下の図のようにETHとOMGのプールがあるとする。このプール内に存在するETHまたはOMGの量は、取引が行われる度に変化するものの、両者の積は常に一定になるよう調整される。

ETH(X):10
OMG(Y):500
流動性(K):5000

ここで、ETHを売ってOMGを買いたいと考えるユーザーが、プールに対して1ETHを提供する場合、取引レートは次のように算出される。

5000(K) = 10+1 ETH(X) × n OMG(Y)
→ 5000(K) / 11 ETH(X) = 454.5 OMG(Y)

454.5OMGが取引後にプールに残る総量であり、1ETHは元々あった500OMGから454.5OMGを差し引いた45.5OMGと取引可能になる。なお、一定の取引手数料が流動性プロバイダーに支払われるため、最終的に手元に残るOMGは手数料を差し引いた金額となる。

ユニスワップの取引レートの仕組み
ユニスワップで取引する際の取引レート決定の仕組み  出所:ユニスワップのホワイトペーパー


バージョン1では、トークンペアに必ずETHが入っていなければならず、ETHがユニスワップ内の基軸通貨として機能していた。バージョン1でもETHを介さないトークン同士の取引は可能だったものの、仕組み的には一度ETHを仲介するようになっていたため、実質2回の取引を行うことになっている。

この場合、イーサリアムの取引手数料であるガスが2回分発生してしまうため、余計なコストが必要となっていた。


バージョン2

2020年3月に、ユニスワップはバージョン2をローンチした。基本的には、バージョン1のコアとなる仕組みの中で改善すべき点をアップデートしている。

バージョン1では、トークンペアに必ずETHが入っている必要があったため、ETH以外のトークン同士を取引する場合に2度のトランザクションを実行しなければならなかった。バージョン2では、ETH以外のトークンペアをプールに供給することができるようになり、ERC-20というイーサリアムブロックチェーン規格で作られたトークンであればETHを介さずに1度のトランザクションで取引することが可能となった。

また、Routerという仕組みにより供給されていないトークンペアについても、複数のトークンペアを仲介することで取引することができるようになった。

バージョン2では、新たに価格オラクル(Price Oracles)も導入されている。オラクルとはブロックチェーン外の情報をブロックチェーンに取り入れる仕組みだ。バージョン1では、ユニスワップ上で扱うトークンの価格情報を外部から取得していたため、価格情報が第三者によって操作されている可能性がないとは言い切れない状態だった。

価格オラクルにより、オンチェーン上のデータから価格情報を生成することができるようになり、より正確な価格でトークンを取引できるようになっている。


バージョン3

2021年5月には、バージョン3がローンチされた。バージョン3におけるアップデートの目的は、ユニスワップに供給される資本の効率性を改善する点にある。

バージョン2までのユニスワップは、供給されている流動性を最大限活用することができておらず、ただプールにとどまっているトークンが増え続けていた。これに対してバージョン3では、「コンセントレイテッド・リクイディティ(Concentrated Liquidity)」と「マルチプル・フィー(Multiple Fee)」を導入することで改善している。

コンセントレイテッド・リクイディティは、CEXの一般的な板取引に似た機能のことを意味し、供給されたトークンペアに対して従来よりも確実な取引を実現させることが可能となった。

マルチプル・フィーは、流動性プロバイダーに対して支払われる手数料に変動制を導入するものである。バージョン2までは、全てのトークンペアに同一の手数料が設定されていたが、バージョン3では0.05%、0.3%、1%から選択できるようになった。これにより、流動性プロバイダーは想定されるトークンペアの価格変動に応じて手数料を調整することが可能となっている。

たとえば、ETH:USDCのような相関性のないトークンペアを供給する場合は高いリスクを取る一方で、USDC:DAIのような相関性のあるペア(ステーブルコイン同士)を供給する場合はリスクを抑える、といったアプローチが可能だ。

バージョン3のローンチ時点では対応されていないものの、バージョン4に入る前にイーサリアムのセカンドレイヤーソリューションの1つであるオプティミズム(Optimism)への対応を行うことも明らかにしている。

これは、高騰するイーサリアムのガス代に対応するための取り組みであり、ユーザーに対してより高い利用体験を提供する計画だ。

ユニスワップを使った稼ぎ方

アップデートが行われるにつれて仕組み自体は複雑になっているものの、基本的にユニスワップで稼ぐ方法は2つに限られている。1つ目は一般的なトークンの取引だ。CEXと比べて手数料が安価に設定されており、単純な取引でもコストを低く抑えることができる。ユニスワップで取引を行うための具体的な手順は次の通りだ。

  1. ユニスワップにウォレットを接続
  2. 「Swap」画面で交換元のトークンと交換先のトークンをそれぞれ選択
  3. 交換を実行

ユニスワップでトークンを交換するための主な手順はこれだけだ。CEXの場合、取引の前に本人確認や日本円の入金といった作業が必要になるが、ユニスワップはウォレットに交換元のトークンが入っていさえすれば即時取引が可能となる。

ユニスワップの取引画面

ユニスワップの取引画面

2つ目は、トークンペアを供給することによって受け取る手数料報酬だ。ユニスワップでは、ユーザーから徴収した手数料を全て流動性プロバイダーに還元している。将来的には変更されるかもしれないが、現時点でユニスワップは1円も利益をあげていないのだ。

ユニスワップのプールに対して流動性を供給する際の具体的な手順は次の通りである。

  1. ユニスワップにウォレットを接続
  2. 「Pool」画面で供給するトークンペアを選択
  3. 供給を実行

取引時の手順と同様、簡単な作業でプールに対して流動性を供給することが可能だ。取引時の手順と比べて設定する項目は2つ3つ多いものの、それでもすぐに流動性を供給できる。

ユニスワップのプールに流動性を供給する画面
プールに流動性を供給する画面

今となってはユニスワップのように使い勝手の良さを実現しているDEXだが、従来のものは使い勝手は決して良いとは言えないものだった。ユーザーの支持を集めたきっかけとなったはプールの存在であり、プールによりDEXが変わったと言っても過言ではないだろう。

他にもユニスワップが他のDEXと異なる要素としては、ガバナンストークンを発行している点があげられる。ユニスワップは2020年に独自トークンUNIを発行し、それまでに1度でもユニスワップを利用(ウォレットを接続)したことのあるユーザーに対して無償で配布した。

将来的には、UNIの保有者によってユニスワップのロードマップが策定されることになる。たとえば、現時点でユニスワップは利益をあげていないものの、今後のガバナンス次第では手数料の一部をユニスワップの収益として計上することになる可能性も考えられるだろう。

【関連記事】
既存金融システムを刷新する『分散型金融(DeFi)』とは
DeFiプラットフォームのAvalanche(アバランチ)とは 仕組みやユースケースについて詳しく解説
高スケーリング性能のブロックチェーンSolana(ソラナ)を解説