区块链钱包的原理
发布:中币网 时间:2020-09-12 00:00:00 加入收藏 打赏
1. 钱包背后的密码学原理
数字钱包的生成可以简单的分解为三个步骤:
创建随机私钥(64位16进制字符/256比特/32字节);从私钥推导出公钥(128位16进制字符/512比特/64字节);从公钥中导出地址(40位16进制字符/160比特/20字节)。简单的步骤背后已经囊括了密码学中大多数的技术:随机数生成器、非对称加密、单向散列函数等。
2. 区块链钱包“私钥”、“公钥”、“地址”间的智能合约
(1)私钥
通常是由随机算法生成的,说白了,就是一个巨大的随机整数,以太坊钱包的私钥就是64 位的 16 进制哈希值字符串。
(2)助记词
这么多个字节可怎么记呢?所以有的钱包就就出现了助记词,一般情况下,助记词由一些单词组成,只要你记住这些单词,按照顺序在钱包中输入,也能打开钱包,对吧,单词可比一串代码好记多了。
(3)keystore
有的钱包会采取把私钥制作成keystore让用户导出保存,这个Keystore就是私钥经过加密过后的一个文件,需要你自己设置的密码才能打开文件。这样的好处是就算keystore文件被盗,只要你额外设置的密码够长够随机,那么短时间内私钥也不会泄露,有充足的时间转移地址里面的加密货币到其他地址。
(4)公钥
那么,别人要给你转账怎么办呢?但是你肯定不能把私钥告诉别人,对吧,私钥就代表了你对钱包的所有权,这是用密码学来保护的。所以,我们需要另一个东西,就是别人能给你转账,同时又不会泄露你的私钥,我们用到了哈希加密技术,把私钥转换一下得到一串字符,我们把它叫做公钥。 哈希加密技术目前的技术水平是不可逆的,也就是说通过公钥几乎不可以倒推出来私钥,所以可以认为这种方法比较安全。一般情况,我们转账都用一个收币地址,这是通过公钥转化过来的,是公钥的缩减版本,公钥和收币地址之间是可以相互转换的。
3. 钱包的单向、不可逆特性
钱包生成私钥,通过椭圆曲线算法可以从私钥计算得到公钥。注意:它是单向的,不可逆的。私钥是可以生成公钥,公钥可以生成比特币地址的,相反则不行,因为比特币是由一个不可逆的算法完成这个流程的。所以,我们可以放心的把钱包地址给别人看而不用担心自己财产的丢失。但如果你的私钥泄露,那别人就有可能复制一份跟你一摸一样的钱包,你的资产就有安全问题了。其实,加密货币保管只需要一个“私钥”,谁掌握了私钥,就掌握了你的钱包财产,所以你的私钥一定要保管好。
你得先有个钱包,才叫入了区块链的门!
不从技术和系统层面谈各类钱包风险,重点强调大家一定要保护好区块链的私钥。秘钥绝不能丢,也不要轻易告诉别人,因为它代表了钱包的所有权和对它的操作权,不同于银行卡的密码,忘记了还可以先冻结凭身份证去重置。在区块链的世界里,一旦你弄丢私人秘钥,钱包就永远也不再属于你了,没有中心机构可以追溯,也没有法律可以对你进行保护。
来源:
来源:中币网 https://www.zhongbi.net/news/blocknews/252938.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。