コンセンサスアルゴリズムは、分散環境におけるユーザーまたはマシン間の調整を可能にする基本的なメカニズムです。その主な機能は、システムのすべてのエージェントが、いくつかのコンポーネントが故障しても唯一の真実の源について合意に達することを保証することです。この概念は、障害耐性として知られており、ブロックチェーンネットワークの機能にとって不可欠です。
中央集権型システムでは、単一のエンティティがネットワークを制御し、運営し、自らの判断で修正を行うことができ、複雑なガバナンスシステムを必要としません。しかし、分散型システムでは、状況が根本的に変わります。分散データベースで作業する際、どのデータを取り入れるかについての合意をどのように確立するかという問題が浮上します。
参加者が互いに信頼していない環境でこの課題を克服することは、おそらくブロックチェーンへの道を開いた最も重要な進展でした。この記事では、合意アルゴリズムが暗号通貨や分散型台帳の機能にとっていかに重要であるかを探ります。
暗号通貨のエコシステムでは、ユーザーの残高はブロックチェーンと呼ばれるデータベースに記録されます。このデータベースのすべてのノードが同一のコピーを保持することが重要です。なぜなら、矛盾する情報が現れると、ネットワーク全体の整合性が損なわれる可能性があるからです。
公開鍵暗号は、ユーザーが他人のコインを消費できないことを保証します。しかし、参加者が資金がすでに使用されているかどうかを判断するために頼るべき唯一の真実の源が存在する必要があります。
ビットコインの創設者であるサトシ・ナカモトは、参加者を調整するためにProof of Work (PoW)システムを提案しました。その機能については後で分析しますが、まずは既存のさまざまなコンセンサスアルゴリズムの共通の特徴を特定します。
最初に、ブロック(バリデーター)を追加したいユーザーには、保証金または「ステーク」を提供するよう求められます。この要素は、バリデーターが悪意のある行動を取らないようにコミットする必要がある価値を表します。システムを欺こうとすると、コンピュータパワー、暗号通貨、または評判を含む保証金を失うことになります。
なぜ彼らは自分のリソースを危険にさらすのでしょうか?答えは簡単です:そこには報酬がかかっています。一般に、この報酬はプロトコルのネイティブ暗号通貨として具現化され、ユーザーによって支払われる手数料、新しい暗号通貨の生成、またはその両方に基づいています。
最後の基本要件は透明性です。誰かがシステムを欺こうとしているときにそれを特定できる必要があります。理想的には、ブロックを生成することがバリデーターにとって高コストであるべきですが、どのユーザーにとってもそれを検証することは低コストであるべきです。これにより、バリデーターも一般ユーザーによって監視されることが保証されます。
プルーフ・オブ・ワーク(PoW)は、ブロックチェーンのコンセンサスアルゴリズムの中で最も優れたものです。これはビットコインで初めて実装されましたが、概念自体はそれ以前から存在していました。このシステムでは、バリデーター(であるマイナー)が、追加したいデータにハッシュ関数を適用し、特定の解決策を生成します。
ハッシュは、ハッシュ関数を実行することによって生成される、一見ランダムな文字のシーケンスです。入力データが同一であれば、結果も同じになります。しかし、最小限の変更でも、まったく異なるハッシュが生成されます。
出力データは入力データを特定できないため、この機能は特定の期間にデータが知られていたことを証明するための効果的な方法になります。ハッシュを第三者に提供し、データを開示することで、その人は関数を実行して出力が一致するかどうかを確認できます。
PoWでは、プロトコルがブロックを有効にする条件を定義します。たとえば、ハッシュが「00」で始まるブロックのみが有効であると定めることができます。マイナーが有効なブロックを作成する唯一の方法は、ブルートフォースでデータ内のパラメータを変更し、正しい結果が見つかるまで異なる結果を生成することです。
主要なブロックチェーンでは、難易度のレベルが非常に高いです。効果的に競争するためには、ブロックを有効に生成する確率を高めるために特別に設計されたハードウェアであるASICを備えた施設が必要です。
マイニングにおいて、投資はこれらの機械のコストとその運用に必要な電力に相当します。ASICはマイニング専用に設計されており、この分野以外には用途がありません。初期投資を回収する唯一の方法は、マイニングを行い、新しいブロックをブロックチェーンに成功裏に追加することで報酬を得ることです。
ネットワークによるブロックの検証は簡単です:関数の単一の実行で結果を確認できます。データが有効なハッシュを生成すれば、ブロックは受け入れられ、マイナーは報酬を受け取ります。逆の場合は、ネットワークが無効とし、時間と電力の無駄となります。
プルーフ・オブ・ステーク (PoS) は、ビットコインの初期の頃にプルーフ・オブ・ワークの代替として提案されました。PoS では、マイナー、特殊なハードウェア、または大量のエネルギー消費は存在しません。必要なのは、通常のコンピュータだけです。
そしてもう一つの重要な要素:システム内の通貨への投資。PoSでは、外部リソース(ハードウェアと電力)の代わりに、内部リソース(暗号通貨)が使用されます。ルールはプロトコルによって異なりますが、一般的にはステーキングに参加するための最低限の価値が必要です。
資金はウォレット(にロックされている必要があり、ステーキング期間中は移動できません)。通常、バリデーターは次のブロックにどのトランザクションが通過するかを合意します。ある意味で、どのブロックが選ばれるかを賭けており、プロトコルが残りを決定します。
提案されたブロックが選択されると、バリデーターはそのステークに比例した取引手数料の一部を受け取ります。ブロックされた量が多いほど、勝つ確率が高くなります。しかし、無効な取引を提供してシステムを欺こうとすると、ステークの一部または全部を失うことになります。このように、PoWに似たメカニズムが確立されています:誠実に行動することは、詐欺的に行動するよりも収益性が高くなります。
一般的に、新しく作成された暗号通貨はバリデーターの報酬には含まれません。そのため、ブロックチェーンのネイティブコインは異なる方法で発行される必要があります。これは、初期配布(、例えばICOやIEO)によって行われるか、またはプロトコルの初期段階でPoWを使用して行われることがあります。
現時点では、純粋なプルーフ・オブ・ステークは主に小規模な暗号通貨に実装されています。したがって、PoWの大規模な代替手段となるかどうかは完全には証明されていません。理論的には妥当なように見えますが、実際の実装にはさまざまな課題があります。
PoSが大量の情報を持つネットワークに実装されると、システムは金融インセンティブとゲーム理論の実験に最適な場となります。「ハック」する知識を持つ者は、利用する可能性がある場合にのみPoSシステムに挑戦しますので、その脆弱性を評価する唯一の方法は、ネットワークで直接試すことです。
もうすぐ、イーサリアムネットワークのアップデートの一環として、キャスパーを実装した大規模なPoSのテストを見ることができるでしょう(、別名イーサリアム2.0。
プルーフ・オブ・ワークとプルーフ・オブ・ステークは最も一般的なコンセンサスアルゴリズムですが、他にも多くのバリエーションがあり、それぞれに利点と欠点があります。
コンセンサスを達成するためのメカニズムは、分散システムの機能にとって重要です。多くの人々は、ビットコインの最大の革新は、ユーザーが共有された事実のセットに合意できるようにするためのプルーフ・オブ・ワークの使用にあると考えています。
現在、コンセンサスアルゴリズムはデジタル通貨のシステムだけでなく、開発者が分散ネットワーク上でコードを実行できるブロックチェーンを支えています。これらはブロックチェーン技術の基本的な柱となっており、様々な既存ネットワークの長期的な実現可能性にとって不可欠です。
すべてのコンセンサスアルゴリズムの中で、Proof of Workは依然として最も広く使用されています。実際、より信頼性が高く安全な代替案はまだ提案されていません。しかし、PoWを置き換えるための集中的な研究と開発が進行中であり、今後数年のうちに新しいコンセンサスソリューションが登場する可能性が非常に高いです。
50.2K 人気度
96K 人気度
7.8K 人気度
165K 人気度
302 人気度
ブロックチェーンにおけるコンセンサスアルゴリズムとは何ですか?
はじめに
コンセンサスアルゴリズムは、分散環境におけるユーザーまたはマシン間の調整を可能にする基本的なメカニズムです。その主な機能は、システムのすべてのエージェントが、いくつかのコンポーネントが故障しても唯一の真実の源について合意に達することを保証することです。この概念は、障害耐性として知られており、ブロックチェーンネットワークの機能にとって不可欠です。
中央集権型システムでは、単一のエンティティがネットワークを制御し、運営し、自らの判断で修正を行うことができ、複雑なガバナンスシステムを必要としません。しかし、分散型システムでは、状況が根本的に変わります。分散データベースで作業する際、どのデータを取り入れるかについての合意をどのように確立するかという問題が浮上します。
参加者が互いに信頼していない環境でこの課題を克服することは、おそらくブロックチェーンへの道を開いた最も重要な進展でした。この記事では、合意アルゴリズムが暗号通貨や分散型台帳の機能にとっていかに重要であるかを探ります。
コンセンサスアルゴリズムと暗号通貨
暗号通貨のエコシステムでは、ユーザーの残高はブロックチェーンと呼ばれるデータベースに記録されます。このデータベースのすべてのノードが同一のコピーを保持することが重要です。なぜなら、矛盾する情報が現れると、ネットワーク全体の整合性が損なわれる可能性があるからです。
公開鍵暗号は、ユーザーが他人のコインを消費できないことを保証します。しかし、参加者が資金がすでに使用されているかどうかを判断するために頼るべき唯一の真実の源が存在する必要があります。
ビットコインの創設者であるサトシ・ナカモトは、参加者を調整するためにProof of Work (PoW)システムを提案しました。その機能については後で分析しますが、まずは既存のさまざまなコンセンサスアルゴリズムの共通の特徴を特定します。
最初に、ブロック(バリデーター)を追加したいユーザーには、保証金または「ステーク」を提供するよう求められます。この要素は、バリデーターが悪意のある行動を取らないようにコミットする必要がある価値を表します。システムを欺こうとすると、コンピュータパワー、暗号通貨、または評判を含む保証金を失うことになります。
なぜ彼らは自分のリソースを危険にさらすのでしょうか?答えは簡単です:そこには報酬がかかっています。一般に、この報酬はプロトコルのネイティブ暗号通貨として具現化され、ユーザーによって支払われる手数料、新しい暗号通貨の生成、またはその両方に基づいています。
最後の基本要件は透明性です。誰かがシステムを欺こうとしているときにそれを特定できる必要があります。理想的には、ブロックを生成することがバリデーターにとって高コストであるべきですが、どのユーザーにとってもそれを検証することは低コストであるべきです。これにより、バリデーターも一般ユーザーによって監視されることが保証されます。
コンセンサスアルゴリズムの種類
プルーフ・オブ・ワーク (PoW)
プルーフ・オブ・ワーク(PoW)は、ブロックチェーンのコンセンサスアルゴリズムの中で最も優れたものです。これはビットコインで初めて実装されましたが、概念自体はそれ以前から存在していました。このシステムでは、バリデーター(であるマイナー)が、追加したいデータにハッシュ関数を適用し、特定の解決策を生成します。
ハッシュは、ハッシュ関数を実行することによって生成される、一見ランダムな文字のシーケンスです。入力データが同一であれば、結果も同じになります。しかし、最小限の変更でも、まったく異なるハッシュが生成されます。
出力データは入力データを特定できないため、この機能は特定の期間にデータが知られていたことを証明するための効果的な方法になります。ハッシュを第三者に提供し、データを開示することで、その人は関数を実行して出力が一致するかどうかを確認できます。
PoWでは、プロトコルがブロックを有効にする条件を定義します。たとえば、ハッシュが「00」で始まるブロックのみが有効であると定めることができます。マイナーが有効なブロックを作成する唯一の方法は、ブルートフォースでデータ内のパラメータを変更し、正しい結果が見つかるまで異なる結果を生成することです。
主要なブロックチェーンでは、難易度のレベルが非常に高いです。効果的に競争するためには、ブロックを有効に生成する確率を高めるために特別に設計されたハードウェアであるASICを備えた施設が必要です。
マイニングにおいて、投資はこれらの機械のコストとその運用に必要な電力に相当します。ASICはマイニング専用に設計されており、この分野以外には用途がありません。初期投資を回収する唯一の方法は、マイニングを行い、新しいブロックをブロックチェーンに成功裏に追加することで報酬を得ることです。
ネットワークによるブロックの検証は簡単です:関数の単一の実行で結果を確認できます。データが有効なハッシュを生成すれば、ブロックは受け入れられ、マイナーは報酬を受け取ります。逆の場合は、ネットワークが無効とし、時間と電力の無駄となります。
ステークの証明 (PoS)
プルーフ・オブ・ステーク (PoS) は、ビットコインの初期の頃にプルーフ・オブ・ワークの代替として提案されました。PoS では、マイナー、特殊なハードウェア、または大量のエネルギー消費は存在しません。必要なのは、通常のコンピュータだけです。
そしてもう一つの重要な要素:システム内の通貨への投資。PoSでは、外部リソース(ハードウェアと電力)の代わりに、内部リソース(暗号通貨)が使用されます。ルールはプロトコルによって異なりますが、一般的にはステーキングに参加するための最低限の価値が必要です。
資金はウォレット(にロックされている必要があり、ステーキング期間中は移動できません)。通常、バリデーターは次のブロックにどのトランザクションが通過するかを合意します。ある意味で、どのブロックが選ばれるかを賭けており、プロトコルが残りを決定します。
提案されたブロックが選択されると、バリデーターはそのステークに比例した取引手数料の一部を受け取ります。ブロックされた量が多いほど、勝つ確率が高くなります。しかし、無効な取引を提供してシステムを欺こうとすると、ステークの一部または全部を失うことになります。このように、PoWに似たメカニズムが確立されています:誠実に行動することは、詐欺的に行動するよりも収益性が高くなります。
一般的に、新しく作成された暗号通貨はバリデーターの報酬には含まれません。そのため、ブロックチェーンのネイティブコインは異なる方法で発行される必要があります。これは、初期配布(、例えばICOやIEO)によって行われるか、またはプロトコルの初期段階でPoWを使用して行われることがあります。
現時点では、純粋なプルーフ・オブ・ステークは主に小規模な暗号通貨に実装されています。したがって、PoWの大規模な代替手段となるかどうかは完全には証明されていません。理論的には妥当なように見えますが、実際の実装にはさまざまな課題があります。
PoSが大量の情報を持つネットワークに実装されると、システムは金融インセンティブとゲーム理論の実験に最適な場となります。「ハック」する知識を持つ者は、利用する可能性がある場合にのみPoSシステムに挑戦しますので、その脆弱性を評価する唯一の方法は、ネットワークで直接試すことです。
もうすぐ、イーサリアムネットワークのアップデートの一環として、キャスパーを実装した大規模なPoSのテストを見ることができるでしょう(、別名イーサリアム2.0。
他のコンセンサスアルゴリズム
プルーフ・オブ・ワークとプルーフ・オブ・ステークは最も一般的なコンセンサスアルゴリズムですが、他にも多くのバリエーションがあり、それぞれに利点と欠点があります。
まとめ
コンセンサスを達成するためのメカニズムは、分散システムの機能にとって重要です。多くの人々は、ビットコインの最大の革新は、ユーザーが共有された事実のセットに合意できるようにするためのプルーフ・オブ・ワークの使用にあると考えています。
現在、コンセンサスアルゴリズムはデジタル通貨のシステムだけでなく、開発者が分散ネットワーク上でコードを実行できるブロックチェーンを支えています。これらはブロックチェーン技術の基本的な柱となっており、様々な既存ネットワークの長期的な実現可能性にとって不可欠です。
すべてのコンセンサスアルゴリズムの中で、Proof of Workは依然として最も広く使用されています。実際、より信頼性が高く安全な代替案はまだ提案されていません。しかし、PoWを置き換えるための集中的な研究と開発が進行中であり、今後数年のうちに新しいコンセンサスソリューションが登場する可能性が非常に高いです。