解析比特币钱包工作原理

区块链
现实生活中的钱包是用来放钱的,但是比特币钱包不是用来存放“比特币”的,为什么这么说?比特币的所有权是通过数字密钥、比特币地址和数字签名来确立的。数字密钥实际上并不是存储在网络中,而是由用户生成并存储在一个文件或简单的数据库中,称为钱包。

现实生活中的钱包是用来放钱的,但是比特币钱包不是用来存放“比特币”的,为什么这么说?

比特币的所有权是通过数字密钥、比特币地址和数字签名来确立的。数字密钥实际上并不是存储在网络中,而是由用户生成并存储在一个文件或简单的数据库中,称为钱包。

在比特币系统中,我们用公钥加密创建一个密钥对,用于控制比特币的获取。密钥对包括一个私钥,和由其衍生出的唯一的公钥。公钥用于接收比特币,而私钥用于比特币支付时的交易签名。

[[244006]]

支付比特币时,比特币的当前所有者需要在交易中提交其公钥和签名(每次交易的签名都不同,但均从同一个私钥生成)。比特币网络中的所有人都可以通过所提交的公钥和签名进行验证,并确认该交易是否有效,即确认支付者在该时刻对所交易的比特币拥有所有权。

比特币钱包是私钥的容器,只包含私钥而不是比特币。每一个用户有一个包含多个私钥的钱包,钱包中包含成对的私钥和公钥。用户用这些私钥来签名交易,从而证明它们拥有交易的输出(也就是其中的比特币)。

根据私钥的存放方式,将钱包种类划分如下:

 

解析比特币钱包工作原理

1、冷钱包

冷钱包是非常安全的,但是成本较高,易用性差。像传统的Armory,一般要找一台不联网的电脑专门用于安装Armory离线端,成本不小,如果要发送交易,则需要用优盘在离线电脑和在线电脑之间来回导交易信息、签名数据,很是麻烦,而且U盘还存在传播木马病毒的风险。

冷钱包也不是绝对安全的,硬件损坏、丢失,都可能造成比特币的损失,要做好备份。

2、本地钱包和在线钱包

本地钱包的是装在自己的电脑或手机上,在线钱包则是将私钥加密后放在服务器上。

个人的电脑有可能被植入木马,黑客可能盗取你的钱包文件,记录你的钱包口令;而钱包服务器也有可能被黑客攻陷,加密私钥存在被破解的风险。服务器安全防护做的比个人电脑要好一些,但也更容易引起黑客的注意。从安全性上来讲,这两类钱包差不多。

在线钱包原理是,钱包在浏览器端使用用户的口令对私钥进行加密,加密之后传到服务器上保存,当需要使用时,从服务器上下载下来,在浏览器端进行解密。服务器上保存的是加密后的私钥,这就是在线钱包“不保存用户私钥”的由来,准确地说,应该是“不保存用户明文私钥”。

要加强本地钱包和在线钱包的安全性,***设置一个较复杂的密码,并且,千万不要忘记。

本地钱包和在线钱包使用都比较方便,易用性强,在线钱包由于不受客户端限制,易用性比本地钱包好一点。

3、多重签名钱包

多重签名钱包原理是这样的:取一个多重签名地址作为钱包地址,如果要动用这个地址上的币,必须有2个(或多个)私钥同时签名才可以。打个比方,就是一把锁,需要2把不同的钥匙一起用,才能打开。这样一来,我一把钥匙自己掌握(也可能是加密后托服务器保管,参看在线钱包),另一把交给服务器,如果只有一把钥匙被盗,黑客没有我本地的私钥。这样应该是多了一重安全。

多重签名机制看起来是更安全,但易用性受到很大的影响,用户需要理解一些技术细节,还要保护好本地私钥和未来地址的私钥,学习和使用成本高了不少。另外,Armory也做了纯客户端的多重签名钱包。

 

解析比特币钱包工作原理

4、链下钱包

链下钱包有点像交易所的账号,你把币存到交易所,交易所给你记上帐,当你给其他用户发送,收币发币是在交易所的账簿上加加减减,并没有真正写入比特币区块链。只有用户存币和提币的时候,才会发生链上交易。

链下钱包是纯粹中心化的钱包,用户是没有自己钱包的私钥的。

很多人去中心化思想影响比较深,认为什么都要去中心化,对中心化交易以及挖矿算力集中等比较排斥。实际上,链下钱包效率很高,可以实时到账,方便对接购物平台,国外很多商家就是对接coinbase的,国内的币付宝也有。链下钱包将私钥保管的责任交给钱包公司,用户不必过多地考虑私钥安全。

需要说明的是,链下钱包里的币,并不是比特币,而是信用币。钱包里的数字,并不表示你拥有这么多币,只是说明别人欠你这么多的比特币而已。

5、纸钱包和脑钱包

额外说说纸钱包和脑钱包。纸钱包和脑钱包并不是完整意义上的比特币钱包,因为使用纸钱包或脑钱包,你无法使用上面的比特币,发币时还得借助其他钱包导入私钥。纸钱包和脑钱包仅仅是保存比特币私钥的两种方式。

纸钱包,就是把比特币的私钥打印在纸上,然后保存起来,一般用于冷藏比特币,也可以作为本地钱包或在线钱包的私钥备份。如果生成、打印私钥的环境是安全的,那么纸钱包安全性是比较高的,成本也很低。但是要注意防火防水防盗,如果是热敏纸打印的,还要注意热敏纸字迹容易褪掉。

此外,私钥也可以备份在磁介质中。像U盘、SD卡的寿命都很长,质量好的保存几十年没问题,移动硬盘当然也可以,就是有些浪费。光盘***,但是容易氧化,质量普遍不高,可能几年就坏掉了。

其实,比特币是私钥就是一串数字和大小写字母的组合,50来个字符,如果记忆力强,硬硬地把它记住,也算是一种保存方式。不过,如果你忘了,比特币就永远找不回来了,变成了“脑残包”。

钱包首要的要求是安全,但是世界上没有绝对的安全。至于怎么“存”,就要看比特币拥有者自己的考量了。

责任编辑:未丽燕 来源: 《区块链杂谈》
相关推荐

2013-11-11 09:32:42

2013-11-10 17:03:56

2020-11-09 10:42:06

比特币钱包密码保护黑客

2013-08-12 14:04:52

AndroidAndroid漏洞比特币

2021-03-23 09:00:00

比特币加密货币安全

2015-11-18 10:44:54

2022-09-30 14:15:07

区块链比特币虚拟货币

2020-05-20 20:00:46

比特币数字货币区块链

2021-06-08 21:49:06

比特币区块链矿工

2020-11-27 09:45:38

比特币

2021-02-22 11:50:49

比特币加密货币美元

2016-10-17 19:41:49

2021-01-25 16:20:27

比特币互联网技术

2021-02-19 18:47:24

比特币加密货币区块链

2021-06-02 05:43:36

比特币虚拟货币区块链

2018-11-27 16:35:19

黑客JavaScript代码

2013-08-12 15:35:11

2021-01-15 13:31:25

加密货币密码比特币

2014-08-19 09:34:01

2018-08-07 10:35:23

数字资产存储
点赞
收藏

51CTO技术栈公众号