区块链算力攻击
⑴ “51%攻击”是什么它是比特币最大的威胁
所谓51%攻击,就是利用比特币使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。
如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他实际上拥有了绝对哪个一区块的有效权利。
他能够:
1、修改自己的交易记录,这可以使他进行双重支付
2、阻止区块确认部分或者全部交易
3、阻止部分或全部矿工开采到任何有效的区块
⑵ 区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法
分叉
前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。
虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。
规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。
比特币网络如何解决分叉带来的双花支付
可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。
这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。
你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。
如果有一台超级电脑,能够在区块解题中获胜?
即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。
51%攻击是指的什么
根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。
个人博客:https://dreamerjonson.com/
⑶ 比特币百分之51什么意思
比特币百分之51指的是单一实体对比特币网络的多数控制。
比特币区块链的51%算力攻击,指的是单一实体对比特币网络的多数控制,当该实体能够积累超过一半的全球计算能力时,就会发生这种情况。
一般只要算力超过51%,就能对某个系统发动攻击。
⑷ 九种常见的攻击区块链的方式
九种常见的攻击区块链的方式,很多人都知道区块链这个东西,也都知道区块链是会被人攻击的,很多人不知道有哪链腊些可以攻击区块链的方式,下面跟着小编一起来看看吧,希望能帮到你。
九种常见的攻击区块链的方式
1、日蚀攻击-一个节点将选择“x”个节点作为访问区块链的基础,该节点从这“x”个节点获取区块链的数据。
如果攻击者可以使得此节点选择的“x”个节点都为攻击者可控制的节点,就可以使得被攻击节点处在一个“孤立”的状态。被攻击节点将从主网中被隔离出来,完全由攻击者控制。
2、女巫攻击-这里的“女巫”并不是指拥有魔法的女人,而是出自一部美国电影《Sybil》,剧中的主人公拥有16重人棚亮滑格,扮演着16个不键好同的角色。而女巫攻击就是指同一节点伪装成不同节点发起的一种攻击。
攻击者通过伪造的身份,使少量节点伪装成大量节点,进而影响整个网络。攻击者可能利用女巫攻击进行双花、实现51%攻击等,并且要实施日蚀攻击,一般都会先进行女巫攻击。
3、异形攻击-异形攻击又称为“地址污染”。
当不同公链使用兼容的握手协议时,我们称这些公链为同类链。攻击者将同类链的节点数据加入被攻击的公链节点中,当被攻击的公链节点进行通信并互换地址池时,就会污染其他正常节点的地址池,并持续污染整个公链网络,导致公链通信性能下降,最终造成节点阻塞等现象。
4、自私挖矿_区块链的共识机制决定着节点会认同最长链才是真实有效的。攻击者可以在当前最新区块上持续挖矿但不进行广播,从而隐藏自己挖出的区块。
当攻击者节点隐藏的区块长于已在链上的公布的最长区块时再进行广播,从而成为最长链,使得原先的最长链进行回滚,从而实现双花等攻击。
5、挖矿木马_攻击者通过上传恶意程序到公开网络或者制作蠕虫病毒等方式将挖矿程序传播到他人计算机上。
利用他人计算机资源和电力进行挖矿,获取挖矿利益。被攻击的计算机会消耗大量的资源,导致电脑卡顿,使用寿命减短。
6、51%算力攻击_51%算力攻击是区块链最著名的攻击方式之一。
在一个POW共识的区块链网络中,算力即是权力。当超过50%的算力都由一人控制时,此人就可以任意的撤销和阻止交易,进而实现双花。
7、时间劫持攻击_一个节点是通过其他节点时间的中位值来确定时间的。
如果攻击者将一个恶意的节点列表置入被攻击节点的对等节点列表中,就可以控制此节点的时间,例如通过日蚀攻击。
8、芬尼攻击_如果攻击者可以隐藏一个包含自己交易的区块,就可能实现一笔双花。
当一个交易所或其他机构接受0确认的交易时,攻击者可以向其进行转账,花费其隐藏区块中已经花费的资金,在新交易的区块广播前,将隐藏的区块广播。
因为所隐藏的区块时间更早,所以在后面进行的花费将被回滚,从而实现双花。
9、种族攻击_此类型攻击是“芬尼攻击”的分支,攻击者将同时进行两笔交易,花费同一笔资金,一笔转给支持0确认的商家进行提现;一笔转账给自己,并给予更高的gas。
节点会优先处理gas更高的交易,所以后一笔交易将不会被执行。通常攻击者会连入与被攻击商家较近的节点进行操作,使得商家优先收到最终不被执行的交易。
⑸ 区块链中,什么是51%算力攻击
比特币白皮书中,有过这样的表述:诚实节点控制算力的总和,大于有合作关系的攻击者算力的总和,该系统就是安全的。
换句说,当系统中有合作关系的恶意节点所控制的算力,超过诚实节点所控制的算力,系统就是有被攻击的风险。这种由恶意节点控制超过50%算力所发起的攻击,称为51%算力攻击(51% Attack)。
那是不是所有的加密货币系统都有可能遭遇51%算力攻击的风险呢?其实并不是的,只有基于PoW(工作量证明)共识机制的加密货币,才存在51%算力攻击,比如比特币、比特现金和目前阶段的以太坊等;而非PoW共识算法的加密货币则不存在51%算力攻击,如基于DPoS(委托权益证明)共识机制的EOS、TRON等。
在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。
1、双花(Double Spending)。双花的意思是一份"钱"花了两次甚至多次。
51%算力攻击是如何做到双花的呢?假设小黑有666BTC,他把这些币支付的大白同时,也把这些币发到自己的另一钱包地址上。换一句话说,小黑的一份钱,同时转给两个人。最终,发给大白那笔交易先被得到了确认,并打包在区块高度为N的区块内。
这时,控制了超过50%算力的小黑,发起51%算力攻击。他通过重新组装第N个区块,将发给自己那笔交易打包进区块里,并持续在这条链上延展区块,由于算力的优势,这条量将成为最长合法链。这样小黑666BTC双花成功,大白钱包里的666BTC"不翼而飞"了。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
⑹ 区块链安全问题应该怎么解决
区块链项目(尤其是公有链)的一个特点是开源。通过开放源代码,来提高项目的可信性,也使更多的人可以参与进来。但源代码的开放也使得攻击者对于区块链系统的攻击变得更加容易。近两年就发生多起黑客攻击事件,近日就有匿名币Verge(XVG)再次遭到攻击,攻击者锁定了XVG代码中的某个漏洞,该漏洞允许恶意矿工在区块上添加虚假的时间戳,随后快速挖出新块,短短的几个小时内谋取了近价值175万美元的数字货币。虽然随后攻击就被成功制止,然而没人能够保证未来攻击者是否会再次出击。
当然,区块链开发者们也可以采取一些措施
一是使用专业的代码审计服务,
二是了解安全编码规范,防患于未然。
密码算法的安全性
随着量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密算法生成数字签名来安全地交易,目前最常用的ECDSA、RSA、DSA 等在理论上都不能承受量子攻击,将会存在较大的风险,越来越多的研究人员开始关注能够抵抗量子攻击的密码算法。
当然,除了改变算法,还有一个方法可以提升一定的安全性:
参考比特币对于公钥地址的处理方式,降低公钥泄露所带来的潜在的风险。作为用户,尤其是比特币用户,每次交易后的余额都采用新的地址进行存储,确保有比特币资金存储的地址的公钥不外泄。
共识机制的安全性
当前的共识机制有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、授权权益证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面临51%攻击问题。由于PoW 依赖于算力,当攻击者具备算力优势时,找到新的区块的概率将会大于其他节点,这时其具备了撤销已经发生的交易的能力。需要说明的是,即便在这种情况下,攻击者也只能修改自己的交易而不能修改其他用户的交易(攻击者没有其他用户的私钥)。
在PoS 中,攻击者在持有超过51%的Token 量时才能够攻击成功,这相对于PoW 中的51%算力来说,更加困难。
在PBFT 中,恶意节点小于总节点的1/3 时系统是安全的。总的来说,任何共识机制都有其成立的条件,作为攻击者,还需要考虑的是,一旦攻击成功,将会造成该系统的价值归零,这时攻击者除了破坏之外,并没有得到其他有价值的回报。
对于区块链项目的设计者而言,应该了解清楚各个共识机制的优劣,从而选择出合适的共识机制或者根据场景需要,设计新的共识机制。
智能合约的安全性
智能合约具备运行成本低、人为干预风险小等优势,但如果智能合约的设计存在问题,将有可能带来较大的损失。2016 年6 月,以太坊最大众筹项目The DAO 被攻击,黑客获得超过350 万个以太币,后来导致以太坊分叉为ETH 和ETC。
对此提出的措施有两个方面:
一是对智能合约进行安全审计,
二是遵循智能合约安全开发原则。
智能合约的安全开发原则有:对可能的错误有所准备,确保代码能够正确的处理出现的bug 和漏洞;谨慎发布智能合约,做好功能测试与安全测试,充分考虑边界;保持智能合约的简洁;关注区块链威胁情报,并及时检查更新;清楚区块链的特性,如谨慎调用外部合约等。
数字钱包的安全性
数字钱包主要存在三方面的安全隐患:第一,设计缺陷。2014 年底,某签报因一个严重的随机数问题(R 值重复)造成用户丢失数百枚数字资产。第二,数字钱包中包含恶意代码。第三,电脑、手机丢失或损坏导致的丢失资产。
应对措施主要有四个方面:
一是确保私钥的随机性;
二是在软件安装前进行散列值校验,确保数字钱包软件没有被篡改过;
三是使用冷钱包;
四是对私钥进行备份。
⑺ 区块链里面什么是51%攻击
简单解释下,51%攻击又叫大多数攻击,是指恶意矿工控制了区块链网络50%以上的哈希率(hashrate,即算力),随后对网络发动攻击,接管区块链网络让不法分子得以逆转交易、停止支付或者防止新交易予以确认。
详细有关51%攻击可以在 密码财经网络了解,
⑻ 什么是51%算力攻击
让盈富财经学院的老师给你普及下,算力是指每秒钟可以计算的哈希值次数。而51%算力攻击一般是指利用算力优势来修改区块链记录,从而达到撤销已付款交易的目的。
当一个掌握51%算力攻击后,将有可能创造出一条比当前主链更长的交易链,这对整个比特币安全市场,将会是巨大的打击,从而引发价格暴跌。
⑼ 什么是 51% 攻击
51% 攻击是对比特币(或其他区块链网络)的潜在危机,利用比特币是用算力作为竞争条件的特点,使用算力优势撤销自己燃让已经发生的交易。51%的攻击者将拥有足够的矿池算力从而能够故意排除或篡改交易顺序。
恶意行为者或组织掌握全网 50% 以上的哈希率,他们就能够凌驾于网络的共识机制之上,实施双重支付等恶意行为。成功的 51%攻击还能允许攻击者阻止某些或所有交易被确认(亦指:交易拒绝服务),亦可以阻止一些或所有其他矿工继续进行采矿,而导致矿业垄断。
另一方面,多数攻击是不允许攻击者阻止事务广播,慎指也不允许反向来自其他用户的事务。另外,改变区块奖金,凭空创造币或窃取从未属于攻击者的币也是非常不可能的。
51% 的攻击有多大可能?
区块链网络是由非中心化及分布式节点网络来维护的,并要求所有参与者必须达成共识的过程中合作工作。这亦是区块链网络为什么高度安全的主要原因之一。网络越大防御力越好,保护及防御攻击和数据损宽段配坏能力越高级。
⑽ 什么是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%算力攻击是很不值得的一件事情。
攻击是为了利益,既然攻击者持有了这么高的算力,诚实的挖矿带来利益是不是更好?
而且攻击必然打击投资者对比特币系统信心,这对攻击者来说未必是一件好事。