IBM Cloud Blog

みずほフィナンシャルグループ 銀行システム開発におけるブロックチェーン活用に向けた取り組み

記事をシェアする:

日本アイ・ビー・エム株式会社 紫関 昭光

解説:日本アイ・ビー・エム株式会社 紫関 昭光
IBMクラウド事業本部 IBMクラウドマイスター クラウドブロックチェーンリーダー

みずほ情報総研はクラウドやオープンソースツールを駆使し、短期間でブロックチェーンのプロトタイプアプリケーションを開発しました。欧米と比べてインハウス・デベロッパーが相対的に少ない日本の企業ではこのようなプロジェクトは実現が難しいと思われていました。これを成し遂げる原動力は、やる気のある技術者とそれを支えるエグゼクティブやマネージメントの存在、そしてそれを支える企業文化です。また、このプロジェクトはインフラ、プラットフォーム、アプリケーション開発の全てをカバーするフルスタックな技術者が、ビジネスアイデアをいかに素早く具現化できるかを示しました。

今回の記事では、みずほフィナンシャルグループのプロジェクトを担当した若手グループが執筆したレポートをご紹介します。


みずほフィナンシャルグループでは各グループ会社にて培われてきたIT 知見・リソースを結集し、「技術に対するアンテナ」「技術に対する目利き」「技術を使いこなす」グループ組織力を高めるべく、銀信証・グループ開発会社3社も一体となり各種先端技術活用に取り組んでいます。今回はその中でも、みずほ情報総研の銀行システム開発におけるブロックチェーン活用に向けた取り組み事例をご紹介します。

昨今、ブロックチェーン活用に向けた取り組み事例は話題に事欠きませんが、日本の金融分野での具体的応用は各社が模索している段階です。

ブロックチェーンが銀行システム開発にどこまで活用できるのか、どのような考慮が必要なのか、手触り感を持って検証していくことは今後実用段階に移った際、大きなアドバンテージになるという思いから、社内を横断してチームを立上げ、業務の合間を縫いながら1ヶ月余りの短期間で送金業務を想定したアプリケーションを構築しました。

若手社員が自主的活動に端を発し、ボトムアップでクイックに生まれたチームがうまく機能したという組織的な特長についても目を向けていただき、この記事をお読みなった皆様に少しでも参考になれば幸いです。

アプリケーション概要

我々はブロックチェーンを活用した送金機能を実装しました。送金機能の選定理由は、銀行業務のうち最もシンプルで馴染み深く、またP2Pによる取引の実現というブロックチェーンの特長を活かせると考えたからです。

主要機能となる2者間における送金機能、過去の取引を表示する送金履歴出力機能をNode.jsのexpressやGo言語を使用して実装し、そしてアプリ利用者がブロックチェーンネットワーク上に記録されたブロックの様子を確認できるようブロック情報取得機能を実装しています。

短期間での開発を実現するために提供されているREST APIをフル活用しました。Hyperledger Fabric v1.0 から REST API のサポートは縮小されますが、Hyperledger Composer と組み合わせることで、強力で使いやすい REST API が利用可能です。

アプリケーション図

 

取り組みの4つのポイント

今回の取り組みにおけるポイントは以下の4点です。

1. パーミッション型ブロックチェーン、Hyperledger Fabricの活用

銀行システムを構築する上で最も大事なお客さま情報をセキュアに扱える点、世界150以上の先進的IT企業、ユーザー企業が協業するHyperledgerの主要プロジェクトであるという将来性を重視し、パーミッション型のブロックチェーンのHyperledger Fabricを活用しました。

2. WebEx、Slackを利用したコミュニケーションとネットワーク型組織の採用

社内を横断して集まったメンバーが、物理的に離れた拠点間においても円滑な意思疎通を行なえるよう、WebEx、slackを始めとした最新のコミュニケーションツールを活用しました。また、我々はメンバー間の相互作用を促し、自主的な活動を最大限活性化できるだろうという思いからネットワーク型組織を採りました。プロジェクトの方向性で意見が割れそうなときは民主制を採用し早期に合意形成を行い無用なプロジェクトの停滞リスクを排除しました(昨今のビットコインの分裂は、この民主制が故に合意形成できずに分裂したのですが・・・笑)。

3. アジャイル開発の実践とパブリッククラウド、DevOpsの活用

Hyperledger Fabricに限らず、ブロックチェーン技術は現在黎明期を越え、まさに実用段階に入ろうとしています。各社がしのぎを削る中、スピード感を持って検証することが求められました。その様な状況下では、システム化計画の策定やシステム設計を入念に行うよりも、まずは動くアプリを作成し、利用者の立場に立ってアプリのレベルアップと課題の抽出のサイクルを廻す方が手触り感を得る上で魅力的であったため、我々は慣れ親しんだウォーターフォール型ではなくアジャイル形式での開発を実践しました。

