サトシナカモト論文サトシナカモト論文は\(z\)ブロックから追いつく確率をポアソン分布使って示してますが、これだと\(n\)ブロック競り合うことを表現できないので使ってません...。Octaveで計算する上記の不等式の左辺を三次元プロットします。z軸が0より大きいとセルフィッシュマイニングするインセンティブがあるということになります。octaveのコードはここに置いておきます。モナコイン情報サイトより、\(R=25\)、\(H=1750\)が現実の値ですね。(この記事書いてるとき現在)まず、ハッシュレートと承認数に関してみます。conf結果が以下です。色はz軸と同じ意味です。間違いなく、承認数が多いほど不正対策になるということが言えます。承認数が多いところではハッシュレートが低いほうが高いよりもセルフィッシュマイニングするインセンティブが高いですが、これはおそらく正直にマイニングしてもどうせもうからないからだと思います。インセンティブが0を下回っているので問題ありません。承認数が少ないと、ハッシュレートが高いほどインセンティブが増えているのがわかりますね。次に、キャンセルさせたい送金額と承認数に関して見ます。conf以下が結果です。送金額が多いほど、不正するインセンティブをなくすには承認数がたくさん必要だということがわかります。見る限り、200MONAの送金でも20confはほしいところですね。逆にビットバンクのように一括100confはやりすぎかもしれません。(10000MONAくらいの送金で100confくらいが適切になるような気がする。)まとめ必要承認数が少ないと、ハッシュレートが高いほどセルフィッシュマイニングするインセンティブが高まる必要承認数が少ないと、キャンセルさせたい送金額が多いほどセルフィッシュマイニングするインセンティブが高まる51%なくてもインセンティブは余裕で出てくるっぽいなので対策としては、少額決済なら少ない承認数で許容、高額決済なら承認数を多くするという直感的にもわかることが正しいと言えます。インセンティブの不等式を\(R\)で偏微分すると負になるので、採掘報酬を上げることによっても不正のインセンティブを下げることができるかもしれませんね。モデリングでヤバそうなとこあったら教えてください。(結構簡略化もしてます。)ちなみに、今回の件はPoWかPoSかは関係ないです。関係あるとしたらファイナライズできるPBFTかな。