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

请教一个比特币钱包生成的问题

  •  1
     
  •   Part · 2017-12-26 22:34:06 +08:00 · 1859 次点击
    这是一个创建于 2553 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我不是搞技术的,因为最近很多人都在讨论比特币,所以看了相关的文章,有些地方不太懂,在此想请教一下各位大神。

    根据我的理解,生成一个钱包的整个流程是:

    1. 生成私钥,这个类似钱包的密码,要保密;
    2. 通过椭圆算法得出公钥;
    3. 将公钥转换成钱包地址。

    我知道由公钥或者钱包地址不能逆转得到私钥。

    而我的疑惑是,这个私钥的长度是固定的话,而且同一个私钥能得出唯一一个钱包地址,那么也就是说可以穷举出所有密钥?或者说不断地尝试不同的私钥然后得出地址,再在比特币账本上查一下看这个地址有没有 BTC,然后就可以占为己有了?

    我知道我肯定是某些点理解错了,但是搜索了知乎和 Google 没找到解决我这个困惑的答案,希望有大神不吝赐教,谢谢!

    22 条回复    2017-12-27 12:16:21 +08:00
    pkuphy
        1
    pkuphy  
       2017-12-26 22:43:04 +08:00
    道理是这样的。
    但是以目前的计算能力,不可能穷举所有私钥。

    有这样的组织在按这个思路做: https://lbc.cryptoguru.org/trophies 结果惨淡。。。
    frienmo
        2
    frienmo  
       2017-12-26 22:45:01 +08:00   ❤️ 4
    你可能对 2 的 256 次方有什么误解,推荐你看下
    hjc4869
        3
    hjc4869  
       2017-12-26 22:50:09 +08:00
    密钥空间太大穷举不现实。不仅 EC 是这样,对称密码也是如此。
    JohnLou
        4
    JohnLou  
       2017-12-26 22:54:44 +08:00
    你对力量一无所知。
    t6attack
        5
    t6attack  
       2017-12-26 23:02:29 +08:00
    有个东西叫“虚荣地址生成器”,可以帮助你理解。
    acess
        6
    acess  
       2017-12-26 23:26:39 +08:00   ❤️ 1
    Andreas M. Antonopoulos 有本书《精通比特币》,巴比特有,你可以去看看,要啥有啥……
    useyes
        7
    useyes  
       2017-12-26 23:36:35 +08:00
    你应该了解下 2 的 256 次方是什么概念。
    billlee
        8
    billlee  
       2017-12-27 00:47:52 +08:00
    2^256 和宇宙中的原子数量级差不多
    hsuan
        9
    hsuan  
       2017-12-27 08:26:35 +08:00 via Android
    也许运气好真能找到一个呢?有没有什么工具是专门干这事的?
    Part
        10
    Part  
    OP
       2017-12-27 09:41:49 +08:00
    @frienmo @useyes @billlee 我的理解是如果“一个萝卜一个坑”的话,就是坑很多,但是我可以一个一个检查某个坑里是不是有萝卜,这样捡到萝卜是不是只是时间问题?
    taresky
        11
    taresky  
       2017-12-27 09:53:17 +08:00 via iPhone
    @Part # 那你为什么不买彩票呢,这样致富的概率会高无数倍…
    Part
        12
    Part  
    OP
       2017-12-27 10:16:44 +08:00
    @taresky 我只是想解决我的疑问,你没有必要言语上攻击我。如果你知道答案,请消解我的困惑。
    EmbraceZ
        13
    EmbraceZ  
       2017-12-27 10:18:56 +08:00 via Android   ❤️ 1
    @Part 打个比方,哪怕你试一个密钥只用一纳秒,够快的了吧,一共是 2 的 256 次方个地址,假设这个世界上有 2 的 30 次方 (G 级别) 个钱包均匀分布,也就是说平均实验穷举 2 的 226 次会出现一个钱包,简单计算一下用时期望就是 1.1e59 秒(可能不太对也差不了多少)就是 3.41e51 年
    EmbraceZ
        14
    EmbraceZ  
       2017-12-27 10:22:47 +08:00 via Android
    @Part 再给一个数字,宇宙中原子总数是 3.28 x 1080 和 2^256 相比,九牛一毛。如果你相信你能在宇宙里大海捞针,那这个比特币穷举也一定可行
    EmbraceZ
        15
    EmbraceZ  
       2017-12-27 10:23:27 +08:00 via Android
    @EmbraceZ 打错了,是 10 的 80 次方
    EmbraceZ
        16
    EmbraceZ  
       2017-12-27 10:24:47 +08:00 via Android
    @EmbraceZ 哦我还要纠正一下,10 的 80 次好像跟 2 的 256 次相差不多
    taresky
        17
    taresky  
       2017-12-27 10:36:09 +08:00 via iPhone
    @Part # 语言上攻击你?确实买彩票致富概率更高啊。你的问题上面各位都已经解决了,哪里不懂?
    wanshanju
        18
    wanshanju  
       2017-12-27 10:48:58 +08:00   ❤️ 1
    可以参考下知乎上的一个讨论 : 在知道某个比特币地址的情况下,是否有可能通过破解私钥来攻破该账户? https://www.zhihu.com/question/22018930
    acess
        19
    acess  
       2017-12-27 11:05:48 +08:00 via Android
    私钥有 256 位,但是,比特币地址经过两次 hash,第二次是 RIPEMD160。
    我记得 Large Bitcoin Collider 官网说他们就是想碰这个 160 位的最终结果,这样似乎并没有什么前途……
    也有可能他们是想搞弱密码脑钱包吧。
    acess
        20
    acess  
       2017-12-27 11:07:22 +08:00 via Android
    @wanshanju 那个答案是“定点爆破”,比“广撒网撞大运”应该难得多吧……
    lvybupt
        21
    lvybupt  
       2017-12-27 11:12:07 +08:00
    NPC 问题,想目前的计算能力,穷举需要的时间超过了地球的寿命无数倍
    uqin
        22
    uqin  
       2017-12-27 12:16:21 +08:00 via iPhone
    这是一个初级数学问题吧 跟比特币关系不大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.