攻破SHA-256!?你的比特币还安全吗?

这篇具有很好参考价值的文章主要介绍了攻破SHA-256!?你的比特币还安全吗?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原创 | 刘教链

挽弓当挽强,用箭当用长。射人先射马,擒贼先擒王。

就在BTC(比特币)还在7万刀附近游走之际,密码学界隔空传来一声霹雳:对SHA-2的碰撞攻击方法取得新进展!

运用这一最新的碰撞攻击方法,研究者在全球首次成功攻破了31步长的SHA-256哈希、28步长的SHA-512哈希以及40步长的SHA-224哈希。

该成果是由来自华东师范大学和东京工业大学的联合研究小组所取得的。

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

大家都知道,比特币地址正是SHA-256哈希。如果我能轻易构造出与你的比特币地址相同的SHA-256哈希,那就意味着我可以轻松转走你地址里的所有比特币。

不仅如此,比特币挖矿也是计算SHA-256哈希。如果我能轻易构造出任意SHA-256哈希,那也意味着我可以不用耗费巨大算力、电费以及长达十分钟的时间来去蛮力计算,就可以轻轻松松做出合格的区块哈希,比世界上任何一台矿机都更快地挖出新区块。这意味着,我将成为世界上最强大的矿工,所有剩余待挖的比特币都将被我挖到。

你不禁担心:我的比特币还安全吗?比特币系统会不会崩溃?

简单的回答是:目前还很安全。因为比特币系统采用的是64步长的SHA-256哈希。

还差33步呢!—— 当然,绝大部分人对这个数字并没有什么概念。

教链在音频课《比特币原理》第五章中曾经用形象化的比喻来向大家描绘SHA-256的大小:

在这么巨大的数字面前,人类直觉是失灵的。2的256次方,不过就是256个随机的1和0的组合嘛,感觉好像很小的数字哎。可是你知道吗,找到两个可以发生碰撞的哈希原象(即输入),也就是找到两个不同的输入,它们的哈希值是相同的,这样的概率有多小呢?这个概率比你读完这篇文章刚好一颗小行星撞击地球毁灭的概率还要小。

还有一个方法帮助理解破解SHA-256哈希的难度。把2的256次方拆成8个2的32次方相乘。2的32次方大概是40亿。40亿这个数字就属于人类想象力能够理解的数字大小了。然后:

1. 1台具有4个显卡的计算机1秒钟可以计算大概40亿次哈希。

2. 设想一家超级电脑公司,有40亿台这样的电脑。(这家公司大概是几千家谷歌公司的规模加起来那么大)

3. 设想地球上有40亿人(占80亿人口的一半),每人都拥有一家这样的超级电脑公司。(全自动化的吧,不需要员工:)

4. 设想银河系有40亿颗恒星系(占银河系4千亿颗恒星的1%)中,每一个星系中都有这样一个地球,每个球上都有40亿人,每个人都有一家超级电脑公司。这个银河系就是一个超级计算银河系。

5. 设想宇宙中有40亿个这样的超级计算银河系(占全宇宙几千到几万亿个星系的很小一部分)。这就组成了一个超级宇宙计算机。这台计算机的算力大概是2的160次哈希每秒。

6. 这样一台超级宇宙计算机连续计算40亿乘以40亿秒,也就是5000多亿年,大概是目前宇宙年龄(138亿年)的40倍时间,有多大概率能够破解一个SHA-256哈希呢?也只有40亿分之一的概率能够破解成功!

像上面这样靠强大的算力去计算的破解方法,叫做brute-force(暴力)破解法。今天遍布全球的比特币矿工,干的就是这个事情。

所以,其实世界上最强大的强攻比特币的家伙是谁呢?正是比特币自己!

有趣吧?

今时今日,比特币所动用的用以攻击自身的算力已经超过600 Ehash/s。

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

这就是教链在《比特币史话》里所讲的“矛”与“盾”的故事。

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

不过,战争的艺术在于,总是有两条路。强攻不成,还可智取。

比特币矿工们走的是强攻的路线。而密码学家们走的,则是智取的路线。他们一直在尝试,通过巧妙的构造法,能够不借助于算力蛮干,就能找到SHA-2这一类哈希的“弱点”,将其一举攻破!

所有的稳态都是暂时的平衡。矛盾运动的张力始终有天然的冲动。博弈的均衡换来了动态的和平。因此,忘战必危。

软柿子的命运就是被捏。软骨头的民族必定遭受欺侮。只有视死如归,才能震慑敌人。只有不惧战争,才配拥有和平。只有确保相互毁灭,才能避免世界大战。这就是纳什均衡。

但是要在搜索空间接近整个可观测宇宙原子数(约10^80,即2^266)的SHA-256中找到有效的碰撞,比大海捞针还要难上近乎无穷大倍。

何况,找到两个碰撞的原象,与找到指定哈希的原象,其难度又不在一个数量级上。前者被称为“生日攻击”。

2010年7月25日,中本聪就讨论过这个问题:

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

而且,比特币系统并非是僵化不变的系统。事实上,早在2010年6月14日,中本聪就讲过,比特币应当如何面对未来SHA-256哈希可能被攻破的情况。他是这样说的:

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

我想,如果真有那么一天,可能还需要做一次链上转账,把旧哈希保护下的地址里的比特币,全部转移到新哈希函数的地址中去。

一个可以不断升级的比特币系统,本就不是一成不变的黄金,而是一艘“忒修斯之船”。正如教链在《比特币史话》的序言里所说的:(参阅2023.2.28《上帝掷骰子,比特币向前进》)

