冷钱包和热钱包有什么区别?

区块链中的钱包实际上是一对公、私钥,也就类似于账号密码,而上面的勘误实际上暴露了小编从来没有像输入银行密码那样去实际输入过私钥。
因为通常在区块链中做交易时,签名(类似于输入密码)是钱包的客户端帮我们完成的,这样便要求客户端同时存储着我们的公钥和私钥。等会儿,同时存储公钥和私钥?这个听上去不安全啊!!!的确不是那么安全,这样才轮到本期的主角——冷钱包出场了。

冷钱包和热钱包有什么区别?在介绍冷钱包之前,首先来看一下区块链中交易是如何实现的。

首先是生成交易信息,如:从地址A(地址也就是公钥,转账时习惯称地址)转账一个币到地址B。然后再将这个交易信息通过hash算法转换成256位的二进制数,这个二进制数使用地址A的私钥进行加密就得到了签名。最后再将交易信息和签名同时广播给区块链里所有参与者。其中,矿工在验证无误后(如地址A是否有足够余额,签名是否有效等)写入区块链便完成了交易。
其他人能看到的只是地址A地址B,但并不知道他们分别属于哪个人,所以在一定程度上保障了隐私的安全。
客户端要做的就是生成交易信息签名并广播出去。签名需要用到私钥,而广播这个过程是需要联网的,这就给黑客攻击提供了可能。黑客只需要盗走私钥就能盗走账户里所有余额。就算提前断网,手动输入私钥做签名,再联网广播也还是有被木马攻击的可能。有一种做法是每次转账以后将钱包里剩余的钱转到新的地址中,这个我们暂不考虑。

与后面提到的冷钱包相对应,我们将能够做签名且会被用于联网广播的钱包客户端称为热钱包。热钱包的“原罪”在于它会联网。那不联网行么?但不联网似乎就不能广播了?


我们可以想办法弄一台不能联网的设备(或者一台拔掉网线,关闭蓝牙WiFi,设置完成以后永远不再联网的电脑)用于生成私钥签名,再将签名后的信息交由联网的设备,比如一个热钱包,来广播出去,这样问题就解决了。这个不能联网的设备称为冷钱包。
现在交易就变成了这样:冷钱包生成一对公、私钥,将公钥录入到热钱包用以查询余额和接收别人的转账;而私钥(永远不会出现在互联网上)则存储在冷钱包中,当需要给别人转账时,先由热钱包生成交易信息,再将交易信息录入到冷钱包中做签名,最后把签名录入到热钱包里和交易信息一起广播出去。

冷热钱包信息的交互(即上面提到的“录入”)你要是愿意可以键盘手动敲进去,也可以通过USB媒介(但是格外要小心)。目前最安全可靠的方式是通过相机和二维码。将要传递的信息转换成二维码,再用另一台设备的相机扫描输入。综上,想要使用安全可靠的冷钱包,你需要专门准备一台带有摄像头的电脑,并永不联网地放在那里。有没有高级保险箱的感觉?
一台电脑也不便宜(土豪可以无视),目前已经有专门的类似于银行U盾之类的小型USB设备或者智能手表之类的冷钱包。但是这些设备使用上还是有一些限制,最方便实惠的还是拿一台不用的备用手机(目前国产手机的价格还是挺实惠的)做成冷钱包。
最后值得一提的是,冷钱包在使用时不能称之为简便,因为最方便的方式你都需要来回扫描好几次二维码。但是没办法,鱼和熊掌不可兼得。
正确的打开方式是,使用冷钱包存储大量金额的虚拟货币,在热钱包(即私钥存放在联网设备)里存放少量货币一键完成日常小额支付。

原文地址:https://www.cnblogs.com/zccst/p/13788214.html