比特币算力51 比特币算力kH

发布时间:2026-01-19 11:24:03 浏览:3 分类:比特币资讯
大小:509.7 MB 版本:v6.141.0
欧易官网正版APP,返佣推荐码:61662149

一、什么是51%算力攻击

关注比特币的朋友,想必听过51%算力攻击这个词,它到底是什么意思呢,发起这种攻击之后能做哪些“坏事”呢?

01

什么是51%算力攻击?

在比特币网络中,采用PoW共识机制来解决如何获得记账权的问题,采用“最长链共识”解决如何记账的问题。

所谓51%的攻击,就是利用比特币网络采用PoW竞争记账权和“最长链共识”的特点,使用算力优势生成一条更长的链“回滚”已经发生的“交易行为”。

51%是指算力占全网算力的51%,比特币网络需要通过哈希碰撞来匹配随机数从而获得记账权,算力衡量的是一台计算机每秒钟能进行哈希碰撞的次数。

算力越高,意味着每秒钟能进行越多次的哈希碰撞,即获得记账权的几率越高。

在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势,可以更快地生成区块,也拥有了篡改区块链数据的权利。

02

这种攻击能做哪些坏事?

在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。

实际上,当恶意攻击者持有比特币全网占比比较高的算力时,即使尚未达到51%的比例,也可以制造相应的攻击,比较典型的就是双花问题。

假设A拥有51%的算力,在区块高度1127时,A转给B一个比特币的记录被矿工打包。

待交易确认后,A依靠51%的算力优势在区块高度1126后重新生成了一条“更长的链”,并在区块高度1127处又将该BTC转给C且该交易记录被打包,即该链包含了A将一个比特币转给C的记录。

根据“最长链共识”,包含给C转账记录的链成为主链,则A转给B的一个比特币则为“无效支付“。

若掌握了51%的算力,除了可以修改自己的交易记录外,还可以阻止区块确认部分交易,以及阻止部分矿工获得有效的记账权。

但是,拥有51%的算力也不是万能的,无法修改其他人的交易记录,也不能阻止交易的发出,更不能凭空产生BTC。

03

实例分析

我们可以用一笔虚拟交易来说明51%算力攻击问题:

1.攻击者拥有私钥privKey0001,私钥拥有对应可花费比特币10000个

2.当前区块的高度是88888

3.攻击者与商户交易了10000个比特币,在商户看到88889区块中包含了此次交易后,坐上飞机驾驶员位置,开走了商户一架飞机。

4.攻击者因为拥有较高算例,从88888区块再次计算区块(此时,排除自己的10000个比特币买飞机的交易),迅速的计算出了88889/88890/88891/88892......区块,其它节点拉取最长链节点的区块,同步了攻击者的含有恶意攻击的区块信息。

5.因为攻击者买飞机的交易没有被区块包含,因此,可以再次到商户那里买上一架飞机开走。

上面这个例子就是典型的51%算力攻击成功后,所产生的双花问题。

04

51%算力攻击真的有人做吗?

理论上来说,要执行51%算力攻击,首先需要拥有比网络其他矿工更强的算力。

这意味着要有非常多的挖矿设备,大量挖矿设备本身就会消耗大量的资金。

而且除了设备,还需要大量的电力能源消耗。

由于电价上涨以及能源需求的增加,在过去几年里获得足够的电力来运营矿场变得愈发地困难。

当比特币网络还很小的时候,或许有可能获得足够的电力来运行提供51%算力的设备,但随着时间的推移,比特币网络消耗的电力持续增长,攻击者需要获得大量电力才能成功执行攻击,这种可能性也就越来越小。

发动算力攻击也是为了有利可图,但从经济角度来看,51%算力攻击的成本太高,利润太少,无法产生大量资金,并且会有受到重大损失的风险。

由于所涉及的成本和风险,进行51%攻击确实没有任何意义,而诚实挖矿则有利可图的多。

05

在攻击面前的风险规避

虽然51%算力攻击可以撤销交易,但不可以在没有私钥的情况下,控制私钥对应的比特币地址,因此不能无(私钥)中生有交易。

所以对于51%算力攻击,交易支付者不仅不需要过度担心,而且在别人进行51%算力攻击时,你也有可能做一次双花商家。

但是交易接收者可就没有那么好的运气了,因此为了避免被别人51%算力攻击,可以多等几个区块生成后再进行交易。

但是反过来想一下,51%算力攻击是很不值得的一件事情。

攻击是为了利益,既然攻击者持有了这么高的算力,诚实的挖矿带来利益是不是更好?

