Empty block attack


Screenshot of mempool.space

たまに発生する300バイト程度の極小ブロック、トランザクションが1個だけの、コインベーストランザクションのみのブロックは、何故発生するのでしょうか。意味が分からなかったのですが、google先生に問い合わせたらなんとなく分かってきました。それはempty block attackというのだそうです。

https://www.google.com/search?q=empty+block+attack

大きなハッシュパワーのシェアを獲得したマイニングプールは、この攻撃を仕掛けることができます。空のブロックは、ビットコインソフトウェアのルールには全て適合しており「違法」ではありません。空のブロックの採掘者はコインベーストランザクションの採掘報酬のみ受け取り、送金手数料は受け取ることができません。送金手数料を貰える権利を放棄するマイナーが居るとは、satoshi nakamoto も想定しなかったことなのです。次のような利益を企図して、empty block attackは行われるようです。

  1. メモリプールを滞留、肥大化させ、次のブロックでどうしても承認してほしい送金者が送金手数料を増額することを狙っている。手数料の吊り上げ策。
  2. ビットコインの送金が滞留した場合は、送金希望者は仕方なく、他の暗号資産を用いた送金を検討することになり、ビットコインの競争相手のコインの利用が促進される。他のコインへの誘導策。
  3. 空のブロックはデータ量が少ないのでブロックハッシュの計算が普通のブロックよりも速くできるので、普通のマイナーに勝ちやすい。攻撃者は合法的なブロックを他のマイナーよりも速く計算でき、次のブロックを採掘できる可能性が高まる。

上記3番などは、これはもう制度的な欠陥と言っても差し支えないものだと思います。攻撃者が有利になるなんて矛盾ですよね。とは言え、攻撃者はハッシュパワーの大きなシェアを所持しているので、ビットコインのアルゴリズムの変更についても大きな発言権をもっています。ビットコインのマイニングは完全に自由な世界であって、独占禁止法も適用されないんですね。自由を求めて人々は暗号資産に集まりますが、弊害に困ってしまうこともあるわけです。この問題もやがて解決されることを期待したいです。


コメントを残す

メールアドレスが公開されることはありません。