BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Vitalik 氏の最新講演: 重複 51% 攻撃は PoW ブロックチェーンにとって致命的な脅威となる、PoS が唯一の解決策

巴比特
特邀专栏作者
この記事は約7048文字で、全文を読むには約11分かかります
51% 攻撃で何ができるでしょうか?
AI要約
51% 攻撃で何ができるでしょうか?

編集者注: この記事は、Babbitt によるもので、Free and Easy によって翻訳され、Vitalik Buterin (V God) によって執筆され、Odaily によって許可を得て転載されています。

北京時間2月20日から22日まで、フィンドラ主催の2020スタンフォードブロックチェーンカンファレンスがスタンフォード大学で開催され、ブロックチェーンシステムにおけるセキュリティエンジニアリングとリスク管理手法に焦点を当て、暗号化技術の応用について議論された。ブロックチェーンシステムの安全性を向上させるための手法や実証分析など。

画像の説明

(写真: 2020 スタンフォード ブロックチェーン カンファレンスで講演した Vitalik)

ヴィタリク氏のスピーチの内容は以下の通り。

51% 攻撃で何ができるでしょうか? 51% 攻撃にはさまざまな種類があり、さまざまなアプリケーションでさまざまな操作を実行し、さまざまな結果と結果を生み出す可能性があります。あなたがよく知っている 51% 攻撃の 1 つのタイプは、ブロックのロールバックです。取引を行い、取引所に送金し、それらのコインを別のコインと交換し、それらのコインを引き出し、そして 51% 攻撃を実行して、入金取引を取り消します…

これは、私たちが過去 10 年間議論してきた 51% 攻撃の主なタイプであり、私たちが最も検討したものです。

1. 他のタイプの 51% 攻撃

1.1 トランザクション レビュー攻撃 実際、トランザクション レビューも 51% の攻撃です。レイヤー 2 プロトコルと DeFi がどちらも最近のメガトレンドであることを考えると、トランザクション検閲は特に危険になります。多くのレイヤー 2 プロトコル (プラズマ、チャネル、一般状態チャネル、ライトニング ネットワーク、オプティミスティック ロールアップ、インタラクティブ コンピューティング、TruBit など) の環境では、レビューは盗難を意味します。

したがって、異議申し立て取引を精査できれば、人々からお金を盗むことができます。これは zk Rollup には当てはまりませんが、この攻撃は現在人々が検討しているプロトコルの大部分に当てはまります。検閲は、市場を操作して価値を獲得できるツールであるため、DeFi の文脈では特に危険です。

Uniswap に接触したすべてのイーサリアム ブロックチェーン トランザクションを精査し、1 日待つことができれば、イーサリアムの価格は少し不安定になる可能性があり、この攻撃から多くの裁定取引価値を引き出すことができるでしょう。

検閲は危険であると言え、DeFiプロトコルやレイヤー2プロトコルではトランザクション検閲は窃盗と同等とみなされることもあります。

1,2 ライト クライアント攻撃 多くの人がライト クライアントを実行しています。ライト クライアントを実行している場合、51% 攻撃により、それらのライト クライアントは完全に無効なトランザクション ブロックを含むチェーンを受け入れる可能性があります。虚偽の署名、不正なトランザクション、不正な署名 (あるアカウントから資金を盗み、別のアカウントに転送する) により、ネットワークで受け入れられる使用可能なブロックを取得する可能性があります。 1.3 データ利用不能攻撃 データ可用性の問題に詳しい人はいるでしょうか?まあ、全員ではありませんが、多くの人がそれを理解しました。ここでの考え方は、ブロック ヘッダーを公開するチェーンを作成できるということです。ライト クライアントはチェーンを表示できますが、ブロック本体内のデータの一部またはすべてを公開することはできません。これは、データが公開されていない場合、それが真実である可能性もあれば、そうでない可能性もあり、それが真実である可能性を他人に証明する方法がなく、将来のトランザクション情報を作成しようとする可能性のある人々を拒否することになるため、悪いことです。とはいえ、使えないブロックも危険です。 1、4 落胆攻撃 落胆攻撃とは、他のアクターを悪意を持って妨害し、収入を失わせ、あなたと共謀したり、強制的に辞めさせたりすることを指す用語です。 1/3 以上のコンピューティング能力を使用した利己的なマイニングは、この例です。とはいえ、51% 攻撃は非常に強力な思いとどまる攻撃でもあります。 1.5 ブロックチェーンの改ざん不可能な変更に関して、51% 攻撃は非常に強力であり、この種の攻撃はブロックチェーンの改ざん不可能な変更に対する脅威です。

