ビットコインの難題 = 合意形成問題とブロックチェーン

前回の記事 “ビットコインとはなにか?” では, 仮想通貨といわゆる電子マネーの本質的な違い — 電子マネーでは全員の所持金をある一つの会社が管理/操作している一方で, 仮想通貨では世界中の個人や会社がインターネット上で繋がり, 全員の所持金額を管理/操作している — ということを説明しました. では, どのようにして “所持金以上のお金は使えない” という性質を達成しているのでしょうか? 今回の記事ではこの仕組みについて紹介します.

 

まず, Aさんがお店Bに1000円支払う時には, “お店Bに1000円支払う” ということを世界中に通知します. これは電子マネーおける ”管理会社” が “世界中の個人や会社” に置き換わっただけです. しかし, 実際にAさんの所持金を減らし, お店Bの所持金を増やすという操作を実施する前にやらなければならないことがあります. それは, “世界中の個人や会社” が “Aさんがお店Bに1000円支払う” という支払い情報に対して合意するということです. この合意が行われない場合, どうなるのでしょうか? 例えば, 一部の個人や会社が “Aさんがお店Bに1000円支払う” という支払い情報を受け取った一方で, 別の個人や会社が “Aさんがお店Cに1000円支払う” という支払い情報を受け取ったとします. この場合, 正しくどちらかの支払いに合意を取らなければ, 所持金1000円のAさんが2000円の買い物をできてしまうことになり, “所持金以上のお金は使えない” という性質を達成できなくなります. このような問題は一般的に “二重支払い” と呼ばれています.この合意の必要性が, 中央集権的な管理会社に全ての管理/操作を頼っている電子マネーと, 世界中の個人や会社が協力して全員の所持金を管理する仮想通貨の重要な違いになります.

 

この合意問題を達成するために利用されているのが, “コンセンサスプロトコル”, 簡単に言うと “合意を取るためのルール” です. 世界中の個人や会社が, インターネット上でこのルールに従ってコミュニケーションを取り, 一つの支払いに合意をとっています. そして, この “合意を取るためのルール” としてビットコインにおいて使われているのが, 最近よく耳にする “ブロックチェーン” です.