DEXとは? 主要な分散型取引所 DEX を比較してみた!【 0x / AirSwap / Kyber Network / Bancor 】

DEX とは分散型取引所のことです。おなじみの取引所とは異なり、特定の管理者によって集中管理されておらず、ブロックチェーンネットワークで分散的に管理されます

日本で作成されたウォレットである Ginco や tokenPocket でも DEX との連携がはじまり、今後DEX への注目が高まっていくことになります。

DEXと言っても様々な実現方法があります。仕組みの違いはもちろんですが、取引相手や取引価格の決め方、手数料など、様々です。これからのDEXの時代に備えて、主要なDEXくらいは特徴をとらえておいたほうが良いと思います!
というわけで、今回は、ERC20トークンを扱う主なDEXについて比較してみようと思います!

比較の観点は様々ありますが、今回は取引の方法や手数料といったところをメインに比べてみます。

 

DEX(分散型取引所)とは?

DEXは、コインチェックなど特定の運営会社によって管理されている中央集権的な取引所とは異なり、特定の管理者が存在せず、ブロックチェーンネットワークで自律的に運営がされている取引所です。

ブロックチェーンネットワーク自体は安全であっても、取引所がハッキングにあってしまうと、ユーザーから預かった多額の資産が被害にあってしまいます。このような危険性があるのは、資産を自由に操作するための秘密鍵を取引所が集中的に管理していることで、リスクが集中してしまっているからです。

秘密鍵管理については「今更聞けない!仮想通貨の 秘密鍵管理 !」で簡単に解説していますので参考にしてください。

今更聞けない!仮想通貨の 秘密鍵管理 !

2018.02.15

DEXは、ブロックチェーンを基盤とすることで、秘密鍵の管理はユーザー自身で行ったまま、大切な秘密鍵を取引所に預けることなく取引を行うことができるのです。

今回比較するのは、ERC20トークンを扱う以下のDEXです。

  • 0x(ゼロ・エックス)
  • AirSwap(エアースワップ)
  • Kyber Network(カイバーネットワーク)
  • Banor(バンコール)

まずはざっくりと各DEXをご紹介します。

すべてのDEXにおいて、共通的に以下の用語を使用することで比較しやすくしたいと思います。

比較で用いる言葉
  • メイカー
    取引において、売りたい!買いたい!と提示する側を指します。
    取引所のオーダーブックで言うと、指値注文を出す側になります。
    今回はひっくるめて「売り」「買い」の提供側を意味することにします
  • テイカー
    取引において、メイカーの提示した「売り」「買い」に答える側を指します。
    取引所のオーダーブックで言うと、載っている注文に対して成行で注文する側です。
    今回はひっくるめてメイカーから提供された「売り」「買い」に対して「買い」「売り」で答える側を意味することにします。
  • 仲介者
    中央集権的な取引所では運営会社が仲介者となりますが、DEXでは様々な仲介者がいて注文が成り立ちます。
    メイカーとテイカーのマッチングや、取引の決済が仲介者によって行われます。
    不正が許されない決済は、Ethereumネットワーク上で動作するスマートコントラクトによって実施され、ブロックチェーン上に記録されます。
  • オンチェーン/オフチェーン
    Ethereumブロックチェーン上で実行される取引のことをオンチェーン、それ以外はオフチェーンと言います。
    オンチェーンで実行するためには手数料としてガス代のETHが必要になります。結果はブロックチェーン上に記録されます。
    DEXではすべてオンチェーンで実行してしまうと手数料がかかりすぎるため、オフチェーンでの実行も組み合わせていることがあります。具体的には、一部の処理が従来のWebサービスと同じように中央集権的なサーバ上で実行される形になります。もちろん、この時はガス代が不要になります。

0x(ゼロ・エックス)

0xとは、DEXのプロトコルです。0x自体がDEXとして機能するのではなく、0xをプラットフォームとして、様々なDEXが実現されています

0xプロトコルで実現されたDEXでは、オーダーブックを通じて取引を行います

メイカーは、売りたい/買いたいトークンの量と価格をオーダーブックに提示し、テイカーがオーダーブックに記載されたレートから選択して買い/売りを行います。いわゆる板取引です。

