【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

你大概需要 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:597938

评论

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

架构实战营模块二作业

Evan

架构实战营第二周作业

Jude

「架构实战营」

腾讯新闻基于 Flink PipeLine 模式的实践

腾讯云大数据

flink pipeline 流计算 Oceanus

和12岁小同志搞创客开发:手撕代码,做一款遥控灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Go 语言快速入门指南:第五篇 与数据为舞之切片

宇宙之一粟

golang slices 切片 签约计划第二季 12月日更

【Spring Boot 快速入门】六、Spring Boot集成Redis

小阿杰

redis SpringBoot 2 内容合集 签约计划第二季

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

不脱发的程序猿

Python qt PyQt GUI设计 窗口之间数据传递

[Pulsar] Acknowledgement原理

Zike Yang

Apache Pulsar 12月日更

架构实战营模块二学习总结

Evan

每一天

Nydia

你还在一个挨一个的删除镜像文件吗?

liuzhen007

28天写作 12月日更

常见序列化算法学习笔记二

风翱

序列化 12月日更

模块2作业

miliving

重学计算机组成原理(4)-还记得纸带编程吗?

JavaEdge

12月日更

神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践

刘悦的技术博客

人工智能 机器学习 深度学习 PyTorch 图像处理

Hystrix

李子捌

微服务 28天写作 12月日更

Go 语言快速入门指南:第四篇 与数据为舞之数组

宇宙之一粟

数组 签约计划第二季 12月日更

Java并发编程实战系列(15)-原子遍历与非阻塞同步机制

JavaEdge

12月日更

1-10聚合架构第十一讲:不服?那得治!

钰湚—付晓岩

面试官:StringBuilder与TextWriter有什么区别

喵叔

28天写作 12月日更

结构化思维 - 感悟

搬砖的周狮傅

感悟 结构化思维

iOS开发:dSYM文件分析

三掌柜

28天写作 28 12月日更 12月

Volatile 原理七:volatile都不保证原子性,为啥我们还要用它

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

【Spring Boot 快速入门】七、Spring Boot集成RabbitMQ

小阿杰

RabbitMQ SpringBoot 2 内容合集 签约计划第二季

学习源码整体架构系列 | 前端

若川

内容合集 签约计划第二季 技术专题合集

和12岁小同志搞创客开发:手撕代码,做一款数字骰子

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

对上管理

张老蔫

28天写作

Go 语言快速入门指南 【专题合集】

宇宙之一粟

Go 内容合集 签约计划第二季 技术专题合集

聊天与学习

将军-技术演讲力教练

拆解&组合

圣迪

数据 创新 组合 拆解 要素

Go 语言快速入门指南:第三篇 流程控制

宇宙之一粟

for 流程控制 swith 签约计划第二季 if语句

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