『捕風追影』から始める:万兆の暗号資産を決定する2048の単語
著者:Tyler
最近、成龍の新作『捕風追影』を見ましたが、面白いシーンがありました------数百億香港ドルの暗号資産が、12個の単語からなるニーモニックウォレットにロックされていて、結末では最後の1単語が不明のままでした。
見終わった後、試してみたところ、10番目と12番目の単語が標準のニーモニックリストには存在しないことがわかりました。明らかに脚本家は意図的にそう書いて、誰かがストーリーに従ってウォレットを復元して詐欺を行うのを避けようとしたのでしょう。結局、ブロックチェーン上での類似の詐欺は珍しくありません:
詐欺師は「残高のある」ウォレットアドレスを故意に漏らし(典型的にはTronチェーン上で、Ownerメカニズムを利用)、人々をGasを転送させるよう誘導し、資金が転送されると二度と取り戻せなくなります。

しかし、ここで面白いのは、映画では最後の1単語がわからないと言っていますが、現実の世界ではニーモニックはBIP39標準に従っており、合計2048個の単語があります。つまり、最後の1単語をブルートフォースで解読する場合、せいぜい2048通りの可能性しかありません。さらに範囲を狭めると、例えば映画で最初の文字が「es」とわかっている場合、可能性はさらに少なくなり、1分で試し終えることができます。
しかし、映画を超えて再考すべき問題は:ニーモニック、秘密鍵、公鍵は一体どのような関係にあるのか?なぜニーモニックを失うとすべての資産を失うことになるのか?
一、ニーモニック:秘密鍵:公鍵/アドレス = 「鍵束」:「鍵」:「住所」
ニーモニックはBIP39標準に従ったバックアップ方法で、2048個の英単語のリストから、アルゴリズムによってランダムに選ばれ、組み合わされた12、18、または24個の単語から成り立っています。
このニーモニックはPBKDF2アルゴリズムで処理され、シード(Seed)が生成されます。このシードはBIP32/BIP44などのパス標準に従って、一連の秘密鍵を派生させ、それに対応する一連の公鍵/アドレスを生成します。
一組のニーモニック → 一連の秘密鍵を生成 → 一連の公鍵を生成 → 一連のアドレスに対応
言い換えれば:
- ニーモニック = 鍵束、秘密鍵との関係は多対一であり、理論的には一組のニーモニックから数千から数万の秘密鍵を派生させることができます;
- 秘密鍵 = 鍵、各秘密鍵は特定のアドレスの使用権に対応します;
- 公鍵/アドレス = 住所、公開可能で、他の人がそれを使ってあなたに送金できます;
したがって、ニーモニックはあなたの「鍵束」と見なすことができ、各秘密鍵はその中の1本の鍵のようなもので、特定のウォレットアドレスに対する制御権を証明するために使用されます------取引を開始する際には、秘密鍵を使って署名し、「この送金は私が許可したものです」と全ネットワークに伝えます。
二、自分でニーモニックを選ぶことはできるのか?
友人の中には「自分で12個の単語を選んでもいいのか?」と思う人もいるかもしれません。例えば、誕生日や好きな英単語、アイドルの名前など、もっと個性的にしたいと。
答えは:できますが、非常に危険です。
なぜなら、コンピュータが生成するランダム数は真のランダムであり、人間が単語を選ぶ際にはほぼ必ずパターン(一般的な単語、慣用句、順序の好み)を持っているため、検索空間が大幅に縮小され、あなたのニーモニックが推測されやすくなります。

以前、「擬似ランダムウォレット」のセキュリティ事件が発生しました。一部のウォレットはニーモニックを生成する際に擬似ランダムアルゴリズムを使用し、結果としてエントロピーが不足し、ハッカーによってブルートフォースで直接解読されました------2015年、ハッカー集団Blockchain Banditは故障した乱数生成器とプログラムの脆弱性を利用して、弱いセキュリティの秘密鍵を系統的に探し出し、70万以上の脆弱なウォレットアドレスをスキャンし、その中から5万以上のETHを盗みました。
もちろん、一部のギークはサイコロを使って(サイコロが十分に均等であることを確認する必要があります)ランダム数を生成し、それをBIP39の単語リストにマッピングすることで手動で安全にすることもありますが、ほとんどの人にとってはそんなに複雑にする必要はなく、むしろ間違いを犯しやすくなります。
三、V神や他の大口のウォレットをブルートフォースで見つけることはできるのか?
この問題は私も昔考えたことがあります。いつかウォレットアドレスを生成し、そこに数百万ETHが入っていたら、瞬時に富を得て、ある大口の家を盗むことができると夢見ていました。
考えるだけでも魅力的です。しかし現実は、確率はほぼゼロです。
なぜなら、ニーモニックの可能な組み合わせの数は人間の想像を超えるほど膨大だからです:
- 12個の単語:有効な組み合わせ数は約2¹²⁸ ≈ 3.4 × 10³⁸
- 24個の単語:有効な組み合わせ数は約2²⁵⁶ ≈ 1.16 × 10⁷⁷
この数の規模はどのような概念でしょうか?
私たちは地球上の砂が数えきれないほど多いことを知っていますが、科学者たちは近似値を推定しています。地球上のすべてのビーチや砂漠を合わせると、砂の総数は約7.5×10¹⁸粒であるとされています。これはつまり:
- 12個の単語の有効な組み合わせ数は、地球上のすべての砂の総数の4.5 × 10¹⁹倍に相当します
- 24個の単語の有効な組み合わせ数は、地球上の砂の総数の1.5 × 10⁵⁸倍に相当します
言い換えれば、地球上のすべての砂粒が「新しい地球」になり、各新しい地球にはビーチと砂があり、あなたはそのすべての砂の中から、事前にマークした1粒を一度にランダムに見つけなければならないということです。
これは人間が想像できる規模をはるかに超えています。

したがって、ウォレットをブルートフォースで解読する確率は、「極めて低い」ではなく、既知の物理学と計算能力の下ではゼロに等しいです。「撞庫」で富を得ようとするよりも、宝くじを買った方が当選確率は高いです。
映画の設定に戻ると:もし本当に誰かがニーモニックの単語が1つ足りないだけなら、確かにブルートフォースで試すことができるかもしれません。
最後に、ウォレット/ニーモニック/秘密鍵に関するいくつかのセキュリティのヒント:
- 時間と市場で検証されたオープンソースコードの監査を受けた非管理型ウォレット(MetaMask、Trust Wallet、SafePalなど)を優先的に使用し、条件が整えばハードウェアウォレットを直接使用する;
- ニーモニックと秘密鍵は、絶対にスクリーンショットを撮らず、クラウドストレージに保存せず、コピー&ペーストせず、他の人に送らない;
- できれば紙とペンで書き写し(ステンレス製のニーモニックプレートを使用することを検討し、湿気、火、腐食から保護)、安全な場所に保管し、2〜3箇所にバックアップを取る;
- 公鍵/アドレスは安心して公開できます。それはあなたの住所ですが、フィッシングリンクを見分けることに注意してください;
- クリーンなデバイスでウォレットを管理し、不明なプラグインやアプリを安易にインストールしないことをお勧めします;
- 一言覚えておいてください:誰かがあなたにニーモニックを求める場合、100%詐欺師です。













