2014-08-04 11:11

搞清楚Blockchain的安全,只需要一点技术!

搞清楚Blockchain的安全,只需要一点技术!

技术是美丽的东西,本文中绝大多数内容都是技术,你可以不懂代码,只管欣赏。

本文通过实际操作,向不懂代码的朋友们证明了,blockchain有能力实现: 服务器不保存明文私钥不保存密码、安全使用比特币。

blockchain号称

“爱你就给你自由”“我们没有你可以偷的比特币” 私钥模式(默认):你的私钥会被保存在加密了的钱包里。在需要解密钱包时,你需要使用设置的密码,由于该密码也从未在Blockchain的服务器上保存,在信息泄露的意外发生时,私钥仍然是完全安全的。
所以,blockchain做到了这样的事情:
  • 如果我愿意,我可以花费自己存放在blockchain的比特币。
  • 我花费比特币时,blockchain不知道我的私钥。
  • 我为我的私钥解密时,blockchain不知道我的密码。
真的可以吗? 可以。

先说明一下过程。

  1. 验证密码,登录。
  2. 给私钥加密,将密文上传到服务器。
  3. 确认比特币账户的余额。
  4. 下载加密后的私钥。
  5. 解密,得到明文私钥。
  6. 构造交易,用明文私钥签名。
  7. 将构造好的交易广播。
这其中,保证第1步时服务器不知道我们的密码,第2、5、6步可以离线完成,就算是满足了上面的条件。

通常情况下,blockchain会帮我们完成这一切, 现在我们来模拟它的工作,证明blockchain有能力做到这些。

至于它有没有做,怎么做,需要分析源代码。

首先准备一些替代品: https://brainwallet.github.io/ 这是一款相当优秀的比特币网页工具,稍微改改代码还能用于处理山寨币。 本文我们用这个工具签名交易。

http://tool.chinaz.com/Tools/TextEncrypt.aspx http://tool.chinaz.com/Tools/MD5.aspx 可爱的站长工具,本文我们用它来做AESMD5加密。

访问这三个页面然后“文件-另存为”或者“保存页面”,总之把它们下载到硬盘上。

打开brainwallet,进入选项卡Transactions 把一个有余额的地址复制到Source Address里面 因为是做实验,我们随便搞一个地址比如1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh 确定,我们可以看见右边出现余额了,单击Edit History,复制Transaction History里面的代码,这是你的“余额记录”,保存到硬盘上。

22

1.验证密码、登录 打开站长工具的MD5加密。 在左边框里输入你的密码,单击“加密”,得到一串“密文”,就像E13322D800517EE7CA017B3FE2996E2B,服务器拿这玩意和自己的记录对比,若通过,登录成功。 服务器不知道真正的密码是啥,md5加密是一种不可逆的加密算法。 这与比特币地址是一个原理,你知道我的地址,但你不知道我的公钥,除非我把它公开。

2.给私钥加密 打开站长工具的AES加密, 私钥放上面,密码写中间,单击“加密”,下面得到密文。

3.确认比特币账户的余额 打开brainwallet,进入选项卡Transactions 把事先准备好的“余额记录”粘贴在Transaction History里面。

4.下载加密后的私钥 准备好刚刚的密文。

5.解密,得到明文私钥 打开站长工具的AES加密, 密文放下面,密码写中间,单击“解密”,得到明文私钥。

6.构造交易,用明文私钥签名 在brainwallet填写更多的内容, 收款地址和金额填写在Destination Address后面,单击加号可以增加收款地址。 Fee填写手续费。 私钥放在Private Key里面, 我们拿这个私钥做实验 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf 警告,这个私钥与上文的地址都是坑,拿来玩玩可以,不要往里面打钱,有去无回。 出现的对话框要取消。 不要在连接网络时把真正的私钥放在里面,离线使用也尽量用浏览器的“隐私浏览”功能,注意清理痕迹。 单击“Re-Sign”,签名,复制Raw Transaction里面的内容,这就是你的交易信息。

7.将构造好的交易广播 上线,将Raw Transaction里面的内容广播出去,例如用这个页面 http://blockchain.info/pushtx 或者比特币客户端。

完成。 其中第1步时服务器不知道我们的密码,第2、5、6步离线完成。

blockchain能不能瞒着我们,把我们的密码、私钥都偷偷上传到服务器上呢? 不能。

不用看服务器,只需要验证我们客户端上的源代码就行了,我们可以检查那些脚本,有没有上传我们的私钥、密码。 谁爱查谁查。

也许你已经注意到了,我们的操作过程中,私钥、密码都是明文的,也就是说,如果我们的电脑不够安全:系统带毒、剪贴板被监视、浏览器做了奇怪的事情,我们的私钥、密码有可能会泄露。同样,在不安全的环境下运行blockchain,就有丢币的风险,尽管那不是blockchain的错。

blockchain有点像是“支持钱包文件云存储的比特币客户端”,它用技术保证自己不会卷款跑路,这比银行、名誉、警察、政府要可靠得多,但不帮你保管私钥。 与之不同的是,很多其他在线钱包服务,例如币付宝、币加锁、wallet.la,只能用信誉、法律来保证自己不跑路,但在较差的环境下,它们仍然能够保证一定程度的安全,因为私钥是完全委托给它们保管的,就像钱存放在银行的金库里面。

哪种更加安全? 很难说,安全是相对的。 旧版比特币核心为了保护公钥的安全,让无数新手莫名丢失了私钥(找零机制),老手的公钥和新手的私钥,哪个更重要?很难说,所以新版客户端给了我们更多的选择。 blockchain也给了我们更多的选择。

也许多重签名技术的发展能更好的解决问题。

题外话, AES安全吗? 不知道,https://bitcoin.org/zh_CN/choose-your-wallet 我就知道这一页里面很多都在用AES。

 

文章来源:巴比特论坛

作者:烤因被撕(kwl01skz

打赏: 1BfXayW2vrj6uRpoZg3nR8rMEckLpGmaiL

本文链接:https://www.8btc.com/article/25680
转载请注明文章出处

评论(46)
登录 账号发表你的看法,还没有账号?立即免费 注册
我是大宇 2014-10-16
学点技术总不是坏事
w275618339 2014-09-24
现在用的是0.86版的钱包,虽然有找零,但感觉还构不成问题
我是大宇 2014-08-07
回复@YichenTANG_不会Java:招啊,看Career那一页
我是大宇 2014-08-05
回复@兔爸沉叶:等比特币涨了就好了
我是大宇 2014-08-05
很想买一个支持一下。只是价格有点高,目前又囊中羞涩。在我有钱之前,坚持住啊!
merry 2014-08-05
http://www.blockmeta.info/tx/04cf551a03bb6fd904552952306aa9d9d3c0386101e17406278ec00079e277a2
我是大宇 2014-08-05
无意间来到你这里,愿幸福像阳光普照大地般环绕在你身边。( ^_^ )
我是大宇 2014-08-05
回复@比特暴民:哦 这是很傻逼 加我们群反应一下
我是大宇 2014-08-05
回复@刘明卖星星的人:我的电脑是中文,出的是英文啊![怒]
我是大宇 2014-08-05
回复@比特暴民:你电脑系统是中文 当然默认中文了 这个功能给大家是实实在在用的 又不是拿来没事测试
我是大宇 2014-08-05
所以说,这不是很笨吗[怒]!
我是大宇 2014-08-05
不是主页里设置 是随系统设置的 //@比特币壹钱包: [懒得理你],我们在不断改进中...//@比特暴民:壹钱包对山寨币的支持令人感动,但是对多语言的支持弱了点,我知道你们支持英文,但是,主页找不到设置的地方[怒]//@比特币壹钱包: 比特币壹钱包作为同样的onchain类钱包,同样安全可靠,南瓜若有莱特币
我是大宇 2014-08-04
[懒得理你],我们在不断改进中...//@比特暴民:壹钱包对山寨币的支持令人感动,但是对多语言的支持弱了点,我知道你们支持英文,但是,主页找不到设置的地方[怒]//@比特币壹钱包: 比特币壹钱包作为同样的onchain类钱包,同样安全可靠,南瓜若有莱特币 可以存到壹钱包
我是大宇 2014-08-04
壹钱包对山寨币的支持令人感动,但是对多语言的支持弱了点,我知道你们支持英文,但是,主页找不到设置的地方[怒]//@比特币壹钱包: 比特币壹钱包作为同样的onchain类钱包,同样安全可靠,南瓜若有莱特币 可以存到壹钱包额。//@ngzhang-Avalon:我所有个人资产都放blockchain.info//
我是大宇 2014-08-04
回复@问鼎八方:潘志彪在做节点公益计划啊。
我是大宇 2014-08-04
回复@问鼎八方:所有的币都可以直接广播到P2P网络。只是连接P2P网站比较消耗用户的网络流量,所以首选
我是大宇 2014-08-04
回复@比特天空网:谢谢,如果有网站,冷钱包的人会多个选择
我是大宇 2014-08-04
回复@问鼎八方:可以通过比特币网络直接广播
我是大宇 2014-08-04
回复@比特天空网:新手用硬件钱包最安全,OK? 顺便请教个问题,除了 还有哪个网站可以广播
我是大宇 2014-08-04
回复@问鼎八方:人家很安全,只是不懂安全
  • 1
  • 2
  • 3
下载
分享
阅读
评论
46
点赞
1
上一篇
下一篇