(LZの引用投稿)

6 件のメッセージ BitcoinTalk LZ, Theymos, gebler, chrisdbc, kiba, サトシ・ナカモト 2010年10月2日 — 2010年10月3日
LZ 2010年10月2日 原文 · 個別ページ

これについてもっと教えてくれないか: 「extraNonceで変なことをしなければならず、ブロックヘッダのサイズが増える」。

Quote from: lzsaver on October 02, 2010, 05:49:47 AM

もう少し教えてほしい: 「extraNonceで特殊なことをしなければならず、ブロックヘッダーのサイズが増える」について。

生成時にはブロックヘッダーのハッシュを計算する。より多くのデータをハッシュする方が少ないデータをハッシュするより遅いので、ブロックヘッダーは一つの例外を除いて全員にとって固定サイズであることが極めて重要だ。各ハッシュ試行後にNonceヘッダーフィールドをインクリメントするが、このフィールドは32バイトしかないため、頻繁にオーバーフローする。オーバーフローするたびに、可変サイズのextraNonceフィールドをインクリメントする。extraNonceが大きくなるほど、生成は遅くなる。ただし通常のインクリメントでは有意に大きくはならない。

多くのコンピュータがあり、すべてが同じ公開鍵で同じブロックに取り組んでいる場合、すべてが同時に同じブロックをハッシュしている可能性が非常に高く、これは無意味だ。これを修正するために、各コンピュータに固有のextraNonce修飾値が与えられる。衝突を防ぐためにこれは非常に大きくなる可能性があり、そのためハッシュが遅くなる。

間違いなくこの欠点のないプーリングシステムを設計できるだろうが、それはより困難になる。

m0mchilのgetworkがextraNonceで何かしているのは見た。その実装がどれほど悪いかわからないが、理論的にはそれなしのクライアントよりも必ず遅くなる(他の条件が同じなら。GPUサポートの追加で明らかにパフォーマンスは向上する)。

gebler 2010年10月3日 原文 · 個別ページ

Quote from: theymos on October 02, 2010, 06:11:11 AM

多くのコンピュータがあり、すべて同じ公開鍵で同じブロックに取り組んでいる場合、すべてが同時に同じブロックをハッシュしている可能性が高く、それは無意味だ。これを修正するために、各コンピュータに固有のextraNonce修飾値が与えられる。衝突を防ぐためにこれは非常に大きくなる可能性があり、それによりハッシュが遅くなる。

中央集権型システムでは、サーバーが使用中のextraNonceのリストを保持し、最小の空きのものを配布すればいい。そうすれば、クライアントあたり1つ以上の固有extraNonceを必要とせずに衝突を回避できる。3バイトのextraNonceで何百万ものクライアントに十分だ。なお、現実的なパフォーマンスのクライアントは今日ではnonceオーバーフローを処理するためにextraNonceを本当に必要としない。そのようなオーバーフローは定期的なnTime更新よりも頻度が低いからだ(ただし、標準クライアントは今日これを考慮しておらず、extraNonceをより自由に更新する)。

chrisdbc 2010年10月3日 原文 · 個別ページ

このBitcoinというものに興味を持ち始めたばかりだ。しかし、Bitcoinマイニングで素晴らしい成果を得るにはサーバーファーム、スーパーコンピュータなどが必要だと既に感じている。個人がGPUや暗号アクセラレータを活用することを心配するのはおそらく無意味だ。30000 khash/sで実際に何が得られるのか? 現在の難易度レベルで1日あたり$1.50程度だろうか? 高価なゲーミングリグのコストを回収する効率的な手段とは言えない。

ボットネットを持つ人間に何ができるかの方がはるかに心配だ。

kiba 2010年10月3日 原文 · 個別ページ

Quote from: chrisdbc on October 03, 2010, 08:08:33 PM

ボットネットを持つ人間に何ができるかの方がはるかに心配だ。

ボットネットがこれらのビットコインを全部生成したらどうだって? そいつは自分の金で市場を動かせるようになる。それがどうした。

Quote from: theymos on October 02, 2010, 06:11:11 AM Quote from: lzsaver on October 02, 2010, 05:49:47 AM

これについてもっと教えてもらえますか:

「extraNonceで奇妙なことをしなければならず、それがブロックヘッダのサイズを増加させる」 生成する際は、ブロックヘッダのハッシュを計算する。より多くのデータをハッシュする方が少ないデータをハッシュするより遅いため、ブロックヘッダは1つの例外を除いて、すべての人にとって固定サイズであることが重要だ。これが混乱のポイントだ。extraNonceはブロックヘッダの一部ではなく、最初のトランザクションの一部だ。ハッシュ計算を遅くすることはない。ヘッダのサイズを変更することもない。

ブロックの内容がハッシュ速度を遅くするという誤解には注意を払い、芽のうちに摘み取る必要がある。そのようなことはない。

extraNonceは非常に大きくする必要はない。望むなら、時刻が変わるたびに毎秒リセットすることもできる。最悪の場合、インクリメントの管理をしたくなければ、extraNonceをランダムな4バイトにすることができ、衝突による時間の無駄はごくわずかだろう。

別々のマシンは、最初のトランザクションに異なる生成公開鍵があるため、自動的に衝突の心配がない。各スレッドについても同様だ。