而且攻击必然打击投资者对比特币系统信心,这对攻击者来说未必是一件好事。

二、什么是比特币51%攻击

一提到对比特币的攻击,大部分人想到的就是51%攻击。所谓51%攻击,就是利用比特币使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。比特币发动51%攻击具体思路,大致如下:

准备工作:

1.既然是51%攻击,就必须首先掌握足够的算力,无论是控制矿池,还是利用其它计算资源,总之必须使你的算力领先与现在网络总算力,领先的幅度越大,成功的可能性越高;

2.拿到足够的BTC作为筹码,无论是自己挖到的,还是从任何渠道买的,都可以;

攻击步骤:

1.将手中的BTC充值各大交易所,然后卖掉,提现;或者也可以直接卖给某人或某一群人;

2.运用手中的算力,从自己对外付款交易之前的区块开始,忽略自己所有对外的付款交易,重新构造后面的区块,利用算力优势与全网赛跑,当最终创建的区块长度超过原主分支区块,成为新的主分支,至此,攻击完成;

攻击结果:由于撤销了所有对外付款交易,等于收回来所以已卖掉的比特币。

可行性评估:现在比特币全网算力差不多90T,而且还会快速增长,现在看来只有现在的几大矿池联合,才具有发动51%攻击的实力,普通个人或机构实施此攻击的可能性越来越小。

过去几年比特币网络的算力悄无声息的增长到了无比之大,这大大增加了比特币成功的可能性。反之也可以解释为什么山寨币不靠谱,太容易被51%攻击啦。在依赖密码学的数字货币领域,先发优秀是非常明显的。

三、比特币算力的单位有哪些最小单位是什么

一些最常用的比特币算力单位如下所示:首先是H/s,它是最小的单位,每秒做一次计算机随机的hash碰撞,由此称为Hash/s单位可以简单写成 H/sKH/s: 1KH/s=1000H/s一般情况下 K就是千,每秒1,000次哈希MH/s:1MH/s=1000KH/s M是兆,1M=1000千,1MH/s=每秒1,000,000次哈希GH/s:1GH/s=1000MH/s每秒1,000,000,000次哈希。TH/s:1 TH/s=1000GH/s每秒1,000,000,000,000次哈希。PH/s:1 PH/s=1000TH/s每秒1,000,000,000,000,000次哈希。EH/s:1 EH/s=1000PH/s每秒1,000,000,000,000,000,000次哈希。举个例子,如果算力写成“50EH/S”,那么算力就是5乘以10的19次方(19个0)

我们通过以上关于比特币算力的单位有哪些最小单位是什么内容介绍后,相信大家会对比特币算力的单位有哪些最小单位是什么有一定的了解,更希望可以对你有所帮助。

四、比特币挖矿的难度和算力

难度是对挖矿困难程度的度量,即指:计算符合给定目标的一个HASH值的困难程度。

difficulty= difficulty_1_target/ current_target

difficulty_1_target的长度为256bit,前32位为0,后面全部为1,一般显示为HASH值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, difficulty_1_target表示btc网络最初的目标HASH。 current_target是当前块的目标HASH,先经过压缩然后存储在区块中,区块的HASH值必须小于给定的目标HASH,区块才成立。

例如:如果区块中存储的压缩目标HASH为 0x1b0404cb,那么未经压缩的十六进制HASH为

所以,目标HASH为0x1b0404cb时,难度为:

比特币的挖矿的过程其实是通过随机的hash碰撞,找到一个解 nonce,使得块hash小于目标HASH值。而一个矿机每秒钟能做多少次hash碰撞,就是其“算力”的代表,单位写成 hash/s或者 H/s

算力单位:

比特币系统的难度是动态调整的,每挖 2016个块便会做出一次调整,调整的依据是前面2016个块的出块时间,如果前一个周期平均出块时间小于10分钟,便会加大难度,大于10分钟,则减小难度,目的是为了保证系统稳定的每过 10分钟产出一个块,所以难度调整的时间大概是2周(2016* 10分钟)

全网算力是btc网络中参与竞争挖矿的所有矿机的算力总和。当前难度周期全网算力会影响下一个周期的难度调整,如果全网算力增加,挖矿难度增大,单台矿机固定时间的产出就会减少。目前全网算力大概是24.42EH/s,一台蚂蚁S9矿机的算力大概是14TH/s

那么,已知当前全网算力,下一个周期难度将如何调整呢?

根据公式:

因为出块时间要稳定在10分钟,也就是600s:

那么,在3.46e+12的难度下,一台算力为14TH/s的矿机平均要花多长时间才能出一个块呢?

根据公式:

有:

结果大概是12270天