著者:タイラー
最近ジャッキー・チェンの評判の新作『風を捕まえて影を追う』を見ました。中に面白いシーンがありました——数百億香港ドルの暗号資産が、12個の単語のニーモニックウォレットにロックされていて、結末では最後の1語だけが不明でした。
私は試してみましたが、結果として第10位と第12位は標準のニーモニックワードリストには存在しないことがわかりました。明らかに脚本家はこのように書いたのは、誰かがストーリーに従ってウォレットを復元して詐欺をするのを避けるためです。結局、ブロックチェーン上での似たような詐欺は珍しくありません。
詐欺師は意図的に「残高のある」ウォレットアドレス(典型的には Tron チェーン上で、Owner メカニズムを利用)を漏らし、人々を Gas を転送するように誘導し、待ち伏せして資金が転送されると二度と取り戻せなくなります。
!
しかし、ここで興味深い点は、映画の中では最後の単語がわからないと言っています。しかし、現実の世界では、ニーモニックフレーズはBIP39標準に従い、合計で2048の単語があります。つまり、最後の単語をブルートフォースで解読する場合、せいぜい2048通りの可能性しかありません。さらに範囲を狭めると、例えば映画の中で知られている最初の文字が「es」であれば、可能性はさらに少なくなり、1分で試すことができます。
しかし、映画の外で再考する価値のある問題は:ニーモニック、プライベートキー、パブリックキーは一体何の関係があるのか?なぜニーモニックを失うとすべての資産を失うことになるのか?
ニーモニックフレーズは、BIP39標準に従ったバックアップ方法であり、2048の英単語の語彙からアルゴリズムによってランダムに選択され、組み合わされた12、18、または24の単語で構成されています。
この一連の助記詞はPBKDF2アルゴリズムによって処理され、シード(Seed)が生成されます。このシードはBIP32/BIP44などのパススタンダードに従って、一連の秘密鍵を派生させ、それに対応する一連の公開鍵/アドレスを生成します。
一組のメモリーワード → 一連の秘密鍵を生成 → 一連の公開鍵を生成 → 一連のアドレスに対応
言い換えれば:
したがって、助記詞はあなたの「キーリング」と見なすことができ、各秘密鍵はその中の1本のドアを開ける鍵のようなものであり、特定のウォレットアドレスに対するコントロールを証明するために使用されます——取引を開始するとき、秘密鍵を使用して署名し、全ネットワークに「この転送は私が承認したものです」と伝えます。
それでは友達がこう思うかもしれません:自分で12個の単語を集めることはできるのか?例えば誕生日や好きな英単語、アイドルの名前など、もっと個性的にできるのではないか。
答えは:可能ですが、非常に危険です。
コンピュータが生成した乱数は真のランダムであり、人間が単語を選ぶ際にはほとんどがパターン(一般的な単語、慣用句、順序の好み)を持つため、検索空間が大幅に縮小され、あなたのニーモニックフレーズが推測されやすくなります。
以前、「擬似乱数ウォレット」に関するセキュリティ事件が発生しました。一部のウォレットは助記語を生成する際に擬似乱数アルゴリズムを使用しており、その結果、エントロピーが十分ではありませんでした。ハッカーは暴力的に全探索を行い、直接的に解読しました。2015年、ハッカーグループBlockchain Banditは故障した乱数生成器とプログラムコードの脆弱性を利用し、弱いセキュリティの秘密鍵を系統的に探索し、70万以上の脆弱なウォレットアドレスを特定し、その中から5万以上のETHを盗みました。
もちろん、いくつかのギークはサイコロ(サイコロが十分に均等であることを確認する必要があります)を振ってランダムな数を生成し、それをBIP39単語リストにマッピングしますが、ほとんどの人にとってはそんなに複雑にする必要はなく、むしろ間違いを引き起こしやすくなります。
この問題は私も昔考えたことがあります。いつか自分がウォレットアドレスを生成したら、中に100万枚のETHがあったら、瞬時に富裕層になり、あるクジラの家を盗むという幻想を抱いていました。
言わざるを得ないが、考えるだけでも魅力的だ。しかし現実は:確率はほぼゼロだ。
なぜですか?それは、ニーモニックフレーズの可能な組み合わせの数が、人間の想像を超えるほどに膨大だからです:
この数量級は何の概念ですか?
私たちは皆、地球上の砂が数え切れないほど多いことを知っていますが、科学者たちは近似値を推定したことがあります。地球上のすべてのビーチと砂漠を合わせると、砂の総数は約 7.5×10¹⁸ 粒であると仮定されています。これはつまり、
言い換えれば、地球上のすべての砂粒がそれぞれ「新しい地球」に変わり、各新しい地球にはビーチと砂があり、あなたはそのすべての砂の中から、事前にマークしておいた砂粒を一度に見つけ出さなければならない。
これは人類が想像できる規模をはるかに超えています。
したがって、ウォレットのブルートフォース攻撃の確率は「極めて低い」ではなく、既知の物理学と計算能力の下ではゼロに等しい。「撞庫」に頼って金持ちになるよりも、宝くじを買った方がずっと当たる確率が高い。
映画のその設定に戻ると:もし本当に誰かがただ1つのニーモニックワードが足りないだけなら、確かにブルートフォースで試してみることは可能です。
最後に、ウォレット/リカバリーフレーズ/プライベートキーに関するいくつかのセキュリティのヒント:
81K 人気度
133.7K 人気度
250.3K 人気度
166.3K 人気度
18.5K 人気度
《風を捕まえ影を追う》から始まる:万兆の暗号化資産を決定する2048の単語
著者:タイラー
最近ジャッキー・チェンの評判の新作『風を捕まえて影を追う』を見ました。中に面白いシーンがありました——数百億香港ドルの暗号資産が、12個の単語のニーモニックウォレットにロックされていて、結末では最後の1語だけが不明でした。
私は試してみましたが、結果として第10位と第12位は標準のニーモニックワードリストには存在しないことがわかりました。明らかに脚本家はこのように書いたのは、誰かがストーリーに従ってウォレットを復元して詐欺をするのを避けるためです。結局、ブロックチェーン上での似たような詐欺は珍しくありません。
詐欺師は意図的に「残高のある」ウォレットアドレス(典型的には Tron チェーン上で、Owner メカニズムを利用)を漏らし、人々を Gas を転送するように誘導し、待ち伏せして資金が転送されると二度と取り戻せなくなります。
!
しかし、ここで興味深い点は、映画の中では最後の単語がわからないと言っています。しかし、現実の世界では、ニーモニックフレーズはBIP39標準に従い、合計で2048の単語があります。つまり、最後の単語をブルートフォースで解読する場合、せいぜい2048通りの可能性しかありません。さらに範囲を狭めると、例えば映画の中で知られている最初の文字が「es」であれば、可能性はさらに少なくなり、1分で試すことができます。
しかし、映画の外で再考する価値のある問題は:ニーモニック、プライベートキー、パブリックキーは一体何の関係があるのか?なぜニーモニックを失うとすべての資産を失うことになるのか?
一、ニーモニック:プライベートキー:パブリックキー/アドレス = 「キーリング」:「キー」:「番地」
ニーモニックフレーズは、BIP39標準に従ったバックアップ方法であり、2048の英単語の語彙からアルゴリズムによってランダムに選択され、組み合わされた12、18、または24の単語で構成されています。
この一連の助記詞はPBKDF2アルゴリズムによって処理され、シード(Seed)が生成されます。このシードはBIP32/BIP44などのパススタンダードに従って、一連の秘密鍵を派生させ、それに対応する一連の公開鍵/アドレスを生成します。
一組のメモリーワード → 一連の秘密鍵を生成 → 一連の公開鍵を生成 → 一連のアドレスに対応
言い換えれば:
したがって、助記詞はあなたの「キーリング」と見なすことができ、各秘密鍵はその中の1本のドアを開ける鍵のようなものであり、特定のウォレットアドレスに対するコントロールを証明するために使用されます——取引を開始するとき、秘密鍵を使用して署名し、全ネットワークに「この転送は私が承認したものです」と伝えます。
二、では自分でニーモニックを選ぶことはできますか?
それでは友達がこう思うかもしれません:自分で12個の単語を集めることはできるのか?例えば誕生日や好きな英単語、アイドルの名前など、もっと個性的にできるのではないか。
答えは:可能ですが、非常に危険です。
コンピュータが生成した乱数は真のランダムであり、人間が単語を選ぶ際にはほとんどがパターン(一般的な単語、慣用句、順序の好み)を持つため、検索空間が大幅に縮小され、あなたのニーモニックフレーズが推測されやすくなります。
!
以前、「擬似乱数ウォレット」に関するセキュリティ事件が発生しました。一部のウォレットは助記語を生成する際に擬似乱数アルゴリズムを使用しており、その結果、エントロピーが十分ではありませんでした。ハッカーは暴力的に全探索を行い、直接的に解読しました。2015年、ハッカーグループBlockchain Banditは故障した乱数生成器とプログラムコードの脆弱性を利用し、弱いセキュリティの秘密鍵を系統的に探索し、70万以上の脆弱なウォレットアドレスを特定し、その中から5万以上のETHを盗みました。
もちろん、いくつかのギークはサイコロ(サイコロが十分に均等であることを確認する必要があります)を振ってランダムな数を生成し、それをBIP39単語リストにマッピングしますが、ほとんどの人にとってはそんなに複雑にする必要はなく、むしろ間違いを引き起こしやすくなります。
三、V 神や他の巨鯨のウォレットを暴力的に破壊することは可能ですか?
この問題は私も昔考えたことがあります。いつか自分がウォレットアドレスを生成したら、中に100万枚のETHがあったら、瞬時に富裕層になり、あるクジラの家を盗むという幻想を抱いていました。
言わざるを得ないが、考えるだけでも魅力的だ。しかし現実は:確率はほぼゼロだ。
なぜですか?それは、ニーモニックフレーズの可能な組み合わせの数が、人間の想像を超えるほどに膨大だからです:
この数量級は何の概念ですか?
私たちは皆、地球上の砂が数え切れないほど多いことを知っていますが、科学者たちは近似値を推定したことがあります。地球上のすべてのビーチと砂漠を合わせると、砂の総数は約 7.5×10¹⁸ 粒であると仮定されています。これはつまり、
言い換えれば、地球上のすべての砂粒がそれぞれ「新しい地球」に変わり、各新しい地球にはビーチと砂があり、あなたはそのすべての砂の中から、事前にマークしておいた砂粒を一度に見つけ出さなければならない。
これは人類が想像できる規模をはるかに超えています。
!
したがって、ウォレットのブルートフォース攻撃の確率は「極めて低い」ではなく、既知の物理学と計算能力の下ではゼロに等しい。「撞庫」に頼って金持ちになるよりも、宝くじを買った方がずっと当たる確率が高い。
映画のその設定に戻ると:もし本当に誰かがただ1つのニーモニックワードが足りないだけなら、確かにブルートフォースで試してみることは可能です。
最後に、ウォレット/リカバリーフレーズ/プライベートキーに関するいくつかのセキュリティのヒント: