突然异想天开,想看看以太坊64位私钥(0x0000...-0xffff....)遍历碰撞是否可行。
从理论上讲,就是最右侧的16位16进制数字,最大:0xffffffffffffffff,也就是16的16次方,即:18446744073709551616,用科学计数法表示的话,大约是1.844674407371×10^19。
大约1844亿亿。数值太大,必须要支持高并发的计算方式才可行,我们选择Goland,使用协程支持高并发。单协程大概计算的tps=1.38万(生成私钥然后得到地址并对比),启动1000线程。单天可处理的私钥数:1.38万/秒X1000协程X60秒X60分X24小时=1.19232万亿。
遍历完成1844亿亿,总共耗时:1844亿亿/1.19232万亿=1844亿/1.19232万= 15465647天 = 42371 年。科学还是很严谨的,想轻松就能碰撞成功,没门。我有生之年用mac本遍历完成所有64位私钥不现实,量子计算机咱没有。
![dd8f993fc5fd7eaba4d1dd3a531b4a18.png](https://img-blog.csdnimg.cn/img_convert/dd8f993fc5fd7eaba4d1dd3a531b4a18.png)
![2d0d72cf1b7d0572721b006b69455625.png](https://img-blog.csdnimg.cn/img_convert/2d0d72cf1b7d0572721b006b69455625.png)
示例中的钱包地址:0xb589ee644cb759c099b28f85dffbdb53d6ce2834,骗了我5000USDT,根据科学理论,很难拿回来了,我只能望币兴叹了。你们如果有办法帮我追回,那我必有重谢!你也可以随便找个地址试试,看看有生之年能否匹配到私钥,很难。
本示例仅供学习交流参考,作者不承担任何责任。
//param.conf
appId=1
nums=1000
display=60
sleep=1
package
如果感觉这篇文章有用,也欢迎大家打赏一下,以弥补我这5000USDT的损失,想想就心疼。我的USDT地址:0xcb2a863E136a0DA6396E831EC256b3CAE01c20d8。钱多钱少我都非常感谢,要是能帮我从那个2834的地址吐出来,那我必有重谢,感谢您的大恩大德。