Workload Proof の PoW、Equity Proof の PoS、Delegated Proof of Equity の DPoS のいずれであっても、コンセンサス問題がある限り、理論的には 51% 攻撃は回避できず、攻撃者は 51% 可逆ブロックを通じてメインネットワークを制御します。 、結果として八重咲きになります。

背景知識

ブロックチェーンは、分散型の分散型パブリックデータストレージシステムとして、管理のための中央管理組織を持たず、暗号プロトコルを使用して分散ノードによって共同で維持され、各ノードがシステム全体を維持するため、台帳の一貫性を確保する必要があります。基礎となるコンセンサスプロトコル。ブロックチェーンには、パブリック チェーン、プライベート チェーン、アライアンス チェーンなど、さまざまな現実のシナリオでさまざまな実用的な用途があります。ビットコインで使用される PoW コンセンサスやイーサリアムで使用される PoW コンセンサスなど、チェーンごとに異なるコンセンサス アルゴリズムが使用されます。 EOS で使用されるコンセンサスと、異なるコンセンサス アルゴリズムに関係するセキュリティは異なります。

この記事では、ビットコインとイーサリアムで使用される PoW コンセンサス プロトコルに存在する攻撃リスクについて詳しく説明します。

PoWコンセンサスメカニズム

まず、PoW コンセンサス プロトコルとは何なのかを見てみましょう。

分散型台帳システムの観点からは、システムに参加する各ノードは完全な台帳を保持する必要がありますが、各ノードは異なる環境にあり、異なる情報を受け取るため、同時にアカウントを保持することはできません。したがって、コンセンサスに達する必要があります。どのノードがアカウントを保持する権利を持っているか。ビットコインとイーサリアムのブロックチェーンは、競争会計、つまり各ノードの計算能力、つまり「計算能力」を利用して会計の権利を争う仕組みを通じて、分散型会計システムの一貫性の問題を解決します。それは「採掘」です。​

しかし、分散型システムでは、競争の結果を決定する権利は誰にあるのでしょうか?ビットコインとイーサリアムのブロックチェーン システムは、Proof of Work (PoW) と呼ばれるコンセンサス メカニズムを通じて実現されます。

PoW(Proof of Work)、つまり「Proof of Work」とは、簡単に言えば、作業側が一定の作業を行ったことを確認する証明書のことです。作業側は結果を得るためにある程度の困難な作業を行う必要があり、検証者はその結果を使用して作業側が対応する作業を実行したかどうかを確認します。

Proof-of-Work コンセンサスによるマイニングでは、次の 3 つのルールに従う必要があります。

  • 一定期間内にアカウントを正常に記録できるのは 1 人だけです

  • 暗号パズル (つまり、プルーフ・オブ・ワーク) を解くことで、唯一の会計権を獲得するために競います。

  • 他のノードはアカウンティング結果を検証してコピーします

  

たとえば、文字列「blockchain」の場合、ワークロード要件は、この文字列の後に nonce と呼ばれる整数値文字列を連結し、連結された文字列に対して SHA256 ハッシュ演算を実行できることです。 取得されたハッシュ結果 (16 進数で表されます)。 form) がいくつかの 0 で始まると、検証に合格します。このプルーフ・オブ・ワークの目標を達成するには、ノンス値を継続的にインクリメントし、取得した新しい文字列に対して SHA256 ハッシュ操作を実行する必要があります。

ハッシュ (前回のハッシュの値、取引記録情報セット) = 29329385BNDH749 ハッシュ (前回のハッシュの値、取引記録情報セット、乱数ノンス) = 000029329385BNDH749

たとえば、ビットコインのブロック高さ 512884 のハッシュは次のようになります。

000000000000000000188d44fd53064469b17c3590a0c4df8e90626d11e25a69

アカウンティングを通じてこのブロックを生成するために必要な作業証明は 16**18 回のハッシュ計算であり、非常に大量の計算量です。

攻撃力51%

アカウンティングと PoW によるブロックのパッケージ化の簡単な原則を簡単に紹介した後、51% 攻撃とは何ですか、二重支出攻撃とは何ですか?という質問に戻りましょう。

二重支払い攻撃とは、単に複数の支払い方法でトークンが使用される攻撃を指します。これは、同じ通貨が複数回使用されることを意味します。二重支出攻撃を開始するには、次のようなさまざまな方法があります。

  • 攻撃力51%

  • 人種的攻撃

  • ベクター 76 攻撃

  • 歴史改変攻撃

つまり、攻撃者がネットワーク全体の計算能力の 50% 以上を制御している場合、51% 攻撃を通じて二重支出を実行できる可能性があります。

ここでは 51% の攻撃プロセスのみを分析します。

