关于比特币的“冷存储”和Armory的使用

转自:http://8btc.com/thread-1164-1-1.html

最近随着比特币话题的火热,又有一批人卖房或倾产换成比特币入圈,这一次与以前不同的是,以前倾产入圈的人都是技术人员,有足够的能力来保护好自己的比特币财产,而现在入圈的,多了一些对比特币安全不在行的人。要知道,QQ被盗,你可以找腾讯申诉回来;网银被盗,你可以报警,追回来的希望还是相对比较高,同时QQ和网银对盗号木马都有各种设防,比特币客户端是没有设防的,被盗了也不知道从哪下手去找回来。卖房买比特币这种行为属于个人投资,我不发表意见,但是为了帮助新手们不至于一时大意,比特币都被盗走或丢失,我打算再写一篇文章,着重谈论一下“冷存储”,因为冷存储是防网络黑客的最有效方法。注意,冷存储只是防网络盗窃,并不防现实生活中的窃取。

在网上我见过一些人他们并不懂,或没懂透,对于保护比特币表现非常焦虑,总在挖空心思发明各种方法防盗防丢失,而实际上看他说出来的那些手段,根本没搔到痒处,尽在穷折腾。而且这样穷折腾的结果恐怕防不住黑客反而会成功地把自己给“防”了,如果不幸真发生这种事情,我只能说:别有一番异样的悲摧。所以我们要采取最简单有效的方法,就够了。

关于比特币的安全入门可以参考我的另一篇文章:《如何保护好我们的比特币(bitcoin)http://8btc.com/thread-819-1-1.html

如果是囤币,或是持有大量的比特币,那么不要怕麻烦,一定要采用冷存储的方式。冷存储是指离线生成比特币私钥,并离线保存,离线使用。这样私钥没有在联网的机子上出现,再厉害的黑客也无法通过网络盗走你的私钥。

关于比特币地址与私钥的基本知识可以参考这篇文章,这里就不赘述。《彻底玩转比特币地址和私匙http://www.8btc.com/privkey

那么要如何离线生成私钥呢?这里的离线是指通过不联网的机器生成私钥,不是单指在本地生成。如果采用Armory客户端,这个客户端本身的工作方式就是可以离线操作的,可以离线生成私钥并可以离线发送比特币。只是这个客户端没有中文版,而且也没找到中文教程,貌似也没有人谈论使用这个客户端的心得。所以在这里做一个简单的使用介绍。

Armory与其它客户端一样有MAC、Linux、Windows版本。安装包没分在线端和离线端,安装后电脑上同时有在线端和离线端,用户在使用的时候自行区分运行。其中Armory在线端基于bitcoin-QT客户端,所以还要先安装bitcoin-QT,而且在线端对系统的要求比较高,至少要4G内存。Windows版目前只支持64位系统,Mac和Linux版有32位及64位版本。离线端可以独立运行,对机器要求不高。

分别在电脑上安装Armory之后,在下图的菜单中可以看到这样的快捷启动图标(其它系统类似)。
<ignore_js_op>

下面要在离线端和在线端分别进行设置。

离线端:
这台电脑永远不要联接网络,在这台电脑上创建钱包,生成地址或导入私钥。
这时候钱包的标志是“Encryptde”,表示这是有私钥的钱包。
根据“先备份后使用”的原则备份好私钥后就可以启用钱包里的BTC地址了。

<ignore_js_op>

根据上图所示进入钱包设置界面,如下图。
在这里可以生成地址,导入私钥,导出私钥。(导入私钥的地址可以删掉,自行生成的地址不能删除)
还有一个关键应用:生成“只看钱包”供“在线端”使用。
<ignore_js_op>

在线端/联网端:

在“联网端”的机器上运行Armory,界面跟“离线端”是一样的,先进行设置:
      主界面点“File”-“Setting”调出设置界面。
    “Bitcoin Install Dir”一栏选中你的QT客户端所在的安装目录。
    “Bitcoin Home Dir”一栏选中QT客户端的工作目录。

<ignore_js_op>

然后Armory就开始同步链块,“Synchronizing with Network ”一栏就是同步的进度,如果之前在QT客户端下同步过了,那这一步会很快。
    “Scanning Transaction History”这一步是运算出钱包余额等相关资料。我的电脑是4G内存,刚够基本要求,结果在这一步跑了几个小时,跑的时候逛吃内存。现在终于明白为什么几乎没什么普通用户使用Armory,因为它对内存占用特别大,一旦运行,几乎干不了其它事。你必须要搞一台高配电脑来运行它。

