シングルシャードテイクオーバー攻撃とは、悪意のある攻撃者がネットワーク上のノード全体を制御下に置き、トランザクションの流れを変更しようとする攻撃を指します。例えば、100個のシャードで構成されるシステムでは、シャード全体を制圧するために必要なのはネットワークハッシュレートのわずか51%です。.
2018年6月には、 Bitcoinのメモリプールが約4500件のダストトランザクションで溢れかえり、 Bitcoin が確認できなかったという事例が発生しました。メモリプールのサイズは45MBにまで増加し、トランザクション手数料の増加につながりました。そのため、この攻撃を調査することは不可欠です。.
シングルシャード乗っ取り攻撃の実装
ネットワークがシャードに分割されているとします。バリデータはシャードをマイニングし、トランザクションを検証するために、一定のハッシュレートを必要とします。これは、シャード内で発生する51%攻撃に例えることができます。この状況では、必要なハッシュレートは大幅に減少します。.
攻撃者は、自身のハッシュパワーを単一のシャードに投入することで、そのシャードを制御できるようになります。これにより、ハッカーはよりtronになり、獲得した単一のシャードを通じてトランザクションを操作し始める可能性があります。.
攻撃者は、ネットワーク上の照合装置の過半数を乗っ取るだけでシャードをマレフィセント化できます。その後、ハッカーは簡単に無効な照合装置を送信できます。攻撃者がこれらの無効なリクエストを送信できれば、攻撃者の目的は達成されます。.
Jax.Networkはこの問題に対処する方法を持っています。ハッシュレートの変化とマージマイニングによってこれを実現します。.
Jax.Networkがシングルシャード攻撃を解決する方法
Jax.Networkは、マージマイニングを活用することで、シングルシャード攻撃を排除できます。マージマイニングとは、マイニングアルゴリズム全体のパフォーマンスを犠牲にすることなく、2つ以上の暗号通貨を同時にマイニングするプロセスです。複数のシャードをマイニングする場合、別のシャードは、ノードが、そのシャードが表すトランザクションを維持および検証できることを宣言した場合にのみ存在できます。.
新しいシャードを追加するには、ネットワークが過負荷状態にあり、新たなスペースが必要であるというマイナー間の合意が必要です。このような状況では、新しいシャードが作成されます。これにより、ネットワークのハッシュパワーが単一のマイナーに集中することがなくなり、単一のシャードによる乗っ取り攻撃を防ぐことができます。.
この方法により、シャードが攻撃に屈するのを防ぐための特定のハッシュレートが常に確保されます。単一シャードの乗っ取り攻撃から保護する際には、さらに2つの要素を考慮する必要があります。
- セキュリティ予算:
この攻撃を実行するには、攻撃者に相当なインセンティブが必要です。そのため、Jax.Networkは年間セキュリティ予算を考慮する際に、マイナーの利益にかなりのプレミアムを設定しています。これは、正当なノードがトランザクションをマイニングして検証した場合、そのサービスに対して公正な報酬が支払われることを意味します。これにより、攻撃ノードは同等かそれ以上の対価を提示せざるを得なくなり、攻撃意欲が削がれます。.
- セキュリティ要因:
セキュリティ係数 = セキュリティ予算/資本
セキュリティを真剣に考えるということは、セキュリティ係数が高いほど、より多くのトランザクションを必要とする巨大なネットワークのセキュリティ予算が増えることを意味します。このようにすることで、ゲートウェイの安全性が維持され、ネットワークがマイナーに過剰な報酬を与えることを防ぎます。.
結論
ネットワークは、シングルシャード攻撃に対するセキュリティを構築する必要があります。Jax.Networkは、シングルシャード乗っ取り攻撃に対する、最新かつ効果的な防御機能を提供します。.
供給量に上限はありませんが、需要が高まった場合にのみ新しいハッシュがリリースされます。攻撃者がネットワーク上でハッシュパワーを集中させる機会は、電力とハードウェアへの投資額が比較的大きいため経済的に不可能です。セキュリティ要因とセキュリティ予算も非常に高く設定されています。.