51% 攻撃。マジョリティ攻撃とも呼ばれます。この攻撃は、ネットワークのコンピューティング能力を制御することで二重支出を実現します。攻撃者がネットワーク内の計算能力の 50% 以上を制御している場合、攻撃者が計算能力を制御している間、ブロックを反転し、逆トランザクションを実行し、二重支出を達成することができます。

PoW コンセンサス プロトコルでは、ブロックチェーン システムにより複数のフォークされたチェーンが同時に存在することができ、各チェーンはそれが正しいことを外部に宣言できます。ただし、ブロックチェーンの設計概念には最長有効原則があります。 「どの時点で最も長いチェーンが最も多くの作業を伴うメインチェーンとみなされるのでしょうか?」

51% 攻撃プロセスを簡単にシミュレートしてみましょう。

このような攻撃者がいる場合、最初のトランザクションをネットワークの半分に意図的にブロードキャストし、2 番目のトランザクションをネットワークの残りの半分にブロードキャストします。その後、両側にちょうど 2 人のマイナーが存在し、ほぼ同時に会計権を取得します。ブロックは全員にブロードキャストされます。この時点では、元の統合元帳は分岐しています。

次に、次のマイナーが A に基づいて会計を続行することを選択した場合、ブランチ A はブランチ B よりも長くなります。ブロックチェーンのルールによれば、最も長いブランチが認識され、短いブランチは放棄され、台帳はそのまま残ります。 be は 1 に戻り、トランザクションは 1 つだけ有効になります。

このとき、ブランチ A が認識され、対応するトランザクションが確認されます。攻撃者が製品を入手すると、即座にマイ​​ナーに変身して 2 回連続の会計権を獲得し、ブランチ B に 2 つのブロックを追加します。

この時点で、支店 A は放棄されます。支店 A での攻撃者の支払い通貨は再び有効になりますが、攻撃者はすでに商品 A を取得しています。支出攻撃は正常に完了しました。問題は、ブランチ B が遅れている場合、実際にはブランチ A を追い越すことは非常に難しく、攻撃者がブランチの計算能力の 50% 以上を制御している場合、成功の可能性は非常に低いことです。ネットワーク全体に影響を及ぼした場合、たとえ遅れをとっていたとしても、彼が追いつくのは時間の問題です。これが上記の「51% 攻撃」です。

Bitcoin Gold 51% 攻撃事例の分析

ブロックチェーンの現実の世界では、51% 攻撃によって引き起こされる二重支出が数多く発生しています。

たとえば、ビットコイン ゴールド (BTG コイン) の二重支払い問題は 51% 攻撃です。攻撃プロセスは次のとおりです。

  1. 攻撃者は、ビットコイン ゴールド ネットワーク上のコンピューティング能力の 51% 以上を制御しており、コンピューティング能力を制御している間、このブランチをブランチ A と名付けました。

  2. 同時に、彼はこれらの BTG を彼が管理する別のウォレットに送信しました。このブランチをブランチ B と名付けました。

  3. 支店 A での取引が確認されると、攻撃者はすぐに BTG を売却して現金を取得します。このとき、分岐Aが主鎖になります。

  4. 次に、攻撃者はブランチ B でマイニングを行います。ブランチ B は計算能力の 51% 以上を制御しているため、攻撃者は高い確率で会計権を取得できるため、すぐにブランチ B の長さがメインチェーン (つまりブランチの長さ) を超えます。 A) の場合、ブランチ B がメイン チェーンになり、ブランチ A のトランザクションがロールバックされ、データが最後の正しい状態に復元されます。

  5. つまり、支店 A は攻撃者が最初のトランザクションを開始する前の状態に復元され、攻撃者が以前に現金に変換した BTG が攻撃者の手に戻ります。

  1. 最後に、攻撃者はこれらの BTG を自分の別のウォレットに送信します。このようにして、攻撃者は同じトークンの「二重支払い」を達成するためにコンピューティング能力の 51% 以上を制御しました。

この攻撃のブロックチェーン データ レポートによると、攻撃者は 22 ブロックの反転に成功し、これらのトランザクションがすべて二重支出に関連していると仮定すると、攻撃者は 388,200 ドル以上を受け取りました。相当の資金が取引所から盗まれた可能性がある

ビットコインゴールドで発生した二重支払い問題以外にも、51%攻撃による二重支払い攻撃が多発しています。

  • この匿名デジタル通貨 Verge は、かつて悪意を持ってわずか数時間で 3,500 万以上の #xvg (約 175 万米ドル相当) をマイニングしました。

  • 日本の仮想通貨モナコインは、マイナーがネットワークのハッシュパワーの最大 57% を取得した後、ブロック控除攻撃を受けたようです。

  • ライトコインキャッシュ (LCC) 公式ニュース、LCC が 51% の攻撃を受けました。

  • デジタル通貨 #zen も 51% 攻撃を受けました。

  • 最近、イーサリアム クラシック #etc が 51% の攻撃を受けました。