别逗了,一个完整的数据库大概需要 2的256次方 条记录,扣除不在密钥区间的密钥数量,剩余大概是10的77次方 - 10的66次方 条有效数据(约等于10的76次方),知道这意味着什么吗?
地球上原子的总数大概是:1.28*10^47。作为类比,假设地球全部由1毫米的立方体组成,则地球上所有沙子的数量大概是:10的21次方粒沙子。
假设一个硬盘容量为100T(100000000000000 B),假设你的软件设计非常牛B,仅用存储密钥本身(32B),则一个硬盘可以存储3125000000000条记录,则存储比特币所有密钥需要:
10 ^ 76 / 3125000000 = 3.2 * 10 的63次方个硬盘。
所需要的硬盘数是地球上总原子数量的
3.2 * 10^66 / 1.28 * 10^47 = 25000000000000000 (倍)
所需要的硬盘数是是地球上总沙粒(已假设地球全部由沙子组成)数量的
10000000000000000000000000000000000000000000000000000 (倍)
根据科学家的推算,宇宙的直径可能高达920亿光年,已知1光年=9460730472580000 米,则宇宙体积约为:3.45 * 10的89次方立方毫米。假设一个硬盘只有一粒沙子那么大,把整个宇宙拿来存放硬盘,已知存储比特币密钥需要3.2 * 10 的63次方个硬盘,则整个宇宙可以存储
107836531714029000000000000 轮密钥。
这是个好消息。
题主另辟蹊径,在回复中提到了DNA硬盘,看起来非要死磕比特币的检索了。那么假设技术已经发展到了BB级,1BB=10^18次方TB,无非是在我的计算结果中减掉18个0,那么还是需要
100000000000000000000000000000000000 倍地球沙子数量的硬盘(已假设地球全部由沙子组成)——也就是需要的硬盘体积累计起来相当于100000000000000000000000000000000000个地球大小才能存储你的密钥数据(已假设硬盘跟沙子一样大)。
以上只是从存储的角度粗略计算,影响的其它因素还包括运算速度。你要存密钥,首先得把密钥计算出来吧? 假设你的超算特别牛B,每秒钟可以计算100BB个密钥,则100BB = 10 ^ 30 次/秒,则计算10^76次方个密钥大概需要的时间为:31709791983764586504312531709年。
以上计算为纯手工粗略计算,不排除多加几个0或者少了几个0,但完全不影响结论:痴人说梦!