按下图两个步骤,导入刚才在离线端生成的“只看钱包”。

<ignore_js_op>

等“Scanning Transaction History”的进程跑完就可以使用了。
在这里的钱包标志是“Watching-Only”,表示不包含BTC私钥。

<ignore_js_op>

完成上面的设置步骤之后,就可以进行发送比特币的操作。

步骤如下:
1.在联网端
  点击“Offline Transactions”, 之后点击“Create New Offline Transaction”创建一个新事务。
  然后点击“Send Bitcoins”来填写发送比特币的数量和接收地址。 这时“Send”按键是灰的,不可点击。
  点“Create Unsigned Transaction” 创建一个“未签证”的事务。 
  点“Save to file…” 会生成一个 “.unsigned.tx”为后缀的文件。
  把这个文件拷贝到离线端。

2.在离线端
  点击“Offline Transactions”, 后点“Sign Offline Tranasaction”打开签证界面。
  点“Load file...”载入刚才那个“.unsigned.tx”文件。
  点“Sign”进行签证。
  点“Save to file…”保存为一个“.signed.tx”为后缀的文件。 
  把这个签证好的文件拷贝到联网端。

3.回到联网端
  如果刚才这边的操作过程没有动,把“.signed.tx”文件放在与“.unsigned.tx”相同的目录,那么可以点 “Next Step” 继续操作,然后要弹出的窗口中把已签证的事务广播出去,完成交易。
  如果联网端被关掉了,那么打开之后按 “Offline Transactions” ,之后点击“Broadcast Transaction”再载入已签证的事务文件,确认后点“Ready to Broadcast!”就可以完成交易。

这样只要你保证离线端的电脑不连接到互联网,那么你的私钥就不会在网上出现过,也就不会从网络被盗走。
    但是有的朋友也担心这样在两台电脑之间用U盘传递文件,会传播木马。这个理论上是有可能的。那么你把离线端的操作系统改成Windows以外的系统,或者设置一下让系统不要自动运行和不要双击运行U盘里的程序就行了。而且现在随便一个杀软件都可以灭掉靠U盘传播的木马。

============ 分割线 ================

用Armory客户端,意味着需要两台电脑专用,其中一台还要高配置,如果我不想用这种方式,那么要怎么进行冷存储呢?

我们可以按下面的步骤来操作:

一、首先是准备工作:
    你需要一台用于离线制作私钥的电脑,制作完私钥之后这台电脑的系统要删掉。所以你同时还需要懂得安装系统和格式化硬盘。如果需要把私钥打印到纸上保存,那么还需要一台打印机直联电脑。

以Windows系统为例,安装完操作系统之后还需要准备以下软件:

生成私钥:
有BTC客户端bitcoin-qt,Multibit等。
可以生成个性化地址的:vanitygen,
另外还有 脑钱包。

生成二维码的工具:erweimadayin 或其它同类软件。

文本处理软件:Office或其它你认为满足要求的软件。

其它工具:如果是打印到纸上,那么有必要对私钥进行一定程度的加密,可以用工具也可以用某种方法,总之要事先准备好。

在断网之前不要运行BTC客户端,因为一运行就会自动生成钱包。做完这一切之后就断开网络,如果用笔记本,那么要特别注意断开WIFI。

二、生成私钥

有三类方法,选一种就可以。

1.运行比特币客户端,新建一批地址,然后导出私钥。

Bitcoin-qt客户端导出私钥的方法可以见我前面提到的《如何保护好我们的比特币》一文。
  Multibit客户端导出私钥可以直接通过菜单栏上选“工具”-“导出私钥”来操作。若是要打印到纸上,那不要选择对导出的私钥加密码。

2.用vanitygen生成私钥,详见我的另一篇文章《手把手教你如何拥有个性化的BTC地址http://8btc.com/thread-886-1-1.html

