サムネイル画像

Mar 04, 2018

DEXって何?ハッキングリスクの低い分散型取引所の仕組み

サムネイル画像
GincoMagazine編集部
アイキャッチ画像

この記事のポイント

  • これまでの取引所は、秘密鍵を預けるので、ハッキングのリスクなどがありました。
  • DEXとは秘密鍵を取引所が預かることなく、スマートコントラクトで交換処理を行う新しい取引所の形です。
  • 最近はEtherDeltaや0xなどDEX系のプロジェクトに注目が集まっています。

はじめに

2018年1月に起きたコインチェック社のハッキング事件以降、「中央集権型取引所のハッキングリスク」が取り沙汰されるようになりました。

参照記事:

アイキャッチ画像

この記事では、中央集権型の取引所とは違い、秘密鍵のコントロール権をユーザーの手元に残したまま仮想通貨の取引を行うことのできる「DEX」という新しい取引所について紹介したいと思います。

DEXでは秘密鍵を取引所に預けずに通貨を交換する

2018年1月末時点で、仮想通貨の市場規模は全体で45兆円近い金額になりつつあります。

しかし、これらの仮想通貨取引のほとんどは、中央集権型の取引所で行われており、先述のようなハッキングのリスクに瀕しています。

このような状況下で、いま少しずつDEX(Decentralized Exchange)、直訳すると「非中央集権型の取引所」に注目が集まりつつあります。

これは秘密鍵を中央集権的に管理する取引所ではなく、ユーザーが秘密鍵を直接使って通貨の交換をできる取引所を実現しようというものです。

サービスの提供者が行っている取引所での通貨交換処理を、スマートコントラクトで自動的に実行しようとしているのです。

DEXでは、サービスの提供者はあくまでマッチングの場を提供するだけで、交換処理にはブロックチェーン上のスマートコントラクトを用います。そのため交換処理を行うために取引所が利用者の秘密鍵を預かって管理するようなことがありません。

ユーザーの資産に紐付いた秘密鍵がサイバー攻撃によって流失したり、管理者の不正な横領といったことは起きなくなる、セキュリティ面においては理想の取引所です。

では、具体的にどういった仕組み、概要となっているのでしょうか。

取引所の役割はマッチングと交換処理の実行

取引所の機能の中で一番大きいのが買い手と売り手のマッチング機能です。

あるユーザーが通貨を交換したいと思っても、マッチするユーザーがいなければ交換が成立しません。そこで、業者が介入しマッチングを促進します。

具体的には「オーダーブック」という、「買いたい人の注文を並べる板」と「売りたい人の注文を並べる板」を並べて、要望が合致した注文同士を約定させていきます。

オーダーブック
参考:poloniex

これは伝統的な金融市場のマッチング方法で、仮想通貨取引所も同じ方法をとっています。

理想のマッチングペアが生まれたら、取引を約定させ通貨の交換を行うのですが、この作業を円滑に行うために、既存の取引所ではユーザーの秘密鍵を預かってきました。また、日々行われる膨大な入出金に適宜対応するにも秘密鍵が必要になります。

このように、既存の中央集権型の取引所において問題だったのは、機能的には取引を仲介・代行するだけなのに、ユーザーの秘密鍵を管理してしまうことでした。

以下では、秘密鍵を預かることなくユーザーの取引をオンチェーンで出来るようにした代表的なDEX「EtherDelta」と、そこで発生した問題を解決しさらにもう一歩先の分散型取引を提示した「0x」を紹介します。

EtherDeltaについて



EtherDeltaは、EtherboostというRedditで集まったグループが運営するDEXです。

Etherboostは2016年の夏、イーサリアムのスマートコントラクトを用いて分散型取引を成立させる取り組みを積極的に推進するためEtherDeltaをリリースしました。

一見すると、一部の運営者が取引を担っている普通の取引所のように見えますが、ここで重要なのは、取引の実行処理を行っているのが、EtherDeltaというスマートコントラクトであり、Githubで公開されているオープンソースだということです。

https://github.com/etherdelta

EtherDeltaはDEXの先駆けとも言われ、誰もがイーサリアムを基盤としたトークンのトレードができる社会の実現を目指し、今現在では取引量も多くなってきています。

EtherDeltaの課題

EtherDeltaやそれに先立つDEXは以前にもあったのですが、今なお中央集権型の取引所に取って代わることができていません。それはなぜでしょうか。

それは、DEXではオンチェーンで通貨交換を処理するのにコストが高くなりすぎる、という問題があったからです。以下で、オンチェーンで取引所の処理を全て行う上での課題をまとめてみましょう。

交換処理が行われるまでに手数料がかさむ
通常の取引所の場合、注文を入れてからマッチング相手が決まって約定するまでにはある程度タイムラグがあります。その間に、取引をキャンセルしたり、交換レートを変更できるのですが、DEXだとその変更もオンチェーンで行う必要があり、その都度手数料がかかります。

処理に時間がかかる
先述のように注文のキャンセル・変更が頻繁に行われる取引所で、全てをオンチェーンでの処理していては、キャンセルの注文を通すにもマイニングを待つ必要があり、マイニングされたのちにキャンセル処理が反映されるまでも時間がかかってしまいます。

