DEX開発してみた(1)

f:id:simplex-blog:20181219212050j:plain

初めまして、ツルミです。僕は投稿初めてなので軽く自己紹介します!

普段の業務ではFXのディーリングシステム開発を主に行なっていて、 その傍らで、ブロックチェーン関連の研究開発を行なっています。

今回は、仮想通貨・ブロックチェーン界隈でよく話題に挙がる「DEX」について、調べてみたり作ってみたりしたので、ここからはDEXについての話をしていきます。

本記事では、DEXの特徴を簡単にまとめた内容と、課題の紹介までしたいと思います。 開発については「DEX開発してみた(2)」で書こうと思います。

DEXとは

DEX(Decentralized Exchange)とは分散型取引所のことで、Dappsの一種です。

Dappsとは分散型アプリケーションのことで、ブロックチェーン上で動くアプリケーションのことを言います。

DEXの大きな特徴は大きく以下の3つだと思います。

  • P2Pの取引が可能
  • 取引履歴をブロックチェーン上に書き込むため、取引履歴改ざんのリスクがほとんどない
  • 仮想通貨交換業者が秘密鍵の管理をしない

特に、仮想通貨交換業者が秘密鍵の管理をしないことで、資産管理を個人で行う点が特徴的であると思います。

従来の仮想通貨交換所 vs DEX

従来の仮想通貨交換所

いわゆる仮想通貨交換業者と言われる業者のシステムは、全顧客分の秘密鍵を管理しています。 そのため、交換業者の秘密鍵を管理しているシステムがハッキングされると、顧客全員の資産が危険にさらされてしまう恐れがあります。

f:id:simplex-blog:20181227145734p:plain

また、取引履歴等のデータは交換業者が管理しており、交換業者が不正やミスをしないという前提で自分の資産を預ける必要があります。

ユーザのメリット

  • 運営している業者のサポートが受けられる

ユーザのデメリット

  • 仮想通貨交換業者のシステムがハッキングされる = 自分の資産が危険
  • 運営している業者の内部不正リスクがある

DEX

一方、DEXはブロックチェーン上にスマートコントラクトとして実装され、秘密鍵を顧客が自分で管理することになります。 特定の交換業者が管理をする必要がないため、顧客全員の資産が1度に危険に晒されることはありません。

f:id:simplex-blog:20181029211513p:plain

ユーザのメリット

  • 仮想通貨交換業者がハッキングされる ≠ 自分の資産が危険

ユーザのデメリット

  • 手数料がかさむ場合が多い
  • ユーザが少なく流動性が低い

DEXの課題

ユーザのデメリットで挙げているように、DEXには以下のように様々な課題があります。

  • 手数料がかさむ場合が多い
  • ユーザが少なく流動性が低い
  • 取引処理が遅い
  • 同じプラットフォーム上のTokenしか交換できない

手数料がかさむ場合が多い

中央集権型の仮想通貨交換所で有名なBinanceは、高くても出来高の0.1%の手数料がかかります。 それに対しDEXは、gas(トランザクション手数料)がトランザクション毎にかかるため、DEXに対して操作をする毎に手数料がかかってしまうというデメリットもあります。 例えば、注文は発注する、注文をキャンセルするといった一つ一つの操作に対して、手数料が発生してしまうことになります。

ユーザが少なく流動性が低い

現状中央集権型の仮想通貨交換所と比較して、出来高が圧倒的に少ない状況です。 流動性が低いと自分が取引したいと思っている価格での取引が難しくなります。

取引処理が遅い

EthereumのメインチェーンでDEXを動かすとなると、トランザクションが詰まることによって、処理スピードが遅くなってしまうという課題があります。 Ethereumのトランザクションは最大で15tps(transactions per second)と言われています。(2018年6月時点) つまり、最大でも1秒間に15件の取引までしか処理されないということです。 一方中央集権型の仮想通貨交換所として有名なBinanceでは、ブロックチェーンの処理速度に依存していないため、 1秒間に140万もの注文を処理することが可能です。

同じプラットフォーム上のTokenしか交換できない

例えばEthereum上のDEXなら、Ethereum上のTokenのみを交換することが可能です。 Ethereumでは、ERC20という規格で実装されたTokenであれば何でも(OMG、BNB等)交換可能ですが、BTCといったEthereum以外のチェーンのTokenとは交換できません。 異なるチェーン間の通信を可能とするクロスチェーンという概念を実装することができれば、DEXの需要もさらに高まっていくかもしれません。

課題解決ソリューション

上記のような課題を解決していくためのソリューションが日々か検討されているので、一部紹介していこうと思います。

ブロックチェーンの処理速度を改善するソリューション

DEXの処理速度の向上には、ブロックチェーンそのものの処理速度の向上が必要です。 以下のソリューションはスケーラビリティ問題と言われているブロックチェーンの処理速度の問題を解決しようとしているものです。

  • Side chain(Plasma)
  • Sharding
  • Proof of Stake(Casper)
  • State Channel

まとめ

現在は出来高も少なく、仮想通貨交換所が主流であると言えますが、今後DEXが抱える課題を解決するソリューションが発展していけば、出来高が上がっていく可能性は十分にあると思います。 今回は軽くDEXの概要を紹介したのですが、次回はDEXのコーディングについて書いていこうと思います。