本連載では、銀行系システムについて、その要件や歴史を整理しつつ、スマートフォンを使う銀行取引やブロックチェーンなど、新しい技術が及ぼす影響を考察していきます。今回は、ブロックチェーンの仕組みを概説し、その特徴を踏まえて、FinTechや銀行業務での活用形態、システム化に向けた留意点について解説します。
本連載「FinTech時代、銀行系システムはどうあるべきか」では、銀行系システムについて、その要件や歴史を整理しつつ、スマートフォンを使う銀行取引やブロックチェーンなど、新しい技術が及ぼす影響を考察しています。
連載第1回、第2回では勘定系を中心とした銀行システムの要件と歴史を振り返りました。第3回ではFinTech時代における銀行システムアーキテクチャに求められる要件について整理し、第4回では顧客理解をより深める「データ分析」について詳細に解説しました。
今回は、「インターネットの次のIT革命」ともいわれているブロックチェーンについてです。ブロックチェーンの仕組みを概説し、その特徴を踏まえて、FinTechや銀行業務での活用形態、システム化に向けた留意点について解説します。
ブロックチェーンは、「中央機関を必要とせずにP2P(Peer to Peer)ネットワークだけで仮想通貨取引を実現した」Bitcoinに端を発した技術で、「分散台帳」を実現します。
振込、手形、売掛債権などの銀行間での取引には、中央機関を介することで安全な取引を実現しています。この中央機関では、取引を記録する台帳を集中管理するためのシステムを構築し、銀行間のデータ集配信、障害に対応するための冗長化やバックアップ、災害復旧のためのデータの遠隔地保管やバックアップセンターなどの対応が必要となります。
これに対して分散台帳は、台帳を複数組織(複数者)間で共有し、「コンセンサス」(後述)を形成して業務を進めることによって中央機関や集中管理を必要としないシステムを実現します。
第三者機関を必要とせずに取引が実現できるブロックチェーン技術は、低コスト・短期間でのシステム化が期待でき、取引の迅速化、作業コスト削減、可視化などが図れます。そのため、金融機関のみならず、さまざまな業種での活用が検討されています。また、新しいビジネス形態が創出される可能性も期待されています。
ここからは、ブロックチェーンの特徴について概説します。
ブロックチェーンは、署名済みの取引データを一塊のブロックとしてまとめ、ブロックを鎖でつなぐようにハッシュ値の連鎖によって連結します。この仕組みによってデータの改ざんや不正な取引を防止しています(図2)。
個々の取引データが依頼人本人の意思に基づくものであることと、取引の内容が改ざんされていないことの証明として取引データに署名します。これらの取引データをまとめてブロックにし、連鎖させます。
ブロックを連鎖させる仕組みは、ハッシュ関数を用います。ハッシュ関数は、与えられたデータを一定の長さのビット列(ハッシュ値)に変換する関数で、下記3つの特性を持ちます。
1つ前のブロックのハッシュ値を含めたブロックを連続させることによってブロックに含まれる取引データの改ざんが困難になります。ブロック内のデータの変更が行われればハッシュ値が変わってしまうので、取引データの変更を行うには、それ以降の全てのブロックに含まれるハッシュ値の再計算が必要となるためです。
ブロックチェーンの参加者(ノード)は、相互にネットワーク(P2P)接続され、各ノードがそれぞれ同じ内容が含まれる台帳を持ちます。
分散した各ノードが同一の情報を保持するためには、更新する情報が正しいこと、更新後にそれぞれのノードのデータが同一になることを確保する必要があります。この仕組みを「コンセンサス」と呼びます。
コンセンサスを得るために必要な一定数以上のサーバが稼働していれば一部のサーバが停止していても取引の実行には影響がありません。停止していたサーバの台帳は復帰後に最新の状態に同期されます。
コンセンサスを取るためには主に、計算競争の勝者にブロックの追加を行う権限を与える方式と、ネットワーク参加者の合意によってブロックを追加する方式の2つがあります。
・Proof of Work(PoW)
計算競争によるコンセンサス方式は、「Proof of Work(PoW)」と呼ばれます。
PoWは、Bitcoinの場合、いずれかのノードが正解を得るまでに10分程度かかり、同一のノードが連続して正解を得ることが難しいといった計算競争を行います。正解を見つけたノードが、それまでに発生した取引データの正当性を検証し、取引データを格納するブロックを追加します。この行為のインセンティブとして、仮想通貨の報酬が与えられます。この仕組みにより、一部のノードが、故障や悪意によって不正な情報を伝達し得る状況になったときでもシステム全体としては正しい状態に至ることができるようになっています。
一方で、ブロックチェーン全体の過半数以上のPoWのための計算能力を確保できた場合は、不正なPoWを実施できてしまうという問題はあります(参考:Bitcoinの51%攻撃)。
またPoWでは、“まれ”に同時に正解を見つけるノードが発生し、ブロックの連鎖が分岐することがあります。そのため、ブロックが追加された時点では取引が最終確定(ファイナリティー※)とはなりません。
※決済が無条件かつ取消不能となり、最終的に完了した状態(参考:BIS/CPSS(国際決済銀行・支払決済システム委員会)の『Payment Systems in the Group of Ten Countries』(1993年)の538ページ目、『Settlement Risk in Foreign Exchange Transactions』(1996年)の63ページ目)
例えば、Bitcoinでは、ブロックの分岐が発生した場合は、より長く連鎖が続いた方が正とされ、連鎖が続かなかったブロックの分岐は無視されます。Bitcoinでは、6ブロック以上連鎖すると取引が最終確定するといわれています。また、計算には多くのCPU資源を必要とすることから消費電力が多くなります。
・分散合意形成
これに対してネットワーク参加者による分散合意形成は、ネットワークを介した一部のノードが、故障や悪意によって不正な情報を伝達し得る状況になったときでもブロックチェーン全体としては正しい状態に至ることができる仕組みです(図4)。
この方式は、PoWのように計算競争やブロックチェーンの分岐が発生することがないため、ファイナリティに時間を要することはなく、各ノードでコミットすれば取引は確定します。分散合意形成の方式は、「Practical Byzantine Fault Tolerance(PBFT)」が有名です(参考PDF)。
Copyright © ITmedia, Inc. All Rights Reserved.