web3コンセンサスアルゴリズム入門【前編】~PoW・PoS・DPoS・BFTの歴史と基礎~
ビットコインのPoWを起点に、PoS・DPoS・BFT系まで主要なコンセンサスアルゴリズムをゼロから解説。エネルギー問題や富の集中、トリレンマをどう克服するかを通じて、ブロックチェーンの根幹を学びましょう。
おはようございます。
web3リサーチャーのmitsuiです。
土日のお昼はAIによるレポートを更新します。
普段は最新のトレンドや注目プロジェクトを紹介していますが、ここでは過去からの歴史を振り返る系の記事を投稿していきます。レビューはしていますが、一部内容に間違いがあるかもしれませんので、ご了承ください。
それではどうぞ!
はじめに
コンセンサスアルゴリズムとは何か
Proof of Work (PoW) の誕生と仕組み
Proof of Stake (PoS) の台頭
Delegated PoS (DPoS) と代表者モデル
BFT系コンセンサス
前編まとめと次回予告
はじめに
web3とコンセンサスの重要性
ブロックチェーン技術が登場して以来、さまざまな暗号資産や分散型アプリケーション(dApps)が次々と誕生してきました。これらを支える根幹となるのが「コンセンサスアルゴリズム」です。コンセンサスアルゴリズムとは、ネットワークを構成する多数のノードがいかにして単一の正しいブロックチェーンを共有し、改ざんや二重支払いを防ぐかを決定する仕組みを指します。
多くの人が参加するパブリックなブロックチェーンでは、中央サーバや管理者がいない代わりに「すべてのノードが、同じ台帳情報に合意できるかどうか」が非常に重要です。もし合意が崩れれば、ネットワーク内でブロックチェーンの分裂や不正な取引がまかり通り、システムの信頼が成り立たなくなります。そこで、改ざんや攻撃に強く、分散性とセキュリティを両立するための仕組みとして生まれたのが、コンセンサスアルゴリズムです。
分散コンピューティングの歴史的背景
コンセンサスアルゴリズムを理解するには、まず「ビザンチン将軍問題」という分散コンピューティングの古典的課題を押さえておく必要があります。これは、悪意あるノード(将軍)や通信障害が存在する環境下で、どのようにメッセージを交換し、全体として正しい合意を得るかという問題です。従来の企業や組織では、限られたノード数で合意を取る「BFT系(ビザンチン耐性)」が中心でした。しかし、2009年にビットコインが登場すると、ノード数が不特定かつ誰でも参加できる「パブリックチェーン」でビザンチン合意を実現する新たな仕組みが注目されます。
それがナカモトサトシによって提案されたProof of Work(PoW)という手法でした。PoWでは、世界中の参加者が計算パズル(ハッシュ値探し)を競い合い、誰でも公正にブロックを追加できる可能性を開きました。以降、ブロックチェーンを活用するweb3の領域では、PoW以外にもProof of Stake(PoS)やDelegated PoS(DPoS)、BFT系など、さまざまなコンセンサスアルゴリズムが次々と生み出されてきました。本稿(前編)では、これらの歴史と基本的な仕組みについて、ゼロから学んでいきます。
コンセンサスアルゴリズムとは何か
コンセンサスの定義
「コンセンサス」とは、日本語で言うと「合意形成」を意味します。分散型ネットワークでは、各ノードが独立しており、それぞれが取引の検証やブロック生成を行います。ところが、ネットワーク外部から見たときに「どのブロックが正しいチェーンの続きなのか」を統一しなければ、通貨残高や取引履歴が食い違ってしまい、信頼が成り立ちません。
そのため、何らかのルールを設けてブロック生成と承認を行い、みなが同じチェーンを「正」として受け入れる仕組みを用意する必要があります。これこそがコンセンサスアルゴリズムであり、「悪意あるノードがいても、一定割合以下ならば正当なチェーンが守られる」という強固な耐改ざん性が求められます。web3の世界では「スケーラビリティ」「分散性」「セキュリティ」の三大要素(ブロックチェーンのトリレンマ)をどうバランス良く満たすかが常に議論されますが、コンセンサスがその大きな要となるわけです。
ナカモト合意(Nakamoto Consensus)の登場
従来の分散コンピューティングでは、あらかじめ参加ノード数が限られていたり、参加ノードが認証済みであることを前提にしたPBFT(Practical Byzantine Fault Tolerance)などが研究されてきました。しかし、ビットコイン以前は「誰でも参加可能な環境で、不特定多数が同時に合意形成する」仕組みは実用化されていませんでした。
Keep reading with a 7-day free trial
Subscribe to web3 Research JAPAN to keep reading this post and get 7 days of free access to the full post archives.