難易度:アクティブノードの増加か、より高速なノードか?
最近の難易度の上昇は目覚ましい。511.77で、電気代を自分で支払っていないマシンでさえ停止した。私の計算では、温度上昇やフル回転のファンによる消耗・故障リスクの方が、BTC生成の価値よりも高い。(計算が間違っているかもしれないが。)
しかし疑問がある:超高性能マシンの台頭を見ているのだろうか、それとも単にノード数の指数関数的増加なのだろうか? つまり、トップの生成マシンが(平均に対して)性能の飛躍を遂げているのか、それとも私のマシンはまだ平均的で、単に参加マシン数に圧倒されているだけなのか? 確認する方法はあるだろうか? (ノード数?)
難易度がクライアントのkhash性能向上の最先端を反映していることは十分理解しているが、自分のコンピューターもネットワーク全体の生成レートにおいて急速に小さな割合になっていることは明らかだ。ネットワークが大きくなるにつれ、10分ごとにブロックを見つけるチャンスは縮小する。わくわくしているし、恨んでもいない。だが、過去3週間で何がこれほど劇的な変化をもたらしたのか知りたい。
ではまた。
誰かがこれを使ったのではないかと賭けてもいい…
http://en.wikipedia.org/wiki/Field-programmable_gate_array
これをするために…
http://www.springerlink.com/content/765kta4qr92daea8/
これは自分自身も当然考えたことだ。やっている人は現在のハッシュ割合のかなりの部分を占め、新しいBitcoinのかなりの量を占めているだろう。最新のアマチュア無線にはこれらのプログラマブルアレイが最大4つ使われていることを考えると…
http://www.dsptools.com/Radio.htm
そしてこれ…
http://www.softrockradio.org/
SHA-256アルゴリズムをFPGAにコーディングし、Bitcoinクライアントの生成機能を1つ以上のFPGAを使用するようにリコーディングすれば、デスクトップでは太刀打ちできないkhash/秒レートが出るだろう。我々の観点からはスーパーコンピューターのように見える。アマチュア無線家として自分はこれらのデバイスを知っていたが、現在は持っていない。USB2経由でネットブックに接続しても、khash/秒レートはとんでもないことになるだろう。これらのプログラムは通常マスターコンピューターのハードディスクに保存されており、入れ替えるのに数秒しかかからない。だからアマチュア無線家はソフトウェアラジオを使いたい時に使い、寝る前にすべてのFPGAをSHA-256アルゴリズムに書き換えて、寝ている間にお金を稼げる。
もう一つの可能性は、誰かがこれを所有しているか購入したことだ…
http://www.via.com.tw/en/initiatives/padlock/features.jsp
あるいは他の暗号コプロセッサーが載ったドーターカード。
Bitcoinが軌道に乗れば、通貨の強度に深い個人的利害を持つほど十分なコインを持つ人は誰でも、SHA-256ハッシュ関数のハードウェアアクセラレーション付きクライアントを動かすようになると確信している。
また、FPGAが載ったPCIドーターカードがもうあるのかとも思う。最後に調べた時は、外付けセットアップとしてしか利用できなかった。
VIA C7でのブロック生成:
誰かがField-programmable gate arrayを使ったのではないかと賭けてもいい…
http://www.springerlink.com/content/765kta4qr92daea8/これは自分自身も当然考えたことだ。やっている人はおそらく現在のハッシュ割合のかなりの部分を占めており、新しいビットコインのかなりの量を独占しているだろう。
…
かなり曖昧な話だ。具体的な数字を見ると、53 MB/sと記載されており、一度に192バイトしかハッシュしないので、0.27 mhash/s程度になるかもしれない(実際にはもっと少ないだろう)。これは実はデスクトップの範囲内だ。
うん、誰かやるかもしれないね! 約1.5 mhash/sが計測される。多くの一般的なIntelやAMDのCPUはそれよりはるかに良い性能を出せる(もう少し電力が必要だが)。
sha-256アルゴリズムをFPGAにコーディングし、bitcoinクライアントの生成機能を1つ以上のFPGAを使用するように書き換えれば、デスクトップが到底太刀打ちできないkhash/秒のレートを生み出すだろう。我々の視点からはスーパーコンピューターのように見えるだろう。
かなり曖昧な話だ。具体的な数字としては53MB/sとある。一度に192バイトしかハッシュしないので、27 mhash/sくらい出ると思うかもしれない(実際にはもっと少ないだろう)。これはGPU数枚積んだデスクトップの範囲内だと私は思う。
そうだが、あなたが見落とした2つの点がある。まず、ソフトウェアトランシーバーは通常これらのチップを4つ必要とする。(受信用に2つ、送信用に2つ。1つがデジタル信号処理を行い、もう1つが生信号のデジタルフィルターリングを行う。別の言い方をすると、1つが仮想マイク/スピーカーで、もう1つが仮想チューナーだ。すべてのソフトウェア無線セットアップが4つ必要なわけではないが。)だからアマチュア無線家がこれらを4つ持っていれば、4つすべてをこの目的にプログラムできる。もう1つのポイントは、明示的には述べなかったが、1つのFPGAが1つのsha-256プロセッサーにしかならないわけではないということだ。1つのFPGAチップに複数のそのようなプロセッサーをプログラムすることが可能であり、むしろありそうだ。これらのチップはかなり複雑な論理回路を「仮想化」できるように大きく、才能あるプログラマーなら1つのチップに複数のsha-256プロセッサーを並列で動作するようにプログラムできるだろう。これでも彼のメインCPUとGPUはさらなるKh/sが欲しければまだ利用可能だ。同じシステム内の1つ以上のGPUをハッシュ計算用にプログラムするスキルを持つハッカーはすでにエリートであり、単一のFPGA上で複数のsha-256コアを実行するのは朝飯前だろう。そして我々はBitcoinコミュニティ内にエリートな才能がいることをすでに知っている。動かしたい人も壊したい人も。
VIA C7のハードウェアSHA-256から投稿された性能数値は驚異的なものではなかった。1500 khash/s程度だ。考えてみれば、ハードウェアで実装されているからといって異常に高速とは限らない。それでも、すべてのステップを実行しなければならない。専用ハードウェアに簡素化することで十分小さくなり、多数を並列に配置できる場合にのみ意味がある。それは必ずしも容易なことでも自明なことでもない。
かなり曖昧な話だ。具体的な数字としては53MB/sとある。一度に192バイトしかハッシュしないので、27 mhash/sくらい出ると思うかもしれない(実際にはもっと少ないだろう)。これはGPU数枚積んだデスクトップの範囲内だと私は思う。
すまない、あなたが引用した後にこれを訂正してしまった。正しい計算は0.27 Mhash/sだ。
CMoonShadowの投稿(2010年8月17日21:52 UTC)もう一つの点は、私が明示的に言っていなかったことだが、1つのFPGAは1つのSHA-256プロセッサーだけを意味するわけではない。1つのFPGAチップに複数のプロセッサーをプログラムすることは可能であり、むしろその可能性が高い。これらのチップはかなり大きく、かなり複雑な論理回路を「仮想化」できるので、才能あるプログラマーなら1枚のチップを並列動作する複数のSHA-256プロセッサーにプログラムできる。それだけでなく、さらにKh/sが欲しければメインのCPUやGPUも引き続き使える。同一システム内の1つ以上のGPUをハッシュクランチ用にプログラムできるスキルを持つハッカーは、それだけですでにエリートだ。そういう人にとって1枚のFPGAに複数のSHA-256コアを乗せるのは朝飯前だろう。そしてBitcoinコミュニティの中にはすでにエリートの才能がいることを我々は知っている。支えようとする者もいれば、壊そうとする者もいる。
失礼だが、もっとはっきりしてほしい。それは「才能あるプログラマー」が必要なのか、それとも「朝飯前」なのか?
あなたが可能性にワクワクしているのは理解するが、証拠もなく、期待する性能の具体的な見積もりさえなく、大げさな主張をしている。
実際の数字はどうだ? あなたのFPGAで本当に何個のSHA256ハッシュを並列実行できるのか? 使う予定のFPGAの実際の型番を教えてくれ。実際のデータレートはどの程度を見込んでいる?
それに加えて、チップの価格、開発環境の価格、消費電力要件もある。これらのどれもが、このアイデアにとって非常に大きな障壁になり得る。
ではまた。
私はFPGAの専門家ではないが、多少触ったことはある。
何人か(私よりずっと賢い人たち)に、私の好きなXilinx Spartan-3E向けに概算計算をお願いした。1200kゲート、50MHz動作などだ。150ドルくらいで始められる。(Digilent Nexys2はなかなか良い選択肢だ)
結論は、最近のデスクトップマシンはクロックスピードの優位性が圧倒的に大きい(3GHzで8コア?)ので、太刀打ちできるのは大規模並列実装くらいしかない、というものだった。I/Oの制約はほとんどなく、ひたすらナンスをぐるぐる回して成功を試すだけだ。商用のSHA256コアのほとんどは、大量のデータをハッシュに渡すという典型用途のためにI/O帯域幅に注力している。これは全く別物で、入力は自前で生成し、各サイクルの出力をテストする。
さて……100万ゲートに何ラウンド収められるだろう?
最近のGPUと巧妙なOpenCL/CUDAコードの方が、研究、迅速な反復、スケーラブルな速度の点でより良い道筋に思える。高いクロックと並列性の両方を活かせる。
失礼だが、もっとはっきりしてほしい。それは「才能あるプログラマー」が必要なのか、それとも「朝飯前」なのか?
GPUをハックできるほど才能のあるプログラマーにとって、1つ以上のFPGAに1つ以上の並列SHA-256コプロセッサーをハックして入れるのは朝飯前だろう。
Llfmあなたが可能性にワクワクしているのは理解するが、証拠もなく、期待する性能の具体的な見積もりさえなく、大げさな主張をしている。
実際の数字はどうだ? あなたのFPGAで本当に何個のSHA256ハッシュを並列実行できるのか? 使う予定のFPGAの実際の型番を教えてくれ。実際のデータレートはどの程度を見込んでいる?
正直なところ、4つのFPGAのセットがスーパーコンピューターに見えるだろうと言ったのは言い過ぎだった。実際に試してみるまで期待できる値ははっきり言えない。だが私自身の(確かに限定的な)FPGAの経験では、1枚のチップでかなり複雑な短波受信機を、チューニングを含めて、マスターCPUの助けを全く借りずに、現在広く使われている短波のモードをすべて再現できる。実験的モードには2枚必要だが、最近はもっと良く/速くなっているかもしれない。この種のものを触って数年経つからだ。少なくとも安くはなっているだろう。SHA-256アルゴリズムの複雑さを一見すると、私が過去に使ったのと同等のチップに、少なくとも4つのコプロセッサーを入れられるはずだと期待する。そのそれぞれは、だいたい同じ方式で実装されているという前提なら、VIA 7のハードウェアより多少少ないkh/sレートを出すはずだ。FPGA内部のソリッドステート回路の「仮想化」はわずか(だが測定可能)なペナルティを課すものの、実際に問題になるほど大きくはないだろう。もし4枚のチップ、それぞれ4つのコプロセッサーをすべてうまくコーディングして活用できれば、結果として得られるkh/sレートはVIA 7の単一コプロセッサーが出せる値の少なくとも14倍に達すると期待する。そしてこれにはCPUやGPUが追加で加算するkh/sは含まれていない。
Llfmそれに加えて、チップの価格、開発環境の価格、消費電力要件もある。これらのどれもが、このアイデアにとって非常に大きな障壁になり得る。
ではまた。
確かに。ただ、私は誰かが実験的なアマチュア無線の趣味のために既にこの種のチップ一式を持っていることを前提にしていた。GPUで計算するのに既にGPUを持っている前提があるのと同じだ。専らbitcoin生成のためだけに追加のグラフィックスカードを買うのが経済的に見合わないのと同じで、この理由だけでこれらのチップを買うのは見合わない。正直なところ、それが理由かどうかはわからないし、知る術もない。ただ、誰かがやっているなら、それはbitcoinコミュニティにとってもう一つのゲームチェンジャーになる。
いずれにせよ、FPGAチップはいずれハイエンドPCに標準搭載されるようになり、ほとんどのOSが日常的にそれらを活用するように変わっていくだろうと想像する。もし各PS3にこういうものが1つずつ入っていたら、ゲーム会社が何をできるか想像がつくだろうか?