BTC.com手机客户端

朵朵钱包1.0(下)-小荷才露尖尖角

duoduo 发布在 竞争币 16 4381

编者按:此文是朵朵钱包的下集,上集请看:朵朵钱包1.0(上):基于树莓派的点点币PoS挖矿节点钱包

从丢币的交易所谈起

这段时间有件事情闹的沸沸扬扬,就是比特儿丢币了。丢币的原因也非常的离奇,就是他们没有用成熟的硬件钱包存储比特币,而是用老式的电脑方案,结果在联网的过程中,比特币被黑客盗走了。这个事情使得很多比特币硬件钱包厂家借此说事,然后宣传自己的硬件钱包如何如何的安全,暂且不一一评论。

笔者上网搜索了一下,《比特币钱包综述之一硬件钱包》一文对硬件钱包做了总结,由于目前虚拟币硬件钱包主要是比特币钱包,所以下面提到的都是针对比特币的:

第一代的典型代表是Pi-Wallet,其实说白了就是在树莓派上面装了一个比特币轻量钱包,然后Pi-Wallet通过PC端的Armory控制钱包和私钥。功能简单,方法单一。

QQ截图20150313133251

目前大部分的产品都是第二代,基本功能就是硬件钱包存储秘钥,然后用过usb连接电脑进行操作。国内这方面技术很成熟,价格也越来越便宜。最便宜的才100多块钱。

TREZOR-Bitcoin-Wallet

目前正在开发的第三代,则功能更加强大,重点是可以脱离电脑的存在,直接进行线下交易。

那么我们问题来了,交易所为什么那么蠢,不用成熟的,而且便宜又好用的硬件钱包,而是用老式的电脑存储,以至于丢了币?不绕弯弯,一句话解决战斗,就是凭什么相信你的硬件钱包是安全的?你如何去证明你们的硬件钱包里面不会有木马,或者不会被第三方装入木马?

事实也证明了,丢了币的比特儿,仍然“固执”的没有选择具体某个厂家的硬件钱包,而是将冷钱包100%托管给合作伙伴做专业安全存储。

我这里还有一个例子,就是OKCoin公布的自己公司的比特币冷钱包解决方案,里面也同样提出,其使用的是离线电脑,而非某一个厂家的公开销售版的硬件钱包。

究其原因,其实就是没有任何一个大型交易所,敢把价值几千万甚至几亿元的虚拟币,放到一个没有经过专业安全机构检测过的硬件钱包里面。

闭源硬件钱包的优与劣

我们现在市面上见到的大部分都是闭源的硬件钱包,其优点就是外形好看,质量稳定,用户体验感优化。但我们不是买漂亮衣服或者好吃的吃,我们是在买一个黄金保险箱,而且闹心的是,我们并知道要买的这个保险箱是否有后门。

有些闭源硬件钱包厂家或许意识到了这一点,于是就号称源代码开发,有兴趣的人可以自己开发第三方程序。但其有意或者无意规避了一点,就是bootloader源码不开放且无法通过仿真器烧录(因为没有jtag接口)。

不搞嵌入式系统的人知道一点就可以,Bootloader跟我们电脑的bios差不多,也是一段启动程序,而且是最开始启动的,也就说,每次启动,都是首先执行bootloader这段代码,然后再执行其他程序。如果bootloader里面嵌入恶意代码,那么整个硬件钱包在恶意者面前就如同裸奔。

很多低端硬件钱包用的就是stm32芯片,所以这里放的是stm32的flash图示。

QQ截图20150313133534

我们这里主要注意两部分,一部分是Main Memory:

该区域地址范围:0x08000000 - 0x0801FFFF,总大小为128K字节。

该区域的主要用途:存放STM32的代码段(用户程序)。

硬件钱包自身的bootloader和应用程序代码段一般都放在这里。

一部分是Information Block:

其中System memory为系统内存,该区域存放着STM32自身的bootloader,该bootloader是芯片出厂时就设置好的,主要用于通过UARTx下载程序到Main Memory中。这个一般是不可修改的。

