写点什么

比特币安全实测:暴力破解私钥到底有多难?

你大概需要 1024 年。

  • 2019-10-30
  • 本文字数:1814 字

    阅读完需:约 6 分钟

比特币安全实测:暴力破解私钥到底有多难?


暴力破解私钥有点像数数:数得越快,就会越早得出不可能数尽的结论。然而,目前仍有不少人对利用暴力方式破解比特币私钥抱有浓厚的兴趣。成不成另说,梦想是要有的。


对于很多数学极客而言,破解私钥的关键在于弄清统计概率。但对于纯粹的梦想家来说,这单纯只是个野心大小的问题。一旦把英勇与数学结合起来,诞生出的就是愿意向比特币私钥发起冲击的新时代堂吉诃德。


在 Bitcointalk 论坛上,这类话题从 2018 年 6 月 11 号以来一直相当活跃。不过在《BitCrack——一款私钥暴力破解工具(BitCrack – A tool for brute-forcing private keys)》当中,用户们利用专门为此设计的软件对暴力破解方法进行了分析,并清醒地意识到这一目标根本没有可行性。


用户 Coin-1 最初以非常礼貌的方式劝阻那些打算尝试的人们:“让我们计算一下破解计算机上一枚比特币地址所需要的时间。你提到自己的算力水平为每秒 900 万个比特币地址,即每秒约 2^23 个比特币地址。因此,暴力破解需要花掉的时间就是 2^(160-23) = 2^137 秒!换算之后超过 1024 年!”


可以看出,我们不可能在一台普通计算机上尝试从没钱的比特币钱包里提取资金。但是,如果计算机更快、更强大,每秒能够尝试更多密钥,那么比特币的安全体系是否有可能土崩瓦解?


问题的规模

克服挑战的第一步,在于对挑战进行量化。为此,我们必须确切计算出总共存在多少个潜在密钥。钱包私钥一般就是 1 到 2256 之间的某个数字,也就是说要想强行破解,我们要做的就是不断猜测,直到找出这个在 1 到 2256 之间的正确数字为止。


对于人类大脑而言,这确实是个大到难以理解的数字。事实上,这甚至大于宇宙中所有原子数的估计值。在这种规模下,即使是世界上最快的超级计算机(IBM 的 Summit),对单一数字钱包进行暴力破解所需要的时间仍然非常惊人。


钱包恢复

另外,这种纯粹的暴力破解只会影响到那些想不起密码或者提醒问题的比特币用户。只要二者解决其一,资产并不会真正丢失。例如,只要我们记得一部分密码,就可以申请使用钱包恢复服务。在大多数加密货币中,我们需要完全信任项目公司接管自己的钱包。但就比特币以及 BitCoin Cash 来说,无需完全交出钱包也能享受到这一恢复服务。


假设能够成功,那么暴力破解能够为攻击者带来相当于钱包内总资产 20%的收益;但这是那种打不赢不给钱的比赛,如果未能破解成功,投入的所有资源都将彻底消失。因此,攻击者自然会认真考虑这样的赌局到底有没有必要参与。


量子危机

一段时间以来,量子计算一直被视为比特币持续安全性与保真度的最大威胁。批评者们认为,私钥破解已经指日可待。最近,谷歌公司公布其达成“量子霸权”目标,相关担忧又进一步激化。在短短 3 分钟之内,谷歌的量子计算机就完成了传统计算机号称需要 1 万年的复杂计算任务。


此事足以引起加密货币社区的广泛讨论,但好在量子计算社区向来以严格要求自己、及时摒弃谣传而闻名。IBM 公司很快现身,对谷歌的说明批判了一番。不同于谷歌做出的、传统计算机需要计算 1 万年的主张,蓝色巨人在博文中提到“我们认为,通过对同一任务的理想模拟方法,整个过程在 2.5 天内即可通过经典计算机得到解决,且保真度更高。”


如果要问我对量子霸权的意见,那么我觉得到目前为止,其与真正量子计算间的距离,就像氢弹与可控核聚变之间的距离——我们确实证明了一种现象的存在,以及从中汲取能量的美好可能性,但与真正的实用性仍然相去甚远。



