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

「ワンディール」の勝利

NEST爱好者
特邀专栏作者
この記事は約2067文字で、全文を読むには約3分かかります
ブロックブロック攻撃にどう対処するか?
AI要約
ブロックブロック攻撃にどう対処するか?

著者: NEST Enthusiast_Nine Chapters Tianwen

著者: NEST Enthusiast_Nine Chapters Tianwenブロックチェーン上でどのような攻撃が避けられないかと尋ねられたら、私は次のように答えます。ジャミング攻撃と51%攻撃。

51% 攻撃については次回にお話しますが、今日はブロッキング攻撃についてのみ説明します。

いわゆるブロッキング攻撃は、トランザクションを使用してブロックを占有し、他のトランザクションをパッケージ化できないようにすることです。誰かがジャム攻撃をブロックチェーン上のブロックに喩えるDDOS攻撃

: システムの抜け穴を探すのではなく、「コンプライアンス」に従ってリソースを占有してシステムをシャットダウンします。 1 つは「コンプライアンス」、つまりシステムによって攻撃が許可されている、もう 1 つは非脆弱性、つまり、システムがどれほど完璧であっても攻撃される可能性があるという点です。は; システム リソース、その他は受動的に除外されます。

これらの機能を詳しく見てみると、これは純粋な技術的な問題でも、純粋なセキュリティの問題でもないようです。ジャミング攻撃は経済問題、またはゲームの問題です。イーサリアムネットワークを例に挙げると、まず攻撃をブロックする最適なロジックを検討し、次にブロッキング攻撃に対抗するアイデアを検討します。

ブロックのガス上限が 1,000 万、単一トランザクションの最小値が 20,000 であると仮定すると、ブロックをブロックするには 2 つのオプションがあります。1 つ目は、ガス価格が高い多数の小さなトランザクション領域でブロックをブロックすることです。 2 番目は、ガス価格の高い大規模トランザクションを使用してブロックします (ここで、大小はガス制限によって測定され、大規模トランザクションとは、可能な限りブロック全体を占有するトランザクションです。たとえば、ガス制限は 1,000 万です)。たとえば、ガス価格が 1000 (迅速にパッケージ化されることが保証されるガス価格は、312 イーサリアム ネットワークが混雑している場合でも 1000 倍以内です) の場合、2 つのスキームで計算されるガス価格は同じであり、これは私たちの計算結果です。自分の立場で。

しかし、マイナーと競合他社の観点から見ると、両者には違いがあります。競合他社、つまりブロック攻撃を突破したいトレーダーから始めましょう。

小規模なトランザクションの場合、競合他社はより高いガスプライスを使用して攻撃者よりも先にパックすることができます。たとえば、ガスプライス 2000 を使用して競合する場合、原則として、ガスプライスを持つ多くの小規模トランザクションの前にランク付けされる必要があります。ただし、大規模なトランザクションの場合、マイナーは最も高いガス価格のトランザクションではなく、ガスを最大化する組み合わせを考慮するため、競合他社がブロックされる可能性があります。これは、大規模なトランザクションの合計ガスが 1,000 万 * 1000、小規模なトランザクションを含むガスが 20,000 * 2000 + その他のトランザクションであるためです。ここでの残りのトランザクションはオプションのサードパーティ トランザクションであり、ガス価格は一般に低くなっています。これら 2 つのトランザクションの組み合わせでは、合理的なマイナーは大規模なトランザクションの組み合わせを選択するため、競合他社のガス価格が高くても、単一トランザクションのガス価格が低いため競合他社は除外されます。したがって、攻撃をブロックする効果の観点からは、ガス価格の高い大規模なトランザクションの方が有利です。現在のイーサリアムネットワークの取引状況によると、ガス価格の1000倍の大規模取引の手数料は1000w*1000=10ETH、1ブロックブロックなので10分間ブロックするコストは500ETHとなります。外部インセンティブが十分に大きい場合 (外部インセンティブは現在の行動以外の報酬です)、1 時間のブロックは 3000 ETH であり、おそらく価値があります。

ガス価格の 1000 倍は統計上の仮定にのみ基づいており、オンチェーン アプリケーションには基づいていないことに注意してください。DeFi などのオンチェーン アプリケーションを考えてみましょう。その経済性はブロックに依存します。つまり、トランザクションは N ブロック以内に完了する必要があり、完了しないと X ETH の損失が発生します。アプリケーションが何も設計していない場合、前述の仮定によれば、10*N ETH のブロッキング攻撃により X ETH の損失が発生する可能性があります。いくつかの状況を次に示します。 1. X ETH の損失が攻撃者の利益になる可能性があり、X>10N の場合、攻撃は完全に合理的なインセンティブとなります。 2. X ETH の損失を攻撃者の利益に変えることはできません。その場合、この状況は X と同じです。

10N 未満の場合、アプリケーションの有効性を破壊して資産をアプリケーションから流出させるという悪意のある行為になります。

これら 2 つの状況は別々に考慮する必要がありますが、どちらの場合も、中心となるのはブロッキング攻撃を無効にする方法です。クリティカルな状態がトリガーされる前に完了できるトランザクションが常に存在します。これを私たちは「攻撃の勝利」と呼んでいます。取引"。

最初のケースでは、アプリケーションは 2 つの方法で設計する必要があります: 第 1 に、経済規模や特定の異常事態に応じて N のサイズを N1 に増やす必要があります。第 2 に、トランザクションを完了するためのインセンティブ収入を増やす必要があります。たとえば、トランザクションを完了するための収入は a ETH から b ETH にアップグレードされます。ここで、b>a、b>10eth、つまり、ブロックをブロックするコストは bETH になり、総コストは 10*NETH から b に変わります。 *N1ETH、b*N1ETH>X である限り、攻撃に対する外部インセンティブは無効です。2 番目のケースでは、悪意のある攻撃に対処する最善の方法は、シャットダウンメカニズム, には 2 つの意味があります。1 つは、攻撃によって引き起こされるコストが幾何級数的に増加し、攻撃者が目標を達成できなくなり、攻撃を断念することです。たとえば、NEST システムのベータ係数設計は、現在、最初の組み込みシャットダウン システムです。ブロックチェーン業界の設計。重要なブロック数 N を連続的に増加できるようにするなど、そこから学ぶことができます。

。第二に、「トランザクションの勝利」の難易度に応じてアプリケーションの実行ファイルが自動的に調整され、「トランザクションの勝利」を完了することが非常に緊急になった場合には、アプリケーションを一時的に無効にして攻撃者を逃がすことができます。攻撃の。これら 2 つの配置では、オープンであるため、境界条件のより詳細な分類研究が必要になります。もちろん、上記の分析は、マイナーが完全に合理的であり、ブラックリストの可能性に関係なく、パッケージ化されたガス収入のみを考慮し、ブロック攻撃などに抵抗するために自らの利益の一部を自発的に犠牲にすることを前提としています。

これらの人間化された配置を通じて、攻撃耐性の目的を間接的に達成することもできますが、私たちはアプリケーション側で設計することを好みます。チェーン上の現在のアプリケーションはまだ模索段階にあるため、攻撃をブロックする攻撃と防御について真剣に検討している人は誰もおらず、これは将来のアプリケーションの開発にとって非常に不利です。 DeFi業界では起こらないだろう。

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