分散テクノロジーの原則と実践 45 講義--05 講義 05: コンセンサス問題: ブロックチェーンは会計上の権利をどのように確認するのか?

この授業では、「コンセンサス問題:ブロックチェーンは会計上の権利をどのように確認するのか?」を中心に解説します。

ブロックチェーンは近年最も注目されている技術分野の一つと言えますが、ブロックチェーンはサトシ・ナカモト氏のビットコインに端を発しており、ビットコインの基盤技術である本質的には分散型データベースであり、中央集権化、オープン化、透明化を特徴とし、分散台帳テクノロジーとして、各ノードはデータベース レコードに参加できます。

ブロックチェーンは効率性よりもセキュリティと信頼性を重視した技術であり、インターネット技術が通信問題を解決するのであれば、ブロックチェーン技術は信頼問題を解決します。

今日は、ブロックチェーンの中核問題に焦点を当てます。分散型台帳として、各参加者がデータのコピーを保持するため、会計上の権利をどのように確認するのか、そして最終的な台帳は誰になるのか?

ブロックチェーンのコンセンサス

ブロックチェーンは分散型台帳システムであり、ブロックチェーンのコンセンサスの問題は、実は分散システムの一貫性の問題から生じています。

コンセンサスは、その名前が示すように、共通の理解です。コンセンサス問題では、複数のメンバーがどのように合意に達するか (通常は投票など) を研究します。

コンセンサス メカニズムはブロックチェーンの中核的な役割を果たし、アカウントを保持する権利を持つ人、アカウントを保持する権利の選択プロセスと理由を決定します。仮想通貨ごとに採用されるコンセンサスメカニズムは異なります。一般的なコンセンサスメカニズムには、POW、POS、DPOS などが含まれます。

CAP の C は一貫性であると前述しましたが、一貫性とコンセンサスの違いは何ですか?

Consistencyは時系列での内容の一貫性や統一性に着目し、Consensusはある内容について多くの参加者が合意に達することを指すため、一般的にConsistencyは「一貫性」、Consensusは「合意」と訳されます。

ビザンチン将軍問題

これまでのコースでは、いくつかの古典的なコンセンサス アルゴリズムを共有しました。コンセンサス メカニズムを分散システムに拡張する場合、システムはメイン プロセスによって調整される必要があり、一貫性を実現するためにシステムのすべての決定はメイン プロセスによって行われます。

ブロックチェーンでは、ブロックチェーンが分散分散システムであるため、チームのリーダーや分散システムのマスターの役割が存在せず、システムの一貫性を確保するための何らかの役割が必要となるコンセンサスメカニズム。

一般にネットワーク通信において、ノード障害、つまりチャネルの信頼性が低い状況を「非ビザンチンエラー」と呼び、悪意のある応答、つまりシステムが攻撃されてエラーメッセージが送信されることを「非ビザンチンエラー」と呼びます。 「ビザンチンエラー」。

なぜビザンチンエラーと呼ばれるのでしょうか? 実際には、これはストーリーモデルから来ています。

ビザンツ帝国は中世のトルコ帝国で、古くから続く隣国10ヶ国に囲まれ、莫大な富を誇っていましたが、ビザンツ帝国は高い城壁を持ち、隣国一つでは攻めることができない難攻不落の帝国でした。侵入に成功。1 つの近隣者による侵略は失敗しますが、他の 9 つの近隣者から侵略される可能性もあります。
ビザンチン帝国の防御能力は非常に強力だったので、突破するには隣国10カ国の少なくとも半数が同時に攻撃しなければならなかった。ただし、近隣諸国の 1 つまたは複数が一緒に攻撃することに同意しても、実際のプロセス中に裏切りが発生した場合、侵略者はすべて全滅する可能性があります。
したがって、各政党は慎重に行動し、近隣諸国を簡単に信頼することを敢えてしませんでした。これがビザンチン将軍問題でした。

(画像はウィキペディアより)

ビザンツ問題において、近隣諸国にとって最も重要なことは、どのようにして全将軍がビザンツ帝国を攻撃するという合意に達することができるかということである。ビザンチン将軍問題の中心的な説明は、軍の中に裏切り者がいるかもしれないが、攻撃は一貫していなければならないというもので、これはコンピュータ分野に拡張され、フォールトトレランス理論に発展しました。