仲介者としては、オーダーブックを実現するリレイヤー、決済を実施する0xのスマートコントラクトがあります。

メイカーはリレイヤーに対して注文を出し、テイカーはリレイヤーに注文を問い合わせて、希望と一致する注文を選択します。そして、テイカーはスマートコントラクトに決済の依頼を出すことで、スマートコントラクトはメイカー/テイカーのトークン交換を行います。

0xのDEXであるDDEXの使い方は、「分散型取引所 DDEX をTrustで使う方法!無料でHOTトークンが貰える!」でご紹介していますのでご覧ください。

 

AirSwap(エアースワップ)

AirSwapは、個人間でのトークンの交換を実現するという特徴があります。

AirSwapでは、メイカーとテイカーは取引意志をもとにマッチングします。取引レートはマッチング後にテイカーとメイカーの間で直接交渉されます。

取引意志をマッチングする仲介者はインデクサーと言います。インデクサーはメイカーが提示した取引意志をまとめて、テイカーが閲覧できるように提供します。最終的に合意したレートでの決済はテイカーがAirSwapのスマートコントラクトに依頼します。すると、スマートコントラクトはメイカー/テイカーのトークン交換を行います。

AirSwapの使い方は、「分散型トークン交換プラットフォーム AirSwap の使い方!」にてご紹介していますのでご覧ください。

 

Kyber Network(カイバーネットワーク)

Kyber Network (KyberSwap)は、日本のコインチェックのような使いやすいUI/UXを特徴とした販売所形式のDEXです。

Kyber Networkにおけるメイカーは、リザーブマネージャーと呼ばれ、リザーブマネージャーはリザーブにトークンを預けておきます。
テイカーは、仲介者であるKyber Networkのスマートコントラクトを通じて、リザーブのトークンを購入します。

取引のレートはリザーブマネージャーが設定しますが、スマートコントラクトは自動的にテイカーにとって最適なレートを選択して決済を実行し、スマートコントラクトはリザーブとテイカーのトークンを交換します。

Kyber Networkの使い方は、「最も簡単な DEX (分散型取引所)! Kyber Network (KyberSwap)の使い方!」にてご紹介していますのでご覧ください。

 

Bancor(バンコール)

Bancorは、厳密にはDEXと言わないのかもしれませんが、特徴的で面白い仕組みの取引所です。

Bancorは、トークン発行者が事前に用意した準備金をもとに、スマートコントラクトが自動的に計算したレートでトークンの売買が行われます。

そのため、メイカーは存在せず、仲介者であるBancorのスマートコントラクトから自動計算されたレートでテイカーが売買を行う形になります。スマートコントラクトは準備金を利用してテイカーとトークンの交換を実施します。

一般的に、取引においては、メイカーがいないとそもそも取引ができないという流動性の問題がありますが、Bancorはこの問題を解決しており、いつでも売買ができる場を提供しています。

Bancorにおける売買価格は計算式により完全に自動計算されるため、その他市場における様々な要因によるレートの上下とは完全に切り離された場所で価格が決定されます。

じゃあ、価値が暴騰してもBancorでは安く買えるの?という訳ではないです。
世の中にはアービトラージと言って取引所間の価格差をもとに取引を行う人々がいます。
彼らが、他の取引所とBancorの間の価格差を埋めており、その価格差で儲けているのです。よって、他の取引所とBancorの価格は乖離しては追いついてという流れを繰り返しているのです。
面白いですね!

取引方法の比較

ざっくりとした仕組みはご説明しましたので、ここからはトピックごとに比較したいと思います。

メイカーとテイカーのマッチング方法

取引を行うためには、メイカーとテイカーのマッチングが必要です。それぞれの仕組みにおけるマッチング方法は以下の通りです。

  • 0x
    リレイヤーのオーダーブックを通じてマッチングされます。マッチングはオフチェーンで実施されます。
  • AirSwap
    インデクサーを通じて取引意志がマッチングされます。マッチングはオフチェーンで実施されます。
  • Kyber Network
    スマートコントラクトによりテイカーにとって最も有利なレートのメイカーに自動マッチングされます。マッチングはオンチェーンで実施されます。
  • Bancor
    Bancorではそもそもマッチングということがないです。

 

