いまさら聞けないブロックチェーンの基礎知識と実装の要件

IT・IT製品TOP > Key Conductors > 栗村 彰吾(日本アイ・ビー・エム株式会社) > いまさら聞けないブロックチェーンの基礎知識と実装の要件
この記事をtweetする このエントリーをはてなブックマークに追加

IT現場の道先案内人 Key Conductors

いまさら聞けないブロックチェーンの基礎知識と実装の要件

開発 2016/10/31

 第1回から第2回まででメインフレームLinuxである「LinuxONE」と、その無償のお試し環境である「LinuxONE Community Cloud」を紹介してきました。メインフレームだからこそオープンな環境が必要であることもお伝えしてきた通りです。本稿からは、もう1歩進んで、オー プンスタンダードな環境をメインフレームで動かすことのメリットを掘り下げていきます。

 今回は今話題のブロックチェーンについて、まずは「ブロックチェーンとは何なのか」「ブロックチェーンを実行する基盤に求められるものは何か」、そして「既存のビジネスモデルの何を変え得るのか」を整理していきます。これを理解することで、メインフレームLinuxが皆さんの業務や事業にとって大きな意味を持つことが理解いただけることと思います。

1.そもそもブロックチェーンとは

 「ブロックチェーン」と「ビットコイン」(注1) は同じレイヤーの用語として考えられがちですが、実のところ、「ブロックチェーン=ビットコイン」ではありません。

 ブロックチェーンはあくまでも基盤技術であり、ビットコインは「ブロックチェーン技術で実現されるアプリケーション」です。

(注1)ビットコイン(Bitcoin) インターネット上で取引や通貨発行が行われる暗号通貨の1つ。政府や銀行などの中央機関を介さず、ネットワークの参加者間で取引が行われる。

ブロックチェーンの基礎概念

 まずブロックチェーン技術を構成する重要な概念として、「台帳(Ledger)」「取引(Transaction)」「取り決め(Contract)」という3つの基礎を整理しておきましょう。

  台帳(Ledger)には取引(Transaction)の結果が記録されます。ここで言う取引(Transaction)とは、例えば、 「AさんからBさんに100万円が支払われた」といったものを指します。その取引(Transaction)を行うためには、ビジネス上の取り決め (Contract)が必要となります。つまり、「取り決め」に従い、「取引」を実行し、「台帳」に取引の結果を記録するというのがブロックチェーン技術で実現される処理の一連の流れになります。

 ブロックチェーンを一言で言ってしまえば「台帳」を分散共有して管理する技術です。

 従来はビジネスネットワークに参加している参加者それぞれが台帳を管理する、あるいは第三者機関が中央で管理し、取引の正当性を保証しています。一方ブロックチェーンでは、参加者全員が同じ内容の台帳を所有し、お互いに監視し合うことで取引の正当性を保証します。

図1 中央管理型とブロックチェーン型

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

図1 中央管理型とブロックチェーン型
(出典:日本IBM)

図2 ブロックチェーン全体像

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

図2 ブロックチェーン全体像
(出典:日本IBM)


 ではなぜ、このような技術が注目を浴びているのでしょうか。それはブロックチェーンが各種取引の「期間」「コスト」「脆弱(ぜいじゃく)性」を改善すると期待されているためです。

 例えば、輸出入を円滑に行うために必要な資金の融通を行う貿易金融では、銀行、輸出企業、運送会社、輸入企業などの多数の参加者の間で、大量の貿易書類をやりとりする必要があり、それら文書の処理に多くの手間と時間がかかっています。

  貿易金融に関わる多数の企業でブロックチェーンのネットワークを構成することで、参加する全ての企業が取引情報を記録している台帳を持ち、その台帳に各企業が行う処理(取引)を書き込むことで、その処理が他の企業の台帳にも反映されます。決済指示や処理をワークフローとして自動化することができるので、プロセス の迅速化とコストの削減が期待されています。

 ブロックチェーンは台帳管理を分散化することで、中央管理によって実現していた管理形態をピアツーピア(注2)で実現できるようになります。これにより取引にかかる期間やコスト(仲介手数料など)の削減が可能になり、また不正や改ざんなどをソフトウェア的に制御することが可能になります。

(注2)ピアツーピア(Peer to Peer) 複数の端末間で通信を行う際のアーキテクチャの1つで、対等の者(ピア)同士が通信をすることを特徴とする通信方式。
図3 ブロックチェーンのネットワーク形態

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

図3 ブロックチェーンのネットワーク形態
(出典:日本IBM)

 貿易金融の例のようにブロックチェーンの活用はビットコインのような不特定多数の参加者によるパブリックな環境だけでなく、よりビジネスでの適用性を向上させた コンソーシアム型/プライベート型といった、特定された参加者間でブロックチェーンネットワークを構成するケースもあります。

 IBMはコンソーシアム型/プライベート型のブロックチェーンネットワークにおいて、
