ブロックチェーンを生み出したビットコインにおいて、画期的なことは特定の第三者の存在のない分散システムにおいて決済システムが機能していることです。ブロックチェーンが様々な分野で使われたり検討されていますが、特に決済システムとしてブロックチェーンを利用する際には「ファイナリティー」が重要になります。そこで今回はファイナリティーについて紹介します。
ファイナリティーとは
ファイナリティという概念はビットコインを始めとしたブロックチェーンや仮想通貨に限ったものではなく、決済システムを持つ通貨や取引全般に対して使用される言葉で、元々は金融業界の用語で「決済の確定」を意味します。日銀のサイトによると、「ファイナリティーのある決済」を「それによって期待どおりの金額が確実に手に入るような決済」と表現しています。
具体的には、用いられる決済手段について以下の二点を満たす決済が「ファイナリティーのある決済」と日銀は述べています。
- 受け取った金額が後になって紙くずになったり消えてしまったりしない
- 決済方法について、行われた決済が後から絶対に取り消されない
前者について、日本円や米ドルといった安定した中央銀行が提供する決済手段を利用する場合は基本的には心配がなく、一般の銀行の提供する銀行預金としての決済手段においても、その銀行の信用度が十分に大きければ高いファイナリティーの実現が可能です。また後者について、そうした取り消しのない決済であっても、それを一日の終わりに行ったのでは遅く、またそれまでの間にある銀行が決済不能に陥った場合は全ての決済が実行できずに混乱に陥ってしまいます。このために同じ取り消しのない決済であっても、それを日中に次々と行っていくことを「日中ファイナリティー」のある決済と呼んでおり、これは決済の安定を実現する上で重要です。
Proof of Wookにおけるファイナリティー
ブロックチェーンにおけるファイナリティーは、合意形成アルゴリズムによって異なります。日本ブロックチェーン協会の定義によれば、ブロックチェーンは「時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル」であるとしています。例えばビットコインが採用するPoW(プルーフ・オブ・ワーク)の場合、6個のブロックが承認されるのを待って決済が確定したとみなす場合が多いですが、これは6回の承認の後で決済が覆る可能性は確率的に相当低く、ほぼおこらないとみなしてるからです。このような合意を確率的ビザンチン合意と呼ぶ場合があります。またPoW自体、ナカモトサトシの論文において確率的なファイナリティーであると書かれています。逆を返すと、取引が取り消される可能性は、どれだけ時間が経過してもゼロになることはありません。
画像:JBA
イーサリアムの考案者Vitalik Buterin氏によれば、162回のブロック承認の後にチェーンがひっくり返される確率は、2の256乗分の1と同程度の確率です。PoWの場合、ファイナリティの確率は徐々に高まっていくものの、どのくらいで安全かというのはユーザーが判断にゆだねられます。
分散ネットワークでの合意を可能にしたコンセンサスアルゴリズム「プルーフ・オブ・ワーク」
またこれらパブリックチェーンにおける確率的なファイナリティは、経済インセンティブと密接に関わっています。つまり、通貨の価格が上がるほど、マイナーの数が増え、マイニングに参加するコンピューターの数が増えるため、それに対抗できるだけのハッキングするために必要なコストが増えていきます。仮にビットコインの時価総額が数百兆円といったような規模になれば、攻撃を仕掛けるほどのコストを支払える人は存在しなくなると思われるので、ビットコインの価値が上がるほどファイナリティの確率も必然的に上がっていくことになります。
プライベートブロックチェーンにおけるファイナリティー
しかしながら、金融機関の決済システムでブロックチェーンを検討する場合、「確率的な挙動は受け入れにくい」との考え方が主流です。そこで注目されているのが、ファイナリティーが確定する合意形成アルゴリズムを備えたブロックチェーン技術です。
プライベートブロックチェーン技術のHyperledger Fabric v1.0では、PBFTの拡張版を使います。またbitFlyerのプライベートブロックチェーン技術Miyabiでは「BFK2」、ソラミツのHyperledger IrohaではPBFTの延長にある「スメラギ」を使用し、いずれも確定的なファイナリティーを特徴とする合意形成アルゴリズムです。
コンソーシアム型ブロックチェーンで使用できる合意形成アルゴリズム「PBFT」
また2017年3月には日銀が「日銀ネット」のシステムにブロックチェーン技術を適用する想定のもと実験を行い、その結果「ノード数が多いほどレイテンシ(遅延)が増える」との結果が示されました。
さらに9月には欧州中央銀行とのブロックチェーン技術に関する共同調査プロジェクト「Project Stella」
の第1段階報告でも、単純なスマートコントラクトの結果によれば、検証ノード数と処理時間はトレードオフの関係にあり、ノード数が増加するとブロック上に記録されるまでの時間が長くなることが確認されています。
Project Stella:日本銀行・欧州中央銀行の共同調査からブロックチェーンの可能性を知る
プライベートブロックチェーン技術を検討する場合には、このようなノード数と処理時間のトレードオフや確率的なファイナリティーと確定的なファイナリティーのトレードオフを考慮することが求められると言えるでしょう。
非中央集権型の決済システムとして誕生したビットコインを支えるブロックチェーンは、このように確率的なファイナリティーをうまく使うことで、長期的に運用できています。またファイナリティーを確定的に扱うことでプライベート型やコンソーシアム型のブロックチェーンも開発が続けられています。ファイナリティーという概念を知って見てみるととまた一つブロックチェーンを面白く見ることができますね。