按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
密压缩并进行云存储等),然后将该密码与原有密码组合在一起,生成一个新的脑钱包密码。这样一来,该账户基本可以说是安全了。即使黑客破解了你的常用密码或者随机密码,他也无法轻易获得你的脑钱包密码。
另一个好方法则是从电子书里选一段你最喜欢的话。比如,我很喜欢林达的《西班牙旅行笔记》,决定用书里第35页的第三段作为我的脑钱包密码,那么我要记得的就是本书第35页第三段这一信息而已,而任何人几乎都无法猜到我这种带有强烈个人特点的脑钱包密码。
二是,找零机制的注意事项。纸钱包和脑钱包在存储比特币方面表现一流,但在支付时却有些麻烦。如果选择用Blockchain客户端,将纸钱包或脑钱包的地址放在上面,那么支付时就可以直接输入私钥并调用这些资金。但对于有强烈安全需求的人来说,一旦一个私钥在网上被输入过,那么这个对应的地址就不再安全了。因此,除非是需要动用钱包里的全部资金,一般来说不推荐在Blockchain客户端导入私钥进行支付。
另一种方法是使用Bitcoin…QT等钱包客户端。导入私钥后,纸钱包或脑钱包里的钱就成了你钱包客户端里的一部分,使用方法跟平常并没有什么区别。但由于之前提过的找零机制的存在,纸钱包或脑钱包导入私钥并完成一次支付后,原来钱包里的比特币余额将全部转移到客户端的另一个隐藏地址。如果需要将其重新放回钱包,还需要再进行一次支付,将余额打回原来的地址。曾经有用户在通过客户端导入脑钱包私钥完成支付后,随手将客户端的Wallet。dat文件删除,导致余额全部消失,损失巨大。
区块链的内容合法问题
在之前的故事里,长人和店主都会将全部区块链信息下载到自己的本地硬盘里并及时更新区块链信息。但区块链里有时不仅存有交易信息,还存在其他一些奇怪的、可能违反当地法律的内容。
这似乎并不算什么问题,但在很多国家,这是一个严肃的法律问题。
比特币交易里是允许嵌入一小段信息的,比如一段话或一段代码,但之前曾有用户将一张儿童的色情图片的代码上传到了区块链里,只要通过一定的解码软件,这段代码就可以转换成图片。
问题来了:在很多国家,在知情的情况下以任何形式保有儿童色情图片都是违法的。比特币当下的属性决定了每一个用户都必须把全部区块链信息都下载到自己的电脑里,那么实质上,每个比特币用户都以某种形式存放了一些违禁内容。设想如果上传的色情内容足够耸人听闻,那么比特币用户很难辩称自己并不知道区块链内有违禁信息。对于立法者来说,这是一个无法回避且必须认真面对的问题。
SHA…256被破解了怎么办
整个比特币的安全核心在于SHA…256安全散列演算法。根据维基百科的定义,SHA…256及其他SHA算法能计算出一个数字信息所对应的长度固定的字符串。输入的信息不同,对应的字符串也极有可能不相同。SHA…256被称作安全算法,主要基于以下两点:第一,由信息摘要反推原输入信息,从计算理论上来说是很困难的。第二,想要找到两组不同的信息对应到相同的信息摘要,从计算理论上来说也是很困难的。任何对输入信息的变动都极有可能导致其产生的信息摘要迥异。
在整个比特币交易过程中,有几个地方会使用到SHA…256算法,其中最重要的莫过于挖矿。一笔交易要经矿工们确认有效后才能放入区块进行全网广播,而区块的产生则是一个寻找随机数以计算特定散列值的过程。矿工们在挖矿时需要依靠强大的算力不断尝试,平均耗时10分钟才能找到该随机数。这个所谓的工作量证明的机制保证了无人可伪造或重复任何交易。
如果SHA…256算法被破解,那么攻击者可以从两组不同的信息推出相同的信息摘要。也就是说,他可在极短的时间内找到该随机数,从而快速产生区块。在这种情况下,基于工作量证明的比特币安全机制也就形同虚设了。
不过,最严重的后果并不太可能发生。首先要说明的是,SHA…256算法目前被公认为最难破解的算法之一,因此也被银行、军队等对安全度要求极高的机构采用。如果SHA…256被破解,那么首当其冲的绝对不是比特币。
而当前网上对于SHA…256算法可能被破解的担忧,主要来自于此前MD5被破解一事。2004年,山东大学教授王小云公布了MD5的破解报告。需要说明的是,这一报告只是证明存在一种可以产生强特定碰撞的方法,但要伪造数字签名则必须能够产生弱特定碰撞。因此,MD5实际上并没有被真正破解,更不用说比MD5安全度更高的SHA…256了。担心SHA…256被破解而引致比特币的毁灭实属杞人忧天。
不过,探讨一下在遥远的将来SHA…256被破解的可能性,也是一件有趣的事情。如果SHA…256真的被破解,姑且不论这事会对银行和军事安全产生什么影响,单就比特币社区而言,会产生什么后果?
事实上,中本聪早已回复过这个问题。2010年6月14日,他在比特币官方论坛的一个帖子里分两种情形进行了讨论:一种是SHA…256被突然宣布破解成功,在这种情况下,比特币社区的大部分用户可以决定,在某个区块之前的所有区块属于“诚实”区块并予以承认,在该区块以后重新使用新算法挖矿。另一种情况则是SHA…256没有被突然破解,而只是发现了隐患,因此转换可以逐步进行。使用新算法的客户端将被提前开发,并约定在某一个区块之后开始实行,所有用户将在该区块被开采出来之前更新客户端。
从以往的经验来看,大部分加密算法都是逐步发现漏洞,并在一段较长的时间内被其他算法替代的。因此,最有可能发生的情形是,比特币采用的SHA…256算法在未来5~10年内开始发现能产生强特定碰撞的方法,并被宣布为不安全算法,而比特币社区也因此从某个时间段开始统一使用新算法的客户端,实现平稳过渡。
如果遭遇51%攻击怎么办
51%攻击是从比特币成立的那天起就有人担心的问题。在比特币体系中,交易信息存储在区块链里。长人和店主的新交易放在了宋欢平新开采出的区块里,而这个区块则位于之前最长的那条区块链的末端。一般来说,区块链都是一串直线的连续区块组合,但在一些特殊情形下,区块链会产生“分叉”,即在区块链的末端出现了两个互相冲突的区块。在这个例子里,我们假设一个区块里包含的交易信息是长人支付了10个比特币给店主;而在另一个区块里,交易信息则是长人将10个比特币发给了他自己的另一个地址。当冲突区块出现时,比特币网络将投票决定哪一个交易是有效的,投票方法就是每一个矿工在其认为有效的区块后继续开采新区块,而最终最长的那条区块链将被认定是唯一有效的。
如果长人足够聪明,也有足够的算力,他就会将支付给店主的比特币同时支付给自己。而因为他的算力超过了50%,从长远来看,他能够比其他人更快地找到开采区块需要的那个随机数,因此,长人实际上拥有了决定哪一个区块有效的权力。
当一个攻击者控制了全网50%以上的算力,从他掌握控制权的那一刻起,他能够:
修改自己的交易记录,这可以使他进行双重支付。
阻止区块确认部分或者全部交易。
阻止部分或全部矿工开采到任何有效的区块。
他无法做到的是:
修改其他人的交易记录。
阻止交易被发出去(交易会被发出,只是显示0个确认而已)。
改变每个区块产生的比特币数量。
凭空产生比特币。
把不属于他的比特币发送给自己或其他人。
无论从哪个角度看,51%攻击已经不算比特币的一个大问题了。
第一,51%攻击是比特币世界最古老也最著名的攻击方式,每个人都在关注,而且知道相应的应对措施。
第二,矿机的出现使得比特币挖矿的算力获得了大幅提升。在当前超过100T的算力下,任何个人或机构都几乎不可能制造51%攻击。
综合上述情形,潜在的51%攻击只可能来自于某个政府机构,集全国之力秘密造出一台超级计算机,以期击溃比特币,挽救自己的货币发行体系。但这依然是不太可能发生的事。并非所有政府都天然对比特币怀有敌意,即使某个政府拥有了51%攻击的能力,它会