こんにちは、「投資としての仮想通貨」管理人のなおです!

今回は「合意」について考えてみたいです。
とはいえ、なぜ合意問題を取り上げるのか?
仮想通貨を支えている根幹といっても過言ではない、コンセンサスアルゴリズム。
なんとなく聞いたことあるし、なんとなくは理解できているけども、実際のところはよくわからないというのが大方ではないでしょうか。
しかし、実際に「合意」ってなんだろう??
って考えると以外によくわかってないなと・・・。
そもそも、誰と誰が何について合意してるのか・・・。
まじでよくわかりません。
ブロックチェーンや仮想通貨に内在する問題点を把握することがなおはとても重要だと思っています。
ば、ば、バーン!!
ブロックチェーン技術の未解決問題 です!
本項では、このブロックチェーン技術の未解決問題の「第6章 ビットコインの「合意」問題」を参照・要約・引用することで、合意に関する知識を整理してみたいと思います。
ブロックチェーンの「合意」の意味を、我々は合意できていない!
まずは、このシャレの効いた文言から始めたいです。
分散システムにおける「合意」についてはそれこそ合意がなされているが、ブロックチェーンでは「合意」についての合意がなされていない。
最初にこのことが強調されます。
次にビットコインが「達成したい」ことについて、サトシ・ナカモトの論文を参照しながら、「ビットコインは『仮想通貨システム』、つまり通貨としての利用を目的としたシステム」であると述べます。
そのためには、二重取引が完全に排除されていなければなりません。
そして、二重取引を排除するために、どうするかの知恵を絞ったのだが、それに対する回答は、「全コンピュータが全く同じデータを持ち続ける」というアイディアであるとしています。
全てのコンピュータが全ての取引の履歴を保持できれば、二重取引を排除できる、そんな発想に基づいてビットコインは作成されました。
つまり、①各ノードは自分の中に保存されている過去の取引の履歴を参照し、新しい取引に二重取引となったものがないかどうか確認した上で、②プルーフオブワークを行い、③自らが検証した結果の正当性を主張する、④他のノードは提案された検証結果と計算結果が妥当かどうかを検証し、⑤OKであれば、そのブロックが確定する、というアルゴリズムにより、ビットコイン上の正確性を担保しているのです。
このようなものをサトシナカモト論文では、「取引履歴の正しい順序について大半のコンピュータが「合意」することで、順序を操作して二重取引を行うといった不正ができなくなる」という表現がなされています。
しかし、この論文の中では、「合意」に関しての明確な定義がなされているわけではありません。
これに対して、分散システムの研究の分野では「合意」に関しては明確な定義がなされていると指摘を本書ではしています。
人によって様々な意味合いで「合意」という文言を使ってしまっている現状において、ブロックチェーンを健全な形で進めることに対して、マイナスのインパクトを与えてしまいかねないことを懸念しています。
誰と誰が、何に合意しているのか、
これがとても大事であると著者は主張しています。
ハードフォークすることはこの合意に関する問題であるともいえます。
つまり、人と人が仮想通貨に関する思想についての合意が取れない場合にハードフォークが起きると。
このように、ブロックチェーンや仮想通貨の世界では様々な場面で合意についての議論がなされます。
その度に 誰と誰が、何に合意しているのかを意識する必要がありそうです。