また、マイニングの遅さとは別のシステム上の処理の遅さも、ある実験によって証明されています参考資料
しかし、なぜこうしたシステムの遅れが生まれているかは明らかになっていません。

ブロックチェーン全体に負荷がかかる
また、キャンセルのためのマイニングが頻繁に発生するDEXが稼働しているブロックチェーン環境では、マイナーが予め低い手数料設定の取引を膨大に作成しておくことで、一般的なユーザーの手数料の平均額を引き上げることができてしまいます。これをマイナーによるフロントランニングといいます。

これによって、Ethereum全体に無意味なトランザクションが増える、という問題が起きているという指摘があります。

このように、通常の取引所がオフチェーンで処理することによって、迅速かつ円滑に運営しているポイントがそのままDEXのネックとなってしまっていたのです。

0xとは

0x

0xは、EthereumブロックチェーンによるDEXのためのオープンプロトコルです。また、今後多数のトークンが乱立することを見越して、他の優れたDappsを促進するようなコア技術になることを意図しています。

EtherDeltaでは、注文内容の変更やキャンセルもオンチェーンによる処理を行なっていたので、取引の遅延、高額な手数料などの問題が発生していました。また、取引の約定を1つのWebサイトが行う形になっていたので、その他のDappsとシームレスに接続することが難しいという潜在的な課題を抱えています。

0x2

そこで0xは、自身をブロックチェーン上で自動的に通貨の交換処理を実行するプロトコルと位置づけました。その一方でマッチング機能をオフチェーンで行う仕組みにし、さらにその役割を誰でも担えるようにしたのです。

こうすることで、「取引の効率化」と「低い手数料」「シームレスなDapps連携」を実現しています。

以下の図を御覧ください。

0x2

0xでは、マッチング機能を果たす役割を「リレイヤー」と呼び、誰でもその役割を果たせるようにしています。また、多くのDappsからも直接0xのプロトコルが実行できるように連携を進めています。(https://0xproject.com/wiki#List-of-Projects-Using-0x-Protocol)

EtherDeltaではEtherDelta自身がマッチング・交換の役割を果たすのに対して、0xではオフチェーンでのマッチング機能を果たすリレイヤーという役割を開放して自身は管理者不在のプロトコルとなったのです。

またリレイヤーには、ZRXというトークンを報酬として発行し、参加者全員に動機づけを行っています。

0xの課題

しかしながら、まだまだ0xにも課題が残っています。

ガバナンスに若干不透明さが残る
0xはZRXという独自のトークンを発行しています。このトークンには2つの機能があります。

・リレイヤーへの報酬を支払う
・0xプロトコルと資産を保持するcontractを発展させる「分散型ガバナンス」へ報酬を支払う

まず、ETHでリレイヤーへの支払いができるのにも関わらず、ZRXを使い支払いを行う点が不透明と指摘されています。次に、0xのホワイトペーパーでは、「分散型ガバナンス」がどのように機能するかが詳しく書かれていません。

もちろん0xにも開発者がいるので、彼らへの報酬として前半は必要としても、後者については今後の発表に期待しましょう。

フリーライドができてしまう
0xでは2つの取引方法が設計されています。それは、

・リレイヤーを経由する取引(broadcast order)
・売り手と買い手がリレイヤーを介さない一対一型の取引(point-to-point order) の2点です。

前者はリレイヤーがインセンティブを受け取りながら、注文を管理する仕組みです。 対して、一対一型の取引では、リレイヤーを介す必要がありません。

しかし、仮に
1. あるメイカーがリレイヤーにOという注文をだす
2. あるテイカーがOを発展し、何かしらのメッセージ機能で直接繋がり、Oと同等の注文O’をメイカーに送る
3. O’を受けたメイカーが、OのキャンセルとO’のサインを同時に履行する

1〜3のような裏取引が起きた場合、Oは履行されないのでリレイヤーに報酬は支払われません。つまり、リレイヤーを利用しながら報酬の支払いを回避することが構造上は可能です。

0x3

これは、一般的なC2Cサービスと同様の「マッチングと支払をどう切り分けるのか」という問題が発生してしまっている、ということですね。

マッチングをオフチェーンで行っている以上仕方がない面もあるのですが、この欠陥が放置されると、リレイヤーへのインセンティブが無くなり、リレイヤーが取引に参加しなくなったり、報酬の適正な価格競争も生まれなくなってしまいます。

まとめ

中央集権型取引所のハッキングリスクが危ぶまれていますが、DEXにもまだまだ課題が残っています。

とはいえ、今後たくさんのトークンがどんどん生まれてくると、中央集権型の取引所ではなくDEXによる交換処理が重視されるようになるでしょう。

なぜなら、中央集権型の取引所が取り扱うトークンを増やせば増やすほど、マッチングのためのオーダーブック提供と秘密鍵の管理を提供するコストがどんどん増加していくからです。

また、0x以外にもKyberNetworkやOmegaOneといったクロスチェーントレードを可能にするDEXの開発などが進んでおり、ここまで述べてきた課題が解決されることも期待されています。

仮想通貨資産の安全管理に対する意識が高まる昨今ですが、資産の安全な取引のための重要な要素となるであろうDEXの進捗には目が離せません。

サムネイル画像
この記事を書いたライター GincoMagazine編集部
ライター紹介
PAGE TOP