相信大家都听过一个这样的故事:
在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相:西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第 1 个小格里,赏给我 1 粒麦子,在第 2 个小格里给 2 粒,第 3 小格给 4 粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的 64 格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王和大臣们才慢慢发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。 百度百科 - 棋盘麦粒问题
那么这个棋盘上最后一格需要放多少粒麦子呢?
第一格 2^0 = 1粒, 第二格 2^1 = 2粒, 第三格 2^2=4 粒.....第 16 格 2^15=32768粒, 第 32 格 2^31 = 2147483648粒......
第 64 格 2^63 = 9.22 x 10^18.
人们估计,全世界需要 250 年,才能生产能放下第 64 格,需要的麦子!
这就是 2 的指数的威力。
----------------------
比特币私钥正好就是 2 的指数级复杂度。
1000001101101......0011011111, 一共 256 个 1 和 0 组成的二进制数字,有多大?人脑很难理解。我按照 3Blue1Brown 做的一个解释视频的风格,来跟大家描述一下。【【官方双语】256 位加密有多安全?- 哔哩哔哩】( 公众号原因不能贴链接,各位自己去 bi 站搜索吧 )
我们可以把 2 的 256 方,表示为 2^256,它又可以被拆分为
2^40 x 2^40 x 2^40 x 2^40 x 2^40 x 2^40 x 2^16
一共 6 个 2^40 x 2^16,
现在的蚂蚁 S19k pro 专业矿机,一秒可以猜120TH 次, 120,000,000,000,000, 120 万亿次 约等于 2^40,
第一个 120 万亿,代表了一台 S19K pro 矿机,(还可以办到)
第二个 120 万亿,代表了一家拥有 120 万亿台 S19Kpro 矿机的公司,( 离谱到家 ),
第三个 120 万亿,代表一个拥有 120 万亿个这种公司的地球,( 离谱到太阳系 ),
第四个 120 万亿,代表一个拥有 120 万亿个这种地球的银河系,( 离谱到银河系 )
第五个 120 万亿,代表一个这种银河系需要计算120 万亿秒,1 亿秒约 3.2 年,120 万亿秒 = 384 年
第六个 120 万亿 x 2^16,代表即使你拥有了前四个的所有条件,并且计算了 384 年。仍然只有 786 兆亿分之一的概率才能猜对这个数字。(离离原上谱)
-----------------
这就是 256 个 0 和 1 作为密码的强度,这也是比特币的私钥长度。
其实大家也发现了,只要有三个 2^40 也就是 2^120,那就不是黑客有能力攻击的了。
干就完了,真正做到了人类历史上第一次,“死可以带走。”
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。