一般的流程是先启动stm32自身的bootloader,然后进入代码区,启动硬件钱包的bootloader,最后再启动硬件钱包本身的程序,之前的两个bootloader任何一处嵌入恶意程序,那整个硬件钱包就如同在裸奔。

这样在大部分的小硬件钱包厂家面前就出现了一个两难的问题,源码不开放,不能完全深度制定,客户不敢用;源码开放,会有大批跟风抄板子的,没有利润。所以没有安全认证的闭源硬件钱包,做一个玩具还可以,真的较真起来,是无法进行大规模商业应用的。

免费开源的虚拟币硬件钱包

那么下一个问题来了,我们究竟需要什么样的虚拟币硬件钱包?

首先,应该是专门针对虚拟币开发那部分的软硬件都要开源而且是免费的。这样可以保证没有后门和木马。而且整个系统会有志愿者进行长期维护

其次,可以在没有电脑的情况下完成虚拟币的操作,包括显示,转账交易等等。这样可以避免操作电脑遭到入侵而带来的安全问题(比如偷偷修改发送地址,伪装真正交易的网站等等)

最后,方便制作和操作。如果设计过程跟做一架喷气式飞机那么麻烦,操作过程跟骑一匹烈马那么难受,那也很少有人会去用

那么我们对《比特币钱包综述—之一—硬件钱包》里面的三代钱包进行逐一分析。

  1. 第一代钱包Pi-Wallet符合第一条,就是针对虚拟币开发那部分的软硬件是开源的(当然,这里面没有专门的硬件,只有软件),但不符合第二条和第三条。没有屏幕,无法脱离电脑独立操作,同样也不能独立进行支付交易。
  2. 第二代钱包显然不符合第一条和第二条,但却非常容易操作,符合第三条。
  3. 第三代的钱包由于功能复杂,而且厂家处于利润考虑,很难进行完全的开源。退一万步考虑,即使软硬件完全开源,一般的个人用户,也无法做到很容易的制作,因此即使符合第一条,也不会符合第三条。

朵朵钱包就是在这个背景下产生的。

朵朵钱包1.0版的构成与功能

其实一开始这个是点点币中国社区几个朋友提出来的,目前点点币的已经有了基于树莓派的PoS挖矿节点钱包,但由于是基于网络命令行的,不安全也不方便,因此希望能做一个较为简单的点点币PoS挖矿钱包。按一下启动,按一下挖矿,按一下关机,可以显示一些信息这样。

因此我花了几周的事情做了朵朵钱包(其实大部分时间都是在做测试)。

QQ截图20150313133705

从硬件组成上来看,朵朵钱包比早期的Pi-Wallet多了一个屏幕按钮模块和一个无线网卡

这就意味着,朵朵钱包不仅仅局限于有线网络的情况下,而可以工作在任何有wifi的地方(没有wifi的地方只要手机有信号,能建热点就行),而且也可以脱离电脑进行独立操作(本身带有屏幕按钮,还可以接键盘和u盘进行辅助操作。)这就解决了第二个问题,如何在没有电脑的情况下独立操作。而且由于使用了防火墙,将不用的端口屏蔽,因此也具有很高的安全性。

此外,朵朵钱包用到的都是非专门针对虚拟币的硬件,所以也不用担心硬件安全问题。同样软件部分,系统采用的是开源的linux系统,而朵朵钱包跑的软件也同样是免费开源的。这样第二个问题也解决了。

最后,制作方面,有专门的制作教程,笔者已经写完并且发布,供大家免费使用。而使用也是异常的简单,基本就是对着说明书和视频,点几个按钮就完事了。

 下一步的展望

本来打算多写点东西的,但想了想,感觉问题说清楚就好。所以不啰嗦,这里只说三部分,一个是朵朵钱包,一个是朵朵ATM,一个是朵朵系统智能设备自治问题研究

朵朵钱包

