钱包地址及私钥详解 - hankal

时间:2024-02-16 17:21:04

钱包地址及私钥详解

网上看到一个对比,很形象,可以用来加强理解:

  • 地址 = 银行卡卡号
  • 密码 = 银行卡密码
  • keystore = 银行卡
  • 助记词 = 私钥 = 银行卡 + 银行卡密码
  • Keystore + 密码 = 银行卡 + 银行卡密码

 

什么是钱包地址

钱包地址是我们最常见的,它们是一串数字和字母的组合,看起来有点像乱码。钱包地址就像银行卡号,代表了你的比特币账户。通过交易所、比特币客户端和在线钱包都可以获得钱包地址。

  • 钱包地址可以看成是银行卡账号
  • 不会重复
  • 不会反推出私钥

    通过抛硬币将正面向上计为0,反面向上计为1,连续抛256次,就随机得到一个256位的二进制数字,这个数字就是私钥,然后通过加密函数来生成地址,以16进制显示。

什么是私钥/助记词

  • 助记词 = 私钥 = 银行卡 + 密码
  • 助记词 = 用人类语言描述的私钥

这两者都是最高权限,任何人拿到,就可以直接转走你钱包里的一切财产,就像拿着你的银行卡和密码直接去atm取钱一样。

举个形象的例子:

私钥:x12Nedx3edsrEdfh

助记词:love can play games tomorrow money

私钥完全没有意义,而助记词则是由一个个单词组成,虽然意义也不大,但记忆难度小了很多,且不容易错。

什么是KEYSTORE/钱包密码

因为对于数字货币的钱包来说,地址和keystore职责分开了,地址只负责转账,keystore则负责安全。

因此,只有keystore需要配合密码使用,而助记词和私钥都不需要密码,这是和银行卡在安全性方面极大不同。

  • Keystore = 银行卡
  • keystore = 加密的私钥
  • keystore+密码 = 银行卡+银行卡密码 = 私钥/助记词

从技术上说,keystore是一段结构化的内容,里面包含了非常多的信息,例如地址、密码、id、编码、加密方式等等,和银行卡比较类似。拿着银行卡,没有密码也是用处不大的。

关于备份

建议备份优先级

  • 最好是备份keystore,因为钱包密码存在用户脑子里,不存在直接的隐患问题。
  • 其次是备份助记词,建议抄在物理介质上,比如纸上,并放在安全的地方。千万不要放在例如微信、邮箱里,这等于是给别人送钱。
  • 最次是备份私钥,同样也应该备份在物理介质上。

养个好习惯

  1. 如果3组信息全部丢失,钱包绝对不可能找回!
  2. 备份完,自己验证一下有效性,然后再找地方保存,血的教训。

关于信息泄露

  • 地址泄露,完全无影响。
  • 钱包密码泄露,只要手机不丢失,无影响。(keystore存储在手机上)
  • 地址+密码,只要手机不丢,无影响。(keystore存储在手机上)
  • keystore泄露,只要密码不丢,无影响。(密码存储在用户脑子里)
  • keystore+密码泄露,赶快把资产转到其他钱包,并重新生成keystore+密码,原先的账户不再使用。(钱包地址还可以使用)
  • 助记词、私钥泄露,同上面,转移资产,并不再使用泄露的钱包。(钱包地址还可以使用)

 

获取钱包私钥算法