本記事では、このような方のために投資歴7年の著者ジョンが、シードフレーズの概要と一番安全な保管方法についてガチ解説していきます!
シードフレーズとは
シードフレーズとは秘密鍵(の集まり)を復元するための12~24の単語の羅列です。
MetaMaskアカウント作成時に上記のような文字の羅列を「保存しておいてください!」とアナウンスされた方が記憶にある方もいるのではないでしょうか??
これがシードフレーズです。
シンプルに図解してみました
初心者の方に分かりやすいよう、シンプルにウォレットの仕組みを図解してみました^^。
こんな感じで、MetaMaskやTrezorなどの仮想通貨ウォレットでは複数の秘密鍵を管理することができます。ETHブロックチェーン上の通貨はETHの秘密鍵で、BTCブロックチェーン上の通貨はBTCの秘密鍵で、、、というように各ブロックチェーンの規格ごとに秘密鍵が作成されます。
そして、シードフレーズを用いることで上図の赤文字部分である秘密鍵を含むウォレット全てを復元することができます。
なのでシードフレーズは絶対に流出させちゃいけません。何があっても絶対です!
ただ、これだけだとピンとこない人も多いでしょう。そんな方は「秘密鍵」の役割をイマイチ理解できていないかもしれません…!とゆーわけで、少しだけ秘密鍵について触れておきます。
秘密鍵を盗まれる=全ての資産を盗まれる
「秘密鍵」という言葉はTCP/IPのネットワーク通信における代表的な暗号化方式「公開鍵暗号方式」で使われる用語です。つまるところ、クリプトに限らずIT業界でよく使われる言葉です。
- なりすまし防止
- 改ざん防止
この暗号化方式には、主に上記2つのメリットがあります。
具体例がないと分かりづらいですね^^。
ここでは分かりやすく、1BTCをAさんがBさんに送る場合に秘密鍵がどのような役割を果たすか解説していきます!
秘密鍵で「なりすまし防止」
Bさんは「1BTCを送金したAさんが本当にAさんであるか」を確かめなければいけません。
しかし、謎のCさんから送られているのか?あるいは本当にAさんなのか、Bさんには確かめる手段がありません。ここで秘密鍵が登場します。
この時にAさんが「自分がAさんであることの証明」として利用するのが秘密鍵です。
すると、Bさんは「秘密鍵を持っている側がAさんだな!」と判断することができます。
さて、「秘密鍵を持っていることを確認する」という具体的方法ですが、まずAさんが下図のようにトランザクション(「1BTC送金するよ!」という処理)を秘密鍵で署名します。
次にBさんはこの署名が本物であることを確かめるため、秘密鍵と対となる「公開鍵」を用いて、署名を復号します。
公開鍵は世界中に公開されているので、Bさんを含め世界中の誰もが「確かにAさんから送信されているな」と確認できるワケです。
これが第一の「なりすまし防止」となります。
秘密鍵で「改ざん防止」
Bさんは、トランザクションが改ざんされていないかを確かめる必要があります。1BTC貰うはずなのに、第三者によって0.01BTCに改ざんされていたら大問題です。
これも、下図の秘密鍵の署名→公開鍵での復号、というプロセスによって「メッセージが改ざんされていないこと」を検証することができます。
この改ざん検知の仕組みは「公開鍵暗号方式」における秘密鍵と公開鍵の基本的な性質となっているので、1文字でも改ざんされていた場合は復号時に検知することができるようになっているわけです。
これが第二の「改ざん防止」となります。
【まとめ】秘密鍵さえあれば仮想通貨を送金できる
秘密鍵によって、上記2つの正当性が証明される、、、ということは裏を返せば秘密鍵さえあれば、全てのデータを他人に送信できるということです。
さらに言えば、シードフレーズがあれば全ての秘密鍵を復元することができるので、「シードフレーズを盗まれる=秘密鍵を盗まれる=全ての資産を盗まれる」というとっても危険な方程式が成り立つわけです。
よって、どんなことがあってもシードフレーズは外部に流出させてはいけませんし、初心者がやりがちですがオンラインで保存するのは絶対にNGです。
シードフレーズが役に立つ場面
- ハードウェアウォレットが故障・紛失したとき
- ソフトウェアウォレットのパスワードを忘れてしまったとき
主に上記2つの場面でシードフレーズを用います。つまり緊急時に必要となるバックアップと思ってください。
逆に言えば、バックアップの緊急時以外、決してシードフレーズを使う機会はありません。
「シードフレーズを入力してください」というDMやWebサイトは99%詐欺、、、というより100%詐欺なので絶対に緊急時以外はシードフレーズを隠しておきましょう。
ハードウェアウォレットならシードフレーズ流出してもなんとかなる
Trezorなどの大手ハードウェアウォレットでは、シードフレーズが盗まれたときのために「Pass Phrase(パスフレーズ)」というものを設定できます。
これにより秘密鍵の復元に「シードフレーズ+パスフレーズ」が必要となるので、仮想通貨のセキュリティを非常に堅牢にすることができます。
最安値で6000円ほどで買えるのでコスパ的に惜しむ意味もないですね^^。
シードフレーズの一番安全な保管方法
- 普通レベル:紙で保存
- 凄いレベル:チタンの専用器具で保存
- 異常レベル:独自で発注
ちなみに、僕は紙で保存してるだけです^^。
普通レベル:紙で保存
僕はハードウェアウォレットにTrezorを利用しており、その内包物である紙にシードフレーズを書いて保存しています。
ぶっちゃけ、よほどのことがない限りこれで大丈夫だと思います。
凄いレベル:チタンの専用器具で保存
Trezor社が販売しているシードフレーズ保存専用のチタン器具があります。
「紙だと濡れたら終わり」「火事になっても大丈夫なように保存しておきたい!」チタン製の器具はこのような方のために開発されました。
もし僕が数千万円以上の金額を投資してたら買ってました!笑
ともあれ、紙よりは間違いなく安全にシードフレーズを保管できます。
異常レベル:独自で発注
狂気を感じる友人は独自で「鉄製のシードフレーズ保存器具」を発注しまして、、、鉄にフレーズが彫り込んであります。ヤバすぎて笑いました…
これは、たぶんやる必要ないです笑
【まとめ】一番安全な保管方法
結論として、一番安全な保管方法は「紙+チタン製器具」の2つの方法で保管しておくことだと思います。
そしてハードウェアウォレット側では「Pass Phrase」も設定しておき、万が一シードフレーズが流出した場合にも、すぐに資産を対比できるように準備しておきましょう!
最後に、分かりやすく本記事全体をまとめておくと…
・シードフレーズとは秘密鍵(の集まり)を復元するための12~24の単語の羅列
・安全な保管のために「紙+チタン製器具」でシードフレーズを保存しておく
・安全な保管のためにハードウェアウォレットとPass Phraseを保存しておく
ではでは、本記事は以上となります!
・シードフレーズって何?秘密鍵とかパスワードとかややこしいな…
・シードフレーズはどんな時に役に立つの?必要なの?
・シードフレーズはみんなどうやって保管してるの?一番安全なのは?