用語集 / マイニングとコンセンサス
セルフィッシュマイニング
- セルフィッシュマイニングとは?
- セルフィッシュマイニングは、マイナーが解決済みのブロックを隠し、競合のブロックを無効にするためだけにそれを公開する戦略で、ハッシュパワーの取り分に本来支払われるべき額を上回る報酬を得ます。
解決済みのブロックを隠すことは、通常は自滅的な行為です。競合が先に公開すれば、自分の作業は無価値になるからです。Ittay EyalとEmin Gun Sirerによる2013年の論文は、ネットワークのハッシュパワーのおよそ3分の1を超えると計算が逆転し、伝播上の優位があればそのしきい値は25%に向かって下がることを示しました。ビットコインのメインチェーンでは、これに類する事例は記録されていません。
仕組み
セルフィッシュマイニングは、私的なリードを他の全員にとって無駄な電力に変える行為です。
セルフィッシュマイナーはブロックを見つけても何も公表しません。そこから展開が分かれます。秘密のブロックがまだ隠れている間にネットワークの残りがブロックを公開した場合、セルフィッシュマイナーはただちに自分のブロックを公開し、同じ高さの2つの先端の間の競争を強いることになります。正直なハッシュレートの十分な部分が偶然に自分のブロックを先に受け取れば、この競争に勝てます。逆に私的に2つ目のブロックを見つけた場合、2ブロックのリードを握ることになり、正直なマイナーをすでに運命づけられたブランチで採掘し続けさせることができます。彼らがようやく公開したとき、隠していた2つのブロックが公開され、彼らのブロックは破棄され、その作業には何の報酬も発生しません。
報酬は絶対額ではなく相対的なものです。破棄される正直なブロックが1つ増えるたびに、ネットワークが受け入れるブロックの総数が減るため、短期的にはセルフィッシュマイナーは正々堂々と採掘した場合より少ないビットコインしか得られません。変わるのは比率です。より小さなパイのうち、より大きな割合を獲得するのです。その後パイは難易度調整によって元に戻ります。難易度調整は2,016ブロックごとに再計算され、ブロックの到着が遅かったためにターゲットを引き上げます。この再調整の後、最大で2週間後になって初めて、この戦略は利益を生みます。したがって、これを試みる者は、外部から統計的に見える行動を取りながら、収益が減る2週間分を自ら負担しなければなりません。
しきい値はネットワークのトポロジーに依存しており、これは多くの要約が省いてしまう部分です。関連する変数は、競争の間に正直なマイナーのうちどれだけの割合がセルフィッシュブロックの上で採掘するかです。その割合がゼロであれば、セルフィッシュマイニングが利益を生むには総ハッシュパワーの3分の1超が必要です。割合が2分の1であれば、4分の1で足ります。マイナーがすべてのピアに確実に最初に到達できれば、利益を生む割合はさらに大きく下がります。だからこそ、ブロックの伝播速度は性能上の細部ではなく、セキュリティ上の性質なのです。
見られる場面
セルフィッシュマイニングは、観測されたビットコインの歴史ではなく、学術文献とリレーソフトウェアの設計の中に現れます。
それをそこにとどめている実務上の事実が3つあります。伝播はほぼ瞬時です。2016年にBitcoin Core 0.13で追加されたコンパクトブロックリレーは、ピアが自身のmempoolから再構築できるブロックの短いスケッチを送り、専用のリレーネットワークが残りの遅延を削るため、隠したブロックが競争に勝てる時間枠はごくわずかです。プールもまた公開されています。ほとんどすべてのブロックはcoinbaseスクリプトにプールのタグを持っており、ぎりぎりでの公開という奇妙なパターンを生み出すプールは、自分が所有しないハッシュレートによってすぐに特定されるでしょう。顧客は数分以内に自分のマシンを別の場所に向けられるからです。
この用語は、隣接する2つの概念とも混同されます。ブロックウィズホールディングはプールを標的とした妨害行為で、参加者が部分的なシェアを提出しながら、実際にブロックを解決するシェアを破棄し、ネットワークではなくプールに損害を与えます。51%攻撃は確定済みの履歴を書き換えます。セルフィッシュマイニングはどちらでもありません。コンセンサスルールを破らず、支払いを取り消さず、ユーザーからコインを奪うのではなく他のマイナーから収益を奪います。ビットコインを購入したり保有したりする人にとって、唯一の兆候はスタールブロック(孤立ブロック)の割合が高まることであり、確認の意味は今日とまったく同じままでしょう。