知ってる? 暗号資産取引サービスの基本技術。アーキテクチャとセキュリティをコインチェックが解説
【9-C-7】暗号資産取引所のアーキテクチャとセキュリティ
暗号資産取引サービスのアーキテクチャと求められる技術とは
続いて、喜屋武氏は暗号資産取引サービスのアーキテクチャについて説明した。
基本となるアーキテクチャは大きく、オフチェーンとオンチェーンの2パターンに分けられる。ユーザーの暗号資産取引を直接ブロックチェーン上に記録するのが、オンチェーン。データベースなど別の場所に記録するのがオフチェーンだ。ちなみに、コインチェックではオフチェーンを採用している。
「たとえばビットコインは約10分で1ブロックを生成し、理論上は1秒間に7トランザクションが処理できる。だが、Coincheckサービス内だけでも取引は秒間60件以上発生している。すべての取引をブロックチェーン上に書き込もうとしても間に合わない量だ。そのため、Coincheckサービス内で行う取引に関するトランザクションは同社データベース上に記録し、他取引所のアドレス間における取引はブロックチェーン上に記録している」(喜屋武氏)
ユーザー向けのインターフェイスやデータベースなどの運用管理は、一般的なWebサービスと変わらない。コインチェックでは、バックエンドにRuby on Rails、フロントエンドにNuxt.js、インフラにAWSを利用しているという。全体のイメージは、下記の画面のとおりだ。Coincheckサービスから他取引所に送金するときは、コインチェックの署名システムでトランザクションに署名してから、ブロックチェーンネットワーク上にブロードキャストする。
これらに加えて、暗号資産取引サービスのエンジニアはブロックチェーン固有の技術を習得することになる。そのひとつが、ノードの運用だ。ノードはブロックチェーンのブロックを管理するソフトウェアで、各チェーンで運用されているノードと同期して最新のブロックデータを取得したり、自社の発行したトランザクションを他ノードにブロードキャストしたりする役割を持つ。
トランザクションやブロックのデータ構造は、ブロックチェーンによって異なる。暗号資産の署名やブロックチェーン上の入出金を正しく検知、処理するには、各ブロックチェーンやトランザクションデータの構造を踏まえて、どのユーザー宛の入金なのかを正確に判定する必要がある。他アドレスに送金する場合も同様で、正確に判定してもらうためのトランザクションを構築しなければならない。
この記事は参考になりましたか?
- Developers Summit 2023 セッションレポート連載記事一覧
- この記事の著者
-
谷崎 朋子(タニザキ トモコ)
エンタープライズIT向け雑誌の編集を経てフリーランスに。IT系ニュースサイトを中心に記事を執筆。セキュリティ、DevOpsあたりが最近は多めですが、基本は雑食。テクノロジーを楽しいエクスペリエンスに変えるような話が好きです。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:コインチェック株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