比特币究竟是一成不变的还是持续进化的,它又如何能应对未来百年乃至千年的变数和挑战呢?如果未来出现了量子计算机、可控核聚变,或者人类征服了火星,进化成了星际物种,比特币在充满变数的未来世界,又将如何适应呢?比特币就像一艘忒修斯之船,核心设计保持不变,其余一切皆可改变。我们会看到“变与不变的矛盾统一”的辩证法,在比特币身上的技术体现。

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

号外:教链内参3.28《内参:贝莱德的代币化基金BUIDL究竟为何物》

首个 sha-256 的 31 步可行碰撞攻击,安全,区块链

* * *

延伸阅读更多刘教链精彩文章:

如果你在2010年拥有5000个比特币 2024.3.24

【硬核】一文读懂比特币 2020.6.9

挖矿漫谈 2023.2.21

如何使用私钥保管比特币 2020.10.20

小科普:地址,私钥,助记词 2021.9.28

ECDSA科普:大雄和静香的情人节 2019.2.17

量子计算机真的能破解比特币吗? 2020.6.5

放心,5年内不会看到量子计算突破 2023.8.5

(公众号:刘教链。知识星球:公众号回复“星球”)

(免责声明:本文内容均不构成任何投资建议。加密货币为极高风险品种,有随时归零的风险,请谨慎参与,自我负责。)

喜欢本文就请点亮在看、点赞、转发支持哦

👇👇👇
文章来源地址https://www.toymoban.com/news/detail-853949.html

到了这里,关于攻破SHA-256!?你的比特币还安全吗?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SHA256加密

    将转换成16进制再加密 将byte转为16进制 以上是加密算法,解密,其实我们可以将密文存到数据库中,当需要判断是否一致的时候,就那加密后的与数据库中存的值做对比,看是否一致

    2024年02月12日
    浏览(55)
  • ocr+sha256

       

    2024年04月17日
    浏览(47)
  • SHA-256算法及示例

    SHA-256(安全哈希算法,FIPS 182-2)是密码学哈希函数,其摘要长度为256位。SHA-256为keyless哈希函数,即为MDC(Manipulation Detection Code)。【MAC消息认证码有key,不是keyless的。】 SHA-256哈希函数可定义为: 其中: 输入:消息 M M M 为任意长度的字节数组。 输出:在 [ 0 , 2 256 ) [0,2

    2024年02月10日
    浏览(46)
  • Solidity Keccak256与SHA3-256

    SHA3由Keccak标准化而来,在很多场合下Keccak和SHA3是同义词,但在2015年8月SHA3最终完成标准化时,NIST调整了填充算法: SHA3-256(M) = KECCAK [512] (M || 01, 256) 。所以标准的NIST-SHA3就和Keccak计算的结果不一样。 如对空字符串进行Keccak256 和 SHA3-256结果各不相同: 以太坊在开发的时候SH

    2024年02月11日
    浏览(70)
  • 如何获取SHA256证书指纹

    打开dos窗口。cmd  找到keytool命令,jdk的bin目录下。如果已经配置了环境变量则可以直接用  输入keytool查看是否识别命令 输入命令,查看SHA256证书指纹(由于我的文件直接在d盘根目录。我先d: 切到d盘的。) keytool -list -v -keystore lyfjpushdemo.jks 输入密钥则会生成。 (在其它盘可

    2024年02月16日
    浏览(52)
  • FIPS 180-2 散列算法SHA-224、SHA-256、SHA-384 和 SHA-512 的C语言快速软件实施:理论与实践

    一、安全散列算法(SHA)简介 安全散列算法(Secure Hash Algorithm,简称SHA)是美国国家安全局(NSA)研发的一种密码散列函数算法标准,由美国国家标准与技术研究院(NIST)认证[3]。SHA系列算法包括SHA-1、SHA-224、SHA-256、SHA-384 和SHA-512 等变体[1]。在本文中,我们将重点介绍FI

    2024年02月14日
    浏览(56)
  • Rust语言之sha-256爆破

    SHA-256是一种安全哈希算法,主要特点是将输入的数据(无论长度)通过特定的计算方式,生成一个固定长度为256位的哈希值,通常表示为64个十六进制字符。基于其单向性,即从哈希值无法逆推出原始输入数据,通常被用于密码的存储。 SHA-256是SHA-1算法的后继者,其名称来源

    2024年02月21日
    浏览(45)
  • 手把手教你SHA-256

    SHA-256是SHA-2协议簇的一部分,也是当前最流行的协议算法之一。在本篇文章中,我们会了解这个密码学算法的每一个步骤,并且通过实例演示。SHA-2因它的安全性(比SHA-1强很多)和速度为人所知。在没有键(keys)生成的情况下,例如挖掘比特币,像SHA-2这样的快速哈希算法很

    2024年02月13日
    浏览(58)
  • MAC电脑查看SHA256方式

    现在很多网站下载大文件时,以往通过查看文件大小来确定是否下载正确,但是很多情况下,文件下载后大小差不多,但是很多时候却时候出现无法安装的问题,有可能还是下载的文件出现错误,导致文件无法正常使用,所以规范的网站都提供MD5或SHA256的方式来对下载的文件

    2024年02月13日
    浏览(37)
  • 【Solidity】Solidity Keccak256 与 SHA3-256

    Solidity Keccak256 与 SHA3-256 区块链的造富神话大家一定都有所耳闻,今天我们讨论以太坊中一项基础技术,主打一个一学就会。 看过以太坊源码或者对区块链有了解的的同学,一定都见过一个哈希算法 Keccak256 。 Keccak256 可以称它是以太坊中第一函数。 那 Keccak256 和 SHA3-256 有什

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包