三つの最もよく見られるコンセンサスメカニズム:POW、POS、DPOS、ずっと競争しているコンセンサスでもある、この文章で各自のメリットとデメリット、及びその区別について説明する。

 ブロックチェーンに入って間もなくのあなたは、きっと常にPOW、POS、DPOSを耳にしていると思う。訳が分からない気がしないのか?では、皆さんにこの良く見られる三種類のコンセンサスメカニズムについて、説明をしよう。ビットコインはビザンチン問題を解決するために使用した重要な手段の一つは、まさにPOWコンセンサスメカニズムを採用したことである。なので、まず解釈しよう。

ビザンチン問題とは?

ビザンチンジェネラル問題(Byzantine failures)とは、コンピュータ歴史上の電気人物レスリー・ランバートが打ち出した。主にポイントツーポイント通信中の基本問題――分散式システム一致性問題をターゲットにしている。

 ランバートは、「ストーリーは問題を人気にすることができる」と述べた。なので、ビザンチンジェネラル問題は、ランバートが分散式システムフォールトトレランスを研究する時に、作ったストーリーである:

 ビザンチン帝国は極めて強い敵を攻撃しようとし、10個の軍隊を派遣してこの敵を包囲した。色んな原因で、この10個の軍隊は集中して一緒に攻撃することができず、必ず分かれて駐屯して、それから同時に攻撃するしかない。だが、この敵が非常に強くて、同時に5個のビザンチン軍隊の襲撃を抵抗することができる。ビザンチン軍隊のあらゆる一個が単独で攻撃しようとしても、全く勝算がなく、半数以上(即ち6個以上の軍隊)が同時に攻撃しないと、敵を破ることができない。軍隊は敵の四周に分散し、通信兵に頼ってお互い情報を伝達して、「攻撃しようか」と「いつ攻撃するか」を相談している。(情報が紛失する信頼できない情報ルートが存在するため、情報の伝達で一致性を達成するのは不可能である。なので、ビザンチンジェネラル問題を研究する時に、我々はすでに情報ルートに問題がないと仮定している。つまり全ての通信兵が信頼できて、叛徒がいないのである。)

 それでは問題、もし将軍の中に叛徒がいれば、その叛徒将軍は間違った情報を発送する可能性がある。例えば、その内の4個の軍隊に攻撃するように伝えて、他の5本の軍隊に攻撃しないと伝える、すると4本の軍隊のみで同時に攻撃したら、

戦敗してしまい、残った5本の軍隊もこの強い敵に勝てなくなり、最後はビザンチンの軍隊が敗北した。実に腹黒な叛徒のせいで。

 このような状態で、ビザンチンの将軍たちは、この戦争に勝つために、分散式のプロトコルを見つけて、遠距離で協商できるようにして、6本以上の軍隊が同時に攻撃するのを確保するようにできないのでは?コンピュータ科学の中で、類似の問題がある、例えばセキュリティホール。システム中の違うノードは観察者に違う信号を提供している、これらの情報が破損しているかどうかも知らない情況で、如何に情報交換を実現するのか?

ビットコインとビザンチンジェネラル問題にどんな関係があるのか?

 ビットコインはネットワークに存在するビザンチンジェネラル問題を解決した。ビットコインは分散式システム情報の不一致の問題を解決した。周知のように、ビットコインは一つの分散式ネットワークであり、各ノード、各マイナーは敵を包囲したビザンチンの将軍たちを同じ。そしてマイナー記録のブロック情報が真実であるかどうか?偽造することがあるかどうか?どう判断するのか?不正行為をするマイナーは帳簿を偽造するのは、軍隊に潜入した叛徒と同じである。彼らはその他のノードに、彼らの偽情報が真実で、彼らが記録した偽造の帳簿も真実であると伝える可能性がある。

叛徒が潜入すれば、全体のビットコインネットワークの真実性と有効性を破壊してしまう。大神中本聡はこの問題を解決した。まず、大神はビットコインを設計した時に、作業量証明メカニズム(POW)を採用した。マイナーは記帳するために、正確なランダム数を見つける必要がある。そしてランダム数は皆が認めている数学ロジックであり、何せよランダムなので、誰もコントロールできないわけである。すると、全てのマイナー(将軍)はコンセンサスを達成して、勇ましいマイニング事業に身を捧げる。

 次いでは、偽造のコストが高く、真実に奨励がある。マイナーがマイニングするのに、益々多くの時間、電力、資源が必要で、偽造するコストが高すぎる。そして新規トークンの奨励を通じて、マイナーが真実に記帳するように激励している。

 それから、全てのノード(将軍)の手元に、何れもリアルタイムで他のノードと同期した帳簿があり、その帳簿にタイムスタンプでバックアップされ、サインで身分を検証するするので、偽造した人がいれば、誰がいつ偽造したのかがはっきりと分かる。

 最後、意見が不一致の場合、大半(過半数)の人が同意すれば、少数派が多数派に服従して、分散式ネットワークでコンセンサスを達成する。いいノードが多数である限り、全体のビットコインネットワークの記帳は必ず真実である。

コンセンサスメカニズムとは?