OKCoin

比特币冷钱包到底应该怎么做?

初夏虎 发布在 技术指南 6 18288

引言

2015年的羊年新年假期, 中国最大的竞争币交易所之一的比特儿传出冷钱包被盗的新闻, 7170个比特币被黑客瞬间偷走, 损失超过1000万元人民币。大家不禁要问, 比特币都放进冷钱包了还会被偷走, 这比特币还能玩吗?这不靠谱啊!
比特儿交易所老总在之后的媒体采访中几次强调, “密码被破解”, 冷钱包和密码有很大关系吗?还是这位老总根本不知道何为冷钱包。引用Okcoin创始人徐明星的一句话来说明一下:“(比特币冷钱包的)关键要做到永不触网。”
下面笔者就一步一步的图文并用的给大家讲一讲最基本的冷钱包方案, 如何创建一个永不触网的冷钱包, 并且离线的创建一笔比特币交易。

创建冷钱包

第一步, 找一台新电脑或硬盘低级格式化后的旧电脑,在断网的状态下安装Linux操作系统Ubuntu(下图是使用U盘安装ubuntu的示例):

Snip20150227_14

(图一)

Snip20150227_15

(图二)

Snip20150227_16

(图三)

第二步, 安装Electrum 比特币钱包。
安装完Ubuntu Linux操作系统后, 离线安装Electrum比特币钱包(笔者个人比较喜欢Electrum, 各位也可以使用Multibit等其他轻钱包), 安装的步骤请参照Electrum官网 https://electrum.org/download.html

第三步,生成新的冷钱包地址
安装完以后, 打开Electrum, 并创建新的钱包, 按照图四到图八的步骤生成新的冷钱包地址, Electrum缺省情况下是一次创建5个新地址, 注意图八, 在命令行键入 “listaddressese()”的命令, 系统会列出新创建的5个比特币地址,再用getpubkeys命令,或者从菜单 master public key拿到公钥(公钥和地址不是同一个概念哦), 请把这个公钥拷贝下来, 另存到一个文本文件里。图九是显示这5个新地址的私钥, 放着这里只是给大家说明一下,用来和图十二对比, 5个私钥是在这个永不触网的linux操作系统里的钱包里, 大家实际操作中不要做图九这个步骤。也不要把自己的私钥告诉其他任何人。

Snip20150227_17

(图四)

Snip20150227_18

(图五)

Snip20150227_19

(图六)

Snip20150227_20

(图七)

Snip20150227_21

(图八)

Snip20150227_22

(图九)

完成了第三步以后, 我们有了一台永不触网的断网电脑,断网电脑上有一个Electrum比特币钱包, 钱包里有5个比特币私钥和对应的比特币地址。这就是我们所谓的“冷钱包”了。我们现在可以往这个冷钱包里放比特币了, 笔者往这个冷钱包里放了0.0005个比特币用以下面的演示。(另有一笔0.089828比特币在演示时尚未到账)
前三步最重要的注意事项还是“永不触网”。

离线的进行一笔交易

现在我们有了一个离线的冷钱包, 冷钱包之所以“冷”, 是当它发生交易(transaction)的时候也能够做到不碰网络。下面让我们来进行一笔离线交易。

第四步, 在一部在线电脑上安装Electrum钱包
这一步相对简单一点, 只需要在另一台连接互联网的电脑上下载安装Electrum钱包。
第五步, 在这台在线电脑上建立只读地址watch only address.
完成第四步后启动Electrum, 然后不要选择创建新钱包选项, 而是选择创建Watch-only 只读钱包。然后把第三步得到的公钥输入进去(图十), 然钱包与比特币网络同步后, 就可以看到钱包的比特币余额。我们在命令行输入dumpprivkeys()时可以看到(图十二), 这个只读钱包里面没有私钥, 也就是说如果这个在线只读钱包被黑客攻击, 黑客是拿不到一丁点比特币的。

Snip20150227_23

(图十)

Snip20150227_24

(图十一)

Snip20150227_25

(图十二)

第六步, 在线电脑上创建交易, 并导出交易
那么, 没有私钥如何进行正常的交易呢? 如图十三所示, 在线只读钱包可以创建一笔交易, 但是由于没有私钥, 这笔交易没有被私钥签名, 所以无法在比特币网络里广播出去;但是如图十四,图十五所示, 只读钱包可以把这笔交易存成一个 .txn的文本文件。放到一个新的U盘(必须确保这个U盘没有木马,这个技术难度并不大)。

Snip20150227_26

(图十三)

Snip20150227_27

(图十四)

Snip20150227_28

(图十五)

第七步, 离线linux电脑上用私钥对交易签名, 并导出签名后的交易。
将这个代表未签名交易的文本文件拿到离线的电脑上,离线电脑上有私钥, 可以对这笔交易进行签名操作。签名完毕后, 由于电脑处于离线状态, 还是无法在比特币网络中广播这笔交易。只能将这笔交易再次保存为.txn文本文件。

Snip20150227_29

(图十六)

Snip20150227_30

(图十七)

Snip20150227_31

(图十八)

第八步, 在线电脑广播签名后的交易
用U盘把签名完成后的.txn文件拿回在线只读钱包, load transaction后, 点击Broadcast按钮。至此, 一笔比特币交易在有私钥的电脑没有触网的情况下顺利完成, 除了交易签名的时候, 整个过程也没有“密码”出现, 不知道比特儿的老总所谓的“密码丢失”是什么理由?

Snip20150227_32

(图十九)

有人也许会说, “好复杂”, 但是,首先在比特币的世界里安全性比便利性更重要, 其次,冷钱包本来就不应该经常有交易的, 经常交易的钱包就不是冷钱包了, 象比特儿的所谓“冷钱包”有着上千次的交易记录实在是不能够称之为冷钱包了。比特儿的认错赔偿的态度很好, 但是在技术安全上没有改进, 在制度安全上没有保障, 我们怎么能相信没有下一次呢?

申明:

以上所述的仅是个人大额比特币冷存储方案, 并不是比特币交易所,比特币银行等企业级冷钱包解决方案。企业级冷钱包是需要有多层级冷热钱包, 多重签名技术, 以及人事行政等管理制度相辅助的复杂体系。

 

文/初夏虎

发文时比特币标准价格 买价:¥4131 卖价:¥4130

评论:6

您需要登录后才可以回复 登录|注册
    Author Image
    kenhuangus 149 天前

    好文章! 如果能介绍企业级的冷钱包该怎么做就更好了。

    +1
    +1
    我要点评
    尚持Uphold
    尚持Uphold 290 天前

    比特币冷钱包到底应该怎么做?http://t.cn/RwWzfZM

    +1
    +1
    我要点评
    Bitreserve比特储
    Bitreserve比特储 588 天前

    每次看到Eric写的这篇文章都忍不住要转发@初夏虎

    +1
    +1
    我要点评
    Bitreserve比特储
    Bitreserve比特储 588 天前

    比特币冷钱包到底应该怎么做? http://t.cn/RwWzfZM

    +1
    +1
    我要点评
    Author Image
    曲振刚 651 天前

    好教程,就是太麻烦了

    +1
    +1
    我要点评
    Author Image
    比特币中国 652 天前

    赞原创教程,通俗易懂,适合老用户和比特币小白。

    +1
    +1
    我要点评