虽然在创建钱包的过程中我们一再提醒大家,私钥一定要保存好,助记词一定要保存好,但是很多初入门的小伙伴、甚至部分数字货币老用户还是会出现丢失私钥的情况。那么私钥丢失了,是不是自己的钱包和数字货币就找不回来了,别着急,通过恢复数字钱包,你的币还是有希望回来的。
要了解恢复数字钱包的方法,我们先来了解一下数字钱包的设计框架:
助记词由采用PBKDF2(Password-Based Key Derivation Function 2)推导出种子(seed)。生成的种子被用来生成构建确定性钱包(deterministic Wallet)和推导钱包密钥。这里的密钥包括公钥和私钥两部分。公钥和私钥是成对的,它们互相解密。公钥加密,私钥解密,私钥数字签名,公钥验证。
由于公私钥是一串无规律的字符串,非常不便于记忆,使用也不方便。为了良好的用户体验,将难以记忆的私钥通过加密算法转换成一组常见的单词,这就是助记词,助记词来源于BIP44,长度为128到256位的随机序列(熵)匹配词库而来。它简化操作同时又不失安全性,私钥和助记词之间还可以互相转换。
这样的话,只要记住这些单词,按照顺序在钱包中输入,就能打开钱包。为了更方便操作,钱包还提供了keystore让用户导出秘钥文件进行保存,Keystore会存储在使用的设备里,这样每次登录只用输入相应密码即可。Keystore是私钥经过加密过后的一个文件,需要用户设置的密码才能打开文件。即使keystore文件被盗,只要用户设置的密码够长够随机,短时间内私钥也不会泄露,有充足的时间转移地址里的数字资产到其他地址。
了解了钱包的基本技术原理以及助记词、Keystore、私钥、公钥和地址的关系后,遇到私钥丢失等情况我们就可以有条不紊地进行钱包找回工作了。
只要不是私钥、密码、助记词同时全部丢失,你就可以恢复钱包。如下图所示:
不过需要注意的是,上图恢复钱包的方法仅限于单链钱包,也称之为主链钱包。目前市面上单链钱包 如Blockchain、Bitcoin、Ethereum、Trust、EOS钱包、NEO钱包、MetaMask等。
如果你使用了一个多链钱包进行数字货币的存储与转账,需要恢复该钱包时,又该怎么做呢?目前的做的好的多链钱包实现了一套助记词管理多个链资产的功能。也就是说你有备份助记词才能一次性找回所有的多链账户,如果丢失助记词,就需要记住每一个地址对应的私钥/keystore。如果想要用助记词恢复私钥、keystore,需要配合对应的path路径。
具体如下图所示:
因此,在很多多链钱包中,导入私钥、keystore,导入助记词中的任意一个都可以恢复你的钱包。当然你也可以导入地址(即观察钱包)获取账户信息,但仅限于查询。
如何恢复你的多链钱包依旧以goldstone为例,以下是教程:
首先是可以通过官网(https://www.goldstone.io/)下载GoldStone的手机客户端。下载登陆,
1、用keystore导入
* 点击 “设置” -> 管理钱包(Wallet Manager) -> 点击左上角“ ”->导入钱包 ->点击“keystore”->选择币种(type)类型-> 确认->将Keystore粘到输入框内 -> 输入钱包密码-> 确认 -> 开始导入
Keystore示例
{"address":"145f753685fc7ffe4be77ca816ba910184340799","crypto": {"cipher":"aes-128-ctr","ciphertext": "d5d5bfb38606d94eccb88749057eefe2d02e6e9eb07137934c06480e85121c5c", "cipherparams":{"iv":"21744937400f483f51c0f293ea5bfe91"}, "kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt": "c953f317fd9b0ce324410b4dab032dad311e63bc1b63413be5a94f1daf56b5d3"}, "mac":"a6b1a6baf9d4e8c9722064611619df3fad2f1cc275bf2f9b8c1f5d078a4a3401"}, "id":"f90ab51c-5fe6-48fb-b057-985549a11678","version":3}
2、用助记词导入
点击 “设置” ->管理钱包(Wallet Manager) -> 点击左上角“ ” ->导入钱包->点击“助记词”-> 将助记词手动输入框内->点击path选择->钱包名称-> 钱包密码-> 确认密码-> 密码提示-> 确认
特别注意:如果你的账户由GoldStone或其他完全遵循BIP44的钱包生成的,直接默认路径即可。如果是导入其他钱包资产,需要确认对应的路径。
3、用私钥导入
点击 “设置” ->管理钱包(Wallet Manager) -> 点击左上角“ ”->导入钱包 ->点击“私钥”-> 选择币种(type)类型->钱包名称-> 钱包密码-> 确认密码-> 密码提示-> 确认
6个知识点:
1. 密钥:是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。在对称密码中,加密和解密用的密钥是同一个。而在非对称密码中,加密和解密用的钥匙不同,根据是否公开可分为公钥和私钥。
2. 私钥:在非对称密码中,加密和解密用的钥匙不同。根据是否公开,可分为公钥和私钥。公钥和私钥成对生成和使用。其中由用户自己保管、不对外公开的,称为私钥。
3. 公钥:在非对称密码中,可对外公开并传递的密钥称为公钥。
4. 地址:通常由公钥产生。公钥经过多种加密算法、哈希算法等生成用户钱包地址,类似传统金融中的银行卡号。
5. 数字签名:类似写在纸上的普通的物理签名,转移资产的时候需要用户签名才能启动。多重签名,则是地址允许多个用户用一个公钥单独发送部分地址,共同管理资产。
6. 助记词:将难以记忆的私钥通过加密算法转换成一组常见单词。私钥与助记词之间可以互相转换。
Keystore:通过加密算法加密过后的私钥,通常以文件格式储存。
正加财富网内容推荐 | ||
OK交易所下载 | USDT钱包下载 | 比特币平台下载 |
新手交易教程 | 平台提币指南 | 挖矿方法讲解 |