我不是搞技术的,因为最近很多人都在讨论比特币,所以看了相关的文章,有些地方不太懂,在此想请教一下各位大神。
根据我的理解,生成一个钱包的整个流程是:
我知道由公钥或者钱包地址不能逆转得到私钥。
而我的疑惑是,这个私钥的长度是固定的话,而且同一个私钥能得出唯一一个钱包地址,那么也就是说可以穷举出所有密钥?或者说不断地尝试不同的私钥然后得出地址,再在比特币账本上查一下看这个地址有没有 BTC,然后就可以占为己有了?
我知道我肯定是某些点理解错了,但是搜索了知乎和 Google 没找到解决我这个困惑的答案,希望有大神不吝赐教,谢谢!
1
pkuphy 2017-12-26 22:43:04 +08:00
|
2
frienmo 2017-12-26 22:45:01 +08:00 4
你可能对 2 的 256 次方有什么误解,推荐你看下
|
3
hjc4869 2017-12-26 22:50:09 +08:00
密钥空间太大穷举不现实。不仅 EC 是这样,对称密码也是如此。
|
4
JohnLou 2017-12-26 22:54:44 +08:00
你对力量一无所知。
|
5
t6attack 2017-12-26 23:02:29 +08:00
有个东西叫“虚荣地址生成器”,可以帮助你理解。
|
6
acess 2017-12-26 23:26:39 +08:00 1
Andreas M. Antonopoulos 有本书《精通比特币》,巴比特有,你可以去看看,要啥有啥……
|
7
useyes 2017-12-26 23:36:35 +08:00
你应该了解下 2 的 256 次方是什么概念。
|
8
billlee 2017-12-27 00:47:52 +08:00
2^256 和宇宙中的原子数量级差不多
|
9
hsuan 2017-12-27 08:26:35 +08:00 via Android
也许运气好真能找到一个呢?有没有什么工具是专门干这事的?
|
10
Part OP |
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 年
|
14
EmbraceZ 2017-12-27 10:22:47 +08:00 via Android
@Part 再给一个数字,宇宙中原子总数是 3.28 x 1080 和 2^256 相比,九牛一毛。如果你相信你能在宇宙里大海捞针,那这个比特币穷举也一定可行
|
18
wanshanju 2017-12-27 10:48:58 +08:00 1
可以参考下知乎上的一个讨论 : 在知道某个比特币地址的情况下,是否有可能通过破解私钥来攻破该账户? https://www.zhihu.com/question/22018930
|
19
acess 2017-12-27 11:05:48 +08:00 via Android
私钥有 256 位,但是,比特币地址经过两次 hash,第二次是 RIPEMD160。
我记得 Large Bitcoin Collider 官网说他们就是想碰这个 160 位的最终结果,这样似乎并没有什么前途…… 也有可能他们是想搞弱密码脑钱包吧。 |
21
lvybupt 2017-12-27 11:12:07 +08:00
NPC 问题,想目前的计算能力,穷举需要的时间超过了地球的寿命无数倍
|
22
uqin 2017-12-27 12:16:21 +08:00 via iPhone
这是一个初级数学问题吧 跟比特币关系不大
|