コールドウォレットは物理的にウォレットをネットワークから外しているため、どうやってもアクセスする方法はなく絶対に安心という概念がありますが、それは違います。
ブロックチェーンの仕組み上、コールドウォレットでもネットワークに接続されています。表現を変えますと、ネットワークから切断する方法がない、と言えます。ただし、一つだけ「ネットワークからほぼ外した状態になる」という状況を作り出せるので、高額の場合は必ずその状況にコインを置く必要があると断言できます(その状況に限り安心)。それは、この考察(その5まであります)を通じて書いていきます。
コールドウォレットで、なぜにネットワークにつながってしまうのか。それはブロックチェーンの仕組みが原因です。秘密鍵と公開鍵でコインをロック・解除しながら動いておりますので、必然的に秘密鍵と公開鍵がセットで運用されることになります。
コールドウォレットというのは秘密鍵をネットワークから完全に遮断することを意味します。ところが、公開鍵はその名の通り公開ですので「公開鍵」と「その公開鍵を処理するための情報」はネットワークから遮断できず、コールドウォレットであってもブロックチェーン経由でずっと公開されたままになります。これが、コールドウォレットでも、なぜかそこにアクセスできてしまう仕組みになっております。
ここで問題となるのは、公開鍵自身というよりも、公開鍵を処理するための情報も「公開状態」という点です。ハッカーは、そのあたりを24時間常に狙っていると断言します。なぜなら、楕円曲線暗号等の公開鍵暗号方式は、公開鍵から秘密鍵への計算については離散対数問題等で実現できず安全ですが、公開鍵を処理するための情報も「公開状態」では、そこから解くための手掛かりが得られ、ごくわずかに隙が生まれる可能性があるわけです。
ちなみに、この流れでコールドウォレットにアクセスされてしまった瞬間、すべてのセキュリティが無効化されます。よって、それは確率的にセキュリティの問題ではなく凄惨な航空機事故に巻き込まれたようなものです。
その状況になると、手元のウォレットに何をしても無意味(ウォレットをパスフレーズで保護とか、あんなのはまったく意味を成さないです)です。また、コールドウォレットに対して直接アクセスする必要はないため、ファイアーウォール等もまったく意味がありません(秘密鍵をネットワークから遮断しても無意味になります)。よって、そこにある全額が淡々とやられてしまうので諦めるしかない、そんな状況になります。
また流出事故が起きてしまいました。ところが、それは本当にセキュリティの問題でしょうか?
実は確率の問題も絡んでおり、そのような場合からの流出(ハッキング)を確実に防ぐ効果的な方法があります。なぜその方法で防げるのか。理論的な側面を詳しく説明し、考察(その7)の最後に解決策をお教えします。