美文网首页槿小喵的区块链世界区块链技术与金融
公钥、私钥、钱包都是什么——小白区块链实战指南(二)

公钥、私钥、钱包都是什么——小白区块链实战指南(二)

作者: 苏槿辰 | 来源:发表于2018-01-21 17:02 被阅读4588次

    很多小白在学习区块链知识时,还是被一些术语搞得一脸懵逼,但其实他们可以和现实场景很容易对应,今天我们用线下最火的游戏《恋与制作人》来聊聊公钥私钥钱包的概念。

    霸道总裁李泽言说要转给你100万,他可以怎么做呢?
    1.把他的银行卡账号,密码用某种方式告诉你,你用此账号密码就可以取钱
    2.通过他的银行卡转账到你的银行卡,你们的银行卡账号和密码都不一样,且银行卡账号是公开的,密码只有你们各自知晓

    第一种情景就是对称加密算法,你们使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥,虽然加密效率高,速度快,但如果一旦密钥泄露,别人就能轻易截获你们的交易,安全性不足。

    对称加密算法

    第二种情景则是非对称加密算法,它需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),公钥与私钥是成对的,他们互相解密,因为加密和解密使用的密钥不一样,被称为非对称加密算法。他们的关系如下:

    1.私钥本质上是32个byte组成的数组,由256个0或者1随机组成,识别性较差——相当于银行卡密码,只有自己知道,银行卡密码可以自己设置,但私钥是随机生成的

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

    3.地址是由公钥产生的,公钥经过多种加密算法转换成公钥哈希,公钥哈希经过Base58编码生成地址——相当于银行卡卡号,因为公钥太长,在交易中公钥通常不显示,只显示两个地址之间的转账

    4.钱包和银行卡一样,银行卡能显示转账明细和我们的资产,但实际上钱是存在银行里的,它相当于只是保存了我们的卡号和密码;也是一样,区块链资产是保存在区块链系统中的,钱包只是保管了我们的私钥,并将公钥(地址)显示出来,以便互相交易——钱包相当于银行卡,请像保管银行卡密码一样,保存好自己的私钥

    非对称加密算法

    在李泽言给你转账的时候,完成的是以下过程:

    非对称加密算法过程

    即:

    1.发送方和接收方分别都有一对公钥和私钥,公钥编码后成为地址,可以互相使用地址转账。

    2.蓝色是加密传输过程:发送方用接收方的公钥对数据加密,再发送给接收方,接收方可以用自己的私钥解密,收到交易可以想象为输入你的银行卡号,你用自己的密码查看交易明细,发现收到一笔钱的过程。

    3.红色是身份认证过程:发送方用自己的私钥加密,表明钱是从自己的账户转出,这个过程叫数字签名,你用发送方的公钥成功解密,确认是此人转的钱,这是身份认证的过程,可以想象为你看到银行卡号是李泽言的,于是确认这是李泽言转给你的钱。数字签名是用来验证发送方的身份,保证信息是由签名者自己签名发送的,签名者不能否认或难以否认,还能帮助保护数据的完整性,保证信息自签发后到收到为止未曾做过任何修改。

    4.由此也可以得出,公钥由本人公开,用于加密和验证签名,是给别人用的;私钥用来进行解密和签名,是给自己用的

    最后整理一些常见问题和解答:

    1.我把钱放在交易所了,只有自己设的账号密码,私钥在哪?放在交易所安全还是钱包安全?
    交易所不会给每个用户都设置一个账户,把钱放在交易所相当于把资产托管在交易所的钱包,网站的账户上只是借记一个数字。放在交易所确实会存在安全隐患,因为黑客在攻击一个交易所的概率,明显比攻击某个单独账户的概率大,收益也更多,另外因为多数交易所是中心化的,可能出现交易所声称被黑客攻击,实则监守自盗,甚至操控用户账户高买低卖等行为。但是对于大多数人来说,需要经常交易的资产还是放在交易所更为方便,尽量选择靠谱大平台,账户密码不要想泄露出去、二次验证一定不能省。

    2.有没有什么钱包软件可以推荐的?
    比特币钱包——比特派,下载地址:http://bitpie.com/;Blockchain,下载地址:https://blockchain.info/zh-cn/wallet
    以太坊钱包——Imtoken,下载地址:https://token.im/,除了以太坊,基于以太坊开发的应用代币基本都可以储存在里面
    比特股钱包——BitShares-light,下载地址:https://bitshares.org/download/
    Neo(小蚁)钱包,下载链接:https://neo.org/download
    SC钱包,下载链接:http://sia.tech/apps/
    公信宝钱包,下载地址:https://www.gxb.io/
    量子链钱包——Qbao,下载地址:https://qbao.fund/#/home

    3.创建自己钱包的时候,让我备份的Keystore、助记词是什么?
    你可以理解为是私钥的不同表现形式,需要备份,且备份时尽量用纸笔记录下来,可以让家人保管一份,自己保管一份,不要保存在网络上,如云笔记,聊天记录等,如果更换手机电脑,通过他们的备份,可以帮你恢复钱包,否则你在钱包里的资产将会归零。

    Keystore: 明文私钥通过加密算法加密过后的 JSON 格式的字符串, 一般以文件形式存储。
    助记词: 12 (或者 15、18、21) 单词构成, 用户可以通过助记词导入钱包, 但反过来讲, 如果他人得到了你的助记词, 不需要任何密码就可以轻而易举的转移你的资产, 所以要妥善保管自己的助记词。
    明文私钥: 64 位的 16 进制哈希值字符串, 用一句话阐述明文私钥的重要性 "谁掌握了私钥, 谁就掌握了该钱包的使用权!" 同样, 如果他人得到了你的明文私钥, 不需要任何密码就可以轻而易举的转移你的资产。

    相关文章

      网友评论

        本文标题:公钥、私钥、钱包都是什么——小白区块链实战指南(二)

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