誰がこれを覚えていますか?ある取引所が多額の資金を盗まれ、それを取り戻すためにビットコインブロックチェーンの1日の逆転を推進することを検討している。このようなことが可能であれば、ブロックチェーン内のものが元に戻されてしまい、ブロックチェーンがブロックチェーンであるという重要な特性を失う可能性があり、恐ろしいことです。

また、51%攻撃は民主的ではなく、金権政治的なものであるため、民主的手法としては何の役にも立ちません。

2. 実際に発生した51%攻撃と最悪の51%攻撃シナリオ

実際には 51% 攻撃も可能です これは 2015 年香港ビットコイン スケーリング カンファレンスの写真です。この写真では、ビットコインのコンピューティング能力の 90% を制御している何人かの人々が一緒に座って、「私には権力がある」という姿勢をとっています(笑)。

51% 攻撃が行われる可能性があります。たとえば、ETC、ビットコイン ゴールドなどはすべて 51% 攻撃に遭遇しました。1 ~ 2 回の攻撃は見逃したと思います。これらの攻撃はすでに発生しています。

実際、スポーンキャンプの攻撃は、これまでに確認された攻撃の 51% の中で最悪ではありません。スポーンキャンプへの攻撃は、このタイプの攻撃にとって最悪の悪夢のようなシナリオです。基本的に、チェーンを攻撃するのに十分なハードウェアを取得し、チェーンが回復するのを待ってから、ハードウェアがまだあるため、再度攻撃する必要があります。最終的に、コミュニティはこの拷問にうんざりし、Proof-of-Work (PoW) アルゴリズムを置き換えることになります。短期間で ASIC を構築する方法がないため、必要なのは、攻撃を継続するために大量の CPU と GPU の計算能力を借りた場合、プルーフ オブ ステーク (PoS) に切り替えるか、完全に集中化されたものにならない限り、チェーンは機能しません。

3. プルーフ・オブ・ステーク (PoS) アルゴリズムはこのサイクルを断ち切ることができますか?

これは私が 2016 年に書いたブログ投稿で、プルーフ オブ ステーク (PoS) とは何か、なぜそれが存在することが期待されるべきなのか、なぜ意味があるのか​​、その背後にある哲学を説明しようとしました。 Proof of Stake (PoS) には報酬のみがある Proof of Work (PoW) とは異なり、非対称性があるため、攻撃に参加したか参加しなかったかで罰せられ、ブロック報酬部分のみが罰せられます。 。プルーフ・オブ・ステーク (PoS) システムでは、攻撃が検出される可能性があり、失うデポジットは罰金を科せられる保証金よりもはるかに大きくなります。

これらは、Casper CBC やその他のさまざまな保証金、スラッシュベースのプルーフ オブ ステーク (PoS) アルゴリズムに組み込まれます。理論的には、この設計の目標は、51% 攻撃を非常に高価にすることです。基本的に、PoS チェーンを攻撃したい場合、大量のコインを購入する必要があり、システム内のコインの 50% 以上を制御する必要があります。その後、攻撃しようとして捕まった場合、罰金が科せられます。もう一度やりたい 攻撃を開始するには、より多くのコインを購入する必要があります。買い続けていると、コインの価格が上昇して最終的に破産することになるため、この観点から、攻撃者が PoW をターゲットにするのではなく、当社の目標は、チェーンを PoS に移行することです。

他の種類の攻撃についてはどうですか?ここで最初の質問、PoS は他のタイプの攻撃をどのように解決するのかについて説明しましょう。これまでのところ、ファイナリティの逆転に焦点を当ててきました。これは、ビザンチンのフォールトトレラントコンセンサス理論ではかなり一般的です。基本的な考え方は、当事者の 2/3 が一方の側にいて、残りの 1/3 がもう一方の側にある場合...バリデーターの 1/3 が 2 つの矛盾するメッセージを送信する必要がある場合、それらを検出してペナルティを与えることができるということです。それでも逆に攻めるということです。

他の種類の攻撃についてはどうですか?無効なデータ、利用できないデータ、検閲、破壊行為?

