“区块链钱包”的技术颠覆在哪里?

昨天去ATM取钱,前面有一对小夫妻。

妻子对丈夫说:“我要输密码了,你走开!”丈夫退到一边去了。

我心想,这女人好强势啊,说明女人管账啊!

只听到滴滴三声过后,妻子转身对丈夫说:“好了,我输完了,该你输后三位

了!” 

哎呦,我去,真开眼,原来是互相制约互相监督啊~~高!

后来,丈夫先按了3次退格键,然后输入了6位密码~~我整个人都呆了!

高手啊,真是道高一尺、魔高一丈。

“区块链数字钱包”就是未来世界的银行卡,认识和保护它就是在守卫我们自己

的财产。在未来的区块链数字世界,当傲娇女碰到了理工男可要小心了。在各大

聊天平台交流中和相关数字货币的报道中,我们看到了不少人由于对“区块链数

字钱包”的理解不清而至私钥保护不善造成个人数字资产损失的情况,这真的不

应该。

每当进行数字资产投资时,我们不能仅仅依靠交易所来存储数字资产,我们更需

要有个自己的数字钱包,来存储属于我们个人的数字资产,了解“区块链数字钱

包”(以下简称钱包)的相关知识更是我们投资前就应该弄清楚的。

钱包本质上是一个工具,目前绝大多数的钱包都是在网络中建立了属于用户的单

独区块空间,它是去中心化的。一般意义上的银行卡是由中心化的银行发放,并

进行其中的资产管理,我们密码丢失,可以通过相关证明来让银行帮忙找回,我

们银行卡遗失,别人拿到银行卡没有密码也取不走我们的资产,我们更可以通过

银行冻结个人银行卡账户,重新办理新的银行卡废除旧的银行卡;钱包则不然,

丢失了打开钱包的钥匙谁也没法帮我们找回钱包。

区块链钱包在2011年8月诞生,并此后在代币交易中发挥着巨大的作用;由于该平

台被密码学严格保护,因此基本不用担心被黑客袭击。区块链钱包本身就相当于

个人银行账户,在银行中我们创建存款账户并且存取现金,那么类似地,在区块

链钱包中我们创建区块链账号并且存取比特币。在该平台上,用户可以在任何时

间段将比特币转换成现金或用现金来支付比特币,下图比较了区块链钱包和银行

的区别,左边的区块链钱包识别码对应右边银行的客户ID,左边的比特币地址对

应右边银行的存款账号。

钱包一般包含以下内容:公钥、私钥、助记词、keystore、密码;这里的内容就

稍微有点烧脑了,本质上,钱包和钥匙是一一对应的,固定的钥匙直接就可以在

网络上打开属于自己的钱包,但为了避免在网络传输过程中的泄密,密码学家运

用非对称加密技术,发明了公钥和私钥,公钥用于传输,私钥用于解密,简单的

看,我们可以认为公钥就是银行卡号,而私钥就是银行密码。

私钥=keystore+密码,私钥是由五六十位包含数字和区分大小写的字母所组成。

为了方便数字资产交易,用简单的密码加上keystore我们就能便捷的转移数字资

产。助记词是加密了的私钥,基本也就是私钥,它是为了便于导出keystore而发

明的。

给一个钱包地址发送数字货币,这笔交易在全网广播、被确认、被打包进区块。

这是发生在链上的,被称为on-chain交易;on-chain钱包需要自己保管私钥。

相对于on-chain交易是off-chain交易。通常,通过交易所进行的交易是off-

chain的,本人并没有私钥。私钥在交易所,由交易所托管。所以,交易所的钱包

也是中心化的钱包。

冷即离线、断网,也就是说,私钥存储的位置不能被网络所访问。例如纸钱包、

脑钱包、硬件钱包等等。

热即联网,也就是私钥存储在能被网络访问的位置。例如存放在交易所的、在线

钱包网站、手机App钱包都属于热钱包。通常而言,冷钱包更加安全,热钱包使用

更加方便。

除了保存私钥外,全节点钱包还有保存了所有区块的数据,最为著名的是

bitcoin-core。

它不必保存所有区块的数据,只保存跟自己相关的数据。基本可以实现去中心

化。

在交易所中的钱包,以及类似 OKLink 提供的保险柜服务。

在使用钱包的时候,大家一定要多学习多研究。因为区块链是有匿名性的,使用

各种钱包是不需要实名认证。虽然你可以看到交易转账的地址,但是你并不知道

地址的使用者是谁。

而且,区块链的信息是不可逆转的,万一你小心把币打错地址了,可就找不回来