標準的なブロックチェーン基盤を推進するオープンコミュニティーであるLinux Foundation (注3)のHyperLedger Project (注4)の発足メンバー、議長として参画しています。IBMはハードウェアやアプリケーションに依存しないブロックチェーンのコアとなるコードを同コミュニティーに寄贈しブロックチェーンの標準化をリードしています。このコアとなるコードはHyperledger Fabric (注5)と呼ばれます。

 IBMはHyperledger Projectのブロックチェーンサービスをアプリケーション開発基盤であるBluemix(注6)上で展開し、また、ブロックチェーン基盤に求められる信頼性、パフォーマンス、セキュリティを備えるLinuxONEでの適用に注力しています。

(注3)Linux Foundation Linuxオペレーティングシステムの普及をサポートする、非営利のコミュニティ。
(注4)HyperLedger Project Linux Foundationが中心となり、世界30以上の企業が協力しブロックチェーン技術を推進するコミュニティ。
(注5)Hyperledger Fabric HyperLedger Projectのベースソフトウェアとして採用されている。
(注6)Bluemix IBMが提供するPlatform as a Serviceの総称。日本を含む世界各地のデータセンターからサービスを提供している。さまざまなアプリケーションを構築、管理、実行するための「オープンスタンダードとクラウドをベースとしたプラットフォーム」。OpenStackやCloud Foundryといったオープンソースソフトウェアや標準化仕様に準拠した技術を多く取り入れている点が特徴。

ブロックチェーンの4つの技術要素

 ブロックチェーンは台帳を分散共有して管理する技術と紹介しましたが、その技術要素について詳しく紹介します。

 先に、ブロッ クチェーン技術を構成する重要な概念として、「台帳(Ledger)」「取引(Transaction)」「取り決め(Contract)」を紹介しまし た。これらはあくまでも概念であり、この概念を実装する際には、具体的なブロックチェーン実装の技術要素「分散台帳」「暗号化」「コンセンサス」「スマー トコントラクト」の4つが必要です(図4)。以降で、それぞれの要素を見ていきましょう。

図4 ブロックチェーン 4つの技術要素

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

図4 ブロックチェーン 4つの技術要素
(出典:日本IBM)

■(1)分散台帳

 ビジネスネットワーク上の参加者間で共有される「取引データ台帳」です。ブロックチェーンネットワークに所属する参加者はピア(Peer)と呼 ばれています。ピアにはトランザクションの実行や合意形成を行うValidatingピア(バリデーティングピア)と、アプリケーションとの連携を行う Non-Validatingピア(ノンバリテデーティングピア)の2つが存在します。

■(2)暗号化

 電子署名機能、認証機能により、取引の正当化や機密保持を確立するための要素です。ブロックチェーンネットワークにおいて参加者間のトランザクションは全て暗号化されます。

■(3)コンセンサス

 参加者間で取引の安全性を検証する仕組みです。参加者が持っている分散台帳に保存されている取引記録がどの台帳においても同じであるように「合意」を行います。

 取引記録を一定数まとめたものをブロックと呼びます。Hyperledger Fabricでの合意形成は「PBFT」(注7)というモデルを用います。その他の合意形成モデルには、ビットコインで使われている「プルーフオブワーク(proof of work) 」(注8)などがあります。

 PBFTではブロックチェーンネットワークの参加者が特定されているため、少ないコストで高速に合意形成が可能です。

 また、取引記録をブロックとして台帳に保存する際に、取引をハッシュ化し、前のブロックのハッシュ値を計算してそのブロックに埋め込む処理を行い、現在と 過去のブロックの関連を持たせます。こうしておくことで、過去の取引記録を操作するには関連する全てのブロックの改ざんが必要となるため、実質的に改ざん は不可能といえます。このようにブロック同士の関係を計算した値として記録することで改ざんを防いでいます。

(注7)PBFT(Practical Byzantine Fault Tolerance ) 複数の複製の間で台帳を同期するためのプロトコル。(N-1)/ 3の参加者が同時に不正をしようとしても、正確な合意形成が可能な点が特徴。
(注8)プルーフオブワーク(proof of work) 不特定多数の参加者のためのブロックチェーンネットワークにおける合意形成メカニズムの1つ。各取引を認証するために算出しなければならないデータまたはそのようなシステム。
■(4)スマートコントラクト

 ビジネスロジックそのものであり、トランザクションが発生すると実行されるプログラムです。Hyperledger Fabricでは「チェーンコード」と呼ばれます。チェーンコードはピアに配布され、トランザクションによりチェーンコードで定義した処理が実行されます。

 チェーンコードの処理にはチェーンコードを登録する「deploy」、チェーンコードを実行し、台帳への書き込みを行う「invoke」、データの問い合わせ、読み込みを行う「query」があります。後述のデモではこれらチェーンコード処理を実行します。

ブロックチェーン技術の4要素に必要な基盤要件とは?

 では、これら4つの技術要素が基盤に求める要件とはどのようなものでしょうか。

■(1)分散台帳

 取引情報を記録するいわば基幹システムとなるため、常に安定的なトランザクションを行え、また高い可用性を持ち、止まらない基盤が必要です。

