(この記事には、もともと 2019 年に出版された資料の一部が含まれています。 IOV Labs RSK ブログ)
ビットコインのセキュリティは、マイナーが「最も重いチェーン」を延長する経済的インセンティブに依存しています。これは、最も累積された難易度が高い (通常は最も長い) チェーンです。 現在、これらのインセンティブは、ブロック補助金と取引手数料から構成されるブロック報酬によって提供されます。 しかし、補助金(現在 6.25 BTC)は、ブロックあたりの平均取引手数料(現在 0.25 BTC)よりも大幅に高くなっています。 ビットコインの補助金は4年ごとに半減し、反比例するBTC価格の上昇がなければ、マイニングの主なインセンティブはブロック補助金からブロック取引手数料に移行することになる。 現在のセキュリティ予算を維持するには、トランザクション コストを 25 倍に増やす必要があります。 これがビットコインにとって問題になるかどうかを判断するのは時期尚早です。 補助金が少ない新時代に適応するには、ビットコインがソフトフォークまたはハードフォークする必要がある可能性があります。 2014 年に、私は (主に理論的な) 理論を発表したときに、ビットコインがどのように不安定になる可能性があるかを示しました。 フロントアタック。 カールステンら。 (2016) 分析 この問題を徹底的に調べましたが、満足のいく解決策は見つかりませんでした。 これはビットコインだけの問題ではなく、時間の経過とともに通貨発行量が減少するすべての暗号通貨が直面する必要がある問題です。
しかし、今のところビットコインについて心配する必要はありません。 ビットコインコミュニティはこの問題を10年か20年以内に解決する必要があるかもしれないし、もしかしたら決して解決しないかもしれない。 時々話題になるのは、 再検討した、両方の分析を使用して 強調表示 および 最小化 問題。 しかし、RSK などのビットコインのサイドチェーンを分析すると、問題は非常に現実的であることがわかります。
2019年、ブロックストリームのCEOアダム・バック氏は次のように述べた。 スムージング ビットコインの長期的なセキュリティ予算について議論する際、「他の長期的な低補助金時代のアイデアには、手数料収入を平準化するためにブロック間隔全体で手数料を平均化することが含まれる。」
https://twitter.com/adam3us/status/1097031151921713152
RSK は、まさにそのアイデアである手数料収益の平滑化を 2016 年から実装しています。しかし、RSK が高額な手数料を伴う取引をどのように処理するかを説明する前に、取引手数料によって引き起こされる可能性のある XNUMX つの主要なブロック リバーサル攻撃、つまり手数料スナイピング、クジラ取引、マイニング アトマイゼーションについて詳しく説明します。
ブロック補助金が低く、最後に採掘されたブロックの取引手数料がメンプール内の取引から徴収できる手数料よりもはるかに高い場合、短期の合理的なマイナーは、延長する代わりに、最後に採掘されたブロックからトランザクションを取得し、競合するブロックを採掘するよう動機づけられます。 これはナカモト・コンセンサスからの逸脱であり、こう呼ばれています。 手数料スナイピング。 定義上、このような逸脱はプロトコルに対する攻撃であり、マイナーは悪意のある当事者とみなされます。 掴んだ取引手数料を現金化するために、悪意のあるマイナーは、残りのマイナーが彼のチェーンに切り替えるように、誠実なチェーンよりも速く XNUMX つの追加の確認ブロックをマイニングする必要もあります。 したがって、利己的なフォークが正直なチェーンを上回らない場合、悪意のあるマイナーはハッシュレートを無駄にする危険があるため、手数料スナイピングは常に利益をもたらすとは限りません。 頻繁に行われる手数料スナイピングは問題にならないかもしれませんが、マイナーがコンセンサス コードを変更して、既存のすべてのフォークに対する潜在的な手数料スナイピングの機会から利益を得る場合、ネットワークはより危険な攻撃にさらされる可能性があります。
マイナーノードが自動手数料スナイピングを実行すると、攻撃者はこの状況を利用して二重支払い攻撃を実行する可能性があります。 悪意のあるマイナーは、正直なチェーンでコインを使用し、代わりに別の外部資産を受け取り、その後、最初のチェーンよりも前のブロックで正直なチェーンをフォークする可能性があります。 悪意のあるフォークでは、攻撃者はコインを二重に支払いますが、正直なフォークには存在してはならない独特の機能 (つまり、独自の UTXO) も導入します。 その直後、攻撃者は次のメッセージをブロードキャストします。 「クジラ」取引 この機能を利用し (つまり、この UTXO を消費し)、手数料狙撃コードを実行しているマイナーにおとり (または賄賂) として異常に高い取引手数料を提供します。 「クジラ取引」という用語は、高額な価値を移転する取引として理解されるかもしれませんが、ここでは、移転する価値の量に関係なく、高額な手数料を支払う取引として、参照論文の定義を使用します。 ビットコインでは、最適でないフォークはピアツーピア ネットワーク内のフル ノードによって転送されないため、クジラ トランザクションと悪意のあるフォーク ブロックはマイナーのノードに直接送信される必要があります。 ただし、多くのスマート コントラクト プラットフォームでは、最適ではないフォークがブロードキャストされるため、攻撃ははるかに簡単です。 また、スマート コントラクト プラットフォームでは、クジラ トランザクションの作成がより簡単になります。攻撃者は、正直なチェーンで既に使用されているノンスを再利用できるため、クジラ トランザクションが正直なチェーンに含まれるのを防ぐことができます。 あるいは、クジラトランザクションは、以前のブロックハッシュが利己的フォークにのみ存在するブロックハッシュと一致するかどうかをチェックし(つまり、BLOCKHASH オペコードを使用)、利己的フォークに対してのみ賄賂を支払う契約を実行することもできます。
採掘者がクジラの取引を検出すると、たとえ遅れていても、賄賂が十分に高額であれば、より長い誠実なチェーンを上回ることに賭けて、悪意のあるフォークの延長を検討する可能性があります。 スマート コントラクトがない場合、最善の攻撃戦略は、後続のマイナーに賄賂を贈呈する一連のクジラ トランザクションを同時にブロードキャストし、悪意のあるフォークを拡張し続けることです。 ビットコインでは、トランザクションを連鎖させることができます。 チェッククロックロック検証 or チェックシーケンス検証。 スマート コントラクト プラットフォームでは、これは nonce を再利用するか、コントラクト呼び出しによって実行できます。 自動化されていないとしても、攻撃者は、悪意のあるフォークが正当なチェーンを追い越すまで、そのフォーク上でクジラ トランザクションを生成し続ける可能性があります。
Whale Transaction 攻撃では、フォークの勝率に基づいて賄賂を受け取るには、マイナーが複雑なマイニング戦略に動的に切り替える必要があると考えました。 より現実的に、鉱山労働者は将来の賄賂を考慮せず、利己的な手数料狙いだけを考慮した、より単純な戦略を実行していると考えることができます。 これが大多数のマイナーが採用している戦略である場合、新たな攻撃が可能になります。 マイナー アトマイゼーション攻撃は、ネットワーク全体にわたるサービス拒否攻撃であり、すべてのマイナーが同時に利己的フォークを実行するように誘導し、その結果、正直なチェーンのレートとコンバージェンスを低下させようとします。 この攻撃は、手数料切り取り攻撃やクジラ取引攻撃と同様に、非常に高額な手数料を伴うトランザクションのブロードキャストから始まります。 この取引は二重支出を助けることを目的としたものではなく、マイニングネットワークを細分化することを目的としたおとりです。 攻撃を例を挙げて説明します。 高さ N のブロック内のトランザクション T が手数料として 100 コインを支払うが、ブロックの平均報酬はわずか 10 コインであると仮定します。 すべてのマイナーのノードが次の合理的な戦略に従うようにプログラムされていると仮定します。
- 正直なチェーンの最後の K ブロックのいずれかに T が含まれている場合、トランザクション T を取得し、高さ N で競合するブロックをマイニングしようとします。その後、正直なチェーンを上回るまで、この利己的フォークの子ブロックのマイニングを続けます。
- 正直なチェーンが利己的なフォークを K ブロック以上上回っている場合は、あきらめます。
高額な手数料の悪意のあるトランザクションは、より大きなマイニング プールの利益のためにマイニングを細分化し、トランザクション T に加えて、残りのマイナーが諦めるのに十分な追加の利己的確認ブロックをマイニングする可能性が最も高くなります。 不思議なことに、マイニングネットワークが分散化されればされるほど、トランザクション T によって引き起こされる混乱は悪化します。 たとえば、平均ブロック間隔が 10 分のブロックチェーンの場合、それぞれが総ハッシュレートの 100% を持つマイナーが 1 人いた場合、ネットワークは最終的に収束するまでの数ブロックにわたって 100 倍の速度低下に見舞われることになります。 ネットワークは 2 日間使用できなくなります。
RSKは、 純粋なビットコインサイドチェーンそのため、当初から取引手数料のみで構成されるセキュリティ予算でブロックチェーンを保護するという課題に直面する必要がありました。 したがって、RSK は異常に高い、または低い手数料を覚悟しなければなりませんでした。 RSK は、本番環境に対応した最初のサイドチェーンであり、コンセンサスのためにマージマイニングを使用します。 現在、ビットコインマイナーの 40% 以上が マージマイニング RSK.
RSK マイナーは、RSK フルノードを実行することで経済的な報酬を期待しています。 ほとんどのブロックチェーンは、この補償のために新しいコインを発行します。 リップルなどの他の一部の分散型台帳は、ブロックプロデューサーに支払うコインを発行しませんが、ブロックプロデューサーは外部から補助金を受けることができます。 XRPをプレマイニングしたRipple Labsは、非常に多くのXRPを保有しているため、サードパーティがブロックプロデューサーになるためにXRPで補償を提供できます。 一方、RSKは最も厳しい条件に直面している。つまり、コイン発行(ビットコインなど)がなく、コインプレマイン(XRPなど)もない。 RSK は、ビットコイン サイドチェーンの成功例であり、デフレのブロックチェーンにおけるコンセンサスの将来を垣間見ることができ、補助金なしのブロックチェーンがどのように持続可能であるかを示しています。 ただし、補助金がないということは、ここで紹介する攻撃に対してサイドチェーンを慎重に設計する必要があることを意味します。 RSK は、高額な手数料トランザクションに基づくブロックチェーンの再編成に対する安全性を高めるために、いくつかの独自の機能を実装しています。
- ブロック報酬平滑化 (手数料平滑化とも呼ばれます)。
- 報酬の共有をブロックする
- フォーク対応のマージマイニング
次のセクションでは、それぞれのテクニックを簡単に紹介します。
手数料平滑化は、より平等な方法でマイナー間で取引手数料を分配するコンセンサス ルールです。 過去のブロック報酬に応じて各マイナーに支払います。 関数は、以前の少数のブロック報酬に基づいて、または以前のすべてのブロックに依存する状態に基づいて、線形または非線形にすることができます。 最も単純な設計は、蓄積された料金に対してある種のローパス フィルターを使用することです。 RSK は非常に単純な平滑化関数を使用します。 IIR α= 0.1. RSK マイナーが高さ N のブロックを解決した場合、マイナーにはブロック N の取引手数料の 10% と、以前に蓄積されたすべての未払いのマイナー料金の 10% が補償されます。 言い換えれば、「共有」マイナーアカウントが存在し、各ブロックで勝利したマイナーが取引手数料を投入し、自分のために 10% を取り出すことになります。
報酬平滑化は、マイナーがクジラの取引手数料の 10% しか取得できないため、支払われた手数料を取得するために過去のブロックを再マイニングするインセンティブに対して、ブロックチェーンを拡張するインセンティブを高めます。 先ほどの例を取り上げます。 ブロックの平均報酬は 10 コインで、高さ N のブロックには 100 コインの賄賂が含まれていると仮定します。RSK では、高さ N のブロックは 19 コインの報酬を支払い、次のブロックは 18.1 コインを支払います。 利己的なマイナーが攻撃で利益を得るには、他のマイナーの 10 倍のハッシュ パワーが必要になります。
次に、他の補完的な保護手段を示します。
RSK は DECOR と呼ばれる報酬共有コンセンサス プロトコルを実装しています。 DECOR は、ブロックヘッダーが正直なチェーンによって参照されている限り、ブロック報酬を兄弟ブロック間で均等に分割します。 DECOR は、高額な手数料トランザクションの勝者が、兄弟ブロックを生成した最大 10 人のマイナーと報酬を共有しなければならないため、微粒化攻撃のインセンティブを減少させます。 これは、ブロックチェーン ブロックには最大 10 個のブロック兄弟参照を持つことができ、DECOR プロトコルはそれらすべての間でブロック報酬を共有するためです。 共有を避けるために、マイナーはさらに 10 個の利己的なブロックをマイニングする必要があり、アンクル参照を防ぎ、成功の可能性を大幅に減らします。 手数料平滑化と報酬の共有を考慮すると、RSK ネットワークを破壊する試みが成功するには、賄賂が平均ブロック報酬の少なくとも 110 倍でなければなりません。
フォーク対応のマージマイニング これは、ユーザーがメインチェーン ネットワーク (ビットコインなど) でサイドチェーン ネットワーク (RSK など) 内の悪意のあるフォークを監視できるようにするマージ マイニングの変種です。 クジラ取引攻撃から利益を得るためには、攻撃者は二重支出の被害者を見つけなければなりません。 その被害者はおそらくオンラインの仮想通貨取引所でしょう。 仮想通貨取引所は、入金を受け入れる前に数百のブロック確認を待ちます。これは、 RSK Armadillo システム 悪意のあるフォークを事前に検出し、取引所に警告します。 手数料スナイピングやマイナーアトマイゼーション攻撃の場合、悪意のあるフォークは短いため、Armadillo は状況を診断し、正当なプロトコルから逸脱したプールを特定するツールとしてのみ使用できますが、攻撃を防ぐことはできません。
RSK が現在実施していないもう 10 つの補完的な保護措置は、取引ガス価格を最低ガス価格の倍数 (つまり XNUMX 倍のスプレッド) に制限することです。 私はビットコインに対して同等の措置を提案しました 2013。 RSK は、各ブロックが受け入れられる最小トランザクション ガス価格をアドバタイズするため、これを簡単に実装できます。 ただし、ネットワークがブロック内で利用可能なガス制限をすべてブロックが消費していない状態にある場合、最大ガス価格を設定しても問題は完全には解決されません。 T の高い取引手数料は、ガス価格の上昇ではなく、ガス消費量の増加の結果である可能性があります (支払われる手数料はこれら XNUMX つの金額の積です)。
攻撃者はスマート コントラクト プラットフォームを使用して、報酬の平滑化は究極の解決策ではありません。 賄賂 鉱山労働者 ほぼ何でもすることに。私は理論的な「ダークサイド攻撃に対する永遠の選択」(または ECDSA :) )を で発表しました。 2014、誠実な行動から逸脱するために鉱山労働者がどのように賄賂を受け取ることができるかを示す方法として。 マッコーリーエルアット。 (2018)は、幅広い理論上の賄賂攻撃を提示しました。 ただし、スマートコントラクトに基づく賄賂を受け取るには、かなりのレベルの理解と準備が必要です。 これにより、スマートコントラクトに基づく賄賂攻撃の実行がはるかに困難になります。 鉱山労働者は賄賂契約を認識し、それとどのようにやり取りするかを理解する必要があります。 ただし、このタイプの攻撃は避けられません。プラットフォームが現在のブロック マイナーに支払いを実行できる場合、同じマイナーに支払いを行うスマート コントラクトを実行することもできます。 これは、プロトコルのコンセンサスを記述するプログラミング言語とスマート コントラクトで使用されるプログラミング言語が両方とも「チューリング完全」であるためです。 これは理論的には興味深い問題です。
賄賂の支払いをより困難にする巧妙なトリックが考えられます。たとえば、マイナーのアドレスを強制的に特別なもの (つまり、XNUMX 回限りの使用) にして、賄賂契約でマイナーに支払えないようにするなどです。 ただし、チューリングの完全なスマート コントラクト プラットフォームでは、支払いを希望する当事者から、支払いを希望する別の当事者への支払いを防ぐことはできません。 私たちは常に防御を回避して成功する賄賂スマートコントラクトを構築します。 たとえば、悪意のあるマイナーは、秘密キーを明らかにすることなく、コントラクトに対して特定のマイナー アドレスの制御を証明するゼロ知識証明を作成できます。 鉱山労働者は、賄賂を受け取るための代替受信アドレスとともに、この証拠を賄賂契約に送信します。
マイナーに賄賂を支払うために他のチューリング完全スマート コントラクト プラットフォームを使用できるため、マイナーが賄賂を受け取るブロックチェーンのスマート コントラクト言語機能を制限するだけでは十分ではありません。 プラットフォームはブロック ヘッダー リレー (つまり btcrelay) を実行するだけで済みます。 たとえば、RSK とイーサリアムは、ビットコインマイナーに賄賂を支払うために使用される可能性があります。 ただし、ブリッジされたブロックチェーンに対する攻撃を調整するのはより困難です。
賄賂攻撃に対する潜在的な防御策の XNUMX つは、PoS コンセンサス プロトコルの変種を使用することです。このプロトコルでは、大多数のブロック作成者がブロックに署名することを要求し、また、数カ月間のコインのセキュリティ デポジット (賭け金) を保持することも要求されます。 曖昧な(XNUMXつの矛盾するブロックまたは矛盾するフォークの拡張を生成する)マイナーのステークは、ハードフォークを開始したコミュニティによって没収されます。 この保護によって脆弱性が排除されるわけではありませんが、賄賂の額が失われた賭け金よりも高額になるため、攻撃コストが増加する可能性があります。 現在、ビットコインではマイナーステーキングを有効にすることはできません。 RSK は PoS コンセンサスを採用する可能性がありますが、RSK で PoS に切り替える提案や、PoW と PoS を混合する提案はありません。
私たちは、異常に高額な手数料を支払う悪意のある取引に基づくいくつかの既知の攻撃をナカモト・コンセンサスに提示しました。 二重支払いを可能にする攻撃もあれば、ネットワークを不安定にする攻撃もあります。 これらの攻撃は、RSK を含むすべてのビットコイン サイドチェーンに特に関連します。 RSK は、ブロック報酬スムージング、ブロック報酬共有、およびフォーク対応のマージマイニングを抑止力として実装します。 報酬平滑化は明示的な料金に対して機能しますが、スマートコントラクトを使用して支払われる賄賂の一般的なケースは避けられません。 これらの攻撃から防御するには、アクティブなネットワーク監視が必要です。 最後に、これらの攻撃に対する潜在的な解決策についてさらなる研究が必要です。
- 100
- 2016
- 2019
- アクティブ
- アダムバック
- NEW
- 利点
- すべて
- 記事
- 資産
- 自動化
- BEST
- 賭け
- へ
- Bitcoin
- ブロックチェーン
- BTC
- btcの価格
- 現金
- 原因となる
- 生じました
- 最高経営責任者(CEO)
- 挑戦する
- チャンス
- 変化する
- 小切手
- 子
- コード
- コイン
- コイン
- コミュニティ
- 補償
- コンセンサス
- 消費する
- 続ける
- 縮小することはできません。
- 契約
- 作成
- クリプト
- 暗号交換
- 暗号交換
- cryptocurrency
- 電流プローブ
- 分権化された
- 防衛
- サービス拒否
- 設計
- 詳細
- 混乱する
- 途絶
- 分散元帳
- 早い
- 経済
- イーサリアム
- 交換
- 交換について
- エクステンション
- 顔
- 顔
- 特徴
- 特徴
- 費用
- 最後に
- 名
- フォーク
- フル
- function
- 未来
- GAS
- ge
- GM
- GP
- グラブ
- GV
- ハードフォーク
- ハッシュ
- ハッシュ
- ハッシュレート
- こちら
- ハイ
- 認定条件
- How To
- HTTPS
- アイデア
- 識別する
- 含めて
- 増える
- IP
- IT
- キー
- 知識
- ラボ
- 言語
- レベル
- 長い
- 主要な
- 大多数
- だけど
- ミディアム
- Mempool
- 鉱夫
- 鉱業
- お金
- モニタリング
- ヶ月
- ネットワーク
- ノード
- オファー
- オンライン
- その他
- 紙素材
- 支払う
- 支払い
- 支払い
- ピアツーピア
- プラットフォーム
- プラットフォーム
- プール
- プール
- PoS
- 捕虜
- 電力
- 現在
- 予防
- ブランド
- プライベート
- 秘密鍵
- 生産された
- 生産者
- プロダクト
- 利益
- プログラミング
- 証明
- 提案
- 保護
- 保護
- 研究
- REST
- 収入
- 報酬
- Ripple
- リップルラボ
- ラン
- ランニング
- セキュリティ
- シリーズ
- 設定
- シェアする
- 株式
- シフト
- ショート
- 側鎖
- 簡単な拡張で
- 小さい
- スマート
- スマート契約
- スマート契約
- So
- ソリューション
- 解決する
- 過ごす
- 広がる
- 利害関係
- ステキング
- 都道府県
- 戦略
- 補助金
- 成功
- 成功した
- 持続可能な
- スイッチ
- 第三者
- 時間
- トランザクション
- 取引
- チューリング
- users
- 値
- 脆弱性
- wait
- Wikipedia
- 言葉
- 仕事
- 作品
- xrp
- 年
- ゼロ