また、ブロックチェーンネットワークをPaaSとして提供するBluemix、ソースコードの共有、ビルド&デプロイを簡単に行えるDevOps services(IBM Continuous Delivery service の toolchain)の活用は、我々の開発の円滑な推進を後押ししてくれました。

4. ブロックチェーンの仕組みを身近に感じる工夫

「取引ラッシュまつり」と称した社内公開負荷テストを企画し、参加者を社内から募りました。特定の日時に各々の端末から送金を一斉実行することで、一定間隔に複数取引が集中したときに生成されるブロック内容を検証すると共に、60名以上の社員にアプリを実際に手に触れてもらうきっかけとしました。加えて、我々はブロックチェーンネットワーク上に記録されたブロック情報を取得する機能を実装しましたので、参加者はブロックの積まれ方や、各々のブロックがチェーンとなってつながる様子を見て、ブロックチェーンの仕組みに対するイメージをもってもらうことができました。

取引ラッシュまつりの様子

ブロックチェーン実用化に向けた考察

結論からいうと、Hyperledger Fabric v0.6を始めとするブロックチェーン技術をそのまま銀行システムへ適用することは現時点では幾つか課題がありますが、それらは既存技術との組合せや、ブロックチェーンの進化により解決されるものであり、十分な検討余地があると評価できます。

例えば、あるユーザーに紐付く送金取引履歴を取得する処理をブロックチェーン上で実装しようとすると、ユーザー情報をキーとして、積上げられたブロックの情報を最初から最後まで読み込み、復号した上で、紐づく取引の出力を行わなければなりません。これでは全ての取引履歴を保有するというブロックチェーンの性質上、取引が積上がるにつれ参照すべきブロックは増大し、比例して処理時間が長くなります。

これはブロックチェーンの最も原始的なコンセプトとなる台帳構造に起因するものですが、解決できる課題であると考えています。既存技術を活用した一例として、取引履歴の記録はブロックチェーン上に記録し、ユーザーと取引の紐付け処理をRDB上で実装すれば処理の高速化が期待できます。

また、Hyperledger Fabric v1.0を利用すればワールドステート上に取引明細という形で履歴を保持し、強化されたクエリー機能(SELECT WHERE が使えるようになりました!)で検索することが可能になるため、そのようなデザインを選択することの優位性は一段と高まっています。

上記の他にも、認証局が単一障害点となる等の課題がありますが、Hyperledger Fabric v1.0では認証局のクラスター化、合意形成アルゴリズムの改善等、Hyperledger Fabric v0.6での課題が一挙に解決されるなど、凄まじいスピードでブロックチェーンは進化しています。

単にRDBと比較して使えないと切捨てるよりも、高可用、高セキュリティなサーバーを安価に構築できるというブロックチェーンの本質的な価値に目を向け、腰を据えて検証に取組むことが将来ブロックチェーンのもたらしてくれる恩恵を享受する一歩につながる、と今般の開発を通して確信しました。

所感・今後に向けて

今回我々が行った、この組織を超えた自発的な取り組みはみずほ情報総研株式会社におけるFinTechへの取り組みを加速させ、アジャイル開発や最新ツールを使った開発手法の活用を促進するきっかけとなる、大変意義のある活動だったという手ごたえがあります。

今後の更なる躍進に向け、ブロックチェーンの更なる理解、実運用に向けた検討を行い、最終的には、銀行システム、または社内システムへの適用をみずほフィナンシャルグループ一体となって推進していきたい。そう考えております。


プロジェクトに関わったメンバー
左から:北岡真弥 藤本卓臣(著者) 渡邉亮介(著者) 千崎良太 前橋慶一 齊藤圭祐

執筆:みずほ情報総研株式会社 渡邉亮介 藤本卓臣

More IBM Cloud Blog stories

リソース不⾜への対策

IBM Cloud Blog

業務・IT環境・運用管理、それぞれのリソース不足に最適な解決策と事例 「リソース不足」という難儀な言葉は、いた ...続きを読む


信頼できるAIを実現するWatson OpenScaleの始め方①

IBM Cloud Blog

「AI」という言葉が世の中に急速に普及しており、新聞、雑誌等で目にしない日はないというほどの広まりを見せていま ...続きを読む


コンテナとは何か

IBM Cloud Blog

マイクロサービスの基盤となるコンテナ コンテナとは、アプリケーションの実行に必要なOSのライブラリやランタイム ...続きを読む