Author

Topic: 朵朵钱包1.0:基于树莓派的点点币PoS挖矿节点钱包 (Read 1343 times)

legendary
Activity: 1621
Merit: 1000
news.8btc.com
你确定这货挖得到可观的币?
Smiley转的挺快啊。。
都是拿来主义者啦,8btc不也很多转的。
欢迎转帖,保留作者信息及原文链接。
hero member
Activity: 518
Merit: 500
你确定这货挖得到可观的币?
Smiley转的挺快啊。。
都是拿来主义者啦,8btc不也很多转的。
member
Activity: 84
Merit: 10
没听说过这个钱包,呵呵。
legendary
Activity: 1621
Merit: 1000
news.8btc.com
 Smiley转的挺快啊。。
hero member
Activity: 854
Merit: 1000
走哪算哪
朵朵钱包1.0版的构成与功能

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

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

http://bitcoin8btc.qiniudn.com/wp-content/uploads/2015/03/QQ%E6%88%AA%E5%9B%BE20150313133705.jpg

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

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

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

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

 

下一步的展望

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

朵朵钱包

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

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

朵朵ATM

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

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

多币种支持(除了比特币还有点点币,后期还有更多的币种,而且钱包是独立,从物理上隔离,不会出现一个感染,另一个也会跟着感染,有效解决闭源钱包可靠性问题);

支持热插拔(除了主模块以外几乎所有模块的热插拔,进而实现系统的模块化设计和实时的故障隔离);

低成本(可以进行双向兑换的ATM大概在一千美元级别,当然也不要指望能用到太好的纸币兑换模块,要是不算纸币兑换模块,其他成本大概在200美元那样);

完全软硬件免费开源(并提供完整教材);

多重报警机制(短信报警,断电报警,有线远程控制和震动报警)。

智能设备自治

目前没有太多可以透露的信息,只能说等朵朵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说明

 
hero member
Activity: 854
Merit: 1000
走哪算哪
免费开源的虚拟币硬件钱包

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

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

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

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

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

第一代钱包Pi-Wallet符合第一条,就是针对虚拟币开发那部分的软硬件是开源的(当然,这里面没有专门的硬件,只有软件),但不符合第二条和第三条。没有屏幕,无法脱离电脑独立操作,同样也不能独立进行支付交易。

第二代钱包显然不符合第一条和第二条,但却非常容易操作,符合第三条。

第三代的钱包由于功能复杂,而且厂家处于利润考虑,很难进行完全的开源。退一万步考虑,即使软硬件完全开源,一般的个人用户,也无法做到很容易的制作,因此即使符合第一条,也不会符合第三条。

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

 
hero member
Activity: 854
Merit: 1000
走哪算哪
从丢币的交易所谈起

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

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

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



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



(ps:图来自壹比特)

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

那么我们问题来了,交易所为什么那么蠢,不用成熟的,而且便宜又好用的硬件钱包,而是用老式的电脑存储,以至于丢了币?

不绕弯弯,一句话解决战斗,就是凭什么相信你的硬件钱包是安全的?
你如何去证明你们的硬件钱包里面不会有木马,或者不会被第三方装入木马?

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

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

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

闭源硬件钱包的优与劣

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

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

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

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



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

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

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

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

一部分是Information Block:

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

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

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

朵朵钱包第一次开机主要完成两件事情,一个是wifi密码设置,一个是ppc区块和钱包的拷贝。最后顺便说一下一键钱包备份的功能。

当处于waiting for key的时候,按相应按钮,进入相关的功能,如图所示:



u盘的设置

1.先将电脑你的C:\Users\Administrator\AppData\Roaming\里面的ppccoin文件夹拷到u盘上面。

(如果不打算用已有的钱包,则将addr.dat和wallet.dat做备份,然后启动ppc客户端,等更新完毕后一定记住给钱包加个密码。然后拷贝到u盘,拷贝完毕再把备份的回复过来。这样,拷贝到朵朵钱包里面的,就是最新的地址)ps:用大于512MB的u盘,而且不能太大,因为要格式化为FAT32的格式。大概1G到4G的u盘比较合适

2.将wpa_supplicant.conf拷贝到u盘根目录,然后用记事本打开文件,将ssid="TP-LINK_8EBF36"引号部分改为你的路由器的名字,注意大小写。并将psk="xxxxx"引号里面改为你路由器的密码。

如下图所示:



 

视频如下所示:

http://www.tudou.com/programs/view/zi4MTN6WONY/?resourceId=0_06_02_99
 

区块及点点币钱包导入

将u盘插入到树莓派里面,在waiting for key界面的时候按下键,进入block copy界面,等待一会,拷贝完毕会提示reboot。如果没有进入block copy界面,而且有usb err字样一闪而过,说明u盘不识别,要更换u盘。(再强调一遍,必须是FAT32的u盘)



视频如下所示:

http://www.tudou.com/programs/view/oCb7pPqe6go/?resourceId=0_06_02_99
 

wifi设置