少しずつ解決していきましょう。データの有効性は気にしません。データの可用性が保証され、ブロックがブロックチェーンの一部であるかどうかが保証されていれば、 all すべてのデータはネットワーク内のノードによってダウンロードできます。検閲に抵抗がある場合は、ブロックを公開すると、最終的には含まれることになり、これら 2 つのことから正当性が得られます。その理由は、インタラクティブ コンピューティング、ロールアップ、およびこれらの既存のプロトコルにあります。基本的に、Rollup を使用すると、すべてのデータをオンチェーンで公開し、チェーンがその可用性を保証し、何らかの不正証明を取得し、一部の計算が無効な場合は検閲不能な不正証明を発行して処理できることを保証します。オンチェーン。したがって、データの有効性はそれほど重要ではありません。第 1 層 (レイヤー 1) と第 2 層 (レイヤー 2) の不正行為の証明でこの問題を解決できるからです。

他人のブロックを検閲できない場合、そのブロックがブロックチェーンに組み込まれるのを防ぐことはできません。したがって、インセンティブに対するペナルティが抑制されている限り、グリーフィングはそれほど問題にはならないはずです。

これは、データ可用性攻撃と検閲攻撃の 2 つに要約できます。

紙紙ここでは、基本的にブロックチェーン クライアントが実際にすべてのデータをダウンロードすることなくブロックチェーン データの可用性を検証できるようにするスキームについて説明します。

このスキームの単純な藁人形バージョンは次のとおりです。ブロックが利用可能かどうかを確認する最も愚かな方法は、ブロック全体をダウンロードすることです。ただし、ここではスケーラブルで、場合によってはシャーディングされたブロックチェーンを想定しています。この場合、2 MB/秒を超えるデータがチェーンにアップロードされ、クライアントはすべてをダウンロードすることはできません。データの可用性を確認したいクライアントの場合、私たちがしなければならないことは、ランダムなサンプルをテストすることだけです。 30 個のフラグメント、40 個のフラグメント、80 個のフラグメントなど、いくつかのデータ フラグメントをランダムに選択します。場所をランダムに選択し、受け入れたすべての場所から有効な応答を受信する限り、これらの場所のマークル証明を要求します。その後、ブロックを有効なものとして受け入れます。

このスキームを使用してブロックを受け入れる場合は、そのブロックが有効であることがわかります。利用可能なデータが 50% 未満の場合 (ここでは左側のすべてのデータが利用可能、ここでは右側のすべてのデータが利用可能)、少なくとも 1 つのチェックが失敗する可能性が高くなります。

このスキームを使用すると、攻撃者はいくつかの特定のクライアントになりすますことができます。ただし、攻撃者が十分な数のクライアントをだまして、全データの半分として子葉データをダウンロードさせた場合、それらのクライアントはそこからデータの再構築を続けることができます。

これはブロックが完全に利用可能であることを証明するものではなく、一部が欠落している可能性がありますが、少なくとも半分のブロックが利用可能であることは証明されます。データの 50% からデータ ブロック全体を復元する技術があればいいのですが。

イレイジャー コーディング ここでイレイジャー コーディングが登場します。そこで、データを取得します。これが多項式の評価であるとしましょう。同じ多項式をより多くの点で評価します。今度は、データの 50% があれば十分です。すべてのデータを回復します。このスキームを使用すると、20 ~ 200 KB のデータを個人的にダウンロードしながら、ブロックが有用であること、およびブロックが潜在的に非常に大きなサイズで利用可能であることを検証できます。

これが最初の部分です。これには、イーサリアム 2.0 シャーディング ソリューションの一部であるデータ可用性攻撃が含まれます。これにより、少なくともシャードされたブロックチェーンに同じ可用性の保証を与えることができます。

正しさの証明 それでは、ルートがこのイレイジャーコーディングのルートであることを証明するにはどうすればよいでしょうか?ジャンクデータが混入していないことをどうやって証明しますか?この 2D のような不正証明を使用することができ、コーディングを間違えると、誰かが短い不正証明を作成し、それをネットワークにブロードキャストすると、ネットワークがブロックを拒否することができます。この 2D スキームは 2017 年に研究されました。最近では、マークル ツリーの各レベルをエンコードするマークル ツリーのエンコードに関するものがあり、これには優れた特性があります。マークル ルートの計算が正しいことを証明するために STARK や SNARK を使用するなど、不正証明に依存しないアプローチもあります。また、別の可能性には多項式コミットメントが含まれます。データを取得して解釈することになります。それを多項式評価として使用すると、多項式を計算し、多数の点で多項式にコミットされた大量の開口部を実行し、データ可用性チェックでは 80 個の開口部ではなく 80 個の位置を要求することになります。賢い代数を使用して、ある種の複数の開口部を取得すると、さらに効率が向上します。