価格決定方法

各DEXにおける取引価格の決定方法は以下の通りです。

  • 0x
    オーダーブックによって決定されます。価格決定はオフチェーンで実施されます。
  • AirSwap
    メイカーとテイカーの直接交渉によってオフチェーンで決定されます。
  • Kyber Network
    メイカーが提示したレートの中から、スマートコントラクトが最適な価格を選択します。価格決定はオンチェーンで実施されます。
    取引画面に表示される価格は実際に決定された価格ではなく、予想価格となります。そのため、事前に最低限このレートは守ってほしい!という希望レートを設定することができ、希望レートより悪いレートでの価格が算出されると、取引不成立となります。
  • Bancor
    Bnacorのスマートコントラクトの価格決定式により自動算出されます。もちろんオンチェーンで実施されます。
    Kyberと同じように、取引画面に表示される価格は実際に決定された価格ではなく、予想価格となります。こちらも、事前に最低限このレートは守ってほしい!という希望レートを設定することができます。

決済方法

マッチング、価格決定がされると、最後は決済を行います。決済はすべての仕組みで共通してスマートコントラクトによってオンチェーンで実施されます。

 

以上をまとめると、以下の通りになります。

0xAirSwapKyber NetworkBancor
マッチングリレイヤーを通じたマッチング
(オフチェーン)
インデクサー を通じたマッチング
(オフチェーン)
 スマートコントラクトによる自動マッチング
(オンチェーン)
価格決定 オーダーブック
(オフチェーン)
 直接交渉
(オフチェーン)
 テイカーにとって最適なものを自動選出
(オンチェーン)
 価格決定式による自動算出
(オンチェーン)
決済 スマートコントラクトによって実行
(オンチェーン)
 スマートコントラクトによって実行
(オンチェーン)
 スマートコントラクトによって実行
(オンチェーン)
 スマートコントラクトによって実行
(オンチェーン)

 手数料

取引所を使用する上で手数料は気になるところです。

それぞれ、スマートコントラクトを実行するためにガス代が必要ですが、ガス代とは別に必要になる手数料を比較してみます。(ガス代については後述)

メイカーが支払う手数料

メイカーが支払う必要がある手数料は以下の通りです。

  • 0x
    オーダーブックを提供するリレイヤーに対して、リレイヤーが設定する手数料を支払う必要があります。
  • AirSwap
    AirSwapのトークンであるASTを特定量ロックアップ(指定された期間売却できなくなる)する必要があります。
  • Kyber Network
    リザーブを提供するためにはKyber Network運営に対してKyber NetworkのトークンであるKNCを支払う必要があります。
  • Bancor
    メイカーがいないので割愛

テイカーが支払う手数料

テイカーが支払う手数料は以下の通りです。

  • 0x
    メイカーと同様、オーダーブックを提供するリレイヤーに対して、リレイヤーが設定する手数料を支払う必要があります。
  • AirSwap
    手数料は不要です。
  • Kyber Network
    メイカーであるリザーブマネージャーが設定した売買のレート差(スプレッド)が手数料となります。(メイカーはこのスプレッド収益からKyber Networkに支払う手数料を引いた分が儲けになります)
  • Bancor
    手数料は不要です。

以上をまとめると、以下の通りになります。

0xAirSwapKyber NetworkBancor
メイカーの手数料リレイヤーが設定する手数料ASTをロックアップKyber Networkへの手数料(KNC)
テイカーの手数料 リレイヤーが設定する手数料なし 売買のレート差(スプレッド) なし

必要となるガス代

DEXを使用するために必要なガス代を比較してみます。

メイカーで必要なガス代

