
ビットコインのマイニングは、膨大な計算を繰り返してブロックハッシュを見つける競争だ。今やそれはASIC専用機の独壇場で、個人が一般的なマイコンで参加する余地はほぼない。だがそんな「勝ち目のない競争」にあえて首を突っ込んだプロジェクトがGitHubで公開されている。
「Cryptodile」はESP32-S3とST7789ディスプレイを組み合わせた実験的なビットコインマイナーだ。ライブのBTC価格・ブロック高・ネットワーク難易度をディスプレイに表示しながら、実際のStratumプールに接続してシェアを提出できる。設定はESP32のフラッシュにPreferences APIで永続保存され、初回起動時はWi-Fi設定用のホットスポットを立ち上げる。
ハッシュ計算にはESP32のハードウェアSHA-256エンジン(mbedtls経由)を使用している。ESP32-S3のArduinoコア(3.3.7)ではCONFIG_MBEDTLS_HARDWARE_SHAが有効になっており、ソフトウェア処理より高速にダブルSHA-256を実行できる。プールへの接続モードはshared(プールマイニング)とsolo/lottery(ソロで当たりを狙う)の2種類に対応する。
作者は採算性については正直だ。READMEには「ASICハードウェアの代替ではない。専用マイナーと比べて経済的に現実的でもない」と明記されている。このプロジェクトの用途として挙げているのは「学習」「ディスプレイ制作」「ホビーマイニング」「ロッタリー感覚のソロ実験」の4つだ。ビットコインのブロックヘッダー構造、Stratumプロトコル、SHA-256のハードウェアアクセラレーションといった概念を実機で理解するための工作として位置づけている。
ビルドはarduino-cliで行い、フラッシュにはUSBデータケーブルが必要。コードはGitHubで公開されている。