了。我们把币存在钱包里,到底是放在哪里了呢?是不是就在钱包里呢?

我们使用的去中心化的区块链货币钱包,其实只是一个区块链的软件。你的币不

是存在钱包公司,也不是存在你的手机设备上的,币还是在区块链网络的地址中

的。钱包只是通过服务器来把区块链的各种代码展现给你,建立了一个通道,把

你的各种操作指令发到区块链上。所以,区块链钱包是不存在银行冻结你账户或

者公司冻结你账户的情况,只要丢失了私钥,你就再也无法打开钱包,损失你钱

包中的币。从这个角度来看,其实钱包安不安全与你私钥保管有很大的关系,因

为钱包服务商是不会保存你的私钥的,不会放在服务器上;即使是钱包出现问题

无法登陆,或者版本更新,再或者被黑客攻击等等各种问题,都不会影响你的资

产。这么来看,其实私钥是保存加密货币最重要的东西。

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

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

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

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

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

密、单向散列函数等。

随机数是专门的随机试验的结果。在钱包中随机数用于生成私钥,因其相关安全

性的重要性,所以必须保证随机数具备以下三种特性:

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

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

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

也就是真随机数。当然,实际上只要给定边界条件,真随机数并不存在。但目前

大多数的看法是密钥存在一定的循环周期,只要该周期足够长,也会有足够好的

安全性和保密性。

非对称加密算法于1976年提出,用于在不安全的媒体上解决信息公开传送和密钥

管理的问题。它将一般的密钥分为加密密钥和解密密钥,也就是我们常说的公钥

和私钥。公钥私钥一一对应,由公钥加密的密文,必须使用与公钥配对的私钥才

可以解密。如下图所示,甲乙之间使用非对称加密的方式完成了重要信息的安全

传输。

1. 乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。

2. 得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。

3. 乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。

乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。

在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解

密文,因为只有乙的私钥才能解密密文;同样,如果乙要回复加密信息给甲,那

么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

单向散列函数又称为单向Hash函数、杂凑函数。它有一个输入和一个输出,输入

称为消息,输出称为散列值(也称为消息摘要)。单向散列函数可以把任意长度

的输入串变化成固定长的输出串,也就是可以根据消息的内容计算出散列值,而

散列值就可以用来检查消息的完整性。由于它的单向性,其输出不依赖于输入。

已知一个散列值,要找到预映射的值,使它的散列值等于已知的散列值在计算上

是不可行的。单向散列函数的安全性使它主要用于完整性效验和提高数字签字的

有效性。

通常是由随机算法生成的,说白了,就是一个巨大的随机整数,以太坊钱包的私

钥就是64 位的 16 进制哈希值字符串。

这么多个字节可怎么记呢?所以有的钱包就就出现了助记词,一般情况下,助记

词由一些单词组成,只要你记住这些单词,按照顺序在钱包中输入,也能打开钱

包,对吧,单词可比一串代码好记多了。

有的钱包会采取把私钥制作成keystore让用户导出保存,这个Keystore就是私钥

经过加密过后的一个文件,需要你自己设置的密码才能打开文件。这样的好处是

就算keystore文件被盗,只要你额外设置的密码够长够随机,那么短时间内私钥

也不会泄露,有充足的时间转移地址里面的加密货币到其他地址。

那么,别人要给你转账怎么办呢?但是你肯定不能把私钥告诉别人,对吧,私钥

就代表了你对钱包的所有权,这是用密码学来保护的。所以,我们需要另一个东

西,就是别人能给你转账,同时又不会泄露你的私钥,我们用到了哈希加密技

术,把私钥转换一下得到一串字符,我们把它叫做公钥。哈希加密技术目前的技

术水平是不可逆的,也就是说通过公钥几乎不可以倒推出来私钥,所以可以认为

这种方法比较安全。一般情况,我们转账都用一个收币地址,这是通过公钥转化

过来的,是公钥的缩减版本,公钥和收币地址之间是可以相互转换的。

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

的,不可逆的。

下图可知私钥是可以生成公钥,公钥可以生成比特币地址的,相反则不行,因为

比特币是由一个不可逆的算法完成这个流程的。所以,我们可以放心的把钱包地

址给别人看而不用担心自己财产的丢失。但如果你的私钥泄露,那别人就有可能

复制一份跟你一摸一样的钱包,你的资产就有安全问题了。其实,加密货币保管

只需要一个“私钥”,谁掌握了私钥,就掌握了你的钱包财产,所以你的私钥一

定要保管好。

你可能感兴趣的:(“区块链钱包”的技术颠覆在哪里?)