これらのスキームの利点は、不正行為の証明に依存しないため、ブロック データを検証するためのスキームが公開されており、追加の組み込み待ち時間の仮定がなくなったことです。

シャーディング: 現在委員会を超えて存在するシャーディングされたブロックチェーンは、通常、委員会に依存しています。その考え方は、多数のノードがあり、いくつかのノードをランダムに選択し、それらのほとんどまたはほとんどが特定のゾーンに存在する必要があるということです。ブロックは次のように署名されます。ネットワークがブロックを有効なものとして受け入れることを確認します。

あらゆる種類の委員会ベースのスキームの問題は、一定の基準を超える悪者による監視の対象となることです。 51% 攻撃に対する耐性について話すのであれば、たとえ多数派が攻撃を開始したとしても、少数派がオペレーティング システム自体を継続できる必要があるシステムについて話していることになります。

しきい値が固定されたシャーディング スキームは実際には役に立ちません。したがって、ここでの解決策は、プロトコルが委員会よりも一連のデータ利用可能性チェックスキームに完全に依存する必要があるということです。

検閲に関して、誰がここにいますか、誰が検閲を止めたいと思っていますか?まあ、人がたくさんいるので、現状はあまり良くありません。これは、イーサリアムの正式な検証に取り組んだ nr Ryuya による記事です。彼は、イーサリアム 2.0 の現在の設計では、ほとんどの人がブロックをレビューするためのいくつかの戦略がある、そのような精査は単一ブロックと区別できない、という記事を書きました。遅延が発生し、誰が責任を負うのかを判断することが困難になります。

ここでの攻撃はかなり厄介です。攻撃者はいくつかのバリデーターをハッキングして別のブロックに投票させ、他のバリデーターを使用して実際に検閲対象のコンテンツを含む独自のブロックに投票させます...しかし、攻撃者自身は検閲に必要な十分な投票を持っていません。 51%を超えるので、彼らが検閲しようとしているものは実際には決して含まれないでしょう。これは多層的な間接的な効果です。イーサリアム 1.0 とイーサリアム 2.0 では、51% 攻撃を行う悪意のある当事者が検閲を行うことができますが、検閲が十分に強力である場合、それに対して何かを行う必要があるかどうかを判断するのは困難です。

アンクルブロックを含める これはこれまでにできる最も基本的なことです。アンクルブロックを含めます。ここでの考え方は、イーサリアム 1.0 では、ブロックチェーンの一部ではなかったブロックを後で含めることができるということですが、新しいスキームでは、アンクル ブロック内のトランザクションも含めるというプロトコル ルールを追加するということです。

つまり、アンクルブロックも含まれるブロックチェーンができました。

アイデア: 適時性検出器 (TD) 少なくともオンライン クライアント、つまりデータをダウンロードしたり他のクライアントと定期的に通信したりできるネットワーク上のクライアントがあれば想像してみてください。ブロックが時間通りに到着したかどうかを確認してもらいます。

ブロックが時間通りに到着したことを確認し、そのブロックがチェーンによって長期間受け入れられていないことが確認された場合、そのブロックは自動的に失格となります。ブロックが時間通りに到着しない場合は、それを 51% ロールバック攻撃に使用できます。

その考え方は、クライアントがブロックが予定どおりに到着したかどうかをローカルで検出し、それを情報として使用して、従うべきチェーンを決定するというものです。

オフラインのノードも存在するため、すべてのノードがプロトコルに従うことができるわけではありません。 51% 攻撃が発生していない限り、攻撃が発生していない場合、勝ったブロックチェーンは良好なチェーンになります。攻撃が発生していてオフラインの場合は、何が起こったのかを確認するためにソーシャル レイヤーを確認する必要があります。少数の参加者だけがそれを実行し、他の参加者はかなり明確なコンセンサスを持っています。

問題: エッジ攻撃 ブロックを生成し、ブロックの定義に関係なく、それが時間通りに到着すると、一部のノードではブロックが異なる時間に到着すると認識します。したがって、ノードは、ブロックが「長時間レビューされている」かどうか、およびブロックが「時間どおりに公開されている」かどうかについて意見が一致しない可能性があり、これらのタイミングパラメータについても意見が一致しない可能性があります。

そして、攻撃者はこれを利用して、攻撃が起こったかどうかについて他の人々に長期的な意見の相違を引き起こし、多くのガバナンス問題を引き起こす可能性があります。

