以“天河二号”持续计算每秒3.39亿亿次的运算速度,需要多久可以破解比特币?比特币终端在哪
以“天河二号”持续计算每秒3.39亿亿次的运算速度,需要多久可以破解比特币?
比特币是一种加密币,其基石在于加密算法。要破解比特币,要么从数学层面上破解算法,要么以强大的算力暴力破解。
试试相对容易的SHA-256算法吧
比特币的核心算法分别是:
- 用于挖矿的SHA-256哈希算法,提供工作量证明
- 用于密钥对计算的椭圆曲线算法(ECDSA)
其中,SHA-256是相对简单的部分。我们就来说说SHA-256吧。

SHA-256用于将原始数据生成哈希值,在比特币系统中用于提供工作量证明。如果“天河二号”能提供全网算力的50%以上,就可以控制区块链的新出块,把非法的双花交易打包到区块中,从而造成对比特币区块链的破坏。
那么,“天河二号”能提供多少算力呢?
天河二号的算力
在百度百科中,可以查到:
- “天河2号由16000个节点组成,每个节点有2颗基于Ivy Bridge-E Xeon E5 2692处理器和3个Xeon Phi,累计共有32000颗Ivy Bridge处理器和48000个Xeon Phi,总计有312万个计算核心。”
- “如果考虑CPU,2 Ivy Bridge * 0.2112 Tflop/s 3 Xeon Phi * 1.003 Tflop/s=3.431 Tflops”
从MiningBenchmark可以查到,与Xeon E5 2692类似的处理器E5 2660的SHA-256性能为400MH/s:
在cpuboss的对比测试中,E5-2692的性能比E5-2660高约16%。
我们就用这些数据来进行估算。
E5-2692的SHA-256性能估计为400*1.16=464MH/s
单颗Xeon Phi的性能不到E5 2692的5倍,按5倍估算。则完整的天河二号的SHA-256算力可达:
464M*(2 5)*16000=51968000M=51968G=51.968T (H/s)
即天河二号的SHA-256算力大致为51.968TH/s,我们就假设为52TH/s 吧。这个速度如何呢?
矿机的算力
我们来看看当前主流的比特币矿机:
68TH/s,比“天河二号”快一些吧?而这可不是最快的矿机。
再看一个:
110TH/s,超过了两套“天河二号”的速度。
这些还只是单台矿机,要想达到双花,也就是50%攻击,要拥有全网算力的50%以上。
比特币全网算力
我们来看看比特币的全网算力:
这可是“天河二号”算力的两百多万倍!
那么,需要多少套“天河二号”才能达到全网算力的一半呢?我想,没必要在这里继续计算了。有兴趣不妨留言。
这是SHA-256,另外一种核心算法“椭圆曲线”的计算复杂度远高于SHA-256,也没必要继续分析了。
小结
小结一下:就比特币特定的算法而言,“天河二号”的算力在比特币全网之中连弟弟都算不上,作为一台矿机都只是个弟弟,更别说“破解”了。
计算机是人类历史上最伟大的发明之一,记得二战之后第1次发明的计算机,当时每秒钟可以计算5000次,当时的计算机占了好几个房间那么大,但是就是这样的简陋计算机当时已经被人们称之为奇迹。因为它可以代替人做一些复杂的运算,解决很多的难题。
几十年过去了,现在的计算机与那个时候相比,已经有了翻天覆地的变化。我们每个人的手机上CPU运算率都远远超过了当时的普通计算机,而容量只有一个指甲块那么大。而超级计算机以我国的天河二号为例,每秒钟计算速度达到了3.39亿亿次。
在我们想来有这么快的运算速度,天河二号超级计算机应该可以解决世界上绝大多数难题。比特币作为一种非常热门的货币,它的实质事实上也是在网上进行计算得来的。那么使用超级计算机是否能够破解开比特币呢?答案是不可能,因为超级计算机虽然厉害,但是他所能做的事情还是比较有限的。可以说比特币和超级计算机的运算是两个不同领域的东西,不同领域的东西是很难突破的。
计算机确实解决了人类的很多难题,以至于很多人都夸大了超级计算机的能力,但是很多事情并不是完全靠计算就能够解决的。比特币的产生和发展虽然和网上的计算有关系,但是它是集合网上的各种计算机来共同运算的,它的整个速率事实上比超级计算机还要恐怖的多,据说有数百万倍,这就是分布式的好处。
此外比特币是一种加密货币,它有着非常复杂的加密算法,想破解比特币的加密信息是相当困难的,其实是超级计算机也不能。事实上,我们人类使用了这么多年的计算机,虽然计算机确实带来了不少的便利,但是很多事情并不是计算机能够轻易达到的。这一点我们在生活和工作中就应该有所体会,计算机只是一个工具,它不能够解决所有的问题。
例如华为突破5G的算法,据任总说就是俄罗斯的一个数学家计算出来的。那是俄罗斯那个数学家用不同的数学工具,有着深厚的数学功底,最终才解决这个问题。普通人很难做到这一点,超级计算机也没有任何的办法,因为如果超级计算机有方法解决这个问题的话,美国拥有世界上最快的超级计算机,那么早就突破5G技术,不至于要制裁华为了。
无所谓破解不破解!
比特币实质上一文不值,起初只是炫耀技术的,后来被人利用成为圈钱的工具罢了!
金银货币有实际价值,纸币是以国家信用为支撑,比特币有什么?_?
有人说,不少国家都承认了,他就不是骗子!
但你没看到,这些承认的国家,央行有没有储备比特币?人家只是承认比特币交易手段合法,可并没有承认比特币本身有价值,这是有根本性区别的!
技术上破解比特币的算法是可以实现的,但不好实现的是修改基于区块链技术上所有电脑储存的比特币信息,比特币所采用的区块链技术,典型的特征是无中心的分布式记账形式,简单讲就是在这个系统内任何一个修改的数据都同时备份到所有电脑的储存中,并且不允许修改,因为你改了自己电脑上的数据,并不能修改全球其他电脑上的数据,等于在这个系统中任何一个人做的任何事都同步备份到其他人的电脑上,这就是分布式记账,即是通过黑客攻击服务器,难度也很大,因为区块链技术里没有主服务器,每一个参与的节点(电脑)都是服务器,除非把所有节点上的数据都修改了,但是此技术的算法使得当有人试图去修改所有节点的数据时,这套算法的更新时间很短,目前难以实现,所以去破解比特币的系统就有点得不偿失了。
现有的全部计算机的能力是无法短时间破解的!否则比特币密码学就是悖论,如果量子计算机商用化就有可能破解,但是那时候比特币的对抗量子计算机的算法又更新了,量子计算机终究无法破解。事物都是不断进步的,提高计算机商用能力很难,而改进比特币算法相对来说容易!
比特币挖矿一定要用计算机吗?为什么不能用纸和笔来计算呢?
比特币其实是一个毫无用处的一串数字,但是被大家公认为有用,它就像钻石、古董、字画、游戏皮肤等被赋予了价值。既不能吃,也不能用,但我们还是会认可它们的价值。
比特币是一种虚拟货币,基于区块链技术,区块链是一个人人都可以参与数据处理的数据库。通俗一些讲比特币系统就是一个大型的记账本,它不需要一个具体的地方去记录某个账户下有多少余额,只要知道所有账户之间的转账记录,就可以推算出某个账户下有多少余额。
举个例子:
A、B、C账户初始值分别为50、0、0
转账记录:
A转给B:10
B转给C:5
C转给A:2
B转给A:3
这时,就可以计算出A、B、C的余额分别为:
A:50-10 2 3=45
B:0 10-5-3=2
C:0 5-2=3
A转账给B时,A不光要自己记账,还要把这个账单广播给区块链上的所有人。
“挖矿”的过程实际上就是一个账单数据记录的过程,每隔10分钟左右就需要矿工将之前没有经过大家确认的交易数据收集起来进行处理。
但问题就来了,矿工那么多,到底用谁处理的数据?
系统就有了一个特殊的机制,所有参与的矿工把数据打包的时候必须加入一个叫做“哈希值”的东西,系统才会认可你处理的数据。
挖矿其实就是找Nonce随机数,通过生成区块头部的随机数来调整每次哈希的结果,使得计算出来的区块的哈希值符合一个特定的标准。
谁能最先完成这件事,并把自己的工作成果广播给其他的矿工确认,全网其他节点核对该区块记账的正确性,且大部分认为没问题,谁就能获得记录数据的权利,以及很多的比特币作为奖励。
最开始的时间,每次奖励50个比特币,每过4年时间奖励减半:
2009-2012年,每次奖励50btc;
2013-2016年,每次奖励25btc;
2017-2020年,每次奖励12.5btc;
按照这样的规划,到2140年左右,奖励会变为0,比特币总量约2100万个。
其实,矿工挖矿不仅仅是为了比特币,是维护整个区块链网络的重要环节:挖矿的人越多,参与数据确认的人也就越多,区块数据也就越安全。
比特币的区块哈希算法
比特币挖矿的算法,是对区块头做两次sha256哈希运算,得到的结果如果小于区块中规定的难度目标,即挖矿成功。
挖矿节点一旦筛选好交易数据,按照时间顺序,两两哈希,层层约减,就可以计算出一颗Merkle树,可以确定一个唯一的摘要,这就是Merkle树的根。Merkle树中,任何节点的变化,都会导致Merkle树的根发生变化,通过这个值,可以用来验证区块中的交易数据是否被改动过。
区块头是80字节,平均每个交易至少250字节,平均每个区块包含2000个交易。区块哈希值实际上并不包含在区块的数据结构里,区块打包时只有区块头被用于计算哈希。
交易数据都通过Merkle树固定了下来,不需要再包含进来。所以区块链是通过区块头链接在一起的。
随机数可以变化,而且要从0试到2的32次方。直到最后出现的hash结果其数字低于难度目标值。比如猜出来的值输入后得到hash值前面40个都是零,而要求是前面35个0,那么肯定符合要求。
在挖矿时,随机数是未知的,要从0试到2的32次方,就是4294967296种可能性。以现在的一台矿机的算力,全部算完也不需要一秒,所以还需要改变区块内部的创币交易中的附带消息,这样就让Merkle根发生了变化,从而有更多的可能去找符合要求的随机数。
挖矿中,第一笔交易是创币交易。创币交易可以附带一段文字消息,这段消息可以用来提供更多符合要求的随机数。比如中本聪在挖出创世区块时植入的信息:
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
综上所述
比特币是不可能用纸和笔计算出来。一个区块计算出来,使用普通的电脑,需要26年。一台比特大陆生产的S17(功率1470W)算力50TH/s,不间断运行挖比特币一个月可以获得0.03个比特币,挖一个比特币则需要33个月。S17运行一小时耗电量约为1.47度电,一天就需要耗电35.28度电,那么挖一个比特币就需要34927.2度电。
“挖矿”仅仅只是让更多的人参与进区块链网络的建设中来,这么多的电费用来“计算”一串虚拟的数值这样真的好吗?
比特币并不是一个保值的东西,价格浮动较大,炒比特币可能一夜暴富,也可能一夜变成穷光蛋。比特币也并非宣称那样安全,2014年全球最大的比特币交易网站MtGox被黑客入侵导致破产,价值4.67亿美元的比特币瞬间蒸发。犯罪分子用它来洗钱、逃税等等,政府想去调查也是相当困难的一件事。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!
你好,我是树哥,专注于区块链的普及和推广。
回答这个问题的核心在于,
为什么要进行计算?
其实计算根本不是为了找到那个答案,而是以下的几个作用:
- 通过调整计算的难度来调整,出块时间在10分钟左右。
比特币每产生一个区块是10分钟。但实际上这10分钟只是目标值。产生区块的时间可能会低于10分钟,也可能会远高于10分钟。在网络初期两三个小时的出汗时间,一点儿也不少见。所以比特币网络每过2016个区块就会调整一次难度,尽量让网络的出块的平均时长在10分钟左右。
- 计算只是为了寻找区块生产者。
买个10分钟比特币网络都需要一个区块生产者,这个区块生产者负责打包账本,然后把它复制发送到全网。当然这个区块生产者可以获得这个区块所产生的比特币。
所有人都想当区块生产者,选谁呢?出道题给大家算吧。所以这个题只是为了甄选出区块生产者,没有其他任何意义。
所以这一点就可以回答你的问题,用纸和笔没有意义。要选一个计算机节点,而不是选人。而且对问题的答案也毫不在意。
总结:所以比特币的计算题只是为了选出区或生产者,而且还可以通过计算题的难度来保障每10分钟出一个区块。所以这个题的答案是什么根本不重要,所以也不需要你用笔和纸来进行计算。
到此,以上就是小编对于比特币终端的问题就介绍到这了,希望介绍关于比特币终端的2点解答对大家有用。
