2019.6.20

仮想通貨・フィンテック技術のケーススタディ

  • システム開発

仮想通貨基盤の構築にあたっての6つの技術要素と、仮想通貨基盤をこれから計画するためのポイントをご紹介いたします。

当社では、ビットコイン・ブロックチェーン技術を用いた仮想通貨基盤システムの構築・運用の支援を行っています。
通常、仮想通貨の実現には数回の社会実験を経て実用にこぎつけます。各実験のフェーズに応じた開発のステップがあり、ビットコイン基盤技術を中心に、入出金管理システム、バーコード決済システム、ユーザー向けスマホアプリ、カード決済システム、それらの開発インフラや運用保守など多様なテクノロジーを組み合わせて各実験テーマを実現していきます。

実際に当社が担当したお客様の支援ケースでは仮想通貨基盤の構築にあたって、大きく分けて6つの技術要素が重要となりました。

①ビットコイン基盤技術

自社で培ったフィンテックテクノロジーに加え、ブロックチェーン技術に強いパートナーとの協業によりビットコイン関連ライブラリを活用した独自の仮想通貨の仕組みを実現しています。
ビットコイン技術による独自仮想通貨を実現するにあたり、パブリックブロックチェーンのビットコインでは取引を確定させるまでに約10分かかる点や大量の取引履歴がある場合の取引の妥当性や残高の確認に時間がかかるなどユーザーにとって購買体験が著しく遅くなるといった性能面の課題がありましたが、

  • ビットコインをプライベートブロックチェーン(regtestモード)として利用する
  • SPVウォレット方式で、中間層でビットコインの取引処理を行う

といった対策を行っています。このように多様な方式の中からその仮想通貨にベストな選択をするお手伝いをしております。

②ハイブリットクラウドの活用

仮想通貨では、レスポンスだけなくデータや鍵の安全性も同時に問われます。そのため、案件によってはレスポンスと拡張性を求められる部分をパブリッククラウド(AWS)、データを守るべき部分をプライベートクラウド(FINEQloud)に役割分担を行うハイブリッドクラウドで設計するなどの工夫をしています。

③マルチクラウドマネジメント

仮想通貨に最適なクラウド環境を設計すると、マルチクラウドによるマネジメントが必要になるケースが多くあります。その場合、両クラウドの監視にCloud Watch、Zabbixなどを活用しながら千手などの運用監視ツールで一元管理を実現するなど工夫しています。さらに、通知内容の自動応答電話を利用して、担当者不要の管理を実現するなど運用効率の良い体制を構築しています。

マルチクラウドマネジメント

マルチクラウドマネジメント運用監視イメージ

④PaaSの活用による開発期間・コストの圧縮

当社クラウドサービス『FINEQloud』を活用できる案件では、FINEQloud上でDCS PaaS (OS・ミドルウェア・Javaフレームワークを、Ansible・Docker技術を用いてパッケージしたPaaS環境)が提供されており開発生産性を向上させることができます。PaaSの活用により開発期間の圧縮、コストの圧縮を実現するためのご提案をしています。

⑤AWSにおけるコンテナ技術

仮想通貨の普及規模に応じた拡張性を担保するため、コンテナ技術を活用しています。コンテナ技術の活用によりDockerさえ動けばOSレイヤー・アプリケーションを含めた各基盤の依存関係を気にしなくてもリリース管理を行うことができるため開発・運用効率を上げることができます。
また、コンテナのオーケストレーションサービスを使うことで、

  • 負荷分散を含めた一元管理でリリース管理を行う
  • ユーザー規模の拡大に応じてアプリケーションサーバーの構成をスケールアウトする
  • メンテナンス時のサービス停止時間を極限まで少なくする

など管理性能を高めることが可能です。

AWSにおけるコンテナ技術の活用イメージ

⑥アプリケーションレベルでのボトルネック探知

アプリケーションレベルの監視では、通常エラーがあったらエラー箇所を推測してボトルネックを調査し直す手順が一般的です。
当社がご支援したケースではインフラアプリのリアルタイム監視ができるNewRelicを活用しアプリケーション内でのボトルネックをいち早くつかむための仕組みを導入しています。エラーが出る前にボトルネックをつかみ、ユーザーに不具合がでる前に予兆を検知することでサービスレベルを高める工夫をしています。

上記のような技術要素や工夫を取り入れながら、お客様が理想とする仮想通貨の形を実現するお手伝いをしています。

仮想通貨基盤をこれから計画するためのポイント

これから仮想通貨基盤を構築するお客様には下記のポイントを押さえた設計が必要だと考えます。

①鍵の管理をどれだけセキュアにできるか

仮想通貨においてもインフラとしてクラウド環境を活用することは当たり前となってきました。クラウドを活用したうえで、鍵やデータがよりセキュアな環境で運用される必要があります。パブリッククラウドだけの運用では、セキュリティ対策も一定レベル以上は自分たちで行う必要があり、セキュリティ対策に大きな負荷がかかります。セキュリティレベルの高いプライベートクラウドとパブリッククラウドをハイブリッドに活用することで、セキュリティの担保とクラウドのメリットを共に享受できる設計も可能です。

②仮想通貨ユーザーから見た最適な基盤設計

パブリックブロックチェーンの確実性のメリットをとると、トランザクションの確定に時間がかかるデメリットを避けて通ることができません。しかし、仮想通貨技術についてはすでに多数のライブラリも準備されており、技術的な組み合わせや工夫でデメリットを解決できる場合もあります。利用ユーザーのメリットから見たときにもっともメリットを享受でき、デメリットを軽減できる設計を心掛ける必要があります。

③機動力のある運用体制をどのように構築するか

通貨や決済に関わるシステムでは停止時間、メンテナンス時間を極限まで抑えることが大切です。そのためにマルチクラウド環境であっても一元管理や見える化を推進することで機動力の高い保守を行う必要があります。
さらに、単にシステムを動かすだけでなく、ユーザーにとってよりよい仕組みとなるように機動力のある保守・運用体制も大切です。先にご紹介したようにアプリケーションレベルで事前にボトルネックの予兆を察知し、ユーザーに障害がでる前に検知するなどの工夫も可能です。機動力のある保守になるよう設計時から工夫を凝らしていく必要があります。

今後、当社も仮想通貨基盤のご支援が増えていくことが予想されます。当社も積極的に技術的な銀行・金融機関との連携機能の強化、新しい技術の活用・検証を進めており、日々知見を蓄えております。仮想通貨基盤構築にあたって、お困りごとがありましたらお気軽にご相談ください。

関連するソリューション・サービス