3.用脑钱包生成私钥。
  脑钱包是一个工具,根据你的提供的字符串生成私钥,这样只要你记住字符串,就什么时候都可以得到那个特定的私钥。你只要保证这个字串不会跟别人想的一样,不会被别人试出来,不会忘记,那么就是靠谱的保存方法。
  脑钱包程序的获得可以在电脑离线之前把这两个网页之一“另存为”保存到本地。
  http://p2pbucks.com/tools/brainwallet/index.html
  http://brainwallet.org/
  在本地可以通过浏览器打开运行,根据提示生成私钥就行了。

脑钱包的一个应用例子可以参考:《脑钱包狂想曲http://8btc.com/forum.php?mod=viewthread&tid=817 主要是发挥你的想象力,但不要作茧自缚。

三、保存私钥

除了脑钱包你记得方法就行,上面其它方式得到的私钥要保存起来。
   有两种保存途径,第一是保存到U盘等电子介质上(可靠性自己评估),第二是打印到纸上。
  如果是保存到电子介质上,那么可以直接保存,也可以压缩加密再保存(事先要准备相应的工具)。
  如果是打印到纸上,那么为了避免纸张被人看到或拍到泄露私钥,有必要对私钥进行一定程度的加密,例如在特定的位置上加某些字母,或是某种可逆的方法打乱顺序,或是用工具加密。这部分就靠你自己的想象力,原则有一点:不要把自己给防住了。为了以后导入私钥方便,可以把加密后的私钥制作成二维码一起打印到纸上。

四、验证私钥
  保存好了,那么你要怎么保证这些私钥和地址是有效且不出差错的呢?
  那就逆操作一遍。证明你的备份保存能够得回正确的私钥。把私钥在离线电脑上的另一个客户端上导入,对比地址是否正确,同进也可以对每个地址进行签名,然后把签名拿到其它地方进行验证。

五、删除操作系统
  做完第四步,证明私钥有效,地址有效,能从备份得到正确的私钥。那就删除操作系统,把整个硬盘都格式化。这样,就算你那个操作系统有木马也无所谓,私钥是断网后生成的,窃取你的私钥也没机会传出去。

六、启用
  某一天,你要用启用这些地址上的比特币。如果是电子介质保存的,那么有点麻烦,要在一台离线的电脑上操作,取出一个私钥,然后删掉操作系统,以免暴露整一批私钥。

如果是从纸上导回,可以单独导回一个私钥。建议私钥用一次就作废,例如有A、B两个冷存储地址,A上有100BTC,你想转出20个,剩下的80个还是冷存储,那么把20BTC转出的同时把其余的80BTC转到冷地址B上(客户端都支持同时给多个地址发币的),A地址作废不再使用,这样可以最大限度地保障安全。

注意:如果你是用手机的扫描二维码,由于现在的手机应用节操不齐,你要保证这个应用不会收集你扫描的内容。

其它扩展:
    以上的方法是一个比较典型的过程,实现的手段可以很多,也可以做得很简单,就看你有什么办法去实现。你如果有一个树莓派,因为它的“硬盘”其实就是一个SD卡,换一个SD卡就相当于换一个操作系统,所以只要有一张专用的SD卡保存操作系统专用来处理离线私钥并且保管好就行了,这也是一个非常不错的解决方案。

如果觉得本文对你有帮忙,可以捐助 BTC:1N9shXD3V4DrAjBt9oqvZXPYf81DVvoooo

时间: 2024-07-30 12:41:44

关于比特币的“冷存储”和Armory的使用的相关文章

阿里云HBase发布冷存储特性,轻松搞定冷数据处理

摘要: 9月27日,阿里云HBase发布了冷存储特性.用户可以在购买云HBase实例时选择冷存储作为一个附加的存储空间,并通过建表语句指定将冷数据存放在冷存储介质上面,从而降低存储成本.冷存储的存储成本仅为高效云盘的1/3,适用于数据归档.访问频率较低的历史数据等各种场景. 9月27日,阿里云HBase发布了冷存储特性.用户可以在购买云HBase实例时选择冷存储作为一个附加的存储空间,并通过建表语句指定将冷数据存放在冷存储介质上面,从而降低存储成本.冷存储的存储成本仅为高效云盘的1/3,适用于数

比特币概念

比特币概念 bitcoin源码地址  https://github.com/bitcoin/bitcoin 作者:不如假如链接:https://www.jianshu.com/p/ed92cd055c40 一.快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字符和数字组成,以阿拉伯数字“1”开头.就像别人向你的email地址发送电子邮件一样,他可以通过你的比特币地址向你发送比特币. 比特币:既可以指这种虚拟货币单位,也指比特币网络或者