量子计算机构 NEO 全球发展负责人 John Devadoss 在接受采访时表示,“目前在量子计算领域存在一种「为尊者讳」的倾向,这一点在 AI 方面也有存在。首先,即使是在学术领域,卖「大力丸」的人士也很多,他们希望借此为自己的实验室拉拢资金。其次,虽然确实取得了进展也确实存在一定的小众应用空间,但高到离谱的错误率加上实验室条件的严格约束,都反复证明量子计算的实际应用仍然遥遥无期。”


至少就目前来看,量子计算似乎还没有迎来真正的飞跃,至少不可能破解比特币的加密机制。加密货币持有者确实应该时刻关注一切安全威胁,但还不需要为暴力破解问题太过担忧。成功完成劫持需要的时间长到难以想象,也不会有人傻到真的拿出自己的资源与精力进行尝试。


大家认为比特币最终会溃败在量子计算的强大威力之下吗?请在评论中分享您的观点。


原文链接:


How Hard Is It to Brute Force a Bitcoin Private Key?


2019-10-30 14:5911504

评论

发布
暂无评论
发现更多内容

Vue进阶(七十二):css 样式中 逗号、空格、冒号、点号、~、>的区别

No Silver Bullet

Vue 8月日更

常见内存泄漏引起原因

金陵老街

apipost使用脚本发送一个接口请求

与风逐梦

后端 开发工具 接口测试

【墨天轮专访第二期】巨杉数据库萧少聪:重视企业长期需求,打造中国的世界级产品

墨天轮

数据库 人物访谈 国产数据库 巨杉数据库

一文为你介绍ServiceComb Service-Center三大高性能优化点

华为云开发者联盟

开源 微服务 注册中心 Service-Center

云小课|想实现资源全自动备份?看完这篇秘籍,不再蕉绿~

华为云开发者联盟

云备份 自动备份 备份策略

面试侃集合之SynchronousQueue非公平模式篇

码农参上

非公平锁 SynchronousQueue 8月日更

拆分电商系统为微服务

tjudream

微服务 电商 拆分

Spark必读!总有一些Spark知识点你需要知道

Qunar技术沙龙

spark hdfs mapreduce Web UI 数据倾斜

疫情小区离你有多远,百度地图告诉你

百度开发者中心

最佳实践 百度地图

Pulsar 周报 2021-08-09 ~ 2021-08-15

Apache Pulsar

Apache Pulsar StreamNative

新生代农民工的十八般武艺,你都了解吗

华为云开发者联盟

DevOps 云原生 编程语言 编程规范 新生代农民工

eKuiper 联手 OpenYurt,解决物联网场景下边缘流数据处理难题

EMQ映云科技

云计算 阿里云 物联网 IoT #Kubernetes#

惊!阿里大佬珍之若宝的最强高并发pdf,竟然被上传GitHub开源

Java 编程 架构 面试 程序人生

0基础架构入门 - 1(架构概述)

felix

架构实战营 0基础架构入门

深入虚拟机探索Thread start

4ye

源码 线程 后端 JVM 8月日更

linux笔记:极简方式安装mysql,建议收藏

小鲍侃java

8月日更

阿里P8大牛终于整理完了564页大话java性能优化神仙文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

模块一

Tim

架构实战营

故事篇:数据库架构演变之路

阿Q说代码

主从复制 读写分离 集群部署 8月日更 垂直拆分

Go- map的定义

HelloBug

Go 语言 map的定义

阿里内部推出Spring响应式微服务Boot2Cloud文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

模块一作业

Geek_85eb5f

深层剖析鸿蒙轻内核M核的动态内存如何支持多段非连续性内存

华为云开发者联盟

鸿蒙 内存 结构体 OpenHarmony 动态内容

Go- map的使用

HelloBug

Go 语言 map的使用

TP6+layui2.6.8开发的管理系统(FunAdmin),内置Curd命令模式 在线更新

funadmin

CMS layui 商城 管理系统 funadmin

带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

华为云开发者联盟

端到端 网络模型 车道线 实体分割 LanNet

金九银十给我疯狂内卷!GitHub再现星标86K面试手册,37K!妥妥的

Java~~~

Java 架构 面试 算法 JVM

膜拜!阿里内部都在强力进阶学习springboot实战派文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里P8大牛耗费三年整理的:Java架构之完美设计实战PDF

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

超实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络

比特币安全实测:暴力破解私钥到底有多难?_区块链_Kai Sedgwick_InfoQ精选文章