確認が取れるまで軽く受け止めてほしいが、以下が自分の理解だ……
問題自体にバリエーションはない――すべてのノードが同時に同じブロックに取り組むことが意図されている(レイテンシーなどを考慮して)。運の要素は、各ノードが新しいブロックの解決を開始する際に生成するランダムな数値(ナンス)にある。新しいブロックを解く必要がある時、各ノードはランダムな値(ナンス)を生成し、それを使ってブロックをハッシュする。そのハッシュが正しくなければ、ナンスがインクリメントされ、新しいインクリメントされた値でブロックが再ハッシュされる。
例えば自分のボロPCが1,000 khash/s(実際そうだ…… Sad)を出し、あなたが100,000 khash/sのクラスターを持っているとしても、自分のボロPCが非常に少ないハッシュ数でブロックを解く値にランダムに(そして非常に幸運に)たどり着く合理的な可能性がある……例えばわずか10ハッシュでナンスが当たりだとする。1秒あたり1,000,000ハッシュを処理しているので、ブロックを解くのに1/100,000秒しかかからなかった。あなたのクラスターが自分の幸運な推測に勝つには、0.00001秒以内に正しいナンスを生成しなければならない……つまりクラスターは100,000,000 (hash/s) / 100,000 (s) = 1,000ハッシュ以内に正解しなければならない。可能なハッシュの巨大な数を考えると、1,000以内に当たる確率は極めて低い……
確かに、10ハッシュ以内に当たる自分の確率はもっと天文学的に低かったが、言いたいことは伝わったと思う。そう、クラスターは全体として自分のボロPCよりも多くのブロックを解くが、毎回勝つわけではない。
さて、ここまで説明したが……きっと誰かが自分の推論の欠陥を指摘するだろう! Smiley でもそれで構わない。すべてを正しく理解したいのだ。
編集 - ラスロの方がはるかに簡潔に言ったが、同じポイントを言っている……と思う? だといいが!