西笔居小说网 > 其他小说电子书 > 比特币:一个虚幻而真实的金融世界 >

第20章

比特币:一个虚幻而真实的金融世界-第20章

小说: 比特币:一个虚幻而真实的金融世界 字数: 每页3000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




以上种种问题都是钱包客户端的特性造成的。

/官方钱包客户端的风险/

首先要说明的是,所有的钱包客户端里面都没有比特币。从比特币的特性可知,它其实是流动在网上的一本大账本里面的数字。而比特币钱包里面存放的是用户的私钥,主要用来证明该用户对账本里的某个数字拥有所有权。每当用户要动用自己的比特币财产时,便动用钱包里某个地址的私钥进行签名,以向全网广播,证明地址里的比特币归他所有。

以官方钱包客户端Bitcoin…QT为例。该客户端存放比特币私钥的文件是Wallet。dat,一般Win8系统下的存放路径是C:Users电脑的用户名AppdataRoamingBitCoin(需要注意的是,一般Appdata是隐藏文件夹,需要修改系统设置使隐藏文件可见才能找到)。Wallet。dat的本质是一个私钥池,存放的是这个钱包的所有地址的私钥。有了这个文件,用户才能证明自己对钱包地址里的比特币的所有权。钱包风险其实可以分为以下几种情况。

一是,Wallet。dat文件被偷。这是最常见的钱包风险。如果用户的电脑被黑客入侵,Wallet。dat文件被黑客获取,那么黑客也同样对钱包里的地址拥有支配权。在用户尚未察觉之前,黑客就会把该地址所能支配的比特币统统转移。

二是,Wallet。dat文件丢失。这种情况并不少见。在未做好备份的情况下,误删了Wallet。dat文件,则用户所有的比特币都会丢失。与Wallet。dat被盗不同的是,在这种情况下,这些比特币从此只会在网络上如孤魂野鬼般游荡,不归任何人所有,因为唯一证明所有权的私钥已经永远消失。这些丢失的比特币会使现有的比特币总量变少。

三是,Walllet。dat备份出错。比特币钱包客户端的设置使得Wallet。dat文件的备份成为一个技术活,稍有不慎就会造成严重损失。

在初始状态下,Wallet。dat的私钥池里存有100个私钥。当“生成”一个新地址时,客户端其实并没有真的产生一个新地址和对应的私钥,而只是从私钥池里取出一个使用,同时再生成一个(真正意义上的)新的私钥和地址并放进私钥池里,使未使用的私钥数量保持在100个。

而使问题变得更复杂的是客户端本身的找零机制设置。依照比特币本身的规则,一个地址上的比特币在支付的时候必须全部支出,除向另一个地址支付比特币外,剩余金额再重新支付给原地址(见图3)。

图3 交易示意图

17C的地址里之前有0。189 006 7个比特币,当17C的拥有者发出向18y的地址支付0。1个比特币的指令后,系统会将17C地址里的0。189 006 7个比特币全部取出,并将其中的0。1个比特币转入18y的地址里,剩余的0。089 006 7个比特币重新打回17C。

而客户端出于保护用户匿名性的考虑,并不会将余额打回原地址,而是从私钥池里取出一个新地址并将余额打进去。在缺省设置下,这个地址并不会显示在客户端的界面里。

所以,用户每进行一次交易,私钥池里原有的私钥就被取出一个,同时又有新的私钥补充进去。如果用户对Wallet。dat进行备份之后完成了100次交易,那么私钥池里的原有的全部私钥就都用完了,接下来使用的都是未曾备份的新私钥。使用新私钥完成交易之后,如果用户用原来的备份文件进行恢复,那么所有未备份的新私钥都会丢失,而这些新地址里的比特币也会随之丢失。

/解决方法:增加钱包安全/

就增强钱包的安全性而言,以下几种方法颇为有效:

一是,离线钱包。私钥的功能在于证明自己拥有某个地址里的比特币的所有权,其作用方式是对交易单进行签名,根本不需要放在联网的电脑里。离线钱包应运而生,这是储存比特币最安全可靠的方法。

关于离线钱包的使用方法,网上已有完整的教程,搜索“Armory离线钱包教学”即可找到。其主要原理是,将私钥放置在一台永不联网的电脑里,将钱包存放比特币的地址放置在联网的电脑里。由于联网的电脑没有私钥,所有交易单在联网电脑里下单后,需通过U盘(移动存储设备)拿到离线的电脑上进行私钥签名,再拿回联网的电脑进行全网广播并确认交易。存放私钥的电脑全程都不会接触到网络,所以可以保证私钥的绝对安全。

二是,纸钱包和脑钱包。所谓纸钱包,其实就是把私钥印在纸张上。纸钱包的好处显而易见:实物的纸张远比U盘或硬盘可靠,可以有效躲避黑客的盗取。主要缺点就是使用的时候,需要先用客户端导入私钥。纸钱包主要适合储存大额的、近期不打算使用的比特币。

脑钱包的产生机制则是从比特币地址和公私钥的算法推导出来的。根据比特币的算法,通过任何一个单词或短语都可以产生一对独一无二的公私钥和比特币地址。所以,用户只需要记住随意一句话,便可以通过这句话导出一个专门的比特币地址和私钥。这句话就是所谓的脑钱包。

如果使用得当,纸钱包和脑钱包的安全系数都非常高,但还有要注意的地方。

一是,脑钱包密码的复杂度。因为银行等机构的关系,人们习惯了4~6位的密码。他们想当然地认为脑钱包的密码也只需6位数即可,但他们错了。银行和网站有专门的系统来保护用户资料,不允许黑客多次尝试密码;而比特币的所有地址都在网上公开可查。黑客可以不断试错,直至找到对应的私钥。那么,找到一个6位密码对应的私钥需要多久呢?密码应该使用数字、大小写字母和符号,那么每一个密码的可能性有95种字符(26个大写字母、26个小写字母、10个数字、33个符号),6位密码的组合有A(95,6),即大约8。6亿种可能性。这个数字看起来似乎很大,但实际上一台普通的计算机用2。5分钟就可以遍历全部结果。

从理论上说,8位数以上的包含95种字符的密码应该是安全的,因为按照目前的计算机速度,暴力穷举法对8位以上的密码基本上无能为力。但问题是,人脑很难想出一个完全随机的8位密码。我们能想到的密码总是跟我们日常思维习惯有着千丝万缕的关系,黑客们一般都有一本密码词典,上面记载了各种可能的密码组合。通过这种方法,破解一个8位的普通密码通常只需要几分钟时间。

如果你觉得自己想出来的密码足够复杂、可靠,不妨先来看看以下被黑客破解出来的密码:

k1araj0hns0n

Sh1a…labe0uf

Apr!1221973

Qbesancon321

DG091101%

所以,依靠人脑想出一个可靠的脑钱包密码的难度非常高。相对安全的脑钱包密码的要求是:足够长,40位或以上,防止被暴力穷举法破解;别人不容易猜到;对你来说,很容易记得。

一种比较好的方法是“掺盐”,即在原有用户密码的基础上加入一个随机密码。很多网页都有生成随机密码的功能。用户可以首先生成一个20位的随机密码,将该密码用各种方式保存下来(比如,文本打印、加密压缩并进行云存储等),然后将该密码与原有密码组合在一起,生成一个新的脑钱包密码。这样一来,该账户基本可以说是安全了。即使黑客破解了你的常用密码或者随机密码,他也无法轻易获得你的脑钱包密码。

另一个好方法则是从电子书里选一段你最喜欢的话。比如,我很喜欢林达的《西班牙旅行笔记》,决定用书里第35页的第三段作为我的脑钱包密码,那么我要记得的就是本书第35页第三段这一信息而已,而任何人几乎都无法猜到我这种带有强烈个人特点的脑钱包密码。

二是,找零机制的注意事项。纸钱包和脑钱包在存储比特币方面表现一流,但在支付时却有些麻烦。如果选择用Blockchain客户端,将纸钱包或脑钱包的地址放在上面,那么支付时就可以直接输入私钥并调用这些资金。但对于有强烈安全需求的人来说,一旦一个私钥在网上被输入过,那么这个对应的地址就不再安全了。因此,除非是需要动用钱包里的全部资金,一般来说不推荐在Blockchain客户端导入私钥进行支付。

另一种方法是使用Bitcoin…QT等钱包客户端。导入私钥后,纸钱包或脑钱包里的钱就成了你钱包客户端里的一部分,使用方法跟平常并没有什么区别。但由于之前提过的找零机制的存在,纸钱包或脑钱包导入私钥并完成一次支付后,原来钱包里的比特币余额将全部转移到客户端的另一个隐藏地址。如果需要将其重新放回钱包,还需要再进行一次支付,将余额打回原来的地址。曾经有用户在通过客户端导入脑钱包私钥完成支付后,随手将客户端的Wallet。dat文件删除,导致余额全部消失,损失巨大。

区块链的内容合法问题

在之前的故事里,长人和店主都会将全部区块链信息下载到自己的本地硬盘里并及时更新区块链信息。但区块链里有时不仅存有交易信息,还存在其他一些奇怪的、可能违反当地法律的内容。

这似乎并不算什么问题,但在很多国家,这是一个严肃的法律问题。

比特币交易里是允许嵌入一小段信息的,比如一段话或一段代码,但之前曾有用户将一张儿童的色情图片的代码上传到了区块链里,只要通过一定的解码软件,这段代码就可以转换成图片。

问题来了:在很多国家,在知情的情况下以任何形式保有儿童色情图片都是违法的。比特币当下的属性决定了每一个用户都必须把全部区块链信息都下载到自己的电脑里,那么实质上,每个比特币用户都以某种形式存放了一些违禁内容。设想如果上传的色情内容足够耸人听闻,那么比特币用户很难辩称自己并不知道区块链内有违禁信息。对于立法者来说,这是一个无法回避且必须认真面对的问题。

SHA…256被破解了怎么办

整个比特币的安全核心在于SHA…2

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的