美文网首页区块链研习社区块链我爱编程
让普通看得懂——什么是区块链钱包

让普通看得懂——什么是区块链钱包

作者: 安新小子 | 来源:发表于2018-04-16 14:27 被阅读53次
钱包

之前的文章里(让普通人看的懂——什么是区块链)说过,在比特币网络中每一台电脑上下载的比特币软件都是一个节点,其实节点就是一个钱包,但是由于全节点太大了不方便使用,有公司对全节点软件进行精简,同时加上一些特色功能,这样更方便用户使用,比如Imtoken钱包。

加密技术

要理解清楚钱包就要先说说加密技术,比特币一类的数字货币能够成功的基础就是加密技术。数字货币中一般使用的是非对称加密,即有一个密钥对(一个公钥和一个私钥),公钥是用私钥算出来的,但是公钥无法反推出私钥,这是由数学算法保证的。

我们下载钱包软件创建一个钱包的时候软件都会创建一个公钥和一个私钥,钱包的地址就是公钥经过一系列的算法计算出来的(注意:地址不是公钥),私钥就是钱包软件不断提示你需要备份的那个东西,因为在数字货币网络中,私钥代表着资产的控制权,或者说私钥就是钱包本身,当你的手机丢了或者误删了钱包软件,都可以通过导入私钥来找回钱包,而公钥只是钱包的一个标识,为了方便资产的转移,所以私钥一定要备份好。

私钥

私钥是通过程序的算法生成的,就是一个256位的随机数,因为在计算机的世界里是二进制的,也就是只有0和1,所以私钥是256个0和1的组合。如果你不想让程序自己生成可以自己拼凑出256个0和1的组合来当做私钥,很少有人这么做,毕竟太麻烦了。但是我们在钱包里看到的不是256个0和1的组合,是因为为了方便用户备份私钥,软件转换了一下私钥的显示方式。

除了私钥,钱包软件还会提示你备份keyStore和助记词, 助记词和KeyStore都是私钥的不同表现形式,虽然私钥的显示方式已经经过了转换做了友好显示但是还是不易于使用,于是人们有发明了keyStore和助记词来方便使用,在创建钱包的时候首先会让你设置一个密码,这个密码配合 keyStore 就相当于私钥,助记词更方便,直接将私钥转换成了十多个英文单词,所以私钥、keyStore、助记词、密码的关系如下:

keyStore + 密码 = 私钥
助记词 = 私钥

keyStore是一串比较复杂的字符,备份到实体纸上比较困难,一般使用电子备份,建议离线备份,最好备份到的usb设备上离线保存,keyStore泄露以后还有密码这层保护,但是助记词泄露就直接相当于私钥泄露,所以助记词建议备份到实体纸上,以防万一最好备份多份。

数字货币的钱包和银行账户不同的是,银行账户我们忘记了密码是可以通过身份证想银行索取密码的,但是在数字货币的世界里,你的私钥丢了就永远找不回来了,钱包软件是不会存储你的私钥的,这就是区块链的去中心化特性和银行的中心化特性的区别之一,所以一定要备份好私钥,不要让任何人看到你的私钥

发送数字货币的时候需要使用私钥签名,因为只有这样才能证明交易的输入方是本人,但是我们在使用钱包在转账的时候是不用手动输入私钥的,只需要输入密码就可以转账了,其实用私钥的签名这个过程钱包程序帮助你做了,一般对于以太坊钱包,私钥一般经过算法加密后以keystore的形式存储在本地,在使用的时候要通过密码解密来使用。这就会有一个担忧,钱包程序可以拿到用户的私钥,这还安全吗?

钱包安全问题

虽然我们在转账的时候钱包程序通过我们输入的密码使用了我们的私钥,但是私钥是保存在我们本地的,也就是我们的手机上或者电脑本地,是不会上传到钱包的服务器的,而本地保存的位置也是一个不可公共读取的位置,这个位置只有钱包应用可以读取。所以千万不要用root的Android手机和越狱了的iphone来下载使用钱包软件,因为这样的手机,应用是可以访问其他应用的数据的。

那么,钱包应用会不会留有程序后门呢?所以钱包应用最好代码开源,代码开源的意思就是钱包程序的代码是公开的,是供用户审视的,程序有没有后门一目了然,比特币和以太坊的官方全节点钱包都是开源的。

移动端使用最多的以太坊钱包 imtoken 钱包并没有开源,imtoken官方声明不会在服务器上保存私钥、助记词、密码等信息,但是由于代码闭源,我们也无从考证。从区块链的角度分析,Imtoken作恶的几率还是很小的,就像比特币矿池一样,好好工作能赚很多钱,作恶获得的收益还不如好好工作,那为什么还去作恶呢?以 Imtoken 现在在币圈的市场占有率,根本没有必要去作恶,所以我还是选择使用 Imtoken 钱包,但是建议大家资产分散存储,不要把所有的资产存放到一个地方,有条件还是使用官方的全节点钱包比较好。

这篇是「普通人看的懂」系列最后一篇了,希望你能通过我的几篇文章能够对区块链有个大致的了解。通过输出这几篇文章我也收获很多,很多之前自认为清楚的概念在写的时候就知道了其实自己的理解是模糊的,为了不误导大家,我会去查各种资料,在这个过程中对概念就有了更清楚的理解,这就是分享的好处,希望每个人都能够学着写作、乐于分享。

欢迎关注我的微信公众号,希望你能来,我们一起探讨。

张鹤的公众号

往期链接:
让普通人看的懂——什么是区块链
让普通人看的懂——什么是EOS
让普通人看的懂——什么是ERC-20代币

相关文章

网友评论

    本文标题:让普通看得懂——什么是区块链钱包

    本文链接:https://www.haomeiwen.com/subject/gdcekftx.html