由于目前的比特币和下个版本的点点币都会支持离线支付的功能,因此考虑做真正意义的冷钱包。冷钱包通过双钱包实现,一个离线钱包完全不联网,只通过串口与在线的那个钱包进行有限的数据通讯,这样即使在线钱包完全被黑客攻占也毫无意义。在线钱包则实时查询状态,以及实现虚拟币的收发。同样也是免费开源,同时会支持一键支付,一键接收等功能。

不过由于开销比较大,需要较长的测试时间和做PCB板子什么的,由于本人没钱也没时间,所以目前没有打算做。如果有谁愿意资助这个项目请与我联系。

朵朵ATM

朵朵ATM是目前点点币中国社区支持的项目。由于笔者一向讨厌画饼,凡事都习惯用已经做出来东西的视频说话,因此朵朵ATM部分没法说更多内容。

目前只能透露给大家几个关键字:

  1. 多币种支持(除了比特币还有点点币,后期还有更多的币种,而且钱包是独立,从物理上隔离,不会出现一个感染,另一个也会跟着感染,有效解决闭源钱包可靠性问题);
  2. 支持热插拔(除了主模块以外几乎所有模块的热插拔,进而实现系统的模块化设计和实时的故障隔离);
  3. 低成本(可以进行双向兑换的ATM大概在一千美元级别,当然也不要指望能用到太好的纸币兑换模块,要是不算纸币兑换模块,其他成本大概在200美元那样);
  4. 完全软硬件免费开源(并提供完整教材);
  5. 多重报警机制(短信报警,断电报警,有线远程控制和震动报警)。
  6. 智能设备自治

目前没有太多可以透露的信息,只能说等朵朵ATM告一段落后,今年的全部重心都在这里。

所以简单一句话就是,对于整个朵朵系统来说,朵朵钱包1.0, this is just the beginning。

鸣谢

首先感谢巴比特和点点币中国社区,给了朵朵系统一个健康的诞生土壤。

其次也感谢点点币发明人,树莓派钱包和手机钱包的设计者,没有他们,朵朵系统也仍然只是一个空中楼阁。

然后就是圆点,miner,海,穿越,jimmy2011,happypeer等所有资助和鼓励我进行朵朵系统研发的朋友们。

最后感谢的就是我老婆,一直在后面支持我,鼓励我,没有她,我也肯定没有信心去一直坚持的做下去。

朵朵钱包还特别鸣谢六位公筹支持朵朵钱包的人:miner,圆点,HONG-康  ,Jason ,秋雨清风 ,sunhappy。

最后再次谢谢大家。

作者:快乐的蘑菇

QQ59974015

新浪微博:@duoduoxitong

BTC:36kRTKeA4C6Gh81AambYXt9peXGQjZfLtM

PPC:PJoURPM4Y6yvpTcseXtwL3aaGmvHhcwJzb

编辑:miner

稿源:http://www.8btc.com/duoduowallet2

附件:

1:(公筹项目)朵朵钱包的完整安装编译环境指南

2:朵朵钱包开机演示视频

3:  朵朵钱包1.0说明

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:16

