ブレインウォレット

ブレインウォレット (brainwallet) は、ビットコインをはじめとした仮想通貨のウォレットソフトウェアが生成するシードフレーズを暗記すること、及びそれによって通貨を保管することである。

概要 
ビットコインなどの仮想通貨は、ウォレットに紐付いた秘密鍵と呼ばれるデータを持つ者のみがそのウォレットの中の通貨を取り出すことができる。ビットコインアドレスはそれをハッシュ関数で暗号化したものである。

秘密鍵が第三者に見つかることがなければ、第三者に通貨を取り出されることはまずない。ということは、秘密鍵さえあればいつでもいかなるデバイスでも通貨を引き出し、時にはそれを換金することができるといえる。ElectrumやArmony,Litewalletなどのウォレットソフトウェアは、秘密鍵を12~24個の英単語(シードフレーズ)に置き換えて表現し、ウォレットを作成する際にそれをユーザーに紙に書き留めるように指示する。通常はこれを紙に書き留めたり印刷したりするが、これを暗記し、仮想通貨を保管するのがブレインウォレットである。シードフレーズを忘れたり他人に教えたりすることがなければ仮想通貨がなくなることはない。記録に紙などの物理的媒体が必要ないため、難民など物を減らして逃れたいときのお金の移動に役に立つこともある。

▼シードフレーズの例(Electrumで作成されたもの。テストネット用)
 galaxy finger target fit capable duty rough bronze sister history fine stone
BIP39シードフレーズは2048個の単語があるワードリストの中から通常12~24個の単語を選び出して作成される(同じ単語を2回以上使ってもよい)。ワードリストは全世界に公開され、BIP39を使用するすべてのソフトウェアで共通である。そのため、シードフレーズを紙などに記録する際におとりの(ワードリストに無い)単語を追加して、読むときにそれを除去することはセキュリティ上まったく意味をなさない。また、紙などに記録した12個のシードフレーズを6個づつ二箇所に分割して別の場所に保管することも望ましくない。シードフレーズが6つわかってしまうと、残りのシードフレーズを総当りすることが容易になってしまう。なぜなら、12個のシードフレーズでは2048種類の単語が12個であるためおよそ 5.4445*10^39の組み合わせ(128ビット程度)があるが、6個の単語ではおよそ 7.378 * 10^19 通りの組み合わせ(64ビット程度)しかなく、シードフレーズを当てる難易度は 7.37^19分の1 になってしまう。そのため、シードフレーズを分割して保存するくらいなら、複数のシードフレーズがないと仮想通貨を使用できないマルチシグウォレットを使用して2組のシードフレーズを生成したほうがはるかに安全である。

ニーモニックペグ 
これはシードフレーズの暗記方法の一つであり、シードフレーズの単語をイメージしたりシードフレーズを物語のようにして暗記する記憶術である。

欠点 
当然ながらこの方法は記憶のみに頼っているため、シードフレーズを忘れてしまえば通貨を失ってしまう。シードフレーズのバックアップを取らずに一箇所だけにシードフレーズを保存するのはリスクが高いことである。シードフレーズを覚えておくに越したことはないが、バックアップを取ることも重要である。紙に書いて金庫などに保管するだけでも十分なバックアップである。仮想通貨を持っていることをみだりに人に話したりしないことも盗難対策になる。

注釈

出典 

仮想通貨
ビットコイン