ナカモト コンセンサス プロトコル (ナカモト コンセンサスの図では NC と省略) では、分岐問題を解決するために、マイナーは可能な限り最長のチェーンを選択する必要があります。最長のチェーンがない場合、マイナーは最初に受信したブロックを選択します。メインチェーンに追加されます。報酬に関しては、メイン チェーン ブロックはすべての報酬を受け取り、孤立したブロックは何も受け取りません。
これで十分安全ですか?
ナカモト コンセンサスの元の分析では、ブロックチェーン自体が完全なチェーン品質を備えている、つまり、ネットワーク全体の計算能力の 50% 未満しか持たない攻撃者はブロックチェーンを変更できないと考える傾向がありました。しかし、実際には、攻撃者は非常に高い成功率でブロックチェーンを変更することができます。
ブロックチェーンを変更する攻撃には、Selfish Mining、Double Spending、Censorship Attack の 3 種類があります。その中には、利己的なマイニング攻撃者が、コンピューティング能力に比例しない不当なブロック報酬を得る可能性もあります。マイニングのコンピューティング能力を集中させて、より高い相対的なブロック報酬を獲得することで、ブロックチェーンの分散型の性質を破壊することができます。二重支払い攻撃では、攻撃者は確認されたトランザクションを取り消して、自分の利益を最大化することができます。検閲攻撃の場合、攻撃者はトランザクションの確認を妨げ、誠実なマイナーに経済的損失をもたらします。
利己的な採掘
利己的な採掘
二重支出攻撃
検閲攻撃
赤い四角はブロックがいつネットワークに伝播されたかを示し、オレンジ色の円は攻撃者のブロックを示し、三角形は誠実なマイナーによってマイニングされたブロックを示します。攻撃者は幸運にも最初のブロックを見つけることができましたが、それをネットワークに公開する代わりに、ブロックを保留することを選択しました。
正直なマイナーがブロックを見つけると、攻撃者はその時点で正直なマイナーよりも先に保留されたブロックをブロードキャストし、その後すべてのマイナーが正直なマイナーのブロックではなく攻撃者のブロックでマイニングを行うことになります。
攻撃者が幸運にも複数のブロックを連続して見つけることができた場合、攻撃者はリスクなく正当なブロックを分離できます。この場合、攻撃者のチェーンは長くなり、ネットワーク全体の計算能力がそのチェーンに集中して採掘されることになります。このようにして、攻撃者は獲得するブロック報酬全体の相対的な割合を増やすことに成功します。
二重支出攻撃は、秘密のマイニングを通じて追加の報酬を獲得するという利己的なマイニング攻撃に非常に似ています。たとえば、ビットコインでは、規約に従ってトランザクションを確認するためのブロックが 6 つあり、基本的には完全に確認されます。攻撃者が秘密裏に 6 つのブロックを保留し、それらを一度にネットワークにブロードキャストすると、商品またはサービスを受け取った後にトランザクションを取り消すことができます。
検閲攻撃は、検閲要件を満たさないすべてのブロックを隔離しようとします。つまり、私は検閲したいこれらのトランザクションをブロードキャストするつもりです、もしあなたが私の命令に従わないなら、私はあなたのブロックを隔離しようとします
2つの解決策
ナカモトのコンセンサスセキュリティ問題を解決する 2 つの方法について話しましょう。
最初のカテゴリは、「チェーン品質の向上」プロトコルと呼ばれます。示されているように、この広範なカテゴリには多くのプロトコルがあり、チェーンの品質を向上できると主張しています。今回は「Smallest hash タイブレーク プロトコル(略称 SHTB)」と「予測不可能な決定論的タイブレーク プロトコル(略して UDTB)」に焦点を当てます。
2 番目の大きなカテゴリは、「攻撃耐性プロトコル」と呼ばれます。これらのプロトコルは、チェーンの品質が完璧でなくても攻撃に抵抗できると主張しているため、チェーンの品質を向上させる必要はありません。
3 種類の攻撃対策プロトコル
1 つ目は、Reward-all プロトコルです。このタイプのプロトコルは最新のプルーフ・オブ・ワークに報酬を与え、適格なブロックにはいずれにせよ報酬が与えられるため、攻撃者は利己的なマイニング攻撃を実行して誠実なマイナーの報酬を無効にすることができないため、攻撃者には利己的なマイニングを行うインセンティブがありません。攻撃。
2 番目は「罰」プロトコルと呼ばれます。これらのプロトコルでは、疑わしいブロックに対する報酬は失われます。罰則規定は、損失回避を通じて全員が合意を遵守することを期待している。
3 番目は「報酬ラッキー」プロトコルと呼ばれます。これらのプロトコルは、ブロックの内容に基づいて特定のラッキー ブロックに報酬を与え、これらのラッキー ブロックが安定したネットワークの「アンカー ポイント」として機能することを期待します。
次に、これらのプロトコルを詳しく見てみましょう。
まず最初に、「チェーン品質の向上」タイプの合意を分析します。1 つ目は「最小ハッシュ タイ ブレーク合意」です。このプロトコルでは、同点の場合は常に、誰が最初に受信したかに関係なく、すべてのマイナーが最小のハッシュを持つブロックを選択する必要があります。
2 つ目は、「予測不可能な決定論的タイブレーク プロトコル」と呼ばれます。このプロトコルでは、同点の場合は常に、どのブロックが最初に受信されたかに関係なく、全員が予測不可能な決定論的な疑似乱数関数を使用して、参加しているすべてのチェーンの順序を計算すると述べています。予測不可能な決定論的プロトコルの背後にある理論的根拠は、攻撃者はブロック競争に勝つかどうかを 50% 以上の確率で予測できないため、利己的なマイニング攻撃を実行するのは賢明ではない (したがって、選択肢ではない) ということです。
攻撃対策プロトコルについては、各技術手法からプロトコルを選択して分析します。 「すべての報酬」プロトコルについては、フルーツ チェーンを分析してみましょう。 Fruitchain では、2 つの異なる製品に同じマイニング手順が使用されます。候補ブロックのハッシュ値の最初のkビットが一定の閾値より小さい場合はブロックと判定し、候補ブロックのハッシュ値の最後のkビットが一定の閾値より小さい場合はブロックと判定する。判断される それは果実です。したがって、ハッシュ アルゴリズムを実行すると、ブロックが得られる場合もあれば、フルーツが得られる場合もあります。
このプロトコルは、ナカモトのコンセンサスと同様に、最長チェーンの原則に従い、最初に受信したブロックに基づいて関係を切断します。
すべての攻撃耐性のあるプロトコルについて、フォーク解決のルールとしてナカモトのコンセンサスを使用します。したがって、彼らの攻撃耐性を分析するとき、それらは同じルールの下に置かれます。
フルーツはブロックに埋め込まれています。フルーツは、フルーツに埋め込まれているだけの、ナカモトのコンセンサスにおけるトランザクションと考えることができます。
各フルーツには最も近いブロックであるポインター ブロックがあり、フルーツ マイナーは孤立しません。図のバナナブロックのポインタがこれに該当し、そのポインタブロックがメインチェーンにあればフルーツは有効となる。図のトマトのように、ポインター ブロックが孤立している場合、その果物は有効な果物ではなくなります。
フルーツ ブロックの間隔は、事前定義されたタイムアウトしきい値よりも小さくする必要があるという追加のルールがあります。ギャップは、メイン ブロックとポインター ブロック間のブロックの高さの差として定義されます。
たとえば、メイン ブロックはポインター ブロックより 2 ブロック後であるため、バナナの間隔は 2 です。したがって、有効なフルーツは全額の報酬を受け取りますが、ブロックは何も受け取りません。
罰プロトコルについては、説明するケースとして DECOR プロトコルの修正バージョンを選択します。私たちの修正バージョンでは、これを報酬分割 (RS) プロトコルと呼びます。その名前が示すように、報酬は同じ高さの競合するブロックすべてに均等に分割されます。このプロトコルにより、ブロックは前の孤立ブロックをアンクル ブロックとして参照できます。間隔がタイムアウトしきい値よりも低い場合、アンクル ブロックは有効です (また、特定の報酬も受け取ります)。
これは、報酬分配プロトコルおよびフルーツ チェーンにおける間隔の定義に似ています。違いは、このプロトコルでは、間隔がメイン ブロックとポインター ブロックの高さの差ではなく、メイン ブロックとアンクル ブロックの間の高さの差として定義されることです。したがって、ブロックの親族関係は考慮せず、ブロック自体の高さのみを考慮します。各ブロックの報酬は、競合するブロックと同じ高さのおじさんブロックに均等に分配されます。たとえば、この図では、ブロック B と C はそれぞれブロック報酬の半分を受け取り、ブロック A と D はブロック報酬の全額を受け取ります。
最後は子チェーンです。サブチェーンも同じマイニング手順を使用しますが、2 つの異なる製品です。サブチェーンにおけるブロック生成ルールはビットコインと同じで、候補ブロックのハッシュ値が一定の閾値以下であれば、そのブロックは有効であると判定されます。候補ブロックのハッシュ値がブロック閾値より大きいが、別の閾値より小さい場合、それは弱いブロック (Weak Block) であると見なされます。弱いブロックもチェーンの長さに含まれ、トランザクション確認の機能を実行します。ただし、弱いブロックはブロック報酬を受け取りません。ブロックのみがブロック報酬を獲得します。
プロトコルのセキュリティを測定するための一般的な指標
次はプロトコルのセキュリティを測定するための共通の指標をいくつか設定する予定なので、とても楽しみにしています。あなたはこれが最も安全なプロトコルだと主張していますが、私にそれを証明したいのであれば、これらの指標の次元からあなたのプロトコルがどの程度安全であるかを測定する必要があります。
この調査には 4 つの指標があります。それらを分析してみましょう。
私たちがチェーン品質と呼ぶ最初の指標は、メインチェーン上の誠実なマイナーのブロックの最小割合を指します。この例では、メインチェーンには 6 つのブロックがあり、そのうちの 3 つは誠実なマイナーからのものであるため、チェーンの品質は 6 のうち 3 です。
2 つ目は、インセンティブの互換性と呼ばれるもので、利己的なマイニング攻撃に対する耐性を測定し、誠実なマイナーに対するブロック報酬の最小パーセンテージとして定義されます。
この場合、6 つのメイン チェーン ブロックのうち 3 つが誠実なマイナーからのものであるため、インセンティブの互換性は 50% になります。ナカモトのコンセンサスでは、これら 2 つの指標 (チェーンの品質とインセンティブの互換性を指す) は同等です。ただし、他のプロトコルの場合、これら 2 つのメトリックは同じではありません。チェーンの品質はビザンチンの敵対者 (別名悪意のあるノード) を評価するためにのみ使用されますが、インセンティブの互換性では報酬が考慮されます。
3 番目の指標は、「Subversion Gain」と呼ばれる攻撃耐性のもう 1 つの指標で、二重支出防止攻撃のパフォーマンスを測定します。 「ブロック間隔ごとに獲得できるブロック報酬の平均値と、二重支払い報酬の最大値を加算したもの」と定義されます。
この場合、10分ごとにブロックが見つかると仮定すると、ブロックが合計8個あるとすると、合計80分かかります(そのうち攻撃側のブロックは3個)。この例では、平均して 10 分ごとに、攻撃者は 3/8 ブロックの報酬を受け取ります。二重支出報酬には 6 つのブロックを連続して分離する必要があるため、二重支出報酬は 0 です。
二重支払い防止攻撃には完全な割合の報酬がないため、インジケーターは「平均してブロック間隔ごとに最大のブロック報酬を取得する」ように設定されています。このグラフでは、ダブルスペンド攻撃報酬はありません。ダブルスペンド報酬を獲得するには、少なくとも 6 ブロックを連続して分離する必要があるためです。
最後の指標は検閲感受性と呼ばれ、検閲要求の拒否により誠実なマイナーが失う報酬の最大割合です。なぜなら、私がレビューリクエストを拒否すると、攻撃者は私のブロックを孤立させ始めるからです。このメトリクスは、孤立する可能性のあるブロックの割合を測定します。この場合、5 つの正直なブロックがあり、そのうち 2 つは孤立しているため、検閲の感度は 2/5 になります。
評価結果
それでは評価結果を見てみましょう。この共有では、5 つのプロトコルを分析しました。最初のインジケーター チェーンの品質を見てみましょう。
まず変数 γ を定義します。これは、同点の場合のすべての正直なマイナーの計算能力に対する、攻撃者のチェーン上でマイニングを行った正直なマイナーの計算能力の割合です。
γ が 0 に等しい場合、すべての正直なマイナーの計算能力が正直なマイナーのチェーンのマイニングに使用され、正直なマイナーの計算能力は攻撃者のチェーンでマイニングされません。 γ が 1 に等しい場合、すべての正直なマイナーのハッシュレートが攻撃者のチェーンでマイニングされ、誰も正直なマイナーのチェーンでマイニングされなくなります。
これは、ナカモトのコンセンサスを評価するために使用される一般的なパラメータです。ここでは、それぞれ γ = 0、0.5、1 の場合の、ナカモト コンセンサス、ミニマム ハッシュ タイ ブレーク プロトコル (SHTB)、予測不可能な決定論的タイ ブレーク プロトコル (UDTB) の 5 つのケースを示します。最もチェーン品質が高いのはどれですか?
これら 5 つのプロトコルのうち、Minimal Hash Tie Breaker (SHTB) と Unpredictable Deterministic Tie Breaker (UDTB) は、タイを破る方法のみに焦点を当てています。したがって、γ = 0 で同点の場合、ナカモトのコンセンサスよりも優れた結果は得られません。 γ = 0 の場合、すべてのマイニング パワーは正直なチェーン上にあるためです。そして、攻撃者がすべての同点で勝利する、γ = 1 のナカモト コンセンサスよりも悪くなることはありません。
それでは、残りの 3 つのプロトコル (SHTB、UDTB、γ = 0.5 のnakamoto プロトコル) の中で、最もパフォーマンスが悪いのはどれでしょうか?実際、プロトコルを破るのは最小のハッシュ タイです。それでは、残りの 2 つのプロトコル (UDTB、γ = 0.5 のnakamoto プロトコル) ではどちらが優れているのでしょうか?
その答えを明らかにするために私はここにいます。ナカモトのコンセンサスでは、γ = 0.5 の方が優れています。なぜ?たとえば、予測不可能な決定的タイ ブレーク プロトコル (UDTB) では、攻撃者がブロックを見つけても、誠実なマイナーがそのブロックをパッケージ化して攻撃者より先にブロードキャストした場合、攻撃者が擬似ランダム関数を計算して次のことを実現する可能性があります。彼がブロックを公開すると、ブロック競争で引き分けに負けたため、誰も彼のブロックでマイニングを続けることはなくなるでしょう。では、この攻撃者は何ができるのでしょうか?
ナカモトのコンセンサスでは、最初に受け取ったブロックがタイルールに違反するため、攻撃者は失敗する運命にあり、できるだけ早くブロックを公開しなければ、誰もあなたのブロックをマイニングしてくれません。しかし、UDTB では異なります。次のブロックが掘り出された後でも、攻撃者はそのブロックでマイニングを続けることができます。攻撃者が次のブロックを生成する権利を獲得できる限り、攻撃者は 2 つのブロックを公開することができます。同時に、正直なマイナーズブロックの後に。
この擬似ランダム関数により、攻撃者がブロック競争に勝ったことが示された場合、攻撃者はブロック報酬を得ることができます。 UDTB では「ポストストライク」と呼ばれる特別な攻撃動作が許可されているため、UDTB のセキュリティは、γ = 0.5 の 中本コンセンサスよりも悪くなります。
では、なぜ最小ハッシュ タイブレーク プロトコルの安全性がこれほど不十分なのでしょうか?なぜなら、攻撃者がブロックを見つけ、そのハッシュ値が実際に非常に小さい場合、他の人のハッシュがどのようなものであっても、攻撃者は約 99% の確率でブロックを生成する権利を獲得できるからです。どのブロックを最初に放送しても、この引き分けに勝つ確率を正確に予測できます。これにより、攻撃者は運が良ければブロック攻撃を開始できるようになります。
正直なマイナーが次のブロックを見つけたとき、攻撃者のブロックのハッシュは十分に小さいため、ブロックを正しく獲得する確率が高く、ブロックを公開してブロックを正しく取得できます。次回、攻撃者がそれほど幸運ではなかった場合、比較的大きなハッシュを持つブロックを取得し、攻撃者はこのブロックを公開して直接報酬を得ることができます。
より良いチェーン品質プロトコルのための一般的な結論
以下は、より優れたチェーン品質プロトコルに関する調査から得られた一般的な結論です。
攻撃者の計算能力 α > 1/4 の場合、どのプロトコルも理想的なブロックチェーンの品質を達成することはできません。攻撃者の計算能力がネットワーク全体の計算能力の 1/4 を超える限り、その収入は、その計算能力の割合に基づいて計算される通常の収入よりも高くなる可能性があります。
攻撃者の計算能力がネットワーク全体の計算能力の 1/4 を超える限り、その収入は、その計算能力の割合に基づいて計算される通常の収入よりも高くなる可能性があります。
α のどの値でも、γ = 0 の場合、セキュリティの観点から、ナカモト コンセンサスよりも優れたパフォーマンスを発揮するプロトコルはありません。
おそらく特定の状況では、特定のプロトコルがナカモト コンセンサスよりもセキュリティの点で優れている可能性がありますが、一般的にはナカモト コンセンサスがセキュリティの点で最高です。
何故ですか?なぜなら、プロトコルは正直なブロックと攻撃者のブロックを区別できないからです。
なぜプロトコルはこれらのブロックを区別できないのでしょうか?
それは情報の非対称性によるものです。攻撃者は入手可能なすべての情報に基づいて行動します。つまり、自分が解放したブロックの数、保留したブロックの数、これらのブロックをいつ解放するかなどを知っており、攻撃者はすべてを知っています。しかし、誠実なマイナーは限られた公開情報に基づいてのみ行動します。
なぜ?
これは、PoW にはセキュリティに関する前提条件が弱いためです。彼らは非同期的に動作しようとし、すべてのマイナーが非常に限られた公開情報のみに基づいて行動/操作することを規定しています。
それでは、ナカモト コンセンサス、フルーツ チェーン、報酬分配 (報酬分割、RS) プロトコル、およびサブチェーン、まずインセンティブの互換性に対する攻撃耐性を分析しましょう。
それらの中で、罰は常に正しい行動を奨励する最も効果的な方法であるため、報酬分配プロトコル (強制) が最も優れたパフォーマンスを発揮します。子チェーンのパフォーマンスは最悪でした。
フルーツチェーンは、ナカモトのコンセンサスよりもパフォーマンスが良い場合もあれば、悪い場合もあります。サブチェーンを使用すると、攻撃者は価値のない弱いブロックを含む正直なブロックを無効にすることができます。すべてに価値がある場合、攻撃者がブロックを保留することは危険です。しかし、弱いブロックはそれ自体には価値がなく、攻撃者はブロック報酬を失う危険を冒さずにこの弱いブロックを差し控えることができます。リスクはないので、ブロックを保留するというより大胆な行動を試してみてはいかがでしょうか。
弱いブロックが多いほど、プロトコルの動作は悪化します。したがって、弱いブロックが増えると、実際には状況が悪化します。最善のケースは、弱いブロックを使用しないことです。
フルーツ チェーンのタイムアウト値が小さい場合、ナカモト コンセンサスよりもパフォーマンスが悪くなります。攻撃者は無駄なブロックを使用してフルーツを無効にすることができます。これにも同様の問題があります。ブロックにはフルーツ チェーンに報酬がないため、ブロックを保留するリスクがないため、攻撃者にはブロックを公開するインセンティブがなく、その結果、攻撃者はブロックを公開しようとする可能性があります。ブロックを保留するというより大胆な行動。
その結果、攻撃者はより攻撃的な保持行動を試みることができます。
フルーツがもう少しあればもう少し良かったかも。確率の問題である有名なニュートン・ピープス問題があります。
A. 6 つの通常のサイコロを個別に転がし、少なくとも 1 つの 6 が出現します。
B. 少なくとも 2 つの 6 がある、独立して振られる 12 個の通常のサイコロ
6 個のサイコロを振って 6 が 1 個出る確率は、12 個のサイコロを振って 6 が 2 個出る場合よりも高くなります。
フルーツ チェーンには、正直なフルーツ、正直なブロック、攻撃用フルーツ、攻撃用ブロックの 4 つのマイニング製品があります。
「攻撃者は正直なマイナーよりも 1 つのタイムアウト ブロックを持っている」、つまり攻撃者が何らかの果物をうまく分離できることを条件付きイベントとして考えることができます。このイベントはチャンクのみを考慮するため、フルーツの生成とは完全に独立しています。これをニュートン・ペピー問題の条件として扱うことができます。独立しているため、単に破棄することができます。しかし、条件が満たされたときにフルーツが少ない場合、「攻撃者のフルーツが多い」確率は非常に低くなります。
フルーツが多ければアタッカーフルーツも増えるということです。攻撃者は少数派であるため、果実の総数が多ければ、攻撃者の果実の合計の割合が実際よりも多くなるということになります。ここでは、ギャンブルに例えた方がよいでしょう。なぜなら、より多くの果物を持っているからです。つまり、攻撃者がより多くの果物を持っていると、ギャンブルへの参加が減ります。失うものが何もないときはギャンブルに積極的に参加しますが、より多くの資本が失われる可能性がある場合はギャンブルをしたくありません。つまり、より多くの果物がインセンティブの適合性にわずかに寄与することを意味します。
次に、攻撃耐性では、攻撃による「悪利益」を分析し、指数が小さいほど優れていることを示し、図に示すように、報酬分配プロトコルは、ナカモトコンセンサスよりも優れており、フルーツチェーンよりも優れており、サブチェーンよりも優れています。
私たちは「悪い報奨金」と呼ばれる別の興味深い指標を分析しました。これを、インセンティブバイアスを研究するための最小の二重支出報酬として定義します。 (つまり、二重支出攻撃に対する報酬が悪事を行った場合の報奨金よりも大きい場合、攻撃者には悪事を行う動機があるということです)。 (図右下の表は、ブロック確認数が3または6、α(攻撃者の計算能力比が0.1~0.4の場合)の場合に、ナカモトコンセンサスおよび報酬分配プロトコルによって計算された報奨金です。
各プロトコルの「悪の報奨金」を計算すると、フルーツチェーンとサブチェーンは基本的にゼロコストで破壊でき、リスクがないため報酬なしの二重支出さえも試みることができることがわかります。
トランザクション確認の数が増加するにつれて、弱い攻撃者の場合、邪悪な報奨金の増加がほぼ指数関数的に増加することがわかります。これは、より多くのトランザクション確認が二重支出の防止に役立つことを意味しますが、強力な攻撃者にとってその効果はそれほど明らかではありません。
検閲への耐性については、すべての数値を計算し、次のようにランク付けします。
αが小さい場合、つまり攻撃者の計算能力の割合が低い場合、フルーツ チェーンが最適で、次にナカモト コンセンサス、次に報酬分配プロトコルとサブチェーンが続きます。
α が大きい場合、つまり攻撃者の計算能力の割合が比較的高い場合、報酬分配プロトコルが最良となり、次にフルーツ チェーン、ナカモト コンセンサス、サブチェーンが続きます。
明らかなことは、Fruitchain の場合、他のブロックを無効にしたい場合、たとえ孤立ブロックであっても複数の条件の下で報酬が与えられるため、他のプロトコルよりもはるかに困難であるということです。
α が十分に大きい場合、つまり攻撃者の計算能力が比較的高い場合、なぜ報酬分配プロトコルがフルーツ チェーンよりも優れているのでしょうか?フルーツ チェーンでは、間隔はメイン ブロックとポインター ブロックの間のブロックの高さの差として定義されるためです。一方、報酬分配プロトコルでは、間隔はメイン ブロックとブロック自体の間のブロックの高さの差として定義されます。
したがって、フルーツチェーンでは、長期的なブロック競争で攻撃者が勝った場合、ポインタブロックがすべて孤立しているため、正直なフルーツの報酬は奪われてしまいます。つまり、彼らのポインタを分離すると、彼らにとってはゲームオーバーです。ただし、報酬分配プロトコルでは、最後の数個の正直なブロックでも何らかの報酬を得ることができます。正直なマイナーがすべての報酬を失うには、ポインタを孤立させるだけでは十分ではなく、多数の連続したブロックを孤立させる必要があります。 (これにより、攻撃者に対する障害が追加されます)。
これらの写真はこれらの問題を示しています。
フルーツチェーンでは、ポインタを分離すれば、安心してすべての報酬を得ることができます。ただし、報酬分配プロトコルでは、ブロック競争でこれらのブロックを長期間分離したとしても、これらのブロックは依然としてメインチェーンを指します。キーの関係が考慮されていないため、このブロックは依然として攻撃者のブロック報酬の半分を受け取り、検閲攻撃に対する耐性が高くなります。 (正直なマイナーは検閲されても報酬の一部を受け取ることができるためです。)
攻撃耐性のあるプロトコルに関する一般的な結論
研究における攻撃対策プロトコルに関する一般的な結論について話しましょう。
ブロック確認時間を長くし、帯域幅を大きく設定すると、セキュリティが向上します。
「悪者に報酬を与え、善人を罰する」と私たちが呼ぶメカニズムであるジレンマがあります。これはプロトコルの報酬に対するみんなの理解を覆します。なぜなら、ここでフォークしてもブロック報酬を得ることができ、フォークするリスクがないからです。したがって、これにより、攻撃者はフォークして二重支払い攻撃を開始するようになります。
懲罰的プロトコルでは、検閲攻撃者は自分のブロック報酬を気にしないため、ペナルティ ルールは代わりに、正直なマイナーにブロック報酬を控えさせるための別のツールを攻撃者に提供します。
そして、幸運な報酬プロトコルの場合、情報の非対称性を破らなければ、幸運は良いことを意味しません。幸運なブロックが悪いブロックであることが判明し、事態がさらに悪化することがあります。
結論としては、すべての攻撃に対処するには、基礎となるルールで報酬を超える必要があるということです。 (報酬ルールは攻撃の問題をあまりうまく解決しません)
どうやってするの?あなたと話し合うためにいくつかのアイデアを提案します。
複雑すぎて分析が難しすぎるプロトコルを設計すべきではありません。設計者が分析できるプロトコルを設計する必要があります。シンプルであることは良いことですが、複雑さはセキュリティの敵です。
単一の攻撃戦略のみを目的としたセキュリティ分析は危険です。多くのプロトコルについて、設計者はそのプロトコルが特定の攻撃手法に耐えられることをシミュレーションしましたが、そのようなプロトコルは攻撃者に他の攻撃戦略を研究するよう促しました。単一の攻撃動機のみを目的としたセキュリティ分析も危険です。
攻撃者は、短期的な利益や長期的な利益に焦点を当てたり、他のマイナーの利益を損なったりする可能性があります。ある攻撃に抵抗するために、攻撃者に、別のターゲットに基づいて別の形式の攻撃を開始するよう仕向ける場合があります。モデル内でさまざまな動機を持つすべての攻撃者を考慮する必要があります。
