オリジナル仮想通貨取引システムをご紹介
一時期、ビットコイン等の仮想通貨は、その投機性の高さから大きな話題となりました。現在は以前より注目度が下がってきましたが、実際では欧米市場において仮想通貨は一般化しており、日本でも一部大企業が仮想通貨に参入しているそうです。例を挙げると、一部の仮想通貨がアメリカのスターバックスで利用可能になるなど、現在進行形で活用が進んでいます。
トレンドに敏感な2NFは、その市場が今後とも成長していくことを把握済みで、数年前から仮想通貨取引システムの研究・教育に投資しています。今回は仮想通貨について、その歴史を振り返るとともに、弊社 2NFが開発した仮想通貨取引システムを紹介します。
<目次>
1. 仮想通貨の歴史
1983年、アメリカの暗号学者デイビッドチャウムは、ecashと呼ばれる匿名の暗号化電子マネーを考案しました。1990年に、彼は自分の研究アイデアを商品化するために、オランダのアムステルダムで暗号通貨会社DigiCashを設立しました。DigiCashは暗号化電子決済の初期の形態と言われます。しかし、ユーザーの拡大に困り、1998年には DigiCashは倒産しました。
また、90年代当時、E-Goldは米国で高い評価を得ていたプロジェクトの一つでもあり、月々数十億ドルのトランザクションを処理していました。ただし、セキュリティ制限が緩いため、ハッカーに攻撃・悪用され、2000年以降E-Goldは衰退し始め、2009までに完全に絶滅しました。
2009年に、最初の分散型暗号通貨である BITCOIN(ビットコイン)は、インターネット上で発表した論文をもとに、ナカモト・サトシなる匿名の人物によって開発されました。ナカモト・サトシの正体は未だに不明です。
ビットコインは登場すると世界中の出来事と連動し、ハッキングによる流出やマネーロンダリング用途での利用、一部国での物品購入の違法化といった問題が発生しながらも価値を上げていきました。
ビットコインが初めて現実世界で通用する通貨としての価値をもったのは、2010年5月22日のことです。フロリダのプログラマーが「ビットコインでピザを注文したい」とビットコインの開発者のフォーラムに投稿したのがきっかけでした。その投稿に応じたピザ屋がいて、「ピザ2枚=1万BTC」で取引が成立したのです。
ピークが訪れたのは2017年後半、ビットコインを含む仮想通貨は高騰をみせました。2016年に10万円だったビットコインが、2017年には230万円の価値を付けたのです。
しかし、その後ビットコインは先行きを不安視する人が増えたことや海外での取り締まりの強化によって価格が急落し、2018年に入ると2017年に記録した最高値の40%以下まで価格が暴落してしまいました。
現在2020年に至るまで、世界には5400以上種類の仮想通貨があります。
2. 2NFが開発した仮想通貨取引サイト
(個人情報保護規則のため、サイト名を非公開にさせていただきます。)
2.1. システム概要
仮想通貨取引サイトは、様々な通貨の売手と買手が出会う無休市場です。 そして、流動性、実行の迅速性、資産安全性といった3つの主な機能を求められます。
- 流動性:(a)入札・オファーの差を低く維持するため、(b)価格を大きく変更せずに大きな注文を処理するため、買手と売手が探し合えた十分なボリュームが必要。
利用可能な流動性は、受注伝票、市場深度チャート、および開発者APIを介して顧客に伝達されること。
- 実行の迅速性:顧客の視点から、各注文が即座に且つ迅速に処理されるシステムが求められる。 観客が価格を設定してから注文はすぐ処理されないが、すべての注文のステータスが即座に見えるようにすること。
- 資産の安全性:取引所に保管された金銭が安全であり、その取引所も安心して利用できるという確信を観客に与えるシステムである。 顧客が取引所のバックエンド操作を目で見られないので、通信と機能を通じて観客に安全性が伝わることが重要。
2.2. システム構造
弊社は、仮想通貨取引サイト向けのデザインを設け、高速パーフォマンスの暗号通貨取引システムを構築しました。 WebSocketを使用することで、1秒あたり最大10000の取引を、ユーザー対マーケットのリアルタイムなデータ通知と共にサポートできます。
Application Layer(アプリケーション層):
ウェブクライアント、iOS、Android、第三者アプリケーションを含む。
Access Layer(アクセス層):
Cloudflare CDN と、Amazon Route53 DNS Load Balancer を含む。
- Cloudflare CDNは、DDoSを防止し、システムのキャッシングを提供する。 クライアントからHTTPSリクエストを受け取り、また、クライアントや第三者にRestful API を提供する。
- Amazon Route53 DNS Load Balancerは、ウェブソケットを通してリアルタイムにデータを配信し、WebサーバーとSocketサーバーの調子を検査する。
Service Layer(サビース層):
WebサーバーとSocketサーバーを含む。
- Webサーバーは、高速パフォーマンスを備えた取引バックエンドである。
- Socketサーバーは、イベントベースと高性能ネットワークプログラミングライブラリを使用するLaravel Echoサーバであり、1000K件のTCP接続を容易にサポートできる。 TCP/UDP/UNIX SOCKETサーバーとクライアントの実装、シンプルタイマー、ステートマシン、スレッドプールを含む。
Storage Layer(ストレージ層):
- マスターデータベース:Webサーバーからデータを書き込むためにのみ使用される。
- スレーブデータベース:マスターデータベースからリアルタイムで複製される。Webサーバーはスレーブデータベースからデータベースを読み込む。
- Redis:Redisの監視グループは、市場データを保存するためのものである。 オーダーマッチングサーバ⇔Socketサーバの間でデータを公開・登録するメモリキャッシュである。
- ボット&クローラーデータベース。
Micro Services(マイクロサービス)
- Order Matching Service:ユーザーバランスを記録するため、ユーザーの注文を実行するための最も重要な部分である。 これはメモリデータベースにあり、MySQLに操作ログを保存させ、開始時に操作ログを再現させる。また、ユーザーの履歴をMySQLに書き込み、残高・注文・取引メッセージをプッシュを配信する。
- Job Processor:メールの送信、暗号コインやUSDT等の出し入れ・デポジットを提供する。
- Backups service:データベースをバックアップする。
- ボット及びクローラーサービス
Blockchain Networks(ブロックチェーンネットワーク):
これは、BitGoウォレットAPI サービスと、カスタマイズウォレットAPIサービスを利用した暗号通貨ウォレットシステムである。
- BitGoウォレット:これは、資産管理を気にすることがなく、ほとんどのセキュリティ問題を解決できた最高のマルシチグのソフトウェアである。 全てブロックチェーン上で実装し、マルチシグネチャ技術、優れたプライバシー保護、二段階認証、フィッシング対策保護を提供する。 さらに、BitGoも、BTC・ETH・ BCH,・XRP・ LTC向けのウォレットを提供できる。
- カスタマイズウォレット:これは、弊社 2NFが開発したウォレットシステムである。DASH, ETC, ERC20 Tokens, NEO, QTUM, EOS等をサポートする。
終わりに
今回紹介した知識がお役に立てば嬉しく思います。仮想通貨とともに生まれたブロックチェーンの技術は仮想通貨での利用に限らず、他の業界でも活用可能な技術として研究が進んでいるのも事実です。
しかし、仮想通貨テクノロジーはまだ新しく、根本的にリスクがあります。このため「デジタルゴールド」となるのはまだ先のことでしょうが、それまでは投機的取引が仮想通貨の最大の市場であり続けると予測しています。