自签名的应用-区块链数字货币
一、 钱包
区块链中的钱包不知道是干嘛的。
只知道,创建钱包的时候系统由椭圆加密算法(ECDSA)来产生一个私钥和一个公钥。而且基于椭圆加密的原理,可以由该私钥算出其对应的公钥
二、地址
创建完钱包以后会生成一个钱包地址,那么这个地址是怎么来的呢?看下面的图:
![](http://upload-images.jianshu.io/upload_images/4134622-2d252ffc023f7ffc.png?imageMogr2/auto-orient/strip|imageView2/2/w/700/format/webp)
现在清楚了吧,地址不等于公钥,地址是公钥的另外一种表现形式。有了这个钱包地址你就可以用于接收别人转币了。
三、公钥
拥有私钥,就可以算出公钥。而公钥不能计算私钥,这样,数字加密货币就有了很高的安全性。
四、私钥
私钥只能由钱包自己来生成。在创建钱包的时候,输入密码,你就可以导出私钥了。注意:一个钱包地址只有一个私钥,谁拥有私钥,谁就拥有了这些数字货币的控制权,私钥不能忘,必须备份,切记!
私钥本质上是一个包含64位的随机数:
比如:6KYZdSDo39z3GDrtuX2QcowGnNP5zTd7yfr2SC1j239sBCnWjee。
私钥是随机生成的,这个随机数的可能由2的256次方种,这个数量大家可以感受一下,及时用“暴力破解”的方式逐一遍历可能的私钥,也可以说几乎是不可能的,就算用现在最先进的量子计算机也不行。
五、助记词
在创建钱包的过程,会生成一个助记词,而且会让我们备份,助记词一般由12个单词构成,2个单词之间由1个空格隔开,这些单词都来源于一个固定词库,是由私钥根据一定算法得来,所以私钥与助记词之间的转换是互通的,助记词实际上就是私钥的另一种表现形式。助记词最好用纸记下来,千万不可用联网的东西来保存,照片也不行。助记词的功能等同于私钥,如果别人拿到了你的助记词,就可以用来导入钱包,进而进入钱包并拥有这个钱包的掌控权。
六、KeyStore
KeyStore看上去就是JSON 格式的字符串, 一般以文件形式存储。Keystore的本质是加密后的私钥,Keystore必须配合你的钱包密码来使用才有效
![](http://upload-images.jianshu.io/upload_images/4134622-3bdb1119ca39a4e9.jpg?imageMogr2/auto-orient/strip|imageView2/2/w/638/format/webp)
下面通过银行卡转账的例子来说明上面的几个概念,帮助大家更好的理解
![](http://upload-images.jianshu.io/upload_images/4134622-ef98d56a9bc68e5c.jpeg?imageMogr2/auto-orient/strip|imageView2/2/w/551/format/webp)
链接:https://www.jianshu.com/p/61493dbe7cc3