この前、Testnet用のアカウントを作成した時に、「エントロピーを増大させるためにカーソルを動かしてください」って、指示がでたんですよね。NanoWalletにてTestnet用のアカウントを作成していたが、果たしてマウスをぐりぐり動かすことに何か意味はあるのだろうか・・・?— xiaca (@scrpgil) January 31, 2018
というか前回作った時、どうだったのか全然思い出せない。 pic.twitter.com/mlEe3ROGoP
最初見た時には「遊び心があるなぁ」って思ってTwitterのそのことをつぶやいたんですが、すぐにNEMクラスタの方からつっこみが入りました。
詳しくはわかりませんが、ランダムな数を作るのに使っているのだとおもいます。ランダムな数がどんなに大切かはネット上にたくさん情報があります。— かんな (@kannapoix_jp) February 1, 2018
どうやら、マウスカーソルの動きを乱数生成に利用している様子。気になったので私も調べてみると該当箇所のソースコードが見つかりました。
GithubのNanoWalletリポジトリ
確かに、マウスカーソルの場所を利用するのは現在時刻等を利用するよりセキュアな方法ですね。それだけ、仮想通貨にとって最初の秘密鍵が大事だってことですね。
特に、NanoWalletはソースコードが公開されていて秘密鍵の生成方法も見ればわかるので、ランダム要素を強めないと推測される恐れがあるんでしょうね。
セキュリティの高いプロダクト開発という点でもNanoWalletのソースコードを見るのは勉強になりそうです。