您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 比特币钱包的安全使用和完美备份
第1页共36页比特币钱包的安全使用和完美备份by江枫晚霞一、一句千金——使用无法被爆力破解的最高安全性的脑钱包1、脑钱包简介在比特币的世界里,比特币地址(格式类似这样:1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T)相当于银行帐号,比特币私钥(格式类似这样:5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS)相当于开启这个帐号的密码,一个地址(帐号)对应一个私钥(密码)。只知道比特币地址是不能得知比特币私钥的,也是无法动用里面的比特币的,这和你知道别人的银行帐号但不知道别人的帐号密码不能取款和转账一样。但是和银行不一样的是,知道了比特币私钥却可以得知其比特币地址,并且能对该地址下的比特币进行转账,也就是说获得比特币私钥就拥有了该私钥和地址下的比特币的完全控制权——私钥就是一切!所以如果1:你弄丢了你的比特币私钥;或2:你的比特币私钥给别人知道了,你该地址下的比特币也就完蛋了:要么永远动用不了地址上的比特币,要么被知道你的私钥的人转走。等等,这些好像和你一直在用的比特币客户端比如Bitcoin-QT不一样,你可能都不用涉及到私钥的概念。那是因为私钥都包含在钱包文件wallet.dat里面了,平时我们所指的备份钱包就是备份这个存有私钥的文件。如果你想进阶到一个更高的使用比特币的水平,私钥的概念是必须了解并掌握的,其带来的优势也是很明显的,比如你可以不再依赖钱包文件,不局限于某个客户端,可以用各种不同的客户端(最好是比特币官网上有推荐的)导入私钥使用里面的比特币,并可用完即删除以防止比特币被盗。现在我假设通过上面的解释,你已经清楚比特币的地址和私钥的概念,接下来我们来了解脑钱包。我们都知道,比特币的地址(帐号)和私钥(密码)都是很长的一串字符,光靠脑子记忆是行不通的。比特币地址倒没关系,你可以写下来发给要转账给你的人,让他转账给你。但你不能泄露或丢失你的比特币私钥,否则该地址下的比特币你会被转走或没永远用不了。为了保证不泄露或丢失比特币私钥你可能会把密钥打印出来(这就是纸钱包了)并保存在一个高度安全的地方,比如存进银行保险箱、藏在你家床底下、或在你家院子里(如果有的话)挖个洞埋起来……但是,这也太麻烦了,幸好我们还有另一种选择:脑钱包。现在想象一下,有这样的一个工具:你可以用一句话做为暗号在该工具上生成一个比特币地址和对应的一个私钥(这就是脑钱包了),你可以用这个生成的地址来接收比特币,用这个生成的私钥来转账,你不必记住私钥也不必把私钥打印下来,每次需要用比特币的时候就用这句暗号去这个工具上把私钥再生成一遍,使用完了再在客户端上把私钥删除。你所需要做的只是:确保记住这句暗号(李笑来老师提醒脑钱包有风险:一个不小心摔成脑震荡。。。这个等一下我们有办法解决)。这是很酷的一件事情!2、选择脑钱包暗号的原则原则1:字符足够多以防止被爆力破解;原则2:对别人来说特别不容易猜出来;原则3:对你自己来说特别容易记起来;这就是我们选择脑钱包暗号的原则。基于这3个原则我即兴选择一句暗号:2010年我读了一本书,书名叫《把时间当作朋友》,我特别认同181页的内容。第2页共36页这样字符够多了;同时这句话里面包含了很多个人独特的经历,对我自己来说也很容易记得;对别人来说却不容易猜:他要猜到2010年还要猜到是读一本书,而且还要猜到书名,还要猜到我认同181页——Mission:Impossible.基于这个3个原则,选择自己的暗号吧,接下来我们要看看具体如何生成脑钱包了。3、生成脑钱包的工具其实生成脑钱包的工具就是一个有JavaScript的网页。用chrome或firefox登录,然后如果你像我这样强迫症,非要让自己的私钥从生成到使用都不接触网络,以最大限度的避免被盗的话,在网页上点击右键,把这个网页另存为下来(这其实很必要,你以后可以离线用这个工具了)。具体见图1.1:图1.14、生成脑钱包现在假设你已经保存好这个网页,并且复制到离线的电脑上用chrome打开。以下是生成脑钱包的具体操作:第一步:点击网页菜单上的BrainWallet,并选中EnterPassphrase输入框后面的Show;第二步:输入暗号,这里我用刚刚即兴选择的那一句;第三步:点击Show下面View按钮生成私钥和地址;就可以看到生成的私钥和地址啦!!!地址:1Fd8zmErZRccNUmG3pjcys887Uqt5QMA1v第3页共36页私钥:5JueocrCHvCpqsV45DiFiUXKG6nB61MpYTd35PH2phhkVTWnK6Z细节见图1.2:图1.25、如何生成无法被爆力破解的最高安全性的脑钱包我们的主题是“使用无法被爆力破解的最高安全性的脑钱包”,按道理说如果你是一个正常人,这种暗号这样的安全性也就够了,很少概率会被猜到或破解了。不过如果你是像我这么严重强迫症的家伙,下面的内容你一定要知道并应用。无法被爆力破解的最高安全性的脑钱包其实就是用两句暗号分别生成两对私钥和地址,再用这两对私钥相乘(地址不用),生成一对新的私钥和地址。例如我用刚刚的那句暗号(我们叫它暗号1):“2010年我读了一本书,书名叫《把时间当作朋友》,我特别认同181页的内容。”生成了私钥1:5JueocrCHvCpqsV45DiFiUXKG6nB61MpYTd35PH2phhkVTWnK6Z现在我在选多一句暗号(暗号2)“我12岁那年和黄小明打了一架,我左手脱臼他头破血流,但是我们现在是朋友。”按刚刚的方法生成了另一对私钥(私钥2)和地址:地址:1D4JjK3dM46mFqDFfxB8KJWCk4xHNFaJ4Y私钥:5JznMx1b3YKQMSGGnz7QpMZ2zvvk9ckGHHhjt96HoCbkX4PWkqH第4页共36页接着我们把私钥1:5JueocrCHvCpqsV45DiFiUXKG6nB61MpYTd35PH2phhkVTWnK6Z和私钥2:5JznMx1b3YKQMSGGnz7QpMZ2zvvk9ckGHHhjt96HoCbkX4PWkqH生成一对新的私钥和地址:地址:1GyvtsBgXti8FhqmNv7HjT38V8msKxWoxf私钥:5JSbvC1GNb74jDjdijY5XnhNcfbngaTAaHavchkn3JdHnnzQ4Kh具体操作步骤是:第一步:点击网页菜单上的VanityWallet;第二步:分别复制私钥1和私钥2(地址不用)到网页上的那两个输入框上;第三步:点击选上Multiply;第四步:点击生成按钮CalculateVanityWallet.细节见图1.3:第5页共36页图1.3为什么说这样生成的私钥是无法被破解而安全性最高的?因为这是两句暗号生成两个私钥相乘出来的,根本无法用任何单一的暗号生成,在我们保证不泄露任何一句并且保证电脑不被病毒木马入侵的前提下,黑客既无法穷举破解出来也无法通过木马偷走。唯一获得该私钥的方法是两句暗号对在一起,可世界上有那么多字符可以作为暗号,黑客又如何知道你第一句用的是那一句用了多少字符?还要对上另外一句?用任何数量的字符对任何数量的字符?禽兽!快放开那个黑客!如果说刚刚一句暗号生成的脑钱包的破解是Mission:Impossible,那现在就是Mission:ImpossibleII和III了,呵呵。6、如何在客户端上导入脑钱包私钥生成脑钱包之后,你可以直接转比特币到该地址,通过搜索该地址就可以看到转账记录,不用任何客户端也可以使用。但是一旦你要使用该地址中的比特币你就必须用到其私钥了,具体来说就是把私钥导入到比特币客户端中,就可以自由支配地址上的比特币了。这里重点介Armory客户端——号称目前功能最强大的比特币客户端,因为下一主题要介绍的就是这个客户端的冷藏和离线交易功能。在“私钥从生成到使用都不接触网络”的原则下,假设(也建议)你仍然在离线的电脑上操作Armory,导入私钥到Armory的具体操作如下:第一步:用在线电脑登录bitcoinarmory.com,下载好并复制到离线电脑中安装好Armory。第二步:新建一个Armory钱包,要注意我们的目的不是使用这个钱包的地址和私钥,是用来导入我们脑钱包的私钥和地址的;具体操作见图1.4-1.6:第6页共36页图1.4第7页共36页图1.5第8页共36页图1.6第9页共36页第三步:导入脑钱包私钥到Armory钱包中使用。具体操作如图1.7-1.8:图1.7注意:核对私钥与地址符合之后点Yes之后还要输入Armory的钱包密码,才能完成导入。第10页共36页图1.87、比特币的找零机制——脑钱包(和纸钱包)使用者必知(否则后悔莫及)开始用脑钱包时,我是想这样用它的:每次收款就在blockchain.info上查看到帐情况,需要给别人付款转账的时候再把私钥导入到Armory,使用完了就删除掉整个Armory的钱包文件,绝对不让脑钱包私钥在网络上多逗留一刻。这很合理,长期把脑钱包私钥放在钱包文件那就不叫脑钱包了。那是我第一次把脑钱包私钥导入到Armory,我完成了一笔1BTC的转账,正想把存着我的脑钱包私钥的Armory钱包删除,但不知道怎么的我觉得应该点开查看我的脑钱包地址下的余额是否正确。这一查看吓死我了:我发现我导入的脑钱包的地址上的BTC余额为零!钱包地址本那里多了一个标有Change字样的地址,其余额正是我脑钱包地址应该有的。瞬间我就石化了:我只是转了1BTC出去,它怎么没经我同意就把我脑钱包上剩下的BTC转到Armory钱包的一个新的地址上?如果我刚刚把Armory钱包文件都删除了,岂不是我的BTC都丢失了?好险!第11页共36页后来我通过查资料,知道这是比特币的找零机制:为了保证隐私(匿名性)客户端默认设置(不只Armory默认是这样,另一个轻客户端Electrum也是)为每转出一笔钱就把剩下的自动转移到钱包里面新的一个地址名下。这个目的是好的,但是和我用脑钱包的初衷完全背离:我用脑钱包的目的就是想让我的BTC永远的和我的那句暗号绑在一起,现在它给我转到别的地址去了!这太扯了!于是我决定找找看Armory上是否有不找零的设置选项,还真的找到了,终于解决了问题。具体设置如图1.9-1.10:第一步:通过菜单File点击settings进入设置,把用户模式usermode设置为expert,见图1.9:图1.9第12页共36页第二步,转账时选中Useanexistingaddressforchange(找零到一个已存在的地址,如果你不选中这个,就会把脑钱包上的余额转移到一个新的地址上),再选中Rememberforfuturetransactions(记住为以后转账默认设置,选中这个以后就不用在重复设置了。)见图1.10:图1.10通过上面的设置,我们就可以避免脑钱包上的比特币糊里糊涂地被找零到新地址上了。第13页共36页二、妈妈再也不用担心我的比特币被盗了——利用Armory的冷储存和离线交易功能1、私钥冷储存和离线交易的概念正如我们在第一节讨论过的,转账要用到私钥,有私钥就能转账,私钥就是一切,所以毫不夸张的说我们要像保护自己的生命一样保护自己的私钥!但是很多人对自己的私钥保护严重不足,很多人在windows系统下加密了钱包,简单的备份一下钱包文件,以为这样就挺安全了,其实这是很危险的。因为所有的客户端其实都是把私钥和地址存放在钱包文件(钱包文件存放在系统的AppData文件夹里面),我们都知道比特币转账需要要联网,这样也就为黑客打开了一扇盗取我们的比特币的方便之门了,技术厉害的黑客完全可以通过在你的电脑上植入木马获得钱包文件并在你转账输入钱包密码时记录键盘获得钱包密码,这样你的比特币就和你永别了。每个人都希望这样的事情不要发生在自己身上,但是光有希望肯定是不够的,得有实际行动才行!利用Armory的私钥冷储存和离线交易功能正是这样切实的保护方法。简单来说,Armory的私钥冷储存就在
本文标题:比特币钱包的安全使用和完美备份
链接地址:https://www.777doc.com/doc-326857 .html