【完全解説】分散型取引所イーサデルタのスマートコントラクト

こんにちは、アカネヤ(@ToshioAkaneya)です。

仮想通貨が取引所から盗難に会うという事件が多発していますね。

その影響を受けて、分散型取引所と呼ばれる取引所が徐々に広まっています。

 

bitFlyerやcoincheckといった通常の取引所は中央集権型取引所と呼ばれます。

中央集権型の取引所の場合、利用者の秘密鍵はインターネットからアクセス可能な場所にあります。

これが取引所のセキュリティリスクを高めています。

一方、分散型取引所の場合は秘密鍵をインターネットに接続することなく取引をすることができます。

そのため秘密鍵が盗まれるリスクは低くなります。

 

分散型取引所の仕組みについてはまだまだ議論の余地があり、発展途上と言えます。

今回は分散型取引所の一例としてイーサデルタ(EtherDelta)を紹介します。

 

イーサデルタは2016年から稼働している取引所で、イーサリアムネットワークにデプロイしたスマートコントラクトを利用して取引を行なっています。

注意点ですが、分散型取引所では仮想通貨同士の取引しか行うことが出来ません。

円とビットコインを取引する、ということは出来ません。

 

イーサリアムについては、ビットコインに次いで2番目の仮想通貨だという認識が一般的かもしれません。

しかし実際はイーサリアム自体は仮想通貨ではありません。

スマートコントラクトと呼ばれるブロックチェーン上で実行されるプログラムのためのプラットフォームです。

そのプラットフォームで通貨の役目を果たしているのがイーサ(ETH)です。

イーサデルタでは、イーサと、イーサリアムベースのトークンの取引が行えます。

 

イーサデルタが開発したスマートコントラクトは単純なものです。

それは、2者からの注文を受け取るとその注文内容を実行するというプログラムです。

イーサデルタは2者からの注文のマッチングを行い、取引自体はスマートコントラクトに任せる形を取っています。

このため、利用者は秘密鍵をインターネットに接続することなく取引が行えます。

さて、これで基本は分かって頂けたと思います。

 

ここからは少し細かい話をしていきます。もし分からなくても気にしないで下さい。

スマートコントラクトを実行するにはガスと呼ばれる手数料がかかります。

このガスというのはイーサで支払うため、実際のお金がかかることになります。

ガスを消費しないようにするには、スマートコントラクトを実行する回数を減らす必要があります。

イーサデルタでは次のような工夫をしています。

図1

AさんがETH/EOSの注文を出したいとします。

その注文をスマートコントラクトに送るのにすらガスがかかります。

そこで、AさんはEOS/ETHの注文に自分の秘密鍵を使い署名して、取引所に渡します。

取引所はAさんの注文を板に載せます。

その後、ETH/EOSの取引をしたいBさんが取引所の板を見に来ます。

Bさんは板にAさんの注文を見つけました。そして、その取引をすること決めました。

この時Bさんはその署名付きの注文をスマートコントラクトに提出します。

Bさんはスマートコントラクトに「この注文の受け手を自分にBさんに設定して、取引を実行して下さい!」とお願いするわけです。(図1)

図2

スマートコントラクトは署名からAさんのアドレスを割り出し、AさんとBさんの間の取引を行います。

さらに、スマートコントラクトはBさんからイーサデルタの運営に手数料としてイーサを送ります。

ちなみに、板に注文を載せたAさんに取引所への手数料はかかりません。(図2)

 

いかがでしたでしょうか。

今後は分散型取引所がよりメジャーになってくることでしょう。

【追記】プログラミングスクールのレビューサイトを開発しました。

この度、プログラミングスクールのレビューサイトの「スクールレポート」を開発しました。

プログラミングスクールの人気は年々高まっているものの、高額な受講料を請求しておきながら質の低い教育を提供する悪質なスクールも見受けられるようになってきました。

今回開発した「スクールレポート」では受講生の方のみレビューを投稿することが出来ます。

プログラミングスクール業界がより健全なものになることを願っています。

スポンサーリンク