欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 经济金融

比特币钱包使用建议

科普小知识2022-03-24 04:47:17
...

比特币钱包使用建议

大家经常性提到的比特币钱包,常指两样东西:一个是比特币钱包程序,一个是比特币钱包地址和对应的私钥。本文延用习惯性称呼,不刻意区分二者。目前有多款比特币钱包可供选择: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也是把找零的比特币发送回新的一个地址,而不是原地址。

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

为什么鼓励把比特币分散保存于不同的地址,我想是中本聪大神预见到以后可能出现的比特币寻宝机,一种通过随机猜测命中比特币地址同时取得私钥的机器,我称其为比特币终结者,我准备在下一篇文章《比特币终结者探索》里探讨这个问题。你们觉得@货币大叔的比特币地址帅不帅:还真有人就想要这样的地址,https://bitcointalk.org/index.php?topic=81865.0

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

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

vanitygen这个工具做得还是很强大的:支持正则表达式;支持从文件中读取一堆前缀进行匹配;支持多线程。祝你找到一个自己满意的地址哦!记得前不久有人说一朋友电子钱包被盗了,损失了上百个比特币,其丢币的原因是自己的电子钱包没有加密。所以我在这里要特别强调:一定要对电子钱包加密!!!如果你的钱包加了密码,就算是被人得到的电子钱文件,他可以看到你的钱包里的钱,但他却只有干看着流口水的份!当他尝试发送的时候就会要求输入密码,此时他只能捶胸顿足吧。

当然你的密码要足够健壮哦,特殊符号+大写字母+小写字母+数字一个都不能少!至于密码位数嘛,bitcoin-qt推荐设置10位以上,我认为嘛,多一点比较好,比如我的密码有35位。肯定有人会说密码可能会忘记,那样所有的钱就全丢了,是吧。谁说一定要记了?!好记性不如烂笔头,你找个本儿记下来呀,然后把本儿放进你的保险柜里。还有一个方法,使用你最喜欢的单词配上特殊符号和数字,比如“Hello&World520Program@yeah”,这样就好记一些,又不失安全。电子钱包要经常备份,这可能对于有一点比特币常识的人都知道。但是,电子钱包备份也可能不安全!长铗呼吁大家发送一次比特币就备份一次电子钱包,请参考: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

这里的就是电子钱包的密码,是超时时间,单位秒,超时时间到了之后电子钱包会再次加锁。示例:walletpassphase Hello&World520Program@yeah 480

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