まずは、メイカーとなるために必要なガス代は以下の通りです。

  • 0x
    0xベースの取引所では、ETHを直接使用せず、ETHをERC20トークン化したWETHを使用します。このETHとWETHの変換(ETHのラップ)はスマートコントラクトによって実施されるためガス代が必要になります。
    そして、トークンの購入のためにはWETHを使用しますが、0xのスマートコントラクトがWETHへアクセスすることを許可するためにガス代が必要になります。同様に、トークンの売却を行うためには、0xのスマートコントラクトに対して対象のトークンへのアクセスを許可する必要があります。この際にもガス代が必要になります。
    各トークンへのアクセス許可は、1度だけでOKです。
  • AirSwap
    0xと同様に、トークン売却のためにはAirSwapのスマートコントラクトに対して対象のトークンへのアクセス許可をする必要があります。この際にガス代が必要です。
  • Kyber Network
    リザーブの残高を調整するためにはトークンの出し入れが必要になるためガス代が必要になります。また、レートの調整もスマートコントラクトで実施するためガス代が必要です。
  • Bancor
    メイカーがいないので割愛

テイカーで必要になるガス代

テイカーが支払うガス代は以下の通りです。

  • 0x
    メイカーと同様、ETHのラップ、WETHへアクセス許可、対象のトークンへのアクセスを許可ためにガス代が必要になります。
    その他、合意した価格での決済実行にガス代が必要になります。
  • AirSwap
    メイカー同様、トークンへのアクセス許可をするためにガス代が必要です。
    その他、合意した価格での決済実行にガス代が必要になります。
  • Kyber Network
    決済の実行のためにガス代が必要になります。(1トランザクションで価格決定から決済まで実行される)
  • Bancor
    決済の実行のためにガス代が必要になります。(1トランザクションで価格決定から決済まで実行される)

 

以上をまとめると、以下の通りになります。

0xAirSwapKyber NetworkBancor
メイカーのガス代・ETHのラップ
・トークン購入時のWETHへのアクセス許可(一度だけ)
・トークン売却時のトークンへのアクセス許可(トークン毎に一度だけ)
・トークン売却時のトークンへのアクセス許可(トークン毎に一度だけ)・リザーブの残高調整
・レートの変更
テイカーのガス代・ETHのラップ
・トークン購入時のWETHへのアクセス許可(一度だけ)
・トークン売却時のトークンへのアクセス許可(トークン毎に一度だけ)
・決済時
・トークン売却時のトークンへのアクセス許可(トークン毎に一度だけ)
・決済時
・決済時・決済時

その他の特徴

上記以外の部分において、それぞれのDEXの特徴をまとめてみます。

  • 0x
    取引に使用するETHはラップしてERC20トークン化が必要
    リレイヤーのインセンティブはメイカー/テイカー双方からの手数料収入
  • AirSwap
    価格交渉の基準となるレートはOracleで外部から取得される
    インデクサーのインセンティブは不明(教えてください)
  • Kyber Network
    レート設定の参考値はオフチェーンで中央集権的取引所から参照している
    メイカー(リザーブマネージャー)のインセンティブはスプレッド収入からKyber Networkへの手数料を引いたもので得る利益
  • Bancor
    価格はスマートコントラクトによる自動算出のため、市場価格との整合性はアービトラージによって保たれている

 

さいごに

以上、いろいろな観点から比較をしてみましたが、すべてを一つの表にしてみると以下の通りになります。

それぞれ特徴があって面白いですね!
これ以外にもそれぞれ違いはもっとありますが、導入として助けになれば幸いです。

今後、DAppsとの連携など、DEXの出番はますます大きくなってくると思います。
これからも注目していきたいと思います!!

また、いろいろ調べましたが、勘違いしているところもあるかと思います。
間違っている部分がありましたらお手数ですがご指摘をお願いいたします。

各DEXの使い方を以下の記事でご紹介していますのでご覧ください!

最も簡単な DEX (分散型取引所)! Kyber Network ( KyberSwap )の使い方!

2018.06.04

分散型トークン交換プラットフォーム AirSwap の使い方!

2018.05.02

分散型取引所 DDEX をTrustで使う方法!無料でHOTトークンが貰える!

2018.04.14

 

Twitter でマキオをフォローしよう!

ABOUTこの記事をかいた人

日本最大級の金融系WEBシステムのエンジニアをやりながらブロックチェーン技術を研究中。 DApps×スマホの未来に期待し、スマホ中心に記事を展開しています。 Binance に買収されたことで一躍有名になった Trust Wallet の日本Telegramグループのadminをやっています。