ポピュラーサイエンス: ブロックチェーンと分散システム
編集者注: この記事は以下から引用しましたデンリアンコミュニティ、許可を得てOdailyによって転載されました。
編集者注: この記事は以下から引用しました
デンリアンコミュニティ
、許可を得てOdailyによって転載されました。
ブロックチェーン技術の人気により、従来の分散技術のさらなる開発が促進されました。ブロックチェーン技術の本質という観点から見ると、基本的には従来の分散システムや暗号の中核技術と切り離せないものです。では、ブロックチェーン技術は本当に研究する価値があるのでしょうか?ブロックチェーンが私たちを選んだのか、それとも私たちがブロックチェーンを選んだのか?この記事では、分散システム研究者の観点からブロックチェーンを理解します。
ブロックチェーンは分散データベースや分散台帳とよく考えられますが、これは不正確で混乱を招きます。私たちがよく目にする分散データベースと比較すると、ブロックチェーンにはコンセンサス アルゴリズムとチェーン構造という 2 つの主な違いがあります。これら 2 つは互いに補完し合い、一緒になってブロックチェーンの独自性を構成します。
副題
コンセンサスアルゴリズム
分散データベースで採用されるコンセンサス アルゴリズムは、通常、Paxos から派生した一連のアルゴリズムに基づいています。これらのアルゴリズムのセキュリティは、集中化、つまりすべてのノードが信頼できるセンターによって管理されるという前提に依存しています。この仮定の下では、すべてのノードは「正直」であると見なされます。つまり、すべてのノードがメッセージを配信するために最善を尽くし、メッセージは改ざんされません。少数のノードがダウンしたり接続が失われたりしても、プロトコルのセキュリティには影響しません。
しかし、ブロックチェーンにおけるコンセンサスアルゴリズムは集中化を前提としておらず、各ノードは独立した動作をしていると考えられ、これがブロックチェーンの「分散化」の起源でもある。このプロトコルでは、一部のノード (通常は 1/3 未満) がビザンチン ノードになることが許可されており、希望に応じてプロトコルに従うか違反するかを選択したり、任意のメッセージを送信したり、ダウンしているふりをしたりできます。 Byzantine ノードは、攻撃者によって完全に制御されているノード、または独自のソフトウェアに重大なバグがあるノードである可能性があります。このタイプのアルゴリズムは、ビザンチン フォールト トレラント アルゴリズム (略して BFT) と呼ばれます。ブロックチェーンのコンセンサス アルゴリズムのフォールト トレランスは、従来の分散データベースのフォールト トレランスよりもはるかに高いため、効率が劣ることが多いことが明らかにわかります。
BFT コンセンサス アルゴリズムの研究は古くから開始されており、最も影響力のあるアルゴリズムは 1999 年の OSDI でチューリング賞受賞者の Barbara によって提案された PBFT (Practical BFT) です [1]。ただし、アルゴリズムが複雑なため、大規模な導入は困難です。さらに、このタイプのアルゴリズムでは、各ノードの ID がわかっている必要もあります。つまり、プロトコルが初期化されるとき、または新しいノードが参加するときに、ノードが確実にアクセスできるようにするためのアクセス制御 (Access Control) メカニズムが必要です。お互いの身元を認証します。上記の理由に基づいて、従来の BFT プロトコルの研究は 2010 年まであまり進歩しませんでした。
すごい資源消費。ネットワークに参加するマイナーは、莫大なハードウェアと電気のコストを支払う必要があります。
極めて低いパフォーマンス。ビットコイン ネットワークは 1 秒あたり約 7 件のトランザクションを処理でき、各ブロックの平均生成時間は約 10 分です。
取引の不確実性。たとえビットコインネットワークでブロックが確認されたとしても、ブロックチェーンのフォークの可能性により、ブロックは書き換えられるリスクが依然としてあります。ブロックが確認されるのを数回 (たとえば 6 回) 待った後でのみ、このブロックが書き換えられるリスクを十分に減らすことができます。これにより、トランザクションが確認されるまでの待ち時間もさらに長くなります。
上記のコストを削減するために、多くの研究者が多大な努力を払ってきました。たとえば、コンセンサス アルゴリズムのパフォーマンスを向上させるために、コーネル大学の研究者は 2016 年の NDSI で Bitcoin-NG [2] を提案しました。 MIT とスタンフォードの研究者は、ビットコインをさらに拡大するために 2019 年の CCS で Prism [3] を提案しました。さらに、リソース消費を削減するために、MIT の研究者は 2017 年の SOSP で Proof-of-Stake に基づいてマイニングの消費を排除した Algorand を提案しました。
副題
鎖構造
ブロックチェーンがもたらすもう 1 つの革新はチェーン構造です。各ブロックは、最初のブロックに至るまでハッシュを介して前のブロックとリンクされ、無限のチェーンを形成します。この構造の利点の 1 つは、ノードがブロックを確認すると、そのブロックが配置されているチェーン上のすべての以前のブロックが同時に確認されることを意味することです。このチェーン構造に基づいて、ブロックチェーンに「最長チェーン」の原則を採用して新しいブロックを解放するのは簡単です。たとえば、ビットコインでは、ネットワークの問題や悪意のある攻撃により、マイナーは複数のチェーンを認識する可能性がありますが、マイナーは常に最も長いチェーンでマイニングする傾向があります。
マイニングの途中で現在いるチェーンよりも長いチェーンを見つけた場合でも、長い方のチェーンに切り替える必要があります。 「最長チェーン」原則は必ずしも義務ではなく、プロトコルのセキュリティに深刻な影響を与えることはありませんが、すべてのマイナーがこの原則を遵守する場合、各マイナーは最大の利益を期待できます。もちろん例外もあり、比較的大きなリソース(50%未満)をマイナーが占有する場合には、「最長チェーン」原則に違反してより高い収益を求める「セルフマイニング」(利己的マイニング) [4] 戦略が採用されることがあります。 。
ブロックチェーンのチェーン構造は、従来の BFT を研究する研究者に大きなインスピレーションをもたらし、ブロックチェーンに合わせて調整された多くの BFT プロトコルが登場し始めています。これらの中で最も有名なものは、Facebook によって採用された LibraBFT [5] コンセンサス プロトコルです。 LibraBFT は、VMware の研究者によって提案された HotStuff [6] に基づいています。 HotSutff は、ブロックチェーンのチェーン構造を採用することで従来の BFT のパフォーマンスを向上させ、数百のノードを持つネットワークにプロトコルを導入できるようにします。この連鎖構造の魅力を簡単に説明しましょう。
この問題を解決するために、HotStuff では PBFT に基づくチェーン構造を導入しています。前述のチェーン構造の特性により、ブロックに対するノードの投票は、実際には、このブロックが配置されているチェーン上の以前のすべてのブロックに対する投票になります。したがって、連鎖した HotStuff はさまざまな投票段階を削減し、統一された提案と投票のフォームのみを保持します。これを下の図に示します (出典 [6])。
要約する
HotStuff はさらにチェーン構造の特性を利用して、投票ルールとブロック確認ルール (コミット ルール) を指定し、プロトコルのセキュリティを確保します。チェーン構造により、BFT プロトコルはシンプルかつエレガントになり、パイプライン処理を適切に実行できるため、プロトコルのパフォーマンスが向上し、状態空間が大幅に削減されます。


