比特币钱包分类与比较分析
钱包是比特币生态中最基础、最重要的应用,安全、易用的钱包,对比特币的推广和生态发展,极为重要。
比特币应用自去年开始爆发,现有钱包更是种类繁多,仅官网推荐的就有15种之多。各类钱包有不同的定位和优势。对于新手来说,了解各类钱包的优缺点,选择一款适合自己的钱包,是安全、方便、愉快玩币的前提。
一、 比特币钱包定义与分类
顾名思义,比特币钱包是用来存放、收发比特币的。但比特币本身只是一个数字,为什么比特币钱包里的这个数字就值钱,而我在一个文本文档或EXCEL表格中写个数字就一文不值,那是因为比特币的数字能够被全网认可,任何人都无法随意修改这一数字。保障这一点的,正是比特币钱包里存放的私钥。所以,准确地说,比特币钱包是用来存放比特币私钥的。
私钥如此重要,所以我根据私钥的存放方式,将钱包种类划分如下:
这个定义主要是指链上钱包,链下钱包并不具备上述功能。个人将比特币钱包定义为:用以安全存放比特币私钥,可以用私钥签名以发送比特币,并能够查询区块链显示比特币余额的软硬件设备。此外,像纸钱包和脑钱包只是用来保存私钥,本身无法发送和查看比特币,算是功能不完备的钱包。
钱包还可以有别的分类标准,比如可以分为手机钱包,PC端钱包,Web钱包等。个人认为钱包会更多的向移动化发展,基本的收发功能手机就可以搞定了。
二、 各类比特币钱包特点分析
比特币钱包的基本功能只有两个,一是安全地保存比特币私钥,二是用来收发比特币。那么这就涉及到钱包的两个最基本要求:安全性和易用性,除此之外,我们还需要考虑一下购买或使用成本。
巴比特站长@长铗 曾写过一篇《》(http://www.8btc.com/impossible-triangle),认为设计一款安全、环保,同时又去中心化的密码学货币是不可能。我们这里借用一下,在安全性、易用性和低成本之间,也构成一个不可能三角形:一个钱包,既要保证绝对安全,又要极其易用,还不需要用户掏钱,那是不可能的。
这个三角形大致描述了各类钱包的特点,下面我们来分别看一下。
1、冷钱包
冷钱包是非常安全的,但是成本较高,易用性差。像传统的Armory,一般要找一台不联网的电脑专门用于安装Armory离线端,成本不小,如果要发送交易,则需要用优盘在离线电脑和在线电脑之间来回导交易信息、签名数据,很是麻烦,而且U盘还存在传播木马病毒的风险。Trezor硬件钱包应该是个类似网银UKey的东东,上面有两个按钮,发币时可点同意或拒绝。
我们很高兴地看到,国内已经有团队在做冷钱包,而且较传统冷钱包进步很大。像比太钱包将冷钱包安装在闲置的旧手机上,不但成本低了不少,使用也很方便,配合在线手机的热钱包,相对本地钱包和在线钱包都极具竞争力;Hardbit则设计了专门硬件钱包;货王的团队也在做硬件钱包。
冷钱包也不是绝对安全的,硬件损坏、丢失,都可能造成比特币的损失,要做好备份。
2、本地钱包和在线钱包
接下来说说本地钱包和在线钱包,本地钱包的是装在自己的电脑或手机上,在线钱包则是将私钥加密后放在服务器上。个人的电脑有可能被植入木马,黑客可能盗取你的钱包文件,记录你的钱包口令;而钱包服务器也有可能被黑客攻陷,加密私钥存在被破解的风险。服务器安全防护做的比个人电脑要好一些,但也更容易引起黑客的注意,从安全性上来讲,我认为这两类钱包差不多。
在线钱包原理是,钱包在浏览器端使用用户的口令对私钥进行加密,加密之后传到服务器上保存,当需要使用时,从服务器上下载下来,在浏览器端进行解密。服务器上保存的是加密后的私钥,这就是在线钱包“不保存用户私钥”的由来,准确地说,应该是“不保存用户明文私钥”。
要加强本地钱包和在线钱包的安全性,最好设置一个较复杂的密码,并且,千万不要忘记。
本地钱包和在线钱包使用都比较方便,易用性强,在线钱包由于不受客户端限制,易用性比本地钱包能好一点。
3、多重签名钱包
多重签名钱包原理是这样的:取一个多重签名地址作为钱包地址,如果要动用这个地址上的币,必须有2个(或多个)私钥同时签名才可以。打个比方,就是一把锁,需要2把不同的钥匙一起用,才能打开。这样一来,我一把钥匙自己掌握(也可能是加密后托服务器保管,参看在线钱包),另一把交给服务器,如果只有一把钥匙被盗,黑客没有我本地的私钥。这样应该是多了一重安全。
但是,复杂流程带来了安全,往往也带来额外的风险隐患,比如我的本地私钥丢了怎么办?那连我自己也没法用了。怎么办呢?GreenAddress也很绝,它搞了一个未来交易(比特币协议自带的机制,使用nLockTime参数),这个交易在某个时间点之前,网络是不认的,一旦过了这个时间,比特币网络就可以把打包写进区块链。这样我只要再搞一个安全的比特币地址,把这个未来交易指向这个地址,万一丢一把钥匙,只要耐心等待未来交易生效就可以了。
多重签名机制看起来是更安全了,但易用性受到很大的影响,用户需要理解一些技术细节,还要保护好本地私钥和未来地址的私钥,学习和使用成本高了不少。另外,Armory也做了纯客户端的多重签名钱包。
4、链下钱包
链下钱包有点像交易所的账号,你把币存到交易所,交易所给你记上帐,当你给其他用户发送,收币发币是在交易所的账簿上加加减减,并没有真正写入比特币区块链。只有用户存币和提币的时候,才会发生链上交易。
链下钱包是纯粹中心化的钱包,用户是没有自己钱包的私钥的。很多比特粉受去中心化思想影响比较深,认为什么都要去中心化,对中心化交易以及挖矿算力集中等比较排斥。实际上,链下钱包效率很高,可以实时到账,方便对接购物平台,国外很多商家就是对接coinbase的,国内的币付宝也有。链下钱包将私钥保管的责任交给钱包公司,用户不必过多地考虑私钥安全。
需要说明的是,链下钱包里的币,并不是比特币,而是信用币。钱包里的数字,并不表示你拥有这么多币,只是说明别人欠你这么多的比特币而已。
5、纸钱包和脑钱包
额外再说说纸钱包和脑钱包。纸钱包和脑钱包并不是完整意义上的比特币钱包,因为使用纸钱包或脑钱包,你无法使用上面的比特币,发币时还得借助其他钱包导入私钥。纸钱包和脑钱包仅仅是保存比特币私钥的两种方式。
纸钱包,就是把比特币的私钥打印在纸上,然后保存起来,一般用于冷藏比特币,也可以作为本地钱包或在线钱包的私钥备份。如果生成、打印私钥的环境是安全的,那么纸钱包安全性是比较高的,成本也很低。但是要注意防火防水防盗,如果是热敏纸打印的,还要注意热敏纸字迹容易褪掉。
此外,私钥也可以备份在磁介质中。像U盘、SD卡的寿命都很长,质量好的保存几十年没问题,移动硬盘当然也可以,就是有些浪费。光盘最便宜,但是容易氧化,质量普遍不高,可能几年就坏掉了。
我们知道,比特币是私钥就是一串数字和大小写字母的组合,50来个字符,如果我记忆力强,硬硬地把它记住,也算是一种保存方式。不过这些字母数字毫无规律,要想一字不差的长时间记忆,一般人恐怕做不到。那我们可以找一种变通的方式,想一句你能记住的密语,这句话是只有你知道,而且很容易记忆的,比如你向女朋友表白时说的一句话,你觉得肯定忘不了而且一字不差,也没其他人知道,那可以用这句话做密语,通过数学计算转换为一组比特币的私钥和地址,就可以将比特币保存到你的脑子里了。如果你经常表白,那就算了吧。
因为人的想法总是有迹可循的,想一句任何人都猜不出的话并牢牢记住,也不那么容易。所以脑钱包并不那么安全,有人曾用生日做脑钱包进行测试,结果币刚转进去就被黑客转走了,如果忘记密语或者干脆失忆了,比特币就永远找不回来了,变成了“脑残包”。
三、 比特币钱包的选择
钱包首要的要求是安全,但是世界上没有绝对的安全。绝对的安全意味着绝对的高成本和绝对的不好用。绝对的安全是没有必要的,我们需要的是满足自己需求的相对安全。
如果你是比特币土豪,那大额比特币肯定建议冷储。对于数额不太大而且要频繁收发的比特币,本地钱包或者在线钱包都不错,在线钱包不受客户端限制,相对更灵活一些。本地钱包里,Bitcoin-QT(Bitcoin Core)是最经得起考验的,但需要下载完整区块链,普通用户用的已经比较少了。
如果你对技术比较了解,多重签名钱包也可以试试。如果经常用比特币购物,链下钱包有时候会很方便。对炒币达人来说,与交易所关系密切的钱包自然可以考虑,比如比特币中国的币加锁、火币的快钱包、Coinbase等。
对于比特币死多来说,把私钥做成纸钱包,或者存在U盘里锁起来,不仅安全,还能有效防止手贱卖币。
脑钱包一般情况下不推荐使用,因为人的思维和记忆总是不那么可靠,但是脑钱包在某些极端情况下非常有用,比如战争、严重自然灾害,以及某些人在某些情形下(请大家发挥想象力),没有人能够抢走你的币,你只需要做到5个字——打死也不说。
这样的选择介绍过于笼统,同一类钱包中的不同产品,其差异也是很大的。要找到一款适合自己的钱包,还需要大家在感兴趣的产品中亲自试用一番,切身感受一下。
四、 比特币钱包使用注意事项
要说比特币钱包使用注意事项,首先要说的就是坑爹的找零机制。简单说,找零机制是指,你从A地址向B地址发送一笔交易的时候,A地址剩余的币并不会全留在A,而是转移到一个新的地址C。
比如Bitcoin-QT
钱包,每次会生成100个地址,在你发送100次交易后,每个地址都可能被用过了,再找零时,钱包会自动生成一批新地址,如果新地址没有做好备份,本地钱包文件又不小心出问题的话,就可能导致丢币。找零机制本身应该是为了安全,但实际使用中意义不大,反而出现过多次因找零机制导致的人间惨剧。
为了避免找零机制使用不当造成损失,很多钱包都取消了找零功能
(就是把找零地址设置为源地址),这样就安全方便多了。找零机制应该作为比特币玩家安全必备常识。大家使用时一款新钱包时,一定要确认好找零的问题。
最后,对如果你是新用户,对比特币钱包使用还不太熟悉,那我再啰嗦几句:
1、每个钱包在熟练使用之前,请用小额测试。一定要做好备份,建议至少2个备份。
2、联网的钱包要设置一个较复杂的密码。
3、任何时候都不能忘记密码,如果怕忘记,可以在安全的地方记点提示。
4、在线钱包有谷歌二次验证的一定要开启。
5、避免下载使用来历不明的软件,尤其是比特币相关的软件。
6、不要把身家性命压在虚拟币上,也不要把全部币放在一个钱包。大额币建议冷储。
暂时能想到的这些,其他的有机会再补充吧。祝大家玩得开心,早点发(jie)财(tao)!
Scan QR code with WeChat