したがって、これにはより優れた適時性検出器 (TD) が必要です。

修正適時性検出器 (TD) ビザンチン将軍問題、レスリー ランポートによる 1982 年の論文に戻ります。この論文には、人々があまり語らなかったアルゴリズムが含まれていたことが判明しましたが、おそらくもっと語られるべきでした。このステートメントは、偽造不可能な書面によるメッセージ (デジタル署名と呼ばれます) によって抽象的に隠蔽されます。 Lambert は、欠陥のある攻撃者を最大 99% 許容できるコンセンサス アルゴリズム (つまり、99% フォールト トレラント コンセンサス) を持っていると主張しています。

このアルゴリズムは機能し、その利点は、コンセンサスを行うマイナーとバリデータ間だけでなく、マイナーとクライアント間、クライアントと他のクライアント間でも、同期性が想定されている限り機能することです。誰がオンラインであるべきかについてより強力な仮定があり、この仮定を使用してより高度な耐障害性を実現しますが、これは非常に危険な仮定であり、私たち自身が作りたくないものです。

単一証明者バージョンについて説明します。ここで、1 人の証明者が正直であり、合計 n 人の証明者がいると仮定すると、正直である必要がある証明者は 1/n だけです。

ここでの考え方は、ブロックが公開されたと仮定すると、クライアントと証明者には、ブロックが期限内にあるとみなすために、それまでにブロックを受信する必要があるという期限があります。クライアントにとっての期限は t であり、証明者にとっての期限は t+δ です。ここで、提案者はブロック b を公開します。提案者はある種の邪悪で、限界攻撃を行おうとしており、ノード 1 はそれを期限前に確認し、ノード 2 も期限前にそれを確認します。証明者はブロックを送信しましたが、ネットワークの同期性の仮定により、1 つのノードがブロックを受け入れた場合、ブロックは証明者に送信できるため、証明者は期限前にブロックを受け入れることが保証されることを意味します。 1 人のクライアントでもブロックがタイムリーであると判断した場合、証明者はそのブロックを期限前に確認できることが保証されるため、証明者は独自の署名を追加します。ネットワークの同期により、他のクライアントはブロックと署名を期限前に確認することになります。署名付きブロック。

記事記事はこの研究分野に特化しているので、より詳細な情報が必要な場合は、お気軽にチェックしてください。大まかに言うと、攻撃者のグループがあり、それぞれが期限を少し遅らせることができるため、1 人の攻撃者がブロックを受け取った場合、ネットワーク遅延がデルタ パラメーターを下回っている限り、ブロックが遅延することになります。ブロックの適時性はネットワークの残りの部分に伝播します。

興味深い事実は、この適時性検出器を持っている場合は、すべての適時なブロックを自己宣言した時系列順に処理するだけです。唯一の問題は、ブロック時間が長いことです。バリデーターによる入金、出金、スラッシュを処理したい場合には、興味深いプロトコルかもしれませんが、ブロックチェーンを実行するのに最適なプロトコルではありません。

さらに良いことに、適時性検出器を使用して攻撃チェーンを検出し、攻撃をレビューできます。

4. まとめ

検閲対策技術は、ネットワークとクライアント間の同期を前提としているため、他の技術ほど完璧ではありません。この期間は任意に設定できますが、希望する検閲のレベルに関係します。許容する。オンライン ノードのセット全体で一貫性を保証でき、攻撃が発生した場合には、チェーンが攻撃チェーンであるかどうか、その他すべてについて合意することができます。これを、回復方法を決定するための部分的な社会的合意の出発点として使用できます。これにより、攻撃者が誰であるかをより確実に判断できるため、攻撃者に対してより強力な懲罰を割り当てることができます。

一般に、攻撃者が使用できないチェーンを公開した場合、データ可用性チェックでそれを捕捉できます。攻撃者が無効なブロックを公開した場合、不正行為の証明でそれを捕捉できます。また、ブロックを長期間にわたってレビューした場合、このチェーンは自動的に無視されます。ネットワーク。中程度の時間のブロックをレビューする場合は、適時性チェッカーを使用してブロックを適切に処理することができ、攻撃者が委員会に参加しなかったり、委員会を破壊したりしようとした場合には、それに応じて委員会を使用しなくても済みます。

そうですね、基本的に 51% 攻撃に対する恐怖を大幅に軽減したり、攻撃を無視したり、攻撃から回復したりできるツールがたくさんあります。皆さん、ありがとうございました。

Vitalik
ETH
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina