比特币钱包使用建议

Unknown view 80 2014-2-19 02:21
share to
Scan QR code with WeChat

3ba66eeb5d5e30f76775afd736924786

大家经常性提到的比特币钱包,常指两样东西:一个是比特币钱包程序,一个是比特币钱包地址和对应的私钥。本文延用习惯性称呼,不刻意区分二者。

一、选择一款值得信赖的钱包

目前有多款比特币钱包可供选择:MultiBit、Armory、Electrum、在线钱包、Android钱包等等。这些钱包各有优势:瘦钱包不需要下载block chain,移动钱包方便交易支付。不过我还是推荐使用本地钱包bitcoin-qt。此时肯定有人会跳出来说:bitcoin-qt有block chain的BUG,会导致程序崩溃!是的,不得不承认它是有这样的问题,但对个人而言,block chain的BUG并不会让你的钱包私钥丢失,也就是说不会丢币,相比于之前Android钱包随机数生成漏洞造成丢币的问题来说真是无足轻重了。

bitcoin-qt使用OpenSSL库,OpenSSL是一个被广泛使用的开源的安全库,不存在所谓的随机数生成漏洞;bitcoin-qt自主生成钱包地址和私钥,自主保存私钥,不存在潜在的被他人控制的风险;bitcoin-qt用户群最为庞大,且有比特币世界最具权威的人在维护,最值得信赖。

凡是那种非自主生成钱包地址和私钥的钱包都需要提防;凡是那种要求导入私钥和密码的在线钱包都需要提防。总之一句话,自己保管私钥最安全。

二、不要把鸡蛋放在同一个篮子里

使用bitcoin-qt的过程中你可能感觉得到,它是鼓励大家同时使用多个钱包地址。通过bitcoin-qt可以很轻松地新建多个地址,为地址打上标签以区分比特币的不同收入来源。当比特币发送触发找零机制时,bitcoin-qt也是把找零的比特币发送回新的一个地址,而不是原地址。

这正是一种分散存放的思想,分散保存比特币于不同地址,这并不影响你的比特币总量,也不影响你进行比特币接收和发送(当然如果分得太细小,当你要支付一笔大额消费时可能需要支付更多一些的交易费),只要钱包文件没有丢失,你的比特币就尽在你的掌控之中。

为什么鼓励把比特币分散保存于不同的地址,我想是中本聪大神预见到以后可能出现的比特币寻宝机,一种通过随机猜测命中比特币地址同时取得私钥的机器,我称其为比特币终结者,我准备在下一篇文章《比特币终结者探索》里探讨这个问题。

三、别依赖他人生成的比特币地址和私钥

你们觉得@货币大叔的比特币地址帅不帅:1Bitcoin4yZjSSPoXUceJaiyQLABx7B2LL

还真有人就想要这样的地址,https://bitcointalk.org/index.php?topic=81865.0

如果你遇到有人向你兜售这样的地址,千万不要买!!!也可能有好心人送你一个这样的地址,千万不要用!!!你能保证他就不会备份私钥?如果他备份了私钥,你能保证他就一定不会取走你的比特币?用上别人提供的地址,你的资产状态可能被人监控,你的资产随时有可能被别人全部拿走。

如果你真的好想要一个这样的地址,那我只能说:你一定要自主生成!!!你问我怎么生成?哦,请参考:https://bitcointalk.org/index.php?topic=25804.0

vanitygen这个工具做得还是很强大的:支持正则表达式;支持从文件中读取一堆前缀进行匹配;支持多线程。祝你找到一个自己满意的地址哦!

四、加密你的电子钱包

记得前不久有人说一朋友电子钱包被盗了,损失了上百个比特币,其丢币的原因是自己的电子钱包没有加密。所以我在这里要特别强调:一定要对电子钱包加密!!!如果你的钱包加了密码,就算是被人得到的电子钱文件,他可以看到你的钱包里的钱,但他却只有干看着流口水的份!当他尝试发送的时候就会要求输入密码,此时他只能捶胸顿足吧。

当然你的密码要足够健壮哦,特殊符号+大写字母+小写字母+数字一个都不能少!至于密码位数嘛,bitcoin-qt推荐设置10位以上,我认为嘛,多一点比较好,比如我的密码有35位。肯定有人会说密码可能会忘记,那样所有的钱就全丢了,是吧。谁说一定要记了?!好记性不如烂笔头,你找个本儿记下来呀,然后把本儿放进你的保险柜里。还有一个方法,使用你最喜欢的单词配上特殊符号和数字,比如“Hello&World520Program@yeah”,这样就好记一些,又不失安全。

五、电子钱包备份与keypool

电子钱包要经常备份,这可能对于有一点比特币常识的人都知道。但是,电子钱包备份也可能不安全!长铗呼吁大家发送一次比特币就备份一次电子钱包,请参考:http://www.8btc.com/lost-large-number-of-bitcoins

这太惊弓之鸟了吧!我的建议是:搞明白keypool的原理,做到了然于心就能艺高人胆大了。

bitcoin-qt启动时如果在datadir中没有找到wallet.dat文件会自动生成至少100个私钥到keypool而形成wallet.dat文件。只有当发送比特币时触发了找零机制才会到keypool中找一个未使用的私钥和地址来接收找零。请参考:http://jingyan.baidu.com/article/19192ad84bcd54e53e570729.html

如果你的交易非常频繁,经常发送比特币触发找零机制,100个私钥的key pool是否太容易用完?如果是的话,那你可以根据你的实际使用情况适当调整keypool的大小,比如1000。更改keypool大小设置一般有两种方法:一种是在bitcoin.conf中设置keypool=1000,一种是在bitcoin-qt的入参中加入-keypool=1000。如果具体操作方法不清楚,可以参考BigChubbyCat的文章:http://www.8btc.com/disk,-keypool的设置类似于文章中的-datadir的设置。

设置好了keypool大小只是完成了第一步,此时你的电子钱包里还是只有100个私钥,还需要做一步操作,那就是到RPC控制台执行keypoolrefill命令。方法是菜单栏“帮助”->“调试窗口”->“控制台”,然后在命令输入框输入“keypoolrefill”回车执行。要不我还是截个图吧:

如果你已经加密了电子钱包,那这个命令会执行失败,显示“Error: Please enter the wallet passphrase with walletpassphrase first. (code -13)”,没有关系,先临时解锁你的电子钱包就好。方法与输入keypoolrefill一样,只是这个命令有参数,格式:walletpassphase <passphase> <timeout>,这里的<passphase>就是电子钱包的密码,<timeout>是超时时间,单位秒,超时时间到了之后电子钱包会再次加锁。示例:walletpassphase Hello&World520Program@yeah 480

多提一句,keypoolrefill命令会随你设置的keypool大小不同而需要不同的执行时间,不要以为程序死了,在执行过程中请耐心等待一会。

如果觉得本文对你有帮助,你可以捐助给作者:1MrPengJioxcJjnwvejM5GUv4tzC5gwrhW

作者:walker

来源:http://8btc.com/thread-736-1-1.html

btcfans公众号

Scan QR code with WeChat

From the Internet
Disclaimer:

Previous: 虚拟货币有哪些?近期热门虚拟货币汇总 Next: 比特币系统是如何运行的?

Related