将軍のグループが一斉に攻撃する、一斉に退却するなど、特定の目的を達成したい場合、単独で行動することはできません。将軍たちは協力して合意を形成する必要があります。裏切り者の存在により、将軍たちはどうすればよいのかわかりません。コンセンサスを得る。

実際、ビザンチン将軍問題と、先ほど述べた Paxos アルゴリズムと論理クロックはすべて Leslie Lamport によって提案されました。

ランポート氏は分散システムの創始者の一人とも言え、分散分野における一連の貢献により、2013年にチューリング賞を受賞しました。

ビザンチンの将軍問題と今日議論する会計上の権利との間にはどのような関係があるのでしょうか?

会計上の権利の帰属においては、ビザンツ帝国の将軍たちの裏切り者にどう対処するかのように、悪意のあるコンセンサス、つまり誤った会計の出現をいかに回避するかが鍵となる。

ビットコインはブロックチェーン技術の最も広く使用されているアプリケーションですが、ビットコインの会計上の権利はどのように判断するのでしょうか? 答えは POW メカニズムです 次に、POW ワークロード証明メカニズムを分析します。

捕虜の労働証明

PoW (Proof of Work) は、検証済みのビザンチン ソリューションの中で最も安全であると考えられており、スパムを防ぐために最初に使用されました (代表的な例としては、Google Mailbox のスパム対策システムがあります)。

Google Mailbox では、Google サーバーに電子メールを送信するすべての送信者が、最初に一定量の計算作業を完了する必要があるため、1 秒の遅延など、短期間の遅延が発生します。通常の電子メール送信の場合、この時間は許容可能; 広告メール送信者の場合、大量の送信作業が必要であり、この価値のない計算は許容できないためです。

鉱山の起源

マイニングはビットコイン システムの視覚的な表現ですが、マイニングはどこから来たのでしょうか?

ビットコインマイニングとは、一定期間内にビットコインシステム内で発生した取引を確認し、ブロックチェーン上に記録して新しいブロックを形成するプロセスであり、会計上の権利を争う必要があるため、コンピューターを使用してハッシュ値やランダムな衝突を通じて問題を解決します。このプロセスはマイニングです。

言い換えれば、ビットコイン システムは数学的な問題を提起しており、誰もが最適解の答えを急いでいます。マイニングは会計プロセスであり、マイナーは簿記であり、ブロックチェーンは台帳です。

ビットコインのPOW実装

ビットコインの POW 実装は、指定されたハッシュ問題を解くために計算を通じて値 (ノンス) を推測することです。以下はビットコインのブロック構造です。ブロック ヘッダーに乱数フィールドがあることがわかります。これがノンス値です。

サトシ・ナカモトは、ビットコインのシステムに、ナンス値を常に調整してブロックヘッダーのハッシュを計算する問題を設定し、計算されたハッシュ値が特定の固定値を満たすようにナンス値を見つける必要がありました。

特定のハッシュ メソッドでは通常、SHA256 アルゴリズムが使用されます。この小さなツールをチェックしてhttps://tool.oschina.net/encrypt?type=2をテストできます。

計算プロセスを単純化しましょう。100 番目のブロックで指定されたブロック値が次の文字列であると仮定します。この文字列を最初に計算するノードはビットコインを取得できます。

f7684590e9c732fb3cf4bf0b8e0f5ea9511e8bbaacb589892634ae7938e5700c
ハッシュ アルゴリズムは不可逆アルゴリズムであるため、特定のハッシュ値から元のテキストを推定することはできません。このように、各ノードは網羅的な方法、つまり、先頭の a、b、c などのさまざまな文字列を選択することしかできません。 、1、2、3、...、続けてください。

ビットコインのシステム自体が難易度を調整し、問題を解く時間を制御します。一般的に、ブロックは約 10 分ごとに掘り出されます。この 10 分間、コンピューターは計算を続けてさまざまな文字列を試すことしかできません。

このプロセスでは、各ノードのサーバーのパフォーマンス、つまり計算能力を実際にテストします。非常に強力なコンピューティング能力があり、何万台ものサーバーがある場合は、Nonce 値 (正解: lagou) をすぐに取得でき、対応するハッシュ値は質問の要件と一致します。

次に、Nonce 値を構造に入れて、P2P ネットワーク経由でブロードキャストすることができます。他のシステム ノードがそれを受信すると、Nonce 値が正当であり、要件を満たすことができることがわかり、マイニングが成功したと見なされます。

問題を解決した結果、システムに応じたビットコイン報酬と、このブロック内のすべてのトランザクションで発生する手数料を受け取ることができます。他のノードは、誰かがすでに計算していることを発見すると、計算を放棄し、次のブロック トピックを開いて次のブロック ヘッダーの Nonce 値を見つけます。

実装されている最大のブロックチェーンシステムとして、ビットコインのブロック情報は動的に生成されます。下のスクリーンショットは、ビットコインの最新のブロック情報を記録しています。ブロック情報はhttps://www.blockchain.com/から取得しています。リンクをクリックして最新のブロックの高さを表示することもできます。

ブロックチェーンのフォークと 51% 攻撃

ハッシュ問題は不可逆的であり、主に総当りの計算に依存するため、より多くの計算能力を持つ人が最初に問題を解決できる可能性が高くなります。ネットワーク全体の計算能力の半分以上を制御すると、ネットワーク内のチェーンの方向を制御でき、これがいわゆる 51% 攻撃の起源でもあります。

前に述べたように、ブロックチェーン内のすべてのノードがアカウンティングに参加できるため、システム内でチェーン フォーク (フォーク) が発生する可能性があり、最終的に 1 つのチェーンが最長のチェーンになります。

しかし、関係者全員の大きな利害が絡み合う現実社会では、計算能力の勝負はそれほど単純ではないことが多く、ビットコインを例にとると、BCH(ビットコインキャッシュ)とBTG(ビットコインゴールド)に分かれています。 ) およびその他のフォークされたコイン。

POWメカニズムのメリットとデメリット

POW には多くの利点があります。POW は分散型コンセンサス アルゴリズムを初めて完全に実装し、ノードが自由に出入りできるため実装が容易です。高いコンピューティング能力が必要なため、システムを破壊するコストも膨大です。

POW メカニズムの欠点も明らかです。最大の欠点はエネルギーの無駄です。膨大なコンピューティング能力が終わりのないマイニング活動に浪費され、それ自体は何の価値も生み出しません。

これはブロックチェーンについて多くの人が批判していることでもあります. ブロックチェーンは多くのエネルギーを浪費し、価値のないデータ ストレージを大量に獲得するだけです. 別の角度から考えると、これはまた、分散型シナリオでは信頼を達成することが重要であることを示しています。なんて難しいんだろう。

一方で、南西部の山中に、地元の安価な電力資源を活用したり、発電所と直接建設したりして、デジタル通貨鉱山が多数建設されている様子も見られます。

その他のコンセンサス方法

POW メカニズムに加えて、他のコンセンサス方法、通常は POS と DPOS があります。

POS プルーフ・オブ・ステーク

POS (Proof of Stake) は現実の株主総会の仕組みに似ており、多くの株式を保有するほど議決権が増え、会計上の権利を取得しやすくなります。

POS はデポジットを使用して法的ブロックが新しいブロックになるように賭けます。収益は住宅ローン資本の利子と取引サービス手数料です。提供された預金証拠が多ければ多いほど、簿記の権利を取得できる可能性が高まり、正規の簿記係は利益を得ることができます。有名なデジタル通貨 ETH (イーサリアム) は、コンセンサス アルゴリズムに POS メカニズムを使用しています。

DPOS 委任されたプルーフ・オブ・ステーク

DPOS(Delegated Proof of Stake、Delegated Proof of Stake)の仕組みを採用している代表的なものはEOSですが、POSが株主総会に似ていて、誰が一番多くの株式を保有しているかを比較するのであれば、DPOSは会社の取締役会制度に似ています。 . DPOS コンセンサス システムでは、ブロックの作成を担当する一定数の代表者が選出されます。

要約する

ブロックチェーンは分散システムの最も普及したアプリケーションの 1 つであると言えますが、今回はブロックチェーンのコンセンサス問題、ビザンチン将軍問題の起源と典型的な捕虜解決メカニズムを紹介します。

ブロックチェーンは非常に幅広いトピックです。ビザンチン将軍問題を例に挙げると、ブロックチェーンが登場する前は、口頭合意と書面による合意という 2 つの解決策がありました。このコラムの内容は主に分散システムに関するものです。次の章では、ブロックチェーン関連のトピックの説明は続けません。ブロックチェーン テクノロジとアプリケーションについて詳しく知りたい場合は、いくつかの関連情報を以下に添付します。

おすすめ

転載: blog.csdn.net/g_z_q_/article/details/129151620