上級 レッスン4 読了4分

ツール:keyhunt、VanitySearchなど

各ツールが何をするのか、どのハードウェアで動作するのか、そしてそれぞれがどのような場面で適切な選択となるのか。

すべての鍵検索プログラムは、基本的には同じことを行っています。違いは、前のモジュールのレッスン1で説明した2つの世界のどちらを攻撃するか、どのハードウェアで動作するか、そして算術を高速化するためにどれだけの作業が既に行われているかです。地図を知っていれば、間違ったツールを使って数週間を無駄にすることを避けられます。

内部は同じエンジン。異なるのは車体。

フランス人のJean-Luc PonsによるVanitySearchは、2019年に無邪気なタスクのために生まれました。それは、選んだプレフィックスで始まるアドレスを見つけることで、名前をアドレスの最初に持ちたい人のためのものでした。アドレス検索を行い、グラフィックカードで動作し、別の理由で重要になりました。それは、彼のコードが実際に示した最適化、つまりバッチインバージョンと、作業の3分の1を節約するsecp256k1の固有の対称性の利用です。

同じ作者によるKangarooは、前のレッスン4の方法の実装です。既知の範囲で離散対数を解決し、公開鍵を必要とし、特定のポイントを使用し、クライアントサーバーモードを備えています。複数のマシンがジャンプし、特定のポイントを中央サーバーに送信して衝突を検出します。これは、最も高い番号のチャレンジを打ち破ったツールです。

開発者albertobsdとして知られる人物によるkeyhuntは、この分野の万能ナイフです。プロセッサーで動作し、その有用性はモードの多さにあります。アドレス検索、公開鍵検索、ハッシュ検索、そして実際のベビー・ステップとジャイアント・ステップの実装です。複数のターゲットを同時にテストしたいときに最適なツールです。

BitCrackはもっと古く、直接的です。グラフィックカードで範囲に対してブルートフォースを行い、アドレスを探します。操作が簡単なため、今でも使用されています。

多くのターゲットを同時に検索するための仕組みについては、工夫が凝らされています。各候補を1000万のアドレスと比較するには1000万の比較が必要ですが、解決策はブルームフィルターです。これは非常に迅速に応答し、有用な非対称性を持つ構造です。候補がリストにないと彼が言うとき、それは絶対に正しいです。彼が「あるかもしれない」と言うときは、実際に確認する必要がありますが、それは非常にまれにしか起こらないため、コストは消えます。

ふるいは決して「はい」とは言わない。素早く「いいえ」と言い、残りは手で調べる。

パフォーマンスについて、失望を避けるための3つの警告があります。発表された数字はモード間で比較できません:アドレス検索での毎秒の鍵、カンガルーでの毎秒のジャンプ、ロードされたリストに対する毎秒の比較は異なる大きさです。ツール間の利得の多くはフィルターによるもので、計算によるものではありません。そして実際のパフォーマンスは、グラフィックカード、コンパイラ、パラメータに大きく依存します。同じプログラムでも2つの設定で10倍の差があります。

最後に、最も重要な警告です。これらのツールは秘密鍵を操作しますが、見知らぬ人からダウンロードした既にコンパイルされたバージョンは、約束通りに動作し、見つけた鍵を他の場所に送信するかもしれません。実際に起こったことです。ルールは簡単です:オープンソースを使用し、できる限り読み、自分でコンパイルし、何も保存していないマシンで検索を実行してください。

誰かがあなたのためにコンパイルしたツールは、彼のためにコンパイルされたかもしれない。

前のレッスンで述べたルールはここでも有効です。なぜなら、それが演習と犯罪を分けるからです。チャレンジとして公開されたアドレスの鍵を探すことは正当です。なぜなら、そこにお金を置いた人は探されるために置いたからです。同じツールを他人のウォレットに向けることは別のことであり、それは技術的な問題ではありません。

あなたはコース全体を通過しました:物々交換からホワイトペーパー、鍵から署名、シードからノード、曲線からカンガルーまで。残るは1回転だけです。このプラットフォームでチャレンジがどのように生まれ、検証され、支払われるかです。次のレッスンは最後です。