将u盘插入到树莓派里面,在waiting for key界面的时候按下键,进入wifi psw copy界面,等待一会,拷贝完毕会提示reboot。如果没有进入block copy界面,而且有usb err字样一闪而过,说明u盘不识别,要更换u盘。



视频如下所示
http://www.tudou.com/programs/view/GIvqfi7Vxp4/?resourceId=0_06_02_99

一键备份

将u盘插入到树莓派里面,在waiting for key界面的时候按下键,进入bak wallet addr界面,等待一会,拷贝完毕会提示reboot。如果没有进入block copy界面,而且有usb err字样一闪而过,说明u盘不识别,要更换u盘。



视频如下所示:

http://www.tudou.com/programs/view/2TSkKPFeYIM/?resourceId=0_06_02_99
 

最后说一句,朵朵钱包的功能尚在完善当中,而且也不仅仅局限于钱包功能。关于朵朵钱包的具体描述和未来将在下一篇文章进行论述。

作者:快乐的蘑菇

QQ:59974015

新浪微博:@duoduoxitong

BTC:36kRTKeA4C6Gh81AambYXt9peXGQjZfLtM

PPC:PJoURPM4Y6yvpTcseXtwL3aaGmvHhcwJzb

编辑:miner

稿源:http://www.8btc.com/duoduowallet
hero member
Activity: 854
Merit: 1000
走哪算哪
编者按: 树莓派功耗5瓦,之前的树莓派钱包做不到便携,因为需要屏幕,有线网络等外置设备。本硬件钱包仅需要一个充电宝,一个带ap的手机就完全可以实现联网进行PoS挖矿,达到便携了的目的。本文包含了设置教程及试运行的视频。

ps:这个是社区几个朋友提出来的,目前点点币的PoS挖矿是基于网络命令行的,不安全也不方便,因此希望能做一个较为简单的点点币PoS挖矿钱包。按一下启动,按一下挖矿,按一下关机,可以显示一些信息这样。

这篇文章可以看做是一篇产品说明书。真正的论述性文章会随后发布,敬请期待。

目前完成的功能

自动启动:当wifi模块,显示模块,电源和键盘都连接好了以后,朵朵钱包会自动启动程序;

自动联网:用wifi模块使得可以进行无线联网,并且第一次设置成功后,以后每次联网都是自动完成;

挖矿状态显示:开机输入挖矿密码就可以进行挖矿,并且会实时显示挖矿状态;

一键关机:在钱包的运行中长按最右的按钮就可以实现一键关机;

一键钱包备份:在等待界面长按上键就可以一键进行钱包备份(需要插入u盘);

一键数据区块及钱包导入:在等待界面长按下键就可以进行数据区块和钱包导入(需要按要求插入u盘);

一键wifi设置:在等待界面长按左键就可以进行wifi设置(需要按要求插入u盘)

自动关背景灯及手动背景灯点亮:进入钱包运行后,通过10个计数器值,屏幕背景灯就会关闭,如果需要查看,长按下键就可以再次点亮背景灯10个计数器值时间。

开机说明

开机成功后首先进入等待界面。上一行表示正在等待功能键的响应,目前的四个功能键为:一键备份,一键wifi设置,一键区块及钱包导入,和一键调试。具体功能下面会专门介绍。下一行显示版本号,目前的版本号是1.0。

在这个界面大概停留10s,如果没有按钮按下,则会进入下一个界面,提示input password。然后用键盘就可以输入挖矿密码(如果不想挖矿就随便输入一个)。一旦输入错了,目前可以用键盘的逗号和句号进行删除。(有一个小bug导致删除操作似乎响应有问题,解决的办法就是,一旦输入错误就连按逗号或者句号,直到屏幕只有一个*,然后重新输入密码)。

然后就是ppc启动界面,大概三到五分钟后就启动成功。

启动成功后显示的内容如下所示:



2.000000表示钱包里面点点币的数量为2个;

minting表示目前处于PoS挖矿状态,如果是显示pswerr,则表示挖矿密码错误,目前不在挖矿状态;

b:163155表示目前的区块数量;

c:8表示目前钱包已经连接上的节点为8个;

后面的13表示计数器值。

其中界面上面的5个按钮功能如图所示:



关机按钮长按后屏幕会出现poweroff字样,进入关机状态,判断是否完全关机,可以看wifi网卡的灯是否停止闪烁。一般停止闪烁10s后就可以拔掉电源安全关机。

进入调试的按钮,是用于朵朵钱包进行一般编程的时候使用,当连接键盘和显示器的时候,按下“进入调试”按钮,则可以退出程序,进入一般的linux命令行环境。

打开背景灯按钮长按后,背景灯会重新打开,并进入十个计数器时间的常亮(一般的情况下大概是十几秒)。

需要特别注意,如果钱包第一次打开,或者很久没有打开,由于大量数据需要更新,所以每个按钮的操作时间都变很长,最长的可以达到3到5分钟才可以响应操作,这个不是bug,是树莓派的性能问题导致的。开机演示视频如下所示:
Jump to: