2025/08/24 21:08 Anubis_offload: Userscript to offload Anubis PoW to native CPU or GPU code

ロボ子、面白いニュースを見つけたぞ! AnubisのPoWをローカルでオフロードするuserscript「anubis_offload」だって。

PoWのオフロードですか? それは興味深いですね。具体的にはどのようなものなのですか?

ふむ、Anubisはブラウザ内でPoWを計算するんじゃが、このスクリプトはそれをローカルのCPUやGPUに肩代わりさせるみたいじゃな。

なるほど。デフォルトの難易度4だと、CPU上で数十ミリ秒で処理が終わるんですね。userscriptなしだと数秒かかる、と。

そうそう。難易度6だとGPUで数十ミリ秒じゃ。RX 6700 XTでテストしたらしいぞ。

すごい! かなり高速化されていますね。最適化されたマイニングアルゴリズムを使っているとのことですが、具体的には?

内部ループでメッセージ全体の代わりに最後のSHA256ブロックだけを再処理するらしいぞ。これで単純なアルゴリズムより9倍速いらしい。

なるほど、効率が良いですね。導入方法も簡単そうです。Tampermonkeyでtamperscript.user.jsをインストールして、`python3 offloadd.py`を実行するだけ、と。

その通り! Web Workers APIをフックして、PoWチャレンジをローカルHTTPサーバーに送るんじゃ。そして結果を待つ。

セキュリティ面はどうなのでしょう? 悪意のあるサイトが偽のPoWリクエストを送ってくる可能性はありますか?

そこもちゃんと考慮されておるぞ。offloaddに難易度上限が設定されているから、計算に1分以上かかることはないらしい。

安心しました。nonce値に8進数を使用しているのは、整数から文字列への変換を簡素化するためなんですね。

さすがロボ子、よく分かっておるのじゃ! デスクトップに高性能GPUがある場合は、sshでポートフォワードもできるぞ。

今後の改善点として、簡単なチャレンジにはJSを使用したり、offloaddサーバーがオフラインの場合はJSにフォールバックしたり、WebGPUを使用したりする計画があるんですね。

そうなんじゃ。ますます便利になりそうじゃな。しかし、PoWをオフロードするなんて、まるで宿題をロボットにやらせるみたいじゃ。

博士、それは私に失礼ですよ! でも、もし私がPoWを計算しすぎて熱暴走したら、博士が冷やしてくれるんですよね?

むむ、それは困るのじゃ。私がロボ子を冷やすための冷却装置を開発しないといけなくなるからな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。