确保比特币安全是一件有挑战的事情。因为比特币不是抽象的价值参考(例如银行帐户的余额),而更像是一种数字现金(货币)或黄金。你可能听过这样的谚语:现实占有,九胜一败。而对比特币而言,拥有能够解锁比特币(即私钥)的钥匙等价于对现金或贵金属的所有权。你可能会丢失,放错位置,被盗,转错帐。在这些情况下,用户都没办法找回比特币,就像你把现金丢到马路上一样。找回的概率渺茫。
但是,比特币具有现金,黄金和银行账户不具备的能力。 包含您的密钥的比特币钱包可以像任何文件一样备份。 它可以存储在多个副本中,甚至可以打印在纸张上进行硬拷贝备份。现金,黄金是不能备份的。
所以,比特币与之前的任何事情都不相同,我们需要以一种新颖的方式来思考比特币安全。
安全原则
比特币网络本身是安全的,开放的;用户需要保护好私钥
比特币系统的核心原则是去中心化。这对安全性有重要影响。传统的银行或支付网络等中心化模型依赖于访问控制和审查,以防止不良操作者破坏系统。相比之下,像比特币这样的去中心化系统将责任和控制推了用户。由于网络的安全性基于工作量证明,而不是访问控制,因此网络可以打开,并且比特币流量不需要加密。
在传统的支付网络上,例如信用卡系统,付款是开放式的,因为它包含用户的私人标识符(信用卡号码)。在首次收费后,任何能够使用该标识符的人都可以“拉”资金并一次又一次地向业主收费。 因此,支付网络必须通过加密进行端对端安全保护,并且必须确保没有窃听者或中间人可以危害付款数据,在传输途中或存储时(静止时)。 如果一个不良行为者获得访问系统的权限,他可以危害当前可用于创建新交易的交易和支付令牌。更糟糕的是,当客户数据遭到破坏时,客户面临身份盗用的风险,必须采取措施防止欺诈性使用被盗用的账户。
比特币有很大的不同。 比特币交易仅向特定收件人授予特定价值,不能伪造或修改。它不会透露任何隐私信息,例如当事人的身份,也不能用于授权额外付款。 因此,比特币支付网络不需要加密或防止窃听。事实上,您可以通过开放的公共频道(例如不安全的WiFi或蓝牙)来广播比特币交易,同时不会降低安全性。
比特币的去中心化安全模型为用户提供了大量权力。 用户有了这个权力就有责任维护钥匙的保密性。 对于大多数用户来说,这并不容易,特别是在通用计算设备上,例如连接互联网的智能手机或笔记本电脑。 虽然比特币的去中心化模型可以防止出现类似信用卡的大规模危机,但许多用户无法充分保护他们的密钥并一个接一个地被黑客入侵。
开发安全的比特币系统
比特币开发者最重要的原则是去中心化(分权)。 大多数开发人员都会熟悉中心化安全模型,并可能试图将这些模型应用到他们的比特币应用程序中,从而带来灾难性后果。
比特币的安全性依赖于对密钥的去中心化以及矿工进行的独立的交易验证。如果你想利用比特币的安全性,你需要确保你位于比特币安全模型中。
简而言之:不要接管用户的密钥,也不要在链下交易。
例如,许多早期的比特币交易所将所有用户资金集中在单个“热”钱包中,所有密钥则存储在单个服务器上。 这种设计剥夺了用户的控制权,并将控制中心化。 许多此类系统已被黑客入侵,对客户造成灾难性后果。
另一个常见的错误是,为了减少交易费用或加速交易处理,错误地将交易放到链下进行。 一个“链下”系统将在内部的集中式分类帐上记录交易,并且仅偶尔将它们同步到比特币区块链。这种做法再次以专有和中心化的方式取代了去中心化的比特币。 当交易链下进行时,不安全的中心化帐本可能被伪造,导致资金流失和储备枯竭。
信任之源
传统的安全架构是基于信任根的概念。安全架构围绕信任根发展起来,是一系列同心圆,从中心向外层蔓延。每层都使用访问控制、数字签名、加密等手段。
比特币安全架构不同。在比特币中,共识系统创建了一个完全去中心化的可信公共账本。经过正确验证的区块链使用创世区块作为信任根,构建一个直至当前区块的信任链。比特币系统可以也应该使用区块链作为他们的信任根。在设计由许多不同系统上的服务组成的复杂比特币应用程序时,您应仔细检查安全架构,以确定信任处在合适的位置。最终,唯一应该明确信任的是完全验证的区块链。如果您的应用程序明确或隐含地信任除区块链之外的任何其他信息,那么应该引起关注,因为它会引入漏洞。评估应用程序的安全体系结构的一个好方法是考虑每个单独的组件并评估一个假想的场景,其中该组件完全受到攻击并处于恶意行为者的控制之下。依次采取应用程序的每个组件,并在组件受到危害时评估对整体安全性的影响。如果您的应用程序在组件受损时不再安全,则表明您错误地信任这些组件。
被黑客入侵的比特币交易所的众多例子有助于强调这一点,因为即使在最偶然的审查下,他们的安全架构和设计也失败了。 这些集中式实施已经将信任明确地投入到比特币区块链以外的众多组件中,比如热钱包,集中账本数据库,易受攻击的加密密钥以及类似的模式。
用户安全最佳实战
物理存储
把密钥存储到物理设备上,诸如纸、金属硬币等。通常纸钱包是成本最低的,但请使用BIP-38加密你的密钥然后再打印成纸钱包。而保持比特币离线则被称为冷存储。这也是最有效的安全措施之一。冷存储系统是一个可以离线生成密钥并打印到纸上或存储到数字设备上,如U盘。
硬件钱包
从长远来看,比特币安全性越来越多地采取硬件防篡改钱包的形式。与智能手机或台式电脑不同,比特币硬件钱包只有一个目的:安全地持有比特币。 如果没有通用软件进行妥协并且接口有限,硬件钱包可以为非专业用户提供几乎万无一失的安全级别。我期望看到硬件钱包成为比特币存储的主要方法。 有关此类硬件钱包的示例,请参阅Trezor。
平衡风险
就像把它藏在沙漠中一样,如果你的比特币安全过头,你可能无法再找到它。
分散风险
如果把所有的蛋放到一个篮子里,那风险是非常高的。建议用户将比特币分散在几个钱包中。比如,5%的比特币保留在热钱包中(如手机钱包)。剩下的应该分成不同的存储机制,如纸钱包和离线存储。
生存能力
设想一下,你有很多比特币,但你突然失去行为能力或者发生了不幸。但你之前一直遵循不要告诉任何人的教诲。你的家人则不可能拿回资金的。
所以,如果你有较多的比特币,你应该考虑和一个值得信任的人或律师分享细节。一个更复杂的方式是通过专门担任“数字资产执行人”的律师进行遗产规划。