12 個のニーモニックワードと 24 個のニーモニックワードの違いについて調査しました。BIP39 は、ニーモニックワードの生成アルゴリズムを定義しており、12 個のニーモニックワードのシードランダムナンバー(ランダムエントロピー)は 128 ビットであり、暗号学的なセキュリティ強度は 2^128 です。一方、24 個のニーモニックワードのシードランダムナンバーは 256 ビットであり、暗号学的なセキュリティ強度は 2^256 です。
また、別の視点から見ると、2048 個の単語リストから 24 個のニーモニックワードの組み合わせを選ぶ場合、組み合わせの数は 2048^24(2^256 に近い)であり、12 個のニーモニックワードの組み合わせの数は 2028^12(2^128 に近い)です。したがって、理論的には 24 個のニーモニックワードの方が衝突を起こすのがより困難であり、より高いセキュリティを提供します。
しかし、有名な「誕生日のパラドックス」という理論があります。これは、23 人以上の人がいる部屋では、少なくとも 2 人の誕生日が同じである確率が 50%を超えるというものです。60 人以上の場合、この確率は 99%を超えます。
誕生日のパラドックスは、暗号学に大きな影響を与えます。具体的には、ハッシュ関数の出力長が n ビットの場合、要素の数が 2^(n/2) に達すると、2 つの要素のハッシュ値が同じになる確率は約 50%です。つまり、256 ビットのハッシュ関数の暗号学的なセキュリティ強度は、そのビット数の半分である 2^128 です。これはちょうど 12 個のニーモニックワードの暗号学的なセキュリティ強度と同じです。現在、ほとんどのパブリックチェーンはトランザクションの署名前に 256 ビットのハッシュ関数を使用しています。
攻撃者が異なる 2 つの入力データを見つけて、それらのハッシュ値が同じである場合、攻撃者はこの脆弱性を利用してトランザクションの署名段階で衝突攻撃を行うことができます。たとえば、すでにチェーン上に存在する送金トランザクションを取り、ハッシュ値を衝突させる(送金の受信アドレスを変更するなどの変更を加える)偽のトランザクションを作成することができます。
つまり、最も脆弱な部分はニーモニックワードやプライベートキーではなく、トランザクションの署名のハッシュアルゴリズムの部分にある(または両者の難易度はほぼ同じです)。攻撃者はニーモニックワードを衝突させるよりも、トランザクションのハッシュ値を衝突させる方が効果的です(もちろん、どちらもほぼ不可能です)。
したがって、ニーモニックワードが多ければ多いほど安全ではなく、12 個のニーモニックワードが十分であり、その暗号学的なセキュリティ強度は 2^128 です。ニーモニックワードの数を増やしても、暗号学的なセキュリティ強度は向上しません。むしろ、より多くのニーモニックワードは保存の難しさを増すだけです。