こんにちは。
先日Metamaskでエラーが発生してしまい、Metamaskのアンインストールと再インストールを行いました。
(安易にアンインストールすることは決して推奨しません!)
再インストールを行うと当然、初期画面からスタートします。
それからアカウントを1つ1つ復元させていくのですが、
一部のアカウントで、秘密鍵を紛失してしまいアカウントを復元できませんでした。
結構な額をGoxしてしまった。泣きたい
— 羊⚔️ (@hitujinvng) August 13, 2022
完全に人生終わったかと思いましたが、いろいろと調べた結果なんとかアカウントを復元させることができました。
秘密鍵紛失という諦め事案だったけどなんとか復号できた。あとでブログ書こう。 https://t.co/y5kKGlzutr
— 羊⚔️ (@hitujinvng) August 15, 2022
一度は諦めかけましたが、ぎりぎり生き返ることができました。
よかったという一言に尽きるのですが、今回の件でMetamaskについていろいろと調べた結果、少しだけMetamaskに詳しくなりました。
僕の方法で救える人は決して多くないと思いますが、だれか一人でも救えればと思い、
今回僕が復元に成功した方法の記事を書いておきます。
前提|今回の記事で復元を行う対象
まず前提として、今回の記事で復元可能な対象について記載しておきます。
- Metamaskで新規に作成したアドレスであること
- Metamaskのシークレットリカバリーフレーズを保持していること
(12or24or36の単語の羅列のあれです)
秘密鍵はわからなくてもシークレットリカバリーフレーズがわかれば復元できる可能性があります。
詳しくは今から述べていきます。
(ちなみに今回の記事とは関係ないですが、シークレットリカバリーフレーズを復元する方法はこちらの記事をどうぞ)
Metamaskでウォレットを復元させる2つの方法
今回調べていてわかったのですが、Metamaskでウォレットをインポートする方法には大きく2つあります。
- 秘密鍵(Jsonファイル含む)で復元を行う
- シークレットリカバリーフレーズで復元を行う
この1と2は適用できる場面が異なります。
1はアカウント作成後に利用可能で、2はMetamaskの初期設定時のみ行うことが可能です。
そして、秘密鍵による復元とシークレットリカバリーフレーズでの復元ではそれぞれ意味合いが異なります。
というのもシークレットリカバリーフレーズで復元を行った場合、そのシークレットリカバリーフレーズをもとにして作成した複数のアカウントを復元することが可能なのです。
つまり、秘密鍵を紛失したアカウントであってもシークレットリカバリーフレーズがあれば復元できる可能性があるのです。
*外部で作成してインポートしたアカウントやハードウェアウォレットのアカウントは対象外です。
僕のケースでは、Metamaskの再インストール時に普段使っていないシークレットリカバリーフレーズを使って復元したため、
各アカウントの復元には秘密鍵での復元しかできなくなってしまいました。
そのため秘密鍵を紛失していたアドレスは復元できなくなり、GOXしたかと思いました。
ただシークレットリカバリーフレーズ自体はメモがありました。
そこでMetamaskのアンインストールをもう一度行い、シークレットリカバリーフレーズで復元することで他のアドレスを復元することに成功しました。
シークレットリカバリーフレーズでの復元の詳細について
シークレットリカバリーフレーズで復元した場合、この復元はアカウントの昇順(例えばAccount 2、次にAccount 3など)で復元し、
ETH残高が0でないアカウントまで復元が続きます。
*ここでいうETH残高とはメインネットでのETH残高を差します。L2等は対象外です。
自動的に追加されなかったアドレスについては、アカウントを作成(新規アカウントを作成)することで再追加ができます。
例えば、復元前のAccount 4でETHが0、USDT100を保有していた場合、Account 4は自動的に復元されませんが、アカウントを作成することで、復元前のAccount 4が、復元後のAccount 4に対応して作成されます。
(こちらの記事が参考になるかと思います)
おわりに|シークレットリカバリーフレーズをバックアップしよう。
以上、秘密鍵紛失時にMetamaskでウォレットを復元する方法でした。
秘密鍵による復元とシークレットリカバリーフレーズによる復元に違いがあるとは思わなかったので、
復元に成功したときは本当に九死に一生を得たような気持ちでした。
秘密鍵やシークレットリカバリーフレーズのバックアップって正直面倒くさいんですが、
ちゃんとやらなきゃいけないなと痛感しましたね。
というわけでこの記事を読んだ方は是非この機会にシークレットリカバリーフレーズのバックアップを行いましょう!
以下の操作で表示できます。
Metamaskを起動>設定>セキュリティとプライバシー>シークレットリカバリーフレーズを公開
1つ注意点ですが、くれぐれもシークレットリカバリーフレーズの管理には気をつけてください。
秘密鍵の漏洩は1アドレスの漏洩ですが、シークレットリカバリーフレーズの漏洩は全アドレスの漏洩と同じです。
以上、夏の恐怖体験でした。肝が冷えるどころではなかったですよ。ええ。
今日は以上です。