
オリジナル著者: Glaze、Fundamental Labs
オリジナル編集: アイディディアオ
イーサリアムの合併は進行中だが、プルーフ・オブ・ステーク(PoS)メカニズムの開始は何度も延期されている。
イーサリアムの合併は、既存のプルーフ・オブ・ワーク (PoW) コンセンサス メカニズムをプルーフ オブ ステーク (PoS) コンセンサス メカニズムに変換することを指します。電力やリソースではなく資産を重視し、集中的なコンピューティング能力の決定を行います。イーサリアムのスムーズな合併を確実にするために、マイナーは権利と利益の証明に目を向け、イーサリアムは、イーサリアムのよりスムーズな合併を保証するために爆弾の難易度メカニズムを高めることを決定しました。
ディフィシティボムメカニズムが設定された後、PoW ネットワークのマイニング難易度は時間の経過とともに指数関数的に増加し、それによってマイナーの ETH 報酬が減少し、最終的に、PoW ネットワークはブロックの生成を停止し、すべてのマイナーは PoS ネットワークに切り替えることしかできなくなります。
ソース:
ソース:Etherscan
長い間、イーサリアムの高いガス料金と遅いネットワークトランザクション速度はユーザーから批判されてきましたが、PoWコンセンサスメカニズムはイーサリアムがこれらの問題を解決するのに役立ちます。
この記事では、PoS コンセンサスメカニズムの歴史とイーサリアムの合併で遭遇した困難について説明します。
新しいコンセンサスメカニズムをすぐに理解する
各ブロックチェーン ネットワークには多数のノードがあり、コンセンサス メカニズムはこれらのノードを調整して、生成された新しいブロックに関してさまざまなノードがコンセンサスに達できるようにします。コンセンサス メカニズムは、分散ネットワークの円滑な自動運用の鍵となります。
コンセンサス メカニズムは複雑な場合が多く、新しいコンセンサス メカニズムをすぐに理解するには、次の質問に答えるだけで済みます。
新しいブロックを提案するのは誰ですか?
ブロックチェーンにフォークがある場合、誰がメインチェーンであるかを決定する要因は何でしょうか?
PoWコンセンサスメカニズムの概要
PoW コンセンサス メカニズムでは、マイナーはハッシュ アルゴリズムに基づいて数学的問題の解決を繰り返し試行します。最初にそれを解いたマイナーは簿記の権利を取得し、新しいブロックを提案します。ブロックチェーンがフォークすると、最も長いフォークチェーンがメインチェーンになります。誰かがブロックチェーンを操作したい場合、攻撃者は少なくとも 51% の計算能力に到達する必要があります。 PoW ネットワーク マイニングには電力リソースが必要であると同時に、ハードウェアに対する要件も高く、一定のコストのしきい値が存在します。マイニングによって得られる報酬は、そのコンピューティング能力に比例します。
PoS と比較すると、PoW は比較的シンプルです。なぜなら、PoW には乱数などの問題が関与する必要がなく、PoS ではブロック提案者をランダムに選択するために乱数を使用する必要があるからです。
PoSコンセンサスメカニズムの詳細な説明
イーサリアムの合併プロセスでは、より多くのノードが分散型でネットワークに参加することが奨励されるため、数千のノードのピアツーピア通信をサポートし、ネットワークの正常な動作を保証するには、より複雑なプロトコルが必要になります。
PoS コンセンサス メカニズムはプルーフ オブ ステーク メカニズムであり、ノードはネットワーク上でネイティブ トークンをプレッジする必要があります。ステーキングされるトークンが多いほど、ノードがブロックを生成する可能性が高くなります。 PoS コンセンサス メカニズムには高度なハードウェア要件は必要ありませんが、誓約を完了するには資金が必要です。ノードが不正行為をした場合、ネットワークはノードによって誓約されたトークンを直ちに切断します。ノードは電力リソースを費やしたり、ハイエンドのハードウェア機器を使用したりする必要がないため、PoS ネットワークは持続可能性、より効率的な応答メカニズム、より高い TPS およびセキュリティを備えているため、ほとんどのネットワークは PoS コンセンサス メカニズムを採用することになります。
PoS の 2 つのフェーズ
PoS は 2 つの開発段階を経て、PoS 1.0 はブロックチェーンに基づくコンセンサス メカニズム、PoS 2.0 は BFT (Byzantine Fault Tolerance) に基づくコンセンサス メカニズムです。
PoS 1.0 コンセンサス メカニズム: PeerCoin、NextCoin、BlackCoin、および Ethereum Serenity。
PoS 2.0 コンセンサス メカニズム: Ethereum 2.0、Tendermint、Cosmos などのプロジェクト。
PoS 1.0
PoS 1.0 フェーズでは、ほとんどの PoS メカニズムは次のとおりです。
ノードプレッジトークン
新しいブロックを生成するノードをランダムに選択します。ノードが新しいブロックを生成する確率は、誓約されたトークンの数に比例します。
このプロセスで最も重要なことは乱数の生成です。乱数の生成がタイムスタンプとハッシュ アルゴリズムに基づいている場合、ノードは乱数の生成に影響を与えることにより、ブロック提案者として再選出される可能性が高くなります。 . 確率が高く、新しいブロックが生成されます。
攻撃ベクトル
攻撃ベクトルにより、ハッカーはコンピュータや Web サーバーにアクセスして、ペイロードや悪意のある結果を配信することができます。攻撃ベクトルにより、ハッカーはシステムの脆弱性を悪用し、資産の盗難につながる可能性があります。一般的な攻撃ベクトルは次のとおりです。
ステーキンググラインディング: ブロックの提案者は、ブロックを生成する機会を増やすために、ランダム性を有利に偏らせるために、何らかの計算を実行するか、他の手順を実行します。
何も問題はありません: PoS ネットワークでは、ノードはマイニングに追加の機会コストを必要としないため、報酬を最大化するために競合する各ブランチでマイニングを行います。しかし、これはネットワークの安定性に悪影響を及ぼします。
長距離攻撃: 初期のマイナーは、フォークを引き起こしやすい初期バージョンのブロックチェーンにまで遡る可能性があります。
PoS 2.0
PoS 2.0 は BFT を使用し、その目標はさまざまなノード間で合意に達することです。
全ノードの中からランダムなアルゴリズムによりマスターノードが選択され、提案やコミュニケーションが可能となります。他のノード、つまり Byzantine ノードの間には悪意のあるノードが存在します。実際の情報の送信と合意の達成を防ぐために、ビザンチン ノードは矛盾した情報を各ノードに送信し、通常は次のような方法で不正行為を行います。
結果は返されませんでした
間違った結果で応答する
意図的に誤解を招く結果で応答する
矛盾した情報で応答する
Byzantine ノードを除く他のすべてのノードは正直なノードであり、最も困難なシナリオのマスター ノードは Byzantine ノードです。
BFT には他にも制限があります。
ノードはピアツーピア通信のみ可能
ノードは送信されたメッセージのログを保持します
ポイントツーポイント通信では、異なるノードが異なるビューを持つことになり、ノードはグローバル同期状態にありません。たとえば、ノード A が 3 つの新しいブロックを見つけたとき、ノード B は 1 つの新しいブロックしか見ることができません。
BFT の主な目的は、メイン ノードが提案した後、ビザンチン ノードを除くすべてのノードが合意に達することができることであり、第 2 の目的はビザンチン ノードを検出することです。
BFT アルゴリズムの概要
現在、BFT アルゴリズムは通常、複数回の投票を採用して、提案がノードの 3 分の 2 以上によって承認されたかどうかを各ノードが確実に把握できるようにします。
各投票ラウンドには次の 4 つのステップがあります。
クライアントがマスターノードにリクエストを送信します。
マスターノードはリクエストをすべてのノードに転送します。
ノードは実行結果をマスターノードに返します
3 分の 2 以上のノードで同じ結果が得られた後、マスター ノードは結果をクライアントにフィードバックします。
以下の図は、実行プロセスの 5 つのノードを示しています。ここで、C はクライアント、0 はマスター ノード、3 はビザンチン ノードです。
準備フェーズとコミットフェーズでは、異なるノード間の同期を確保する必要があります。
Tendermint には次の制限があります。
ポイントツーポイント通信では、ネットワーク ノードの数は 100 を超えることはできません
ポイントツーポイント通信には複雑な設計が必要
実行遅延。ノードは最初に新しいブロックを決定し、次に新しいブロックのすべての情報を実行します。個々のトランザクションの実行は正常に機能しますが、すべてのトランザクションを一度に実行すると二重支出の問題が発生する可能性があります。
編集者注: Tendermint は、複数のノード間でアプリケーションを安全かつ一貫して複製するためのソフトウェアです。 Tendermint は、最大 3 分の 1 のノードに何らかの障害が発生した場合でも機能します。 Tendermint は、使いやすく、理解しやすく、パフォーマンスが高く、さまざまな分散アプリケーションに適するように設計されています。
現在の BFT アルゴリズムは、次の条件で合意に達することができます。
4 つのノードのうち最大 1 つがビザンチン ノードです
25 ノードのうち最大 8 ノードがビザンチン ノードです
100 ノード中最大 33 のビザンチン ノード
ネットワークの稼働状況は、次のような集中的な状況に分類できます。 f がビザンチン ノードの数であると仮定すると、ネットワークには合計 3k+1 個のノードがあり、k はランダムな整数です。
f ≤ k、ネットワークは安定しています
k < f < 2k+1 の場合、一部のノードはコンセンサスに達できない可能性があります。ブロックチェーンの一時停止
f ≥ 2k+1、潜在的な安全上の危険があります
ウロボロスのアルゴリズムの仕組み
BFT アルゴリズムと比較して、ウロボロスはより多くのノードをサポートし、いつでもノードの出入りをサポートできます。ウロボロスは BFT よりも分散化され、柔軟性が高くなりますが、反応時間が長くなります。 Cardano とミナは、ウロボロス アルゴリズム メカニズムを使用します。
ウロボロス アルゴリズム メカニズムは、時間をさまざまな期間に分割し、VRF (検証可能なランダム関数) を使用して各タイム スロットで乱数を生成し、生成された乱数を使用して新しいブロック提案者を決定します。より多くのステークを持つノードは、ブロック提案者になる可能性が高くなります。
未来を見据えて
未来を見据えて
ブロックチェーン ネットワークは分散化とパフォーマンスのバランスをとっており、PoW から PoS への切り替えは、ブロックチェーンが TPS、分散化、トークン エコノミクス、トランザクション スピードをより高度に追求していることを示しています。これら 4 つの特徴を中心に、将来さらに多くのイノベーションが生まれるでしょう。
GameFi および DeFi アプリケーションにおけるトークンエコノミクスの革新は、コンセンサスメカニズムに適用できます。現在のステーキングのメカニズムはシンプルで時代遅れであり、たとえば、多くの DeFi プロジェクトでは通常、ステーキング率を高めて流通量を減らすために Ve トークンが使用されています。 VEトークンを取得するには一定期間プロジェクトトークンを誓約する必要があり、誓約時間が長いほど多くのVeトークンを獲得できるため、誓約率を高めることができます。デュアル トークン モデルもイノベーションの良い方向性です。報酬トークンとガバナンス トークンを分離して、より多くの価値を得ることができます。多くの成功したプロジェクトは、デュアル トークン モデルを通じて市場の販売圧力を軽減しています。
元のリンク
参考文献
https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/
http://muratbuffalo.blogspot.com/2020/01/practical-byzantine-fault-tolerance.html
https://minaprotocol.com/blog/how-ouroboros-samasika-upholds-minas-goals-of-decentralization
https://arxiv.org/pdf/1807.04938.pdfhttp://www.cs.cmu.edu/~dga/15-712/F13/papers//castro99.pdf
http://muratbuffalo.blogspot.com/2020/01/practical-byzantine-fault-tolerance.html