Uniswap v2の仕組み(x*y=k)|自社トークンをDEXに出す前に知ること

コラム

/ /約12分で読めます

コラム

/ /約12分

Uniswap v2の仕組み(x*y=k)|自社トークンをDEXに出す前に知ること
目次(タップで折りたたみ)

    「自社で発行したトークンの値段を、どうやって市場で決めるか」。Web3 の事業を組み立てると、早い段階でこの問いにぶつかります。

    証券取引所のように、買い注文と売り注文を並べる「板(オーダーブック)」を自前で用意するのは現実的ではありません。そこで広く使われているのが AMM(Automated Market Maker:自動マーケットメイカー) です。2018年に Uniswap が広め、その中心にあるのが 定数積モデル(x*y=k) という式です。

    定数積モデルは、人の手を介さず、数式だけで売買を成立させます。誰でも、いつでも取引でき、値段は式が自動で決めます。2020年5月に公開された Uniswap v2 は、この式をそのまま使っています。今も多くの DEX(分散型取引所)の土台です。

    この先で使う言葉

    • プール:2種類のトークンを預けておく箱。売買はこの箱を相手に行います。
    • LP(Liquidity Provider:流動性供給者):プールにトークンを預け、手数料を受け取る人。
    • fork:公開されているコードを複製し、自社用に改変すること。

    x*y=k で、値段はどう決まるのか

    式は「x × y = k」だけです。x と y はプールに入っている2種類のトークンの数で、k はその掛け算の結果です。取引の前と後で k が変わらないように、受け取れる量が自動で決まります。

    例として、自社トークン A を10,000個、USDC を10,000枚入れたプールを考えます。掛け算は 10,000 × 10,000 = 1億 で、これが k = 1億 です。最初の A の値段は 1 USDC です。

    ここで誰かが USDC を1,000枚入れて A を買います。プールの USDC は11,000枚になります。k = 1億を保つには、A は 1億 ÷ 11,000 ≒ 9,091個 まで減る必要があります。差の 10,000 − 9,091 = 909個 が買い手に渡ります。

    買い手が払った値段は、1個あたり約1.10 USDC です。一方、取引後のプールは USDC 11,000枚に対して A が9,091個です。次の人が見る値段は、約1.21 USDC に上がっています。(ここでは手数料を省いています。実際の v2 では、入れた額から0.30%を引いてから計算するので、受け取りは約907個です)

    買う量を増やすと、値段の上がり方は次のように大きくなります。

    入れる USDC 受け取る A(1個あたりの平均) 取引後のプール内の値段
    1,000枚 909個(約1.10 USDC) 約1.21 USDC
    5,000枚 3,333個(約1.50 USDC) 約2.25 USDC
    10,000枚 5,000個(2.00 USDC) 4.00 USDC
    30,000枚 7,500個(4.00 USDC) 16.00 USDC

    (手数料を省いた計算です)

    押さえておきたい3つの性質

    1. 買う量がプールの残りに近づくほど、値段は際限なく上がる

    表のとおり、プールの A を半分買うには10,000 USDC、4分の3を買うには30,000 USDC が要ります。x*y=k をグラフに描くと双曲線になり、残りが0に近づくほど値段は急に跳ね上がります。

    注文を出したときの値段と、実際に約定した値段のずれを「スリッページ」と呼びます。注文によって値段が動く量は「価格インパクト」です。プールが小さいほど、どちらも大きく出ます。計算の詳しい話は価格インパクトとスリッページにあります。

    2. プールが空になることはない

    x が0に近づくと、A の値段は無限大に近づきます。そのため、どれだけ買いが入っても、プールが完全に空になることはありません。「最後の1個」は、理屈の上では無限の代金を払わないと買えません。

    3. LP は手数料と引き換えに、値動きのリスクを負う

    LP はスワップ手数料(v2 では一律0.30%)を受け取ります。その代わりに「インパーマネントロス(一時的損失)」というリスクを抱えます。2つのトークンの価格比が大きく動くほど、「預けずに持っていた方が得だった」状態になります。

    LP は、MEV(サンドイッチ攻撃・JIT 流動性) にもさらされます。自社トークンのプールを作った後のリスクを考えるなら、あわせて読んでおくと役立ちます。

    0.30% の手数料は誰に入るのか

    v2 の設計には、手数料の6分の1(取引額の0.05%)をプロトコル側に回す仕組みが最初から入っていました。ただし長いあいだ、この仕組みは止められていて、0.30% はすべて LP のものでした。

    2025年12月、Uniswap のガバナンス提案「UNIfication」が可決され、この仕組みが動き始めました。公式ドキュメントによると、今の v2 プールの配分は LP が0.25%、プロトコルが0.05% です。

    v2 を fork した DEX では、この配分は fork した側が設定します。元のコードのままなら、手数料の6分の1を受け取る先を運営側が指定でき、指定しなければ全額が LP に入ります。

    自社トークンとの関わり方は3つある

    自社トークンを Uniswap 系の AMM で扱う方法は、大きく3つに分かれます。

    A:Uniswap にプールを作る

    「Uniswap に上場する」とは、正確には「Uniswap 上に自社トークンのプールを作る」ことです。バイナンスやコインベースのような中央集権取引所と違い、審査も上場費用もありません。自社トークンと ETH(または USDC)のプールは、数分で作れます。

    良い点:
    - 開発はほぼ不要(プール作成は数分)
    - 世界中の取引の流れにすぐつながる
    - 板を自社で管理しなくてよい

    注意点:
    - 値段は売買で動き、自社では決められない
    - LP にインパーマネントロスを負わせる形なので、LP を集める工夫が要る
    - 最初の流動性を出す資金が要る(一般に数千万円〜数億円規模)

    向いている場面: トークンを発行してすぐ、広く取引できる状態にしたいとき

    B:v2 を fork して自社 DEX を持つ

    Uniswap v2 のコードを fork して、自社専用や業界に特化した DEX を立ち上げます。v2 のコードは公開されているので、Solidity の部分は0.5〜1人月ほどで動く形にできます。

    良い点:
    - 手数料の一部を運営側の収益にできる(上の節の6分の1。配分は改変も可能)
    - 業界に合わせた画面や使い勝手を作れる
    - 自社トークンに合わせた経済設計ができる

    注意点:
    - 流動性をゼロから集める必要がある(LP に報酬を出す仕組みが要る)
    - 監査と運用の費用がずっとかかる
    - セキュリティ事故が起きたときの責任を自社が負う

    向いている場面: 業界に特化した違いを出したく、運用する人員を確保できるとき

    C:既存の DEX の上にサービスを作る

    DEX の中身は作りません。Uniswap や 1inch、CowSwap などの上で動く画面や、特定の利用者向けのアグリゲータを提供します。

    良い点:
    - 開発期間が短い(画面と API 連携のみ)
    - 流動性は既存の DEX に頼れる
    - セキュリティのリスクが小さい

    注意点:
    - 接続先の DEX の仕様変更に振り回される
    - 違いを出せるのは使い勝手と業界の知識に限られる

    向いている場面: 既存の事業の周りを広げたいとき、特定の利用者に絞りたいとき

    3つを比べると

    手間と費用が一番小さいのは A、違いを一番出せるのは B です。

    判断軸 A: 使う B: 組む C: 乗っかる
    開発工数 小(数分) 中(〜1人月) 小〜中(〜2か月)
    監査コスト 不要 $15K-60K 軽微
    自社収益 自社トークン価値上昇 取引手数料 UX 価値
    必要な運用人員 小 中(Solidity 1-2人) 小
    差別化余地 小 大 中

    B の開発工数は Solidity の部分だけで、画面は別に1〜2人月かかります。監査費の幅については、下の「費用と期間の目安」で説明します。

    自社 DEX を組むなら、どのバージョンから始めるか

    Uniswap には3つのバージョンがあり、仕組みと作る手間が違います。自社 DEX の出発点としては、仕組みが単純で監査の範囲も狭い v2 が現実的です。

    バージョン 特徴 事業者にとってのメリット 事業者にとってのデメリット
    v2(2020年5月) シンプルな x*y=k fork が容易(0.5〜1人月)、仕組みが安定 LP の資本効率が低い
    v3(2021年5月) 集中流動性(特定の価格帯にだけ流動性を提供できる) LP の資本効率が大幅に向上(公式の説明では v2 比で最大4,000倍)、機関採用しやすい 実装が複雑(〜4人月)、LP の運用も難しい
    v4(2025年1月メインネット) Hooks(プールの動作を自社コードでカスタマイズ可能) カスタム AMM が組める 稼働から日が浅く、Hooks ごとに安全性の確認が要る

    LP の側から見ると、向き不向きは次のとおりです。

    • v2:放っておいても回る単純さ。価格比が長く大きく動かないペアに向きます。
    • v3:値動きを読んで、特定の価格帯に資金を集める運用。専門のマーケットメイカー向けです。
    • v4:独自の手数料やロジックを組みたい事業者向けです。

    v2 を選ぶ理由は3つあります。

    1. 作る期間が短い:0.5〜1人月で動く形にできます。
    2. 監査の範囲が狭い:監査費は $15K-60K 程度で、v3 は $40K-150K 程度です。
    3. 仕組みがこなれている:2020年5月の公開から6年以上使われ、起きやすい落とし穴も知られています。

    v3 を選ぶのは、ステーブルコインどうしの交換専用や機関向けなど、集中流動性が要る DEX に限られます。v3・v4 の詳しい話はUniswap v3 集中流動性とUniswap v4 Hooks アーキテクチャにあります。

    費用と期間の目安

    v2 を fork した DEX の開発は、画面まで含めて1.5〜3人月が目安です。

    項目 目安
    Solidity 実装 0.5-1人月
    フロントエンド 1-2人月

    開発合計: 1.5〜3人月(約 $15K-45K)(1人月 ≒ $10K-15K で換算)

    開発とは別に、次の費用が規模に応じてかかります。

    • 監査:$15K-60K。規模、コードの新しさ、監査会社(1社との簡易な契約か、複数社や大手か)で大きく変わります。手を加えない fork なら下限に近く、新しいコードが多い場合や複数社に頼む場合は上限に近づきます。
    • Oracle 統合(必要な場合):$10K/年
    • バグバウンティ:月額 $5K-20K
    • インデックス・データ基盤:The Graph の利用料で月額数千ドル
    • 外部の弁護士費用:初期の法的な整理と意見書で、一時 $20K-80K(約300万〜1,200万円)

    日本で自社トークンを出すときに確かめること

    日本で自社トークンを発行するなら、まず、そのトークンが法律上どの区分に当たるかを確かめます。

    • 配当を出すファンド型のトークンは、有価証券とみなされると、第二種金融商品取引業の登録が論点になります。
    • 暗号資産に当たる場合は、自社発行でも流通のさせ方によって業の登録が論点になります。
    • 国内の取引所で扱ってもらうには、別に審査があります(Uniswap にプールを作るのは自由です)。

    2026年7月に成立した改正金融商品取引法で、暗号資産は資金決済法から金商法の規制へ移ります(施行は公布から1年以内)。自社トークンがどの区分に当たり、何の登録が要るかは、施行の時期も含めて弁護士に確認してください。

    実装する人向けの詳細:v2 を fork するときの3つの落とし穴

    v2 のコード自体は長く使われてきましたが、fork した後に手を加える段階で事故が起きやすくなります。よく見られる落とし穴は次の3つです。

    1. Fee-on-Transfer トークン

    Fee-on-Transfer トークンは、送金のたびに手数料が自動で引かれるトークンです。たとえば100枚送ると5枚が運営に回り、相手には95枚だけ届きます。

    v2 のプールと組むコードが「100枚送れば100枚届く」前提で書かれていると、送った額と届いた額がずれます。受け取れる量の計算が狂い、取引が失敗したり、会計がずれたりします。

    Uniswap 公式の v2 のルーター(UniswapV2Router02)には、このトークン向けの関数があります。swapExactTokensForTokensSupportingFeeOnTransferTokens などです。fork でこれを削ると、この落とし穴を踏みます。

    2. Rebasing トークン

    Rebasing トークンは、誰も送金しなくても、各アドレスの残高が定期的に書き換わるトークンです。Lido の stETH は毎日残高が変わります(包んだ wstETH は残高が変わりません)。

    v2 のプールは、自分の残高を「準備金」として記録しています。残高が外から勝手に変わると、記録と実際がずれ、k を一定に保つ前提が崩れます。

    • 残高が減ると、取引の値段が不利になり、sync() で記録を合わせるまでプールが詰まることがあります。
    • 残高が増えると、記録を超えた分は skim() で誰でも引き出せます。

    Lido のドキュメントも、Uniswap のような AMM には wstETH を使うよう勧めています。

    3. Reentrancy(再入攻撃)

    v2 の本体には、処理の途中で同じ関数を呼び直させない「ロック」が入っています。ただ、fork で独自のフックを足すと、この守りが壊れることがあります。

    利用者が指定するコールバックや、Hooks のような拡張を足すなら、最初に再入の防御を確かめてください。

    まとめ

    1. x*y=k は「プールの2つの数の掛け算を一定に保つ」だけの決まりです。これで、誰でも開ける市場が成り立ちます。
    2. 値段の上がり方は双曲線です。買う量がプールの残りに近づくほど際限なく上がり、プールは空になりません。LP はインパーマネントロスを負います。
    3. 自社トークンとの関わり方は3つです。プールを作る、v2 を fork して自社 DEX を持つ、既存の DEX の上にサービスを作る。工数と収益、違いの出しやすさで選びます。

    DeFi 全体の中で v2 がどこにあるかは、DeFi完全マップ 2026 で見られます。

    関連記事

    • Uniswap v3 集中流動性 — 放っておいても回る v2 に対し、v3 は LP の積極的な運用が前提です。LP の手間の違いで v2 と v3 を比べています。
    • Uniswap v4 Hooks アーキテクチャ — v2 の fork に機能を足す代わりに、v4 の Hooks で違いを出す方法です。
    • 価格インパクトとスリッページ — 大きく買うほど値段が上がる性質を、大口の取引のコストとして掘り下げています。
    • MEV と AMM — プールを作った後、利用者が「MEV で損した」と言う前に知っておきたい防御です。
    • DeFi完全マップ 2026 — DeFi を4層に分けたとき、v2 が「価格を決める層」にあることが分かる全体図です。

    XTELAができること

    XTELA は、AMM や DEX まわりの設計と開発を行っています。

    • v2 を fork した自社 DEX の実装:Fee-on-Transfer・Rebasing トークンへの対応、再入の防御の確認
    • 自社トークンのプールを作る前の設計:最初の流動性の量、LP への報酬の設計
    • 業界に特化した AMM の設計:ステーブルコイン専用、ロイヤリティ付き、参加者を限定した機関向けなど
    • 監査前の設計レビュー:監査の前に問題をつぶし、監査費を抑える

    「プールを作るか、自社 DEX を持つか」を決める段階から、実装・監査・運用まで一緒に進めます。

    相談する

    Uniswap の手数料配分と各バージョンの公開日は、2026年9月25日に公式資料で確認しました。ここに書いた内容は技術的な解説で、投資・税務・法務の助言ではありません。

    お問い合わせ

    どんなフェーズからでも、お持ちのアイデアや企画をもとにご提案可能です。
    まずはお気軽にご相談下さい!