DAS存储未死,再次欲获重生

当我们回顾存储发展形态时,我们会想到DAS是最原始最基本的存储方式,在个人电脑.服务器等低端市场和场景上随处可见.存储的原始形态也来自于DAS,常见的用于连接DAS和主机系统的协议/标准主要 有ATA.SATA.eSATA.SCSI.SAS和FibreChannel等. 那时,我们放弃DAS走向NAS.SAN和分布式,是因为DAS多用于4台以下服务器的存储直连,作为内置硬盘容量的扩充,DAS存储通过主机适配卡(如SCSI卡.SAS HBA卡.FC HBA卡)直接连接服务器,在灵活性和可靠性上具有

比特币、以太坊

关于区域链的应用; namecoin:一个很好的名字注册数据库 colorcoin:作为一个协议允许人们定义自己的数据货币,或者作为一个单元,代币在区域链上 metacoin:在比特币之上的一个协议,用比特币交易来存储附属币的交易但是有不同的交易转换器 建立一个共识协议有两种方法:建立一个独立的网络或者在比特币协议上工作.前者理论上很成功但是实施有很大的困难,后者(metacoin)—不能继承比特币的简化验证功能.   脚本语言 可以定义一个UTXO,一个交易来花费utxo时必须提供脚本语言里描

对象存储、块存储、文件系统存储概念与区别

一.概念及区别 针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储.块存储.文件系统存储.这三者的主要区别在于它们的存储接口: 1.  对象存储: 也就是通常意义的键值存储,其接口就是简单的GET,PUT,DEL和其他扩展,如七牛.又拍,Swift,S3 2. 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的

硬盘存储双寡头之争 希捷重注中国市场或赢大丰收

硬盘市场不断上演着一轮又一轮的搏杀与并购.这期间Corner被希捷收购了,红极一时的昆腾被迈拓收购,而迈拓最终又被希捷收购了,除此之外,三星硬盘也被希捷收购了:另一边,日立收购了IBM硬盘业务,而日立硬盘业务又被西部数据收购,在那之前富士通也被西部数据收购了. 自2011年西部数据收购日立硬盘业务,希捷收购三星硬盘业务后,全球硬盘市场彻底进入双寡头时代.通过不断的并购扩张,希捷与西部数据早已成为硬盘市场最终的两大赢家.伴随市场地位的提升,二者之间的竞争激烈程度也随之升温,除了拼产品.拼销量.拼利

一探文档存储的究竟

一探文档存储的究竟 揭开冷存储的神秘面纱 Per Brasher 互联网界的大老们均在追求服务期更加长久的解决方案.所谓服务期更长,所指的也许是MTBF(无故障运行时间)从3,000,000增至4,000,000,或者是7年的质量保证.不论所指为何,涉及到文档类硬盘,都会有些难缠的问题.本文的出发点即是弄清楚冷存储系统中最为要紧的几个因素. 如果您急于揭晓答案,文末专门有一小节归总结论,此外,还有向供应商以及客户提出的若干问题. 以前我在Facebook工作时,曾经发明了一个词:冷存储(Cold

浅谈存储重删压缩技术(一)

浅谈重删压缩技术(一) <喜欢更多内容可以关注微信公众号"围炉煮酒论IT"> 作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着.对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一.今天我就只能谈谈我个人的看法. 重删压缩是什么? 重删和压缩时完全不同的两种技术,解决不同的问题. 重删:就是说有很多分相同的数据,我只存储其中一份,其他的重复数据块我保留一个地址引用到这个唯一存储的块即可. 压缩:将一个大字符串中的子串用一个很简短的数字来标记,然后检索该字

精读比特币论文

上一次读比特币论文还是几年前,在区块链大火的今天,决定仔细重读一下,并写下读后感. 本文试图以一种从宏观到微观,先静态后动态的叙述方式,描述比特币系统,文中绝大多数内容来自于中本聪的比特币论文,加上了一些自己的理解. 世界地图上看比特币 时至今日,比特币在物理上已是包含一万两千多个节点的,遍布全球的分布式系统.其中的每一个节点可能是普通的笔记本电脑.台式机.服务器.也可能是专用的"矿机",归根结底,是一台具备计算和存储能力的计算机.这些节点通过Internet连接在一起,使用TCP/I