■(2)暗号化

 参加者間のトランザクションは全て暗号化されるため、高速な暗号化と復号が必要です。また証明書や鍵自体を安全に保管する必要があります。ブロックチェーンは各ノードに台帳を分散して管理するため、各ノードのセキュリティを確保する必要があります。

■(3)コンセンサス

 参加者間で合意形成する際、大量のネットワークトラフィックが発生するため高速なネットワーク通信が求められます。

■(4)スマートコントラクト

 チェーンコードはビジネスロジックのため、プログラムの改ざん防止策や既存システムとのセキュアな連携も求められます。
                   ◇
 
 ブロックチェーンによって新しいビジネスモデルを作るには、これら4つの技術要素が求める要件を十分に満たし、基盤自体にリスクがなく信頼できるものでなければなりません。

2.LinuxONEでブロックチェーンは現実的か?

 ブロックチェーンの4つの技術要素が基盤に求めるものを満たすものがIBMのLinuxONEです。LinuxONEでは次のことでメリットがあります。

図5 LinuxONEでブロックチェーン

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

図5 LinuxONEでブロックチェーン
(出典:日本IBM)


・CPU使用率90%を超える高負荷状態でも安定
 一般的にIAサーバは、高負荷状態になるとパフォーマンスが低下してしまうのに対し、LinuxONEはCPU使用率90%を超えたとしても、パフォーマンスが低下することなく、安定したトランザクション処理や高速なハッシュ処理を行うことができます。

・軍事レベルのセキュリティ機能をハードウェア的に実装
 ハードウェア自体に組み込まれたセキュリティ機能により、コンピュータで唯一軍事レベルに準ずる「EAL5 」(注9)のセキュリティレベルを実現します。セキュリティ事故0件の実績を持ち、改ざん防止や安全な鍵管理が可能。台帳を管理するノードが増えたとしても、セキュリティ上安全にシステムを稼働させられる能力を持っています。

・基幹業務システムとの親和性
 基幹業務システムの多くはIBMのメインフレームで動いているため、既存システムとブロックチェーンシステムをセキュアに連携可能です。

・高可用性と高い稼働実績
 平均故障間隔35年以上の実績、24時間365日稼働が可能な高い可用性により、高速なネットワークや基幹コンポーネントの信頼性を担保

・オープンスタンダードな開発環境
 LinuxやDocker、Go言語やNode.jsなどのオープンな環境で開発が可能です。

                 
 このようにブロックチェーンの4つの技術要素に必要な基盤要件をLinuxONEは満たし、ブロックチェーンで新たなビジネスモデルを確立するための最適な基盤といえます。

(注9)EAL5 セキュリティ製品およびシステムの開発や製造、運用などに関する国際基準であるISO/IEC 15408の評価基準の規定内容の一部。EAL(Evaluation Assurance Level)はセキュリティ確保に必要な信頼性について規定されている。EAL1〜3は一般民生用、EAL4は政府機関向け、EAL5〜7が軍事および政府最高機密機関向けに分類されている。

ブロックチェーン技術を実用レベルで使う時に必要な環境

 今回は、最近注目を集めるブロックチェーン技術について基本的な概念を整理し、オープンなブロックチェーン実装技術の1つとして注目を集めるHyperledger Fabricを題材に、求められる技術要件を紹介しました。

 本連載で取り上げるメインフレームLinuxである「LinuxONE」は、信頼性や基幹業務システムとの親和性、オープン性などの面から、既存環境を生かしながら新しいビジネスアイデアを実装していくのに適した環境といえます。

 第1回第2回では、無償で試せるLinuxONE Community Cloudを紹介していますので、ぜひトライしてみてください。次回は実際にDocker上でブロックチェーンのピアを作成して、取引がどのように行われるのかを試してみます。お楽しみに!

会員限定で「読者からのコメント」が読み書きできます! 「読者からのコメント」は会員限定の機能。会員登録を行い、ログインすると読者からのコメントが読み書きできるようになります。

会員登録(無料)・ログイン

Myリストへ

この記事をtweetする このエントリーをはてなブックマークに追加


この寄稿記事に掲載している情報は、掲載日時点での情報となります。内容は変更となる場合がございますのでご了承下さい。また、「Key Conductors」の寄稿記事及び当該記事に寄せられたコメントについては、執筆者及びコメント投稿者の責任のもと掲載されているものであり、当社が、内容の最新性、真実性、合法性、安全性、適切性、有用性等を保証するものではありません。


30009281


IT・IT製品TOP > Key Conductors > 栗村 彰吾(日本アイ・ビー・エム株式会社) > いまさら聞けないブロックチェーンの基礎知識と実装の要件

このページの先頭へ

キーマンズネットとは
さまざまなオープンソースソフトウェア(OSS)に携わり、現在は「LinuxONE」を中心に、提案および構築を担当。お客さまのミッションクリティカルな業務にふさわしいシステムの提供に尽力する傍ら、LinuxONEの活用に関するセミナー講師として「メインフレームの価値」や「なぜ今メインフレームか」を啓蒙する活動にも従事する。

ページトップへ