聊聊钱包、地址、公钥、私钥、密码、助记词、Keystore那些事

刚入门区块链的小白在使用钱包时往往会对几个名词感到一脸懵逼:钱包、私钥、公钥、地址、密码、助记词、Keystore。虽然百思莫解但又必须把它搞懂,否则会可能造成区块链资产损失。

一、钱包

钱包是密钥的管理工具,它包含一个成对的私钥和公钥,这是一一对应的。用户用私钥类签名交易,从而证明该用户拥有交易的输出权,而输出的交易信息是存储在区块链中的,公钥则是用来生成地址。

简单点说就是,钱包会有一个对应的地址和私钥,地址可以公开给别人看,但是私钥绝对不行,否则就不安全了。

二、地址

大家都知道,公钥跟私钥是成对的,公钥由私钥计算而来,地址则通过公钥进一步计算而来。但注意一点:地址不是公钥

在imToken里创建钱包后,会生成一个以 0x 开头的 42 位 16 进制哈希值字符串,

例如:0x7A51Be24D95bb4935dd36eC836CFeDD77aa7b3C5。

这串字符就是钱包地址,钱包地址是唯一且不可修改的。

钱包地址可以用于接收别人转币,也可以作为转币的凭证。地址可以随便公开,而私钥则万万不能公开哦!

三、公钥

公钥由私钥通过椭圆曲线生成,变换后是一个65个byte的数组,一般是通过16进制处理后显示。早期比特币开发者不知道可以压缩公钥,压缩后公钥有33个byte数组。

当我们拥有一个私钥,就可以算出公钥。而公钥不能计算私钥,这样的模式让数字加密货币获得了一重保障。

四、私钥

私钥相当于你的银行卡号+银行卡密码。

比特币的私钥是由64位十六进制的字符组成,长得像这样,

比如:6KYZdSDo39z3GDrtuX2QcowGnNP5zTd7yfr2SC1j239sBCnWjee。

私钥本质上是一个长度固定的随机数,创建钱包后,输入密码可以就导出私钥,一个钱包只有一个私钥且不能改,谁拥有私钥,谁就有数字货币的控制权。所以私钥是非常关键的,一定要好好保存。但是由于私钥太长,钱包不会让用户自己设置,而是钱包自己来生成私钥。

假如你把数字钱包的私钥忘记了,而且还没有备份,那神仙也帮不了你了。

五、密码

密码不是私钥,它指的是在创建钱包时需要设定一个密码,主要用途有两个,一是转账时候的支付密码,二是用 keystore 导入钱包时的登录密码。

六、助记词

助记词它是私钥的另一种表现形式,由 BIP 31 提案提出, 主要目的是让用户更好的记住自己的私钥, 创建钱包后,会出现一个备份助记词功能,选择备份助记词,输入密码,会出现 12 个单词,每个单词之间有一个空格,这个就是助记词,一个钱包只有一个助记词且不能修改。

助记词具有和私钥同样的功能,在导入钱包中,输入助记词并设置一个密码(不用输入原密码),就能进入钱包并拥有这个钱包的掌控权,就可以把钱包中的代币转移走。如果一旦泄露了你的助记词,是多么可怕,那就是裸奔。

简而言之:助记词就等于私钥,私钥就是钱,都千万不能见光。

七、Keystore

不是私钥,常见于以太坊钱包,一般你创建以太坊钱包后,会让你备份Keystore, 它是一串代码,你可以自己保存为文本或者json格式,日后都可以用任何以太坊钱包打开它。Keystore的本质是加密后的私钥,Keystore必须配合你的钱包密码来使用,所以说,光备份了Keystore但忘记了钱包密码也是然并软了。

如果把钱包和银行账户作类比,那么:

地址=银行卡号

密码=银行卡密码

私钥=银行卡号+银行卡密码

助记词=银行卡号+银行卡密码

Keystore+密码=银行卡号+银行卡密码

Keystore ≠ 银行卡号

总结

身处去中心化的区块链世界,一旦你的钱包信息丢了,就没人能够帮你找回了,就算是钱包公司也不能。

因此,要保护好钱包信息,不要通过网络传输你的“私钥,助记词,密码,keystore”(除了地址,其他都不要传);不要把你的“私钥,助记词,密码,keystore”保存在联网的设备上;也不要保存在U盘里。

私钥即财富!助记词即私钥!保管好私钥或者助记词不被泄露,亦或是保存好keystore+记住密码,你才真正拥有了虚拟资产。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180209G18W4A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券