随着区块链领域的纵深发展,全球对数字货币关注度的提升,区块链数字货币钱包逐渐从浪潮中涌现,成为区块链未来进程中不可或缺的一部分。
数字钱包是什么?
区块链数字货币钱包即能够存储、管理和交易数字货币的软件。
如果以中心化的软件来类比的话,大概就相当于支付宝。虽然真的对比起来,无论是从中心化程度、还是对用户信息的保护度以及对设备的依赖程度都有所不同。比如说,支付宝是依附金融机构的中心化钱包,而数字货币钱包也并非全部是去中心化的,除却交易时部分节点信息确认和全节点信息确认这种较为去中心化的钱包,也有依托中心化信用结构的中心化数字货币钱包。在全名实名制的情况下,数字钱包是匿名的,隐私保护性自然更好。而现在多数的数字钱包是手机端、pc端以及硬件钱包多方支持的,在对设备的依赖性上也较弱,更为便捷。还有其他一些特性,但在这里暂不赘述。
数字钱包有个和常见中心化钱包迥异的分类,即冷热钱包。众所周知,冷热钱包就是触网钱包和非触网钱包。热钱包,即触网钱包交易便捷,但因为联网,安全性上则不如冷钱包。冷钱包不触网,储存大额数字货币更为安全。
公钥和私钥
冷热钱包想来大家都更熟悉一些,但一些常见的字眼可能就容易混乱,比如“公钥”和“私钥”。
对称加密中,加密解密用的秘钥是一致的,非对称加密中,加密解密用的秘钥则不同,是一对,我们称之为“公钥”和“私钥”。“公钥”顾名思义——可以公开,“私钥”则是私密的。如果用公钥对内容加密,则必须用私钥来解密;如果用私钥对内容加密,则必须使用公钥来解密。这样就相当于对内容进行一个双重的保护。如果我们把消息的接受者和发送者称为A和B,B生成“公钥+私钥”的秘钥对,并且把公钥发给A,然后A用公钥对信息进行加密,再把密文发送给B,B用私钥对密文进行解密。这个过程里,B的私钥就不需要发送给别人,不存在传递过程,也就很难被窃取。
生活中的银行账户来类比一下。钱包地址就相当于银行卡卡号,在创建钱包后生成,一个钱包对应一个钱包地址,就相当于一张卡只有一个卡号,钱包地址可以接受和转出加密货币。而“公钥”则是银行卡的密,私钥是更高级的能够证明你身份的东西,即证明你持卡人身份的身份证号码。
这里要注意的是一个钱包只能有且仅有一个私钥并且不能修改,就相当于你有且仅有一个身份证号码不能修改,私钥可以证明你是钱包所有者,允许你进入钱包并且拥有钱包的掌控权。同时,可以用来找回公钥和钱包地址,就像你你银行卡丢了或者密码忘记了,可以带身份证去银行找回一样。但是如果你身份证丢了,事情要麻烦的多。私钥也是一样,而且在加密世界,没有公安部门,私钥丢失将无法重新办理,只能利用“助记词”找回。
助记词和私钥
那问题来了,“助记词”又是什么?这是个很简单的名词,其实了解私钥就了解了助记词。助记词顾名思义,就是私钥的备份,私钥是由哈希算法加密而成,哈希算法无论输入是什么数字格式、文件有多大,输出都是固定长度的比特串,一般而言是256bit。每个bit就是一位0或者1,256bit就是256个0或者1二进制数字串,用16进制数字表示的话,就是多少位呢?16等于2的4次方,所以每一位16进制数字可以代表4位bit。那么,256位bit用16进制数字表示,当然是256除以4等于64位。因而私钥往往是由64位字符串组成,比较难记,助记词只有12个单词,相当于标记私钥,如果忘记私钥,用助记词也可以进入钱包并且找回私钥。
Keystore
Keystore是包含秘钥(公钥和私钥)以及只包含公钥的可信任证书实体的文件。一般是由jave数据证书管理工具生成的。
如果说地址是银行卡卡号,公钥是银行卡密码,私钥是身份证,那么keystore就是银行卡。这样来看,似乎和钱包地址是一样的东西,但其实还是有区别的。虽然从转账的角度来看,银行卡卡号和银行卡有一样就行,但从狭义上来细究。Keystore作为数字钱包世界的“银行卡”,它包含着除“银行卡号”之外的其他信息,如编码以及加密方式等等。所以,keystore和钱包地址是功能上相似,定义上不同的两个东西。
综上所述,最为重要的是私钥或者说私钥和助记词,直接确认持有人身份,一定要妥善保管好,它可以生成数字钱包所需要的一切东西。那如果私钥丢失怎么办呢,如果私钥丢失,拥有keystore和公钥,即持有银行卡和密码也可以继续使用钱包。如果私钥、助记词和公钥都丢失,那么你的数字钱包里的资产将永远封存。
作者:mmjollnir
钱包
公钥
私钥
助记词
keystore
货币
数字货币
区块链