ビットコイン・インスティテュート

Re: Proof-of-work難易度の​上昇

人物: fergalish
fergalish 2010年6月9日09:22 UTC
エリック・スワンソンの投稿(2010年6月5日15:28 UTC)

それは考えた。0.5が妥当かどうかわからない。引き続き観察を続ける。成功した時にdebugログに書き込むのだろうか。

0.5ではなく1を使うといい。max=100、target=10とすると、100ハッシュのうち10がターゲット以下になるので、成功率は10%であって、決して5%ではない。

現時点でtarget/max ≈ 1.5x10^-11(target≈0x000000000f、つまり36個のゼロなので、基本的に2^36=690億面のサイコロを振って1が出るまで待つようなものだ)。1秒あたり100万ハッシュx 86400 = 1日あたり864億ハッシュなので、1日に1回よりやや多い成功が期待できる。

これはあくまでBitcoin生成の平均時間であり、約1週間以上の期間にわたってのみ有効であることを理解するのは非常に重要だ。成功イベントは完全にランダムなので(そうであってほしい。そうでなければハッシュ関数はおそらく安全ではなく、いずれ誰かが解読し、ひいてはbitcoinも破られてしまう!)、ある成功から次の成功までの間隔はn=0のポアソン分布、つまり指数分布に従う(Wikipediaを参照)。したがって、1日1回の成功という平均レートでは、おおよそ10%の確率で2.25日以上、1%の確率で4.5日、0.1%の確率で7日待つことになる、といった具合だ。