ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

区块链钱包:私钥是保存加密货币最重要的东西

2019-05-31 11:56:02  阅读:273  来源: 互联网

标签:公钥 加密 单向 钱包 私钥 区块


如今,我们使用的去中心化的区块链货币钱包,其实只是一个区块链的软件。你的币不是存在钱包公司,也不是存在你的手机设备上的,币还是在区块链网络的地址中的。钱包只是通过服务器来把区块链的各种代码展现给你,建立了一个通道,把你的各种操作指令发到区块链上。

所以,区块链钱包是不存在银行冻结你账户或者公司冻结你账户的情况,只要丢失了私钥,你就再也无法打开钱包,损失你钱包中的币。从这个角度来看,其实钱包安不安全与你私钥保管有很大的关系,因为钱包服务商是不会保存你的私钥的,不会放在服务器上;即使是钱包出现问题无法登陆,或者版本更新,再或者被黑客攻击等等各种问题,都不会影响你的资产。这么来看,其实私钥是保存加密货币最重要的东西。

1. 钱包背后的密码学原理

数字钱包的生成可以简单的分解为三个步骤:

创建随机私钥(64位16进制字符/256比特/32字节);

从私钥推导出公钥(128位16进制字符/512比特/64字节);

从公钥中导出地址(40位16进制字符/160比特/20字节)。

简单的步骤背后已经囊括了密码学中大多数的技术:随机数生成器、非对称加密、单向散列函数等。

(1)随机数

随机数是专门的随机试验的结果。在钱包中随机数用于生成私钥,因其相关安全性的重要性,所以必须保证随机数具备以下三种特性:

随机性:不存在统计学偏差,完全杂乱的数列;

不可预测性:不能从过去数列推测下一个出现的数;

不可重现性:除非将数列保存下来,否则不能重现相同的数列。

也就是真随机数。当然,实际上只要给定边界条件,真随机数并不存在。但目前大多数的看法是密钥存在一定的循环周期,只要该周期足够长,也会有足够好的安全性和保密性。

(2)非对称加密

非对称加密算法于1976年提出,用于在不安全的媒体上解决信息公开传送和密钥管理的问题。它将一般的密钥分为加密密钥和解密密钥,也就是我们常说的公钥和私钥。公钥私钥一一对应,由公钥加密的密文,必须使用与公钥配对的私钥才可以解密。

在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文;同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

(3)单向散列函数

单向散列函数又称为单向Hash函数、杂凑函数。它有一个输入和一个输出,输入称为消息,输出称为散列值(也称为消息摘要)。单向散列函数可以把任意长度的输入串变化成固定长的输出串,也就是可以根据消息的内容计算出散列值,而散列值就可以用来检查消息的完整性。由于它的单向性,其输出不依赖于输入。已知一个散列值,要找到预映射的值,使它的散列值等于已知的散列值在计算上是不可行的。单向散列函数的安全性使它主要用于完整性效验和提高数字签字的有效性。

2. 区块链钱包“私钥”、“公钥”、“地址”间的智能合约

(1)私钥

通常是由随机算法生成的,说白了,就是一个巨大的随机整数,私钥就是64 位的 16 进制哈希值字符串。

(2)助记词

这么多个字节可怎么记呢?所以有的钱包就就出现了助记词,一般情况下,助记词由一些单词组成,只要你记住这些单词,按照顺序在钱包中输入,也能打开钱包,对吧,单词可比一串代码好记多了。

(3)keystore

有的钱包会采取把私钥制作成keystore让用户导出保存,这个Keystore就是私钥经过加密过后的一个文件,需要你自己设置的密码才能打开文件。这样的好处是就算keystore文件被盗,只要你额外设置的密码够长够随机,那么短时间内私钥也不会泄露,有充足的时间转移地址里面的加密货币到其他地址。

(4)公钥

那么,别人要给你转账怎么办呢?但是你肯定不能把私钥告诉别人,对吧,私钥就代表了你对钱包的所有权,这是用密码学来保护的。所以,我们需要另一个东西,就是别人能给你转账,同时又不会泄露你的私钥,我们用到了哈希加密技术,把私钥转换一下得到一串字符,我们把它叫做公钥。哈希加密技术目前的技术水平是不可逆的,也就是说通过公钥几乎不可以倒推出来私钥,所以可以认为这种方法比较安全。一般情况,我们转账都用一个收币地址,这是通过公钥转化过来的,是公钥的缩减版本,公钥和收币地址之间是可以相互转换的。

3、钱包的单向、不可逆特性

钱包生成私钥,通过椭圆曲线算法可以从私钥计算得到公钥。注意:它是单向的,不可逆的。

我们可以放心的把钱包地址给别人看而不用担心自己财产的丢失。但如果你的私钥泄露,那别人就有可能复制一份跟你一摸一样的钱包,你的资产就有安全问题了。其实,加密货币保管只需要一个“私钥”,谁掌握了私钥,就掌握了你的钱包财产,所以你的私钥一定要保管好。

区块链技术的意义在于可以构建一个更加可靠的互联网系统,从根本上解决价值交换与转移中存在的欺诈和寻租现象。越来越多的人相信,随着区块链技术的普及,数字经济将会更加真实可信,经济社会由此变得更加公正和透明。进一步的研究发现,区块链技术具备一种“降低成本”的强大能力,能简化流程,降低一些不必要的交易成本及制度性成本。这种能力应用于许多社会领域中,对于改善当前低迷的经济环境更有现实意

标签:公钥,加密,单向,钱包,私钥,区块
来源: https://blog.csdn.net/qq_40452317/article/details/90713283

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有