第10章 比特币安全保护比特币是很具有挑战性的事,因为比特币不像银行账户余额那样体现抽象价值。比特币其实更像数字现金或黄金。你可能听过这样的说法,“现实持有, 败一胜九。”好吧,在比特币的世界里,这样的持有只能让你有一成胜率。而只有拥有解锁比特币的密钥才相当于持有现金或一块贵重金属。你可能会将密钥丢失, 会放错地方,会被盗或者不小心错支了数额。无论是哪种场景,用户都没有办法撤回,因为这就像是将现金丢在了车水马龙的大街上。 10.1 安全准则比特币的核心准则是去中心化,这一点对安全性具有重要意义。在中心化的模式下,例如传统的银行或支付网络,需要依赖于访问控制和审查制度将不良行为 者拒之门外。相比之下,比特币这样的去中心化系统则将责任和控制权都移交给了用户。由于网络的安全性是基于工作量证明而非访问控制,比特币网络可以对所有 人开放,也无需对比特币流量进行加密。 10.1.1 比特币系统安全开发对于比特币开发者而言最重要的是去中心化原则。大多数开发者对中心化的安全模型很熟悉,并可能试图将中心化的模型运用到借鉴比特币的应用中去去,这将给比特币带来灭顶之灾。 10.1.2 信任根源传统的安全体系基于一个称为信任根源的概念,它指的总体系统或应用程序中一个可信赖的安全核心。安全体系像一圈同心圆一样围绕着信任根源来进行开 发,像层层包裹的洋葱一样,信任从内至外依次延伸。每一层都构建于更可信的内层之上,通过访问控制,数字签名,加密和其他安全方式确保可信。随着软件系统 变得越来越复杂,它们更可能出现问题,安全更容易受到威胁。其结果是,软件系统变得越复杂,就越难维护安全性。信任根源的概念确保绝大多数的信任被置于系 统一个不是过于复杂的部分,因此该系统的这部分也相对坚固,而更复杂的软件则在它之上构建。这样的安全体系随着规模扩大而不断重复出现,首先信任根源建立 于单个系统的硬件内,然后将该信任根源通过操作系统扩展到更高级别的系统服务,最后逐次扩散到圈内多台服务器上。 10.2 用户最佳安全实践人类使用物理的安全控制已经有数千年之久。相比之下,我们的数字化安全经验的年纪还不满50岁。现代通用的操作系统并不是十分安全,亦不特别适合用 来存储数字货币。我们的电脑通过一直连接的互联网长时间暴露在外,它们运行着成千上万第三方软件组件,这些软件往往可以不受约束地访问用户的文件。你电脑 上安装的众多软件只要有一个恶意软件,就会威胁到你的文件,可窃取你钱包里的所有比特币。想要杜绝病毒和木马对电脑的威胁,用户要达到一定的计算机维护水 平,只有小部分人能做到。 10.2.1 比特币物理存储相比数字信息的安全,大多数用户对物理安全更加熟悉,一个非常有效保护比特币的方法是,将它们转换为物理形式。比特币密钥不过是串长数字而已。这意 味着它们可以以物理形式存储起来,如印在纸上或蚀刻成金属硬币上。这样保护密钥就变成了简单地保护印着比特币密钥的物理实体。一组打印在纸上的比特币密钥 被称为“纸钱包”,有许多可以用来创建它们的免费工具。我个人将大部分(99%以上)的比特币存储在纸钱包上,并用BIP0038加密,复制了多份并锁在 保险箱里。将比特币离线保存被称为冷存储,它是最有效的安全技术之一。冷存储系统是在一个离线系统(一个从来没有连接过互联网的系统)上生成密钥,并离线 存储到纸上或者U盘等电子媒介。 10.2.2 硬件钱包从长远来看,比特币安全将越来越多地以硬件防篡改钱包的形式出现。与智能手机或台式电脑不同,一个比特币硬件钱包只有一个目的,安全地存储比特币。 不像容易受害的常用软件那样,硬件钱包只提供了有限的接口,从而可以给非专业用户提供近乎万无一失的安全等级。我预期将看到硬件钱包成为比特币储存的主要 方式。要想看硬件钱包的实例,请查阅Trezor。 10.2.3 平衡风险虽然大多数用户都非常关注比特币防盗,其实还有一个更大的风险存在。数据文件丢失的情况时有发生。如果比特币的数据也在其中,损失将会让人痛苦不 堪。为了保护好比特币钱包,用户必须非常注意不要剑走偏锋,这样不至于会搞丢比特币。在2011年7月,一个著名的比特币认知教育项目损失了近7,000 枚比特币。为了防止被盗窃,其主人曾之前采取了一系列复杂的操作去加密备份。结果他们不慎丢失了加密的密钥,使得备份变得毫无价值,白白失去了一大笔财 富。如果你保护比特币的方式太过了,这好比于把钱藏在沙漠里,你可能不能再把它找回来了。 10.2.4 分散风险你会将你的全部家当换成现金放在钱包里随身携带么?大多数人会认为这非常不明智,但比特币用户经常会将所有的比特币放在一个钱包里。用户应该将风险 分散到不同类型的比特币钱包。审慎的用户应该只留一小部分(或许低于5%)的比特币在一个在线的或手机钱包,就像零用钱一样,其余的部分应该采用不同存储 机制分散开来,诸如电脑钱包和离线(冷存储)钱包。 10.2.5 多重签名管理当一个公司或个人持有大量比特币时,他们应该考虑采用多重签名的比特币地址。多重签名比特币地址需要多个签名才能支付,从而保证资金的安全。多重签 名的密钥应存储在多个不同的地方,并由不同的人掌控。打个比方,在企业环境中,密钥应该分别生成并由若干公司管理人员持有,以确保没有任何一个人可以独自 占有资金。多重签名的地址也可以提供冗余,例如一个人持有多个密钥,并将它们分别存储在不同的地方。 10.2.6 存活能力一个非常重要却又常常被忽视的安全性考虑是可用性,尤其是在密钥持有者丧失工作能力或死亡的情况下。比特币的用户被告知应该使用复杂的密码,并保证 他们的密钥安全且不为他人所知。不幸的是,这种做法使得在用户无法解锁时,用户的家人几乎无法将该财产恢复。事实上,比特币用户的家人可能完全不知道这笔 比特币资金的存在。 10.3 总结比特币是一项全新的,前所未有的,复杂的技术。随着时间的推移,我们将开发出更好的安全工具,而且更容易被非专业人士使用的做法。而现在,比特币用户可以使用许多这里所讨论的技巧,享受安全而无困扰的比特币生活。 ==目录== 简介 |