没有绝对的安全……
说交易所不安全,主要是交易所没有监管,涉嫌操纵市场,2013 年比特币的“大牛市”和 MtGox 的 Willy bot 听说过不?现在的 Bitfinex 和 USDT 被很多人怀疑是 MtGox 的昨日重现。
而且比特币的意识形态是反对交易所这种“中心化比特币银行”的(然并卵,还是很多人只顾着炒,对比特币的那套意识形态并不领情)。
对于比特币有一种批评,针对的就是“做你自己的银行”( be your own bank )这种口号——私钥就像金条一样,是不认人的,一旦被盗,谁拿到就是谁的,甚至比金条更容易被偷走。甚至可以说私钥保存起来更麻烦,因为它很容易因为泡水、着火、找不着等原因而永久丢失。
我记得有人就决定把记录私钥的介质托管给银行的保管箱。
Copay 多重签名钱包(是 BitPay 公司做的)前一阵子受到“软件供应链攻击”,黑客骗到了一个被这个钱包引用的 NPM 库的管理权,然后注入了恶意代码,然后 Copay 钱包在一次更新后就包含了恶意代码,让黑客成功偷到了不少币。
最近还爆出 Electrum 钱包被人实施钓鱼攻击,黑客也成功偷到了很多币。Electrum 钱包的服务器并不是开发者负责维护管理的,也是一个自由进出的网络,任何人都可以自由开设自己的服务器并加入网络。这个设定很去中心化,但是,Electrum 钱包的代码存在一个问题:它会直接显示钱包服务器传回来的报错消息(而且还是图文并茂的 HTML )。所以,就有黑客瞄准了这个弱点,搞起一堆钱包服务器,然后给用户弹窗警告“钱包有漏洞!需要升级!”,骗用户去下载带后门的假钱包。
硬件钱包可能看上去要相对好一些,因为它和外界不联网,软硬件环境都比较简单,使用也比较方便,然而最近还是有安全研究者全方位报告了硬件钱包在各个层面上的安全问题: https://wallet.fail/
现在都认为硬件钱包光靠一个 PIN 可能是守不住里面保存的私钥的,一旦被黑客物理接触,就可能被破解提取私钥。所以还是再加一个 passphrase 才更安全,用起来类似于独立密码的隐藏账户(貌似最近比特派钱包就支持了这个早该被支持的功能,他们管这个叫“密码账户”)。然而 passphrase 还是面临一样的问题:一旦忘了,就无法找回。
还有不少用户只认 Bitcoin Core “官方”钱包,在离线环境用它生成单个私钥,然后再用手抄等方法记下——然而,这种方法容易犯错导致丢币,尤其是历史悠久的“找零丢币”梗,专门坑这种强迫症用户。网上貌似有很多地方都说“现在的钱包都是 HD 了,所以找零丢币已经是历史了”——实际上显然并非如此,去年就有人中招了,苦主表示一下子丢了一大笔钱:
https://github.com/bitcoin/bitcoin/issues/11827