小白关于 Breadwallet 的疑问

2016-07-24 18:11:29 +08:00
 KillPaul
目前的御用比特币应用就是 Breadwallet ,由于我并不是真正的程序工程师,所以有几点疑问想请教大家。

- Breadwallet 是开源的,可是能否确认开发者提供的 iOS 应用和 Github 上的是统一的,没有后门呢?

- 貌似 Breadwallet 号称是无中心的,是不是不需要自己的服务器的意思?
- 如果是,那么它提供的 12 个单词组成的恢复码是通过什么原理来恢复自己已经多个交易产生多个钱包地址的 Breadwallet 呢?

- 如果它有自己的服务器,那么如果某一天它们服务器的数据丢失,那么是不是我们的恢复码也无效了,甚至钱包里的钱也丢失了呢?

谢谢,欢迎闲着没事的大神来解答~
3542 次点击
所在节点    Bitcoin
7 条回复
fcicq
2016-07-24 23:21:48 +08:00
现在基本都用轻量级钱包了, 这个也不例外, 缺点是需要信任索引服务器. 同步链的成本现在太高了.
App 是否一致的问题无解, 需要看作者信用.
恢复码的 idea 来自 https://xkcd.com/936/, 扩展出来, 比如有 4096 条长的词典, 倒查就可以当 base4096 用. 所以你的恢复码可以变成 BIP38 密码格式(?, 此处轻微存疑).
最后按照 BIP38 所述规则变回密钥.
fcicq
2016-07-24 23:25:16 +08:00
改正: 恢复码创建的是 BIP32 层级. 不小心把导入功能当成本体了.
fcicq
2016-07-24 23:26:54 +08:00
词典是 BIP39 定义的. 长度是 2048.
KillPaul
2016-07-25 06:30:59 +08:00
@fcicq 感谢回答~ 虽然有些地方完全不懂,意思是不是恢复码不会受任何因素影响?只要 app 一致,这个应用是很安全的?
fcicq
2016-07-25 09:53:26 +08:00
@KillPaul 这个基本就是把安全性寄托在最初的那个随机数上了, 然后那个随机数用字典变成你的恢复码. 你手机里存的是不能倒推的层级 key. 如果有高要求的话, 你最好能把手机里的 key 毁掉每次重新恢复.
frienmo
2016-07-25 20:29:23 +08:00
不信任的 wallet 还是当零花的好,我手机钱包只放了少量的比特币。
最安全的还是写只是吧,或者多 USB 备份。
naituida
2016-07-28 10:39:45 +08:00
breadwallet 是不需要连中心服务器的,使用的是 bitcoin 的 SPV 模式,你是参与到比特币网络的一个轻节点

基本原理是根据你钱包的地址创建一个 bloom filter, 发送给你连接到的比特币全节点,这些节点根据收到的 filter 推送与你地址有关的交易,以及这个交易在 block X的证明,这样每个新 block 产生后, breadwallet 只要处理很少的数据,同步也是同理,不需要下载完整的区块了。 breadwallet 在 SPV 模式的实现上是做了很多优化的,现在这部分也已经开源了 https://github.com/breadwallet/breadwallet-core

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294589

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX