「従来のソフトウェア」開発者として、ブロックチェーン開発を学ぶ場合、学習曲線はまだ比較的急であると感じています。たとえば、一見単純な概念を誤解してしまうことがよくあります。初心者の方は、このような記事をあまり読まないことをお勧めします。私の現在の理解が完全に正確であることを保証することはできません。この記事の目的は、メモを取り、それを全員で共有して議論することです。 初心者はまず、ホワイトペーパーや公式文書、関連プロトコル文書、BIP 文書、あるいは「Mastering Bitcoin」などの古典など、関連する古典的な資料をいくつか読んでみることをお勧めします。能力のある方は、ソースコードやリリースノートを読んだり、bitcoincore dev log などの開発者のメール記録やチャットログを読んだりすることをお勧めします。 これらの基礎知識があれば、他の人の解釈や関連論文を疑問を念頭に置いて検討することができ、誤った見解に惑わされる可能性を減らすことができます。ブロックチェーンの世界では、すべてが実際のお金であるため、基本的な概念を誤解すると致命的になる可能性があります。数行のコードに致命的な脆弱性が持ち込まれたり、十分に理解されていないコードベースやフレームワークに基づいて製品が開発されたりすることで、多くの事故が発生しています。 ブロックチェーン技術では、POW POS、分散コンセンサスなど、多くの新しい用語が導入されています。この記事では、まず、より頻繁に使用される POW/POS とコンセンサス アルゴリズムについて説明し、まず 2 つの文章を引用します。 1> コンセンサスとは何ですか? コンセンサスは、x 期間ごとに元帳エントリを入力して公開する自動化されたガバナンスの形式です。 「ブロックチェーン」は、この自動化されたガバナンス構造が実際に設計どおりに機能し、元帳データの整合性についてほぼ絶対的な保証を提供していることを証明しています。 -- https://blog.goodaudience.com/1-assurances-in-crypto-14c55a1fd616 2> エミン・ギュン・シラー POS/POW 自体はコンセンサスではありません。 1. 推測ゲーム - 採掘メカニズムのパズルを解くPOW と POS は異なるマイニング メカニズムです。本質的には、これらは同様のルールを持つ異なる推測ゲームです。どちらも、ハッシュが目標値、いわゆる動的に調整された難易度値よりも小さいブロックを構築することを目的としています。 POW は、上記の条件を満たすブロックを構築するときに、ノンスのランダム値を推測することです。すべての nonce が無効な場合は、ブロックに含まれるトランザクションを調整し、タイムスタンプを微調整できます。計算能力が高ければ高いほど、チャンスは大きくなります。これは仕事の証明です。 ; POS は、UTXO に対応する加重難易度値よりも小さいカーネル ハッシュを満たす、Coinstake トランザクションを構築するための UTXO を見つけることです。 UTXO の数が多いほど、より正確にはステークが大きいほど、見つけられる可能性が高くなります。これはステークの証明です。 いわゆる POW POS は、ブロックを生成するための単なる異なる要件であることがわかります。推測ゲームはラウンドでプレイされ、各ラウンドでブロックが生成されます。ブロック生成の各ラウンドの後に、ブロックはブロックチェーン ネットワーク上でブロードキャストされ、公開されます。すべてのノードは、コンセンサス アルゴリズムに基づいてこのラウンドの勝利ブロックを選択し、その先端、つまり現在のブロックチェーンに接続します。したがって、私は POW POS を合意へのチケット、または候補者になるためのチケットと呼んでいます。 #POW アプレットの例: https://github.com/bitcoinbook/bitcoinbook/blob/df1828b7205a5950a16a3182cf9b15421ee70658/ch10.asciidoc#pow_example_outputs #POSv3 詳細な説明: http://earlz.net/view/2017/07/27/1904/the-missing-explanation-of-proof-of-stake-version 2. 投票手順 - トラストレスコンセンサスPOW POS は候補者になるための単なるチケットです。このラウンドの最終勝者は、投票者の過半数によって決定されます。投票のルールはコンセンサスアルゴリズムそのものです。投票者はネットワーク内のノードです。もちろん、ここではフルノードについて話しています。投票作業には次の内容が含まれます (詳細なプロセスはここでは説明しません。概要のみです)。 1) トランザクションの検証と中継: 受信したトランザクションを検証して中継するプロセスは、投票の検証手順の 1 つと見なすことができます。候補ブロックに不正なトランザクションが含まれている場合、候補ブロックは正当性を失います。 2) ブロックを完全に検証し、最適なチェーンをアクティブ化します。受信したブロックに対してより詳細な検証 (ブロック レベルとトランザクション レベルの検証) を実行し、最長のチェーンを見つけます。もちろん、実際のプロセスは動的であり、現時点での最長チェーンが最終的な最長チェーンではない可能性があります。 ソフトフォーク、孤立ブロック、さらには再編成が継続的に発生します。ビットコインでは通常、6 回の確認が必要です (一般的に言えば、世界のネットワークが大規模かつ長期にわたる麻痺を経験しない限り、悪意のある長距離攻撃でない限り、いわゆるディープ リオーグが発生する可能性は低いです)。 ブロックチェーン ネットワークでは、主にビットコインに代表されるパブリック チェーンを指し、通常のモバイル ウォレットであろうとマイニング ノードであろうと、各クライアントはこのネットワーク内で独自の役割を果たします。通常のモバイルウォレット(ホットウォレット)の場合、主なタスクはトランザクション情報をブロードキャストして中継することですが、マイニングノードの目的はコインベースの報酬と手数料を獲得することであるため、マイナーノードは候補ブロックを生成するように努めます。これらのマイナーノードは、異なる公式バージョンを実行している可能性があり、一部は改変された非公式バージョンであり、一部は悪意のあるハッカーノードですらあるため、コンセンサスアルゴリズムは、これらの善良なノードと悪質なノードが互いに信頼せずに協力し、いわゆる信頼のないコンセンサスに到達するための基礎となります。 コンセンサスの本質はビザンチン将軍問題を解決することです。コンセンサス アルゴリズムは、ビザンチン フォールト トレランス アルゴリズムです (これは一般的な用語であり、BFT や PBFT を指すものではありません)。 POW POS の目的は、悪事を働く悪質なノードや裏切り者のノードのコストを増やすことです。実際、POW にとって悪事を働くコストは、特に Bitcoin ネットワークの場合、非常に高くなります。しかし、POS に対して悪事を働く低コストの方法は数多くあり、次の 3 つでそれらについて説明します。 一般的なコンセンサス アルゴリズムには、最長チェーン原則に基づく一連のコンセンサス ルールで構成された Nakamoto コンセンサス アルゴリズムである Nakamoto コンセンサスが含まれます。詳細については、https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch10.asciidoc#decentralized-consensus を参照してください。 その他のコンセンサスアルゴリズムにはPBFT(Ripple、Stellar、Hyperledgerで使用)があります。詳細な説明を参照してください。 簡単に言えば、クライアントがトランザクション要求を送信すると、プライマリ ノード (投票者の代表に相当) が他のノードに事前準備メッセージを送信し、メッセージを受信したノードが準備メッセージに応答します。各ノードが他のノードから ack を受信すると、すべてのノードがコミット メッセージを送信します。十分なコミット メッセージが受信されると、クライアントに応答します。 ここで、いわゆるDPOSアルゴリズムについて言及する必要があります。 DPOS アルゴリズムは、ブロック プロデューサーのグループの選択と、生成のスケジュール設定という 2 つの部分に分かれています。ネットワークがスムーズに動作しない場合、利害関係者が最も大きな損失を被るため、選挙プロセスによって利害関係者が最終的に制御権を握ることが確実になります。 前述のように、DPOS アルゴリズムには 2 つの部分、「D」: ブロック プロデューサーの選択、「POS」: ブロックの生成があり、ブロックの生成後にこれらのブロック プロデューサー間でコンセンサスが発生するため、DPOS 自体はコンセンサスではありません。 私の意見では、DPOS と POS の主な違いは、POS は多数派がコンセンサスに参加するためのチケットであるのに対し、DPOS は少数の選ばれた人々がコンセンサスに参加するためのチケットである点です。したがって、EOS の場合、最長チェーンの原則に基づいてコンセンサスに達する必要があります。ここでの潜在的な問題は、大量のコインを持つ一部のリッチノードがやりたい放題する可能性があることです。そのため、EOS は BFT コンセンサス モデルの導入を提案しています。ご興味があれば、この記事「DPOS BFT - パイプライン化されたビザンチンフォールトトレランス」をお読みください。 一部のノードがコンセンサスに従わなかったり、コンセンサスを変更したりした場合に何が起こるかと尋ねたい場合、答えはフォークが発生するということです。ただし、新しいコンセンサスをサポートして参加するノードが十分にない場合、フォークされたチェーンは無意味になります。したがって、コンセンサスは多数派の合意です。少数派のコンセンサスは、DPOS または一部のコンソーシアム チェーンに基づくパブリック チェーンでのみ意味を持ちます。 3. 攻撃ベクトル 攻撃ベクトルこれらを理解することで、次のような問題や安全上の事故をより明確に理解できるようになります。 1) いくつかの攻撃方法は多くのPOSチェーンでは経済的に実行可能ですが、ビットコインなどのPOWチェーンでは経済的に実行可能ではありません。 例えば、遠距離攻撃や賭け攻撃は行いません。主な理由は、POW でブロックを生成するコストが非常に高く、意図的に間違ったブランチを選択した場合はコストがさらに高くなることです。 POS にはこの問題はありません。ブロックを生成するのにコストはかかりません。ある程度の賭け金があれば、それは可能です。場合によっては、ステークを購入し、攻撃トランザクションを構築してからステークを売却することもできます。かかる費用は手数料のみです。何も賭けない攻撃を誤解しないでください。賭け金は必要ありません。これは、マイナーまたはフォージャーが同時に複数のブランチでマイニングすることを意味します。ブロックを生成するコストが低いため、複数のブランチにより報酬を得られる可能性が高まります。結局、何も危険にさらされることなく、二重支出攻撃に繋がることはありません。 解決策としては、チェックポイントの設定(ビットコインでも採用されている)、イクイボケーションノードへのペナルティなど、コンセンサスアルゴリズムを改善することが挙げられます。 具体的には、Slasher アルゴリズムがあります。興味があれば、Ethereum の Casper を詳しく調べてみてください。 2) 同じコードベースとヘッダーファーストノード同期では、POS はリソース枯渇攻撃 (つまり、メモリとディスク領域を使い果たす攻撃) の影響を受けますが、POW はこの問題を回避できます。 この攻撃方法は、ノードが分岐したブランチ ブロックを同期しているときに、再編成が行われない場合、つまりブランチ ノードが最長ノードではない場合、完全な検証 (二重支払いや署名などの完全な検証) が実行されず、メモリ (ヘッダーの送信) またはディスク (ブロックの送信) が消費されるという事実を単純に利用します。 -- PoS に対するリソース枯渇攻撃 この調査に対する Qtum の反応は以下をご覧ください。 チェーンベースのプルーフ・オブ・ステーク暗号通貨に対する「フェイク・ステーク」攻撃について 上記の 2 つの例から、コンセンサス アルゴリズムの小さな変更や脆弱性によって、複数の攻撃ベクトルが導入される可能性があることがわかります。私たちは彼らから多くの考え方を学ぶことができます。以下は、ビットコインの歴史の中で発生した脆弱性へのリンクです。 https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures https://en.bitcoin.it/wiki/弱点 1行のコードによって引き起こされる2つの脆弱性、DOSと二重支払いに関する次の分析レポートをご覧ください。 BitcoinCore CVE-2018-17144 脆弱性の調査と分析 4. その他の考察私は単なるブロックチェーン技術の愛好家であり、パブリックチェーンの開発に参加する機会はありませんが、私の深い理解は開発能力に役立っています。分散型のグローバル思考を養うことは非常に困難です。分散開発やマルチスレッド開発に精通している同僚にとっては、私よりも簡単に始められるかもしれません。もちろん、技術的な考え方に加えて、多くの場所では経済的インセンティブのメカニズムを組み合わせる必要もあります。たとえば、この論文ではマイナーノードの検証のジレンマを提起しています。 完全な検証(スクリプト実行検証を含む)を実行すると、一定の時間がかかります。違法な取引を排除できるのが利点です。検証を省略すると、他のマイナーよりも多くの時間を稼ぐことができますが、違法なトランザクションが含まれる可能性があり、その結果、計算能力が浪費され、代償を払うことになるという危険性があります。この論文は非常に興味深い。これは、上で述べたマイニングの仕組みとコンセンサス アルゴリズムの間の矛盾を示しているような気がします。マイニングの利益を重視する場合、コンセンサス ルールは完全に従うべきか、それとも選択的に従うべきか?ご興味があれば、著者が提案する解決策「THE VERIFIER'S DILEMMA」について学んでみてください。 |
<<: データの観点:BCHSVが「上場廃止」された後の取引所の動向
>>: BSVマイナーは220万ドルの損失を被ったが、なぜまだ存続しているのか?
ブルームバーグ・インテリジェンスのETFアナリストは、今年米国で少なくとも1つのスポットビットコイン...
著者: 王明吉、中国マクロ経済研究所研究員出典:光明日報一夜にして、メタバースは人気を博しました。最...
ビットコイン採掘会社ビットコイン・グループは、オーストラリア証券投資委員会に目論見書を再提出し、AS...
2019年末、鉱山労働者たちは苦境に立たされていた。ビットコインの価格が下がり、多数のマイニングマシ...
機関投資家向けエントリー600社を超える企業が、米国証券取引委員会(SEC)への最近の13F提出書類...
専門化業界専門化注記 2020 年 8 月 17 日月曜日は新しい週の始まりです。来て!建国記念日ま...
待望の Dencun アップグレードにより、Ethereum ブロックチェーン エコシステムの大きな...
オーストラリア政府はビットコインへの課税に関する法案を支持すると発表しており、これは金融テクノロジー...
多くの人がいまだに「ビットコイン」をサイバー犯罪や闇市場と関連付けていますが、その基礎となる技術は、...
米証券取引委員会(SEC)は、ビットコイン「鋳造」企業2社とその創設者らが、一攫千金を狙って投資家を...
取引所やマイニング企業など、各国の仮想通貨関連企業は、従来のIPOを通じて株式を公開し、証券取引所に...
2015年第1回グローバルブロックチェーンサミット「ブロックチェーン - 新たな経済の青写真」は、1...
暗号通貨市場の低迷期に、ETC(イーサリアムクラシック)は異常な動きを見せました。 3月16日から2...
この記事では、銀行カードが凍結される一般的な理由と解決策を分析し、上記のような状況に遭遇したときに迅...
呉碩 著者 |タン・シュウこの号の編集者 |コリン・ウーイーサリアムの歴史と将来が不確実であること、...