V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bfbd
V2EX  ›  程序员

自己写了个比特币钱包,能用的加密手段都用上了

  •  
  •   bfbd · 2017-07-25 07:53:42 +08:00 · 6138 次点击
    这是一个创建于 2438 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随机密码管理不方便,无论是记忆还是打印,都挺麻烦。
    脑钱包网上诟病颇多,主要是密码短语设计太简单的话容易被暴力穷举。
    但大脑记忆和短语复杂度之间难于平衡,太复杂的密码又不容易记住。

    借鉴 WrapWallet 思路,加上 HDWallet 算法(BIP38),用复杂的密码短语和一个盐值短语组合生成根私钥,再逐级派生出海量子孙私钥。根私钥永不展示,生成的多个私钥、地址对可以导入官方 Bitcoin 钱包中使用。这样就有了海量的钱包地址,还不用备份操心。只要记住密码和盐值,随时可以找回。

    推荐的做法是使用一个复杂的秘钥短语配合多个不同盐值,生成不同用途的多个主账号( Account )。
    例如零钱地址使用 WangZheNongYao 或 w\x0angzhenongy\x0ao,主账户使用 v\02ex_bfbd

    密码短语可以很复杂,写在纸上记下来,记不住有纸条,纸条丢了有记忆,双重备份。
    如果不幸被人偷取了密码短语,不知道盐值短语也拿不到秘钥。
    如果再用\xFF 这样的十六进制表示法把短语中的个别数字、字母转换一下,暴力穷举的难度也直线提升。

    关注项目: https://github.com/aiportal/gowallet

    24 条回复    2018-08-28 18:52:54 +08:00
    csil1990
        1
    csil1990  
       2017-07-25 08:33:17 +08:00 via Android
    厉害
    shenyangno1
        2
    shenyangno1  
       2017-07-25 08:39:51 +08:00 via iPhone
    厉害
    gulangyu
        3
    gulangyu  
       2017-07-25 08:41:49 +08:00 via Android
    厉害
    WinG
        4
    WinG  
       2017-07-25 09:31:47 +08:00
    发币功能都没有,这个算钱包吗?

    跟自己生成私钥冷储存的安全性有什么差别?
    bfbd
        5
    bfbd  
    OP
       2017-07-25 09:43:23 +08:00
    @WinG 其他功能还在添加中。
    这个是脑钱包,私钥可以不存储,需要的时候随时生成。
    21grams
        6
    21grams  
       2017-07-25 09:45:14 +08:00
    这谁敢用,谁知道有没有后门
    WinG
        7
    WinG  
       2017-07-25 09:46:18 +08:00
    @bfbd 明白,谢谢解答。
    tlday
        8
    tlday  
       2017-07-25 09:49:31 +08:00 via Android   ❤️ 1
    是我见识太少还是楼主 Go 项目的代码组织方式确实不对?
    li02
        9
    li02  
       2017-07-25 09:53:14 +08:00
    没看明白,成品在哪
    dndx
        10
    dndx  
       2017-07-25 09:53:57 +08:00
    @21grams 代码都是开源的,不放心自己检查编译就好了
    Rice
        11
    Rice  
       2017-07-25 10:21:47 +08:00
    @21grams #6 开源的,自己检查代码
    type
        12
    type  
       2017-07-25 10:56:18 +08:00
    厉害
    MC
        13
    MC  
       2017-07-25 11:06:36 +08:00
    厉害
    xbdsky
        14
    xbdsky  
       2017-07-25 11:14:14 +08:00
    厉害
    liuminghao233
        15
    liuminghao233  
       2017-07-25 11:17:19 +08:00 via iPhone
    @21grams 自己看代码咯
    一行一行的看
    看不出来那就没办法咯
    bfbd
        16
    bfbd  
    OP
       2017-07-25 11:58:24 +08:00
    @21grams 开源哦
    @tlday 嗯,自由度大了点,回头规范下。
    @li02 目前版本 0.15: https://github.com/aiportal/gowallet/releases
    bfbd
        17
    bfbd  
    OP
       2017-07-25 11:59:07 +08:00
    @tlday 感谢提醒。:)
    Phariel
        18
    Phariel  
       2017-07-25 12:24:25 +08:00
    厉害!!!
    dopppler
        19
    dopppler  
       2017-07-25 18:31:03 +08:00
    厉害
    goodman001
        20
    goodman001  
       2017-08-03 08:26:25 +08:00
    给力!
    zzlettle
        21
    zzlettle  
       2018-02-04 20:05:21 +08:00 via iPad
    生成的盐的值 你保存在哪里了? 要自己记住吗?那不是和记住两个密码一样了
    bfbd
        22
    bfbd  
    OP
       2018-02-09 15:58:24 +08:00
    @zzlettle 的确是两个密码,但只有一个密码在大脑里。

    第一个密码写在纸上,可以放保险柜里,离线保存。
    第二个密码记在心里,没人能知道你想些什么。

    关键是两个密码都离线,黑客黑不走。
    zzlettle
        23
    zzlettle  
       2018-02-09 17:52:06 +08:00
    @bfbd 口令心中留,盐就秘密压箱底 o yeah
    buseni
        24
    buseni  
       2018-08-28 18:52:53 +08:00
    niubi
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4811 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:57 · PVG 17:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.