ファイナリティ
パブリックチェーンにはファイナリティがない。
ひとつだけ補足しておきますと、決済の仕事に携わる人々の間で、よく「ファイナリティー(finality)のある決済」という言葉が使われます。これは、「それによって期待どおりの金額が確実に手に入るような決済」のことを言います。具体的には、まず、用いられる決済手段について(1)受け取ったおかねが後になって紙くずになったり消えてしまったりしない、また決済方法について(2)行われた決済が後から絶対に取り消されない――そういう決済が「ファイナリティーのある決済」と呼ばれます。
日本銀行
→BitcoinのProof of workでは6承認あれば、取引が確定したとみなされる。
→100承認されるとGenerationTXのUTXOを使用可能
→1ヶ月経てば取引が覆る可能性が限りなくゼロになる
※162承認されたブロックが変更される確率は2の256乗分の1
→どのような状態が取引確定かが大きな課題となっている
→現時点では、ビジネス慣行との整合性があるプライベートチェーンかコンソーシアムチェーンが導入しやすい。
ビザンチン将軍問題への解
ビザンチン将軍問題
相互に通信しあう何らかのオブジェクト群において、通信および個々のオブジェクトが故障または故意によって偽の情報を伝達する可能性がある場合に、全体として正しい合意を形成できるかを問う問題
Wikipedia
→9名の集団があって、4名は○、4名は×だった時に、最後の1名が全社に○と告げ、後者に×と告げた場合、前者は○で合意したと思い、後者は×で合意したと思う。こういった不正者がいることを前提としなければならない。
→ブロックチェーンの場合は、当然これより複雑で総数もわからない。Bitcoinは悪意のノードや故障ノードがいることも考慮して解決策を提示している。
→この問題はそもそもノード数がわかっているクローズドなP2Pネットワークの問題。
Bitcoinの現実解
「インセンティブを与える」
→正直に行動することで経済合理性があるような報酬設計
→これによりほぼ不正によりシステムダウンする確率がゼロになった。
BFT(Byzantin Fault Tolerance)
ビザンチン障害への耐性を持ったアルゴリズムがBFTアルゴリズムで、実用的なのがPBFT(Practical BFT)。
→HyperLedgerFabricなどで実装。
→リーダーノードが最初にトランザクションを受け取り、その他の承認ノードに転送する。
→このアルゴリズムをパブリックチェーンに応用したのがDPoS(Delegated Proof Of Stake)
→トランザクション処理の高速化と手数料の削減
→EOS、LISKで採用されている。BlockProducerというValidatorがブロックを生成する。
Proof Of Work
・不正ができない理由
- 全員でネットワーク監視
- 正当なブロックしか残らない
- マイニングコストが高い
・セキュリティ
51%攻撃によってネットワークを支配することが可能。
※2014/6/13にハッシュレートが51%に到達したことがあるが、価格が暴落したことにより、危機が回避された。
※Bitcoinにおいて、51%攻撃をするためには数千億円の初期コストが発生してしまう。
※ハッシュレートが低いブロックチェーンの場合は、不正を働いた方が合理的となる場合がある。実際にMonacoinやBitcoinGoldは攻撃された。
※33%程度の小さなハッシュレートでSelfishMiningという攻撃もできる。マイニングに成功したブロックを通知しないで隠し持っておいて、ある程度ブロックが伸びたところで、ネットワーク通知をすることで、ブロックチェーンの再編成を発生させる。(BlockWithholdingAttack)2018/5/13-19にかけて、MonacoinやBitcoinGoldに対して実行されて、多額の資金が引き出された。入金確定となる「承認数」が少なかったのも原因の一つ。
コンセンサスアルゴリズムの種類
Proof Of Work
膨大な計算能力が必要で、消費エネルギーも大きいのが問題。最も実績がある。
ただし、ハッシュレートが小さなブロックチェーンの場合に攻撃されるリスクがある。
Proof Of Stake
「資産保有の証明」
マイニングする場合に、ウォレットに保証金預ける必要がある。この金額に応じて、次のブロックを発行できる確率が上がる。
計算量が膨大ではないため、消費エネルギーが少なく、新規参加者でも参加しやすい。
ただし、保証金を積めば積むほど、ブロックを生成しやすいので、経済格差の拡大は進みやすい。
Ethereumが採用予定。
Proof Of Importance
「重要性の証明」
NEMのみに採用されている。コインの保有量や取引頻度によって重要性が算出される。コインの流動性を向上させる狙いがある。ハーベスティングと呼ばれる。参加には一定量のコインが必要なので参入障壁は高い。
Proof Of Consensus(XRP Ledger Consensus Protocol)
「合意の形成」
Rippleのみ採用。
バリデーターは金融機関などの信頼に値する組織で構成。ここはブロックチェーンとしての非中央集権的というメリットがなくなるところ。
承認スピードが約4秒と速い。ファイナリティもある。
まとめ
可用性、取引の透明性を重視するならパブリックチェーン。
→信任された第三者を介さないP2P
→ノード数が多くならないとセキュリティが高まらない
→サイドチェーンとしてBitcoinを使うことでセキュリティを向上させることができる
→合意形成の時間が長い
→オフチェーンによって解決策を検討中
情報の秘匿と取引スピードの速さを重視するならコンソーシアムチェーンかプライベートチェーン。