您需要登录后才可以回复 登录|注册
    招财币冷月
    招财币冷月 625 天前

    朵朵钱包尝试和动手精神是好的,但是对硬件钱包调研太不深入了吧。。 //@币定行叶桂平:使用bootloader这一概念的只有trezor和BWallet,且bootloader的源代码都是开源的。firmware也可以用自定义的,用户完全可以用自定义的firmware验证bootloader与源代码的一致性。 //@巴比特资讯:[疑问]

    +1
    +1
    我要点评
    ebit堡主
    ebit堡主 625 天前

    本文有深度,可以帮助理解物联网开发的安全需求。 //@巴比特资讯:欢迎探讨! //@币定行叶桂平:使用bootloader这一概念的只有trezor和BWallet,且bootloader的源代码都是开源的。firmware也可以用自定义的,用户完全可以用自定义的firmware验证bootloader与源代码的一致性。 //@巴比特资讯:[疑问]

    +1
    +1
    我要点评
    ebit堡主
    ebit堡主 625 天前

    本文有深度,可以帮助理解物联网开发的安全需求。

    +1
    +1
    我要点评
    币定行
    币定行 625 天前

    //@币定行叶桂平: 使用bootloader这一概念的只有trezor和BWallet,且bootloader的源代码都是开源的。firmware也可以用自定义的,用户完全可以用自定义的firmware验证bootloader与源代码的一致性。//@巴比特资讯:[疑问] //@币定行叶桂平:典型属于没有素质,诽谤同行。

    +1
    +1
    我要点评
    GoDaMoon
    GoDaMoon 625 天前

    全球第二大黑市丢失比特币四万[泪]

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 625 天前

    欢迎探讨!//@币定行叶桂平:使用bootloader这一概念的只有trezor和BWallet,且bootloader的源代码都是开源的。firmware也可以用自定义的,用户完全可以用自定义的firmware验证bootloader与源代码的一致性。//@巴比特资讯:[疑问] //@币定行叶桂平:典型属于没有素质,诽谤同行。

    +1
    +1
    我要点评
    币定行叶桂平
    币定行叶桂平 626 天前

    使用bootloader这一概念的只有trezor和BWallet,且bootloader的源代码都是开源的。firmware也可以用自定义的,用户完全可以用自定义的firmware验证bootloader与源代码的一致性。//@巴比特资讯:[疑问] //@币定行叶桂平:典型属于没有素质,诽谤同行。

    +1
    +1
    我要点评

    这不就是用树莓派做了个玩具出来了么,到个稍懂技术的手里分分种也给你整一个…易用与稳定性无从谈起啊….就笔者使用过程中说的那几种可能问题,一旦量产出去了,你就别开发了,自己做客户吧….[囧][囧]….

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 626 天前

    [疑问] //@币定行叶桂平:典型属于没有素质,诽谤同行。#BWallet#有详细的完整说明。http://t.cn/RAv5ftk

    +1
    +1
    我要点评
    币定行
    币定行 626 天前

    典型的没有节操,诽谤同行。#BWallet#有详细的完整说明。http://t.cn/RAv5ftk

    +1
    +1
    我要点评
    币定行叶桂平
    币定行叶桂平 626 天前

    典型属于没有素质,诽谤同行。#BWallet#有详细的完整说明。http://t.cn/RAv5ftk

    +1
    +1
    我要点评
    duoduoxitong
    duoduoxitong 626 天前

    比如恶意代码可以修改地址密钥的存储方式,然后在特定的情况下将数据发出,比如在特定的时间,或者是按特殊的按钮激发。只要恶意程序在钱包程序启动之前启动,那么可以做很多事情。其实理解成为一般的电脑病毒,只是应用环境不同

    +1
    +1
    我要点评
    BTC股票
    BTC股票 626 天前

    此事当真?//@巴比特资讯: 【2.闭源硬件钱包的优与劣】“(有些闭源硬件钱包厂家)有意或者无意规避了一点,就是bootloader源码不开放且无法通过仿真器烧录(因为没有jtag接口)。如果bootloader里面嵌入恶意代码,那么整个硬件钱包在恶意者面前就如同裸奔。”[吃惊]

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 626 天前

    【2.闭源硬件钱包的优与劣】“(有些闭源硬件钱包厂家)有意或者无意规避了一点,就是bootloader源码不开放且无法通过仿真器烧录(因为没有jtag接口)。如果bootloader里面嵌入恶意代码,那么整个硬件钱包在恶意者面前就如同裸奔。”[吃惊]

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 626 天前

    #巴比特·竞争币# 【朵朵钱包1.0(下)-this is just the beginning】 1.从丢币的交易所谈起;2.闭源硬件钱包的优与劣;3.免费开源的虚拟币硬件钱包;4.朵朵钱包1.0版的构成与功能;5.下一步的展望 全文:http://t.cn/RAv7dBf 文@duoduoxitong

    +1
    +1
    我要点评