简单科普私钥、地址、助记词、Keystore的区别
苏江同学 关注
2017.10.31 21:03* 字数 1589 阅读 13437评论 10喜欢 18赞赏 3
很多人保管不好自己的虚拟财产,发生丢币的情况,很多都是因为不清楚私钥的概念。
私钥(Private Key)
比特币的私钥是由64位十六进制的字符组成,长得像这样,比如:5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss。
私钥的生成方式是完全随机的,随机生成这样的字符串就会有16的64次方种可能,即:2的256次方,这个数字已经超过了宇宙中原子的个数,用“暴力破解”的方式逐一遍历可能的私钥,幻想能碰到一个有效的且有币的私钥,可以说是不可能,就算是量子计算机也没用。
目前已存在的比特币私钥仅仅只有几百万个,在理想的随机生成方式下(用密码学安全的随机数生成器),如果说你所生成的私钥恰好跟别人的私钥一样,这种概率也是几乎为0。
私钥的本质就是个随机数。只不过这个数字是固定长度的,且是16进制的表现形式。
地址
大家都知道,公钥跟私钥是成对的,公钥由私钥计算而来,地址则通过公钥进一步计算而来。要注意:地址不是公钥,不要混淆概念。总之,有了私钥,就可以推导出它的公钥以及地址,地址一般长这样:1GczaiHaFpmucRHRe88RXCAVZ6gTZAoS57(这是我的比特币地址,打赏可以转我比特币试试:)),一般长34位,由私钥可以根据算法推导出地址,但有地址不能逆推出私钥,这是比特币所使用的密码学的根基逻辑。
所以,地址可以随便公开,而私钥则万万不能公开。
助记词(Mnemonic Phrase)
由于私钥64位,长得太难看,没有可读性,而私钥的备份在电脑上复制起来容易,手抄下来就比较麻烦,但私钥保存在联网的电脑上毕竟不安全,有被其他人看到的风险,于是有了助记词工具,利用某种算法可以将64位私钥转换成十多个常见的英文单词,这些单词都来源于一个固定词库,根据一定算法得来。私钥与助记词之间的转换是互通的,助记词只是你的私钥的另一种外貌体现。
助记词一般会在你创建新钱包的时候出现一次,后面就再也不会出现了,所以创建新钱包时最好把助记词抄下来、甚至放到保险柜里,自己想办法备份。如果是屏幕截图或保存在电脑里,只要设备联网都有被第三只眼看见的风险。别人获取了你的助记词等于获取了私钥所对应的一切财富。
简而言之:助记词就等于私钥,私钥就是钱,都千万不能见光。
脑钱包
看到这里,那脑钱包就很容易理解了,脑钱包的意思就是说你自己先想好一串你独有的英文单词,这串英文单词就可以作为你的私钥。通过一定的计算机算法即可将这串英文字符转化成64位的私钥和地址。
这是以一个脑钱包工具可以参考:http://idgui.com/N/
这样你就只需要记住你特有的英文句子,这样就可以用脑子记住私钥,让你的虚拟财富存在你的脑子里,没有实物存在,除了严刑逼供,任何人都获取不了。
当然,这样做也有一定的风险,抛开失忆不说,人是情感动物,无法做到电脑般冷冰冰的随机,写出的单词句子总是有规律可循的,如果仅仅是一句名人名言,或者是书里的某个句子,很容易就被计算机破解了。总的来说,私钥的生成方式主要来自随机,越不随机越容易被破解。
钱包
上面说的脑钱包仅是一种非常特殊的钱包,虚拟概念不存在,连软件都不是,通常的钱包软件服务商,主要就三个功能:
- 随机数生成器,用来生成你的私钥及地址。
- 私钥管理器,你可以给钱包配上密码,只有你能”打开“钱包,看到私钥。
- 接入比特币网络,接受、发送比特币。
只要你拥有私钥,选择任何钱包服务商都可以把你连接到比特币网络,看到你的私钥,查到自己的余额。
Keystore
Keystore不是私钥,常见于以太坊钱包,一般你创建以太坊钱包后,会让你备份Keystore, 它是一串代码,你可以自己保存为文本或者json格式,日后都可以用任何以太坊钱包打开它。Keystore的本质是加密后的私钥,Keystore必须配合你的钱包密码来使用,所以说,光备份了Keystore但忘记了钱包密码也是然并软了。
直接使用以太坊钱包,很少会直接看到自己的私钥,而是让你备份Keystore, 配合钱包密码来使用。即使黑客获取了你的Keystore, 还要破解钱包密码也还是有一定难度的,当然钱包密码也别设太简单。
总结:
私钥即财富!助记词即私钥!保管好私钥或者助记词不被泄露,亦或是保存好keystore+记住密码,你才真正拥有了虚拟资产。
我是苏江,长期分享区块链思考,欢迎加我微信与我交流:su466120534