2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

评论

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

5分钟速读之Rust权威指南(三十一)线程通信

wzx

rust

项目管理复杂多变,如何成为一个好的项目经理?

万事ONES

项目管理 研发管理 ONES 开发管理

纯CSS实现随机翻牌效果之steps 妙用

devpoint

CSS css3 6月日更

Rust从0到1-函数式编程-闭包

rust 函数式编程 闭包 functional closures

精致女孩的护牙小心机,藏在这瓶冰泉漱口水里

Geek_50a546

常用 Git 命令总结

编程三昧

git 大前端 工具

带老弟做个实时排行榜

程序员鱼皮

Java c++ 大前端 后端 项目实战

数字化的三大本质

CECBC

AQS知多少

卢卡多多

AQS 6月日更 锁分析

Linux之more命令

入门小站

Linux

带你掌握C++中三种类成员初始化方式

华为云开发者联盟

c++ 初始化 类成员初始化 声明时初始化 初始化列表

跳槽要不要找猎头

SwiftDD

面试

深度学习在推荐系统中的应用(二十一)

Databri_AI

深度学习 算法 推荐系统

阿里巴巴6月新作:“Java辟邪剑谱”,看完必让你直呼好家伙!

Java架构师迁哥

做好项目管理,项目经理需要具备哪些优秀品质?

万事ONES

项目管理 研发管理 IT ONES 项目经理

你公司里有不能碰的红线吗?

石云升

法律 职场经验 6月日更

服务频繁出现100毫秒的延迟,原因是什么?

BUG侦探

运维 开发

攻击方式学习之- 拒绝服务(DOS/DDOS/DRDOS)

网络安全学海

网络安全 信息安全 渗透测试

数据治理

奔向架构师

大数据 数据架构 数据治理

架构实战营 - 模块 7- 作业

请弄脏我的身体

架构实战营

Redis - Cluster - 分布式存储

旺仔大菜包

redis

手写Spring,定义标记类型Aware接口,实现感知容器对象

小傅哥

Java spring 小傅哥 aware

2021年最危险的七大攻击技术,我不信你不知道

网络安全学海

程序员 网络安全 信息安全 漏洞扫描 攻击技术

vivo商城促销系统架构设计与实践-概览篇

vivo互联网技术

架构 服务器 商城项目

电池战争:“新石油”与中欧分野

脑极体

极狐GitLab14.0正式面世!

极狐GitLab

从设计模式看如何提升程序员的工程素养

学无止境的阿奔

Linux 后端 设计模式 C/C++ 服务器

JavaScript 学习(十二)--- String对象中的模式匹配方法

空城机

JavaScript 大前端 6月日更

在线正则表达式测试,正则替换工具

入门小站

工具

云算力矿机挖矿系统搭建,Bzz节点挖矿APP源码

区块链服务网络全球首发 将极大降低政务、金融、能源等领域区块链应用成本

CECBC

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