一文看懂数字钱包的基本原理,及使用建议
本文首发自Tocos社区,更多行业资讯及市场分析,欢迎关注Tocos社区公众号。
在区块链领域,和币圈投资市场上,很多人都拥有属于自己的数字货币资产。
并且在我们存储数字货币时,也经常会使用到数字钱包。很多人在用钱包,但是对数字钱包这个概念,有的人还比较模糊。
关于数字钱包的基本原理
在数字货币世界中,我们所使用的数字钱包就是由私钥,和公钥所构成。
我们在学会使用和保管自己的钱包时,也必须明白私钥和公钥它们的生成机制。
在1976年以前,所有的加密方式都是同一种模式:
1.甲方选择一种加密规则,对信息进行加密;
2.乙方使用同一种规则,对信息进行解密。
但由于加密与解密都是同一种规则,所以都被称为“对称加密算法”。
这种加密算法的最大弱点,就是甲乙双方都需要了解解密规则,而保存和传递解密规则的过程,月存在极高的安全问题。
直到1977年,由Ron Rivest、Adi Shamir 和Leonard Adleman这3个人,设计了一种非对称加密算法,此算法以他们3人名字命名为“RSA 算法”。
当前数字货币(比特币、以太币等)采用的是“椭圆曲线算法”,椭圆曲线算法同样也是非对称算法,相比起RSA算法有更多的优势。
比如安全性能更高、计算量小、存储的空间占用小、带宽要求低等等。
每一个钱包账户包含一份密钥对,也就是我们所用的私钥与公钥。
私钥(k)是一个数字,通常是随机选出的。有了私钥,我们就可以使用椭圆曲线乘法,使这个单向加密函数生成一个公钥(K)。
有了公钥(K),我们就可以使用一个单向加密哈希函数生成该账户地址(A)。
关于钱包的形态
在了解钱包的生成机制后,我们很快就能明白一点,我们备份钱包,就是备份私钥,但因为保管方式不同,所表现的形态也是不一样的。
目前常见的私钥形态:
1.Private Key
2.Keystore && Password
3.Mnemonic Seed
这3个形态我们逐个来讲解。
Private Key就是一份随机生成的256位二进制数字,你甚至可以用硬币、铅笔和纸来随机生成你的私钥:掷硬币256次,用纸和笔记录正反面并转换为0 和1。
随机得到的256位二进制数字可作为私钥。这256位二进制数字就是私钥原始的状态。
Keystore && Password
在以太坊官方钱包中,私钥与公钥将会以加密(创建钱包时设置的密码,请务必记住)的方式保存为一份 JSON 文件。
并存储在 /Users/yourname/Library/Ethereum/keystore中。
这份JSON文件就是keystore,所以需要同时备份keystore和对应的password。
Mnemonic code
Mnemonic code是由BIP39提案提出,目的是通过随机生成12~24个容易记住的单词,单词序列通过PBKDF2与HMAC-SHA512函数创建出随机种子。
该种子就是通过BIP-0032 提案的方式,生成的确定性钱包。
BIP39定义助记词创建过程
1.创造一个128 到 256位的随机顺序(熵)。
2.提出SHA256哈希前几位,就可以创造一个随机序列的校验和。
3.把校验和加在随机顺序的后面。
4.把顺序分解成11位的不同集合,并用这些集合去和一个预先已经定义的2048个单词字典做对应。
5.生成一个12 至 24个单词的助记词。
所以当我们记住12~24个助记词后,就相当于记住了自己的私钥。
而且助记词要比私钥更方便记忆和保管,同时我们使用助记词也能进行导入钱包操作。
再来分享下使用钱包的建议
1.不要向任何人泄露自己的私钥;
2.不要在领取任何糖果的时候输入私钥;
3.不要在进行任何转账收款时候输入私钥;
4.不要在联网的移动设备上传输私钥。
使用去中心化钱包需要注意的是,钱包私钥(助记词)决定了我们所拥有数字货币的管理权,千万不能忘记也不能弄丢。
TOCOS最新版本已正式上线对外发出体验邀请,用户在使用过程中,可加入官方社群一起交流。
TOCOS钱包下载地址:
http://www.tocos.org