什么是区块链51%攻击? | 币小宝区块链公开课49期
哈喽大家好,我是币小宝,今天我们的主题是,什么是51%攻击?
昨日,AE遭遇黑客51%攻击,损失3900万枚代币(价值约400万美元)。无独有偶,此前ETC也曾反复遭遇51%攻击,大幅降低用户体验。那么,什么是51%攻击?
我们首先举个例子。假设币小宝花费1个比特币购买了一台电脑,几天后,我收到电脑,商家受到比特币。但币小宝可以通过51%攻击抹除这笔交易,如果成功,那么,这1枚比特币还在我的账户中,相当于币小宝没花一分钱,得到了电脑。
在介绍51%攻击之前,我们首先了解一下POW机制,这里以比特币挖矿过程为例。
比特币挖矿的过程,便是寻找新区块哈希值的过程。
比特币网络大约每隔10分钟便产生一个区块,每一个区块有唯一的哈希值(类似于身份证号码),而这个哈希值需要矿机进行大量的运算,算力越高,运算速度越快,找到的哈希值的概率也越高。一旦某一位矿工找到哈希值后,便会广播全网,其他矿工验证后,便会确认,将交易数据写入区块,至此,一个挖矿过程便已结束,继续寻找下一个区块哈希值。
因此,假如某个矿工拥有100%的算力,那么这个矿工一定可以找到最新的区块哈希值;而当这名矿工拥有51%的算力时,大概率也会率先找到下一个区块哈希值。
51%的攻击过程
上面提到,找到区块哈希值的矿工应该将哈希值广播给全网,告诉其他矿工。
但是,攻击者矿工可以不广播,而继续在他自己打包的块后面不断打包新的数据块,创建一个别人不知道的分支链。现在网络上就存在两条区块链,如图:
这两条链分别是:
- 主链(绿色),其他所有矿工正在挖矿的链;
- 腐败链(红色),攻击者正在挖矿的链。攻击者只要在腐败链上挖矿并且一直不广播,网络上其他矿工不会得到攻击者打包的数据块,它对网络上的其他矿工是隐身的。
这时,攻击者可以在主链(绿色)上花掉他所有的比特币,比如他花费10个比特币买了一辆保时捷。但与此同时,这笔交易并没有被记录在腐败链上,换句话说,在腐败链上,他继续拥有这10个比特币。
注意,攻击者矿工在腐败链上排除了他自己的交易。同时,攻击者继续从网络上得到数据块并添加到腐败链上。
问题来了。
区块链被设计为是民主的,也就是少数服从多数。
区块链通过始终相信最长链来达到民主,毕竟大多数矿工挖矿的链会更长(
最长链 =民主
)。
这就是区块链如何判断哪条链才是主链,反过来,钱包的余额也依赖于主链。
现在比赛开始了。
谁有更大的哈希计算能力,谁就会更快将块添加到其挖矿的链上,谁的链就会更长。
这是一个攻击者矿工与全网矿工的赛跑。
现在,攻击者矿工拥有更多的哈希计算能力(51%),他在腐败链上挖矿的速度更快。
竞赛
现在,腐败链正以比主链更快的速度在延长。一旦腐败链比主链更长了,攻击者矿工便会立即向全网广播这条腐败链,而其他矿工检测到这条腐败链比他们原本挖矿的主链要长,按照协议,他们必须丢掉原本的主链,替换成这条腐败链。
原本的腐败链现在被认为是主链,是值得信任的真实的链,所有在原主链上记账的交易数据都被丢掉了,就像没有发生过一样。
攻击者之前用比特币买了一辆车,但是这个交易现在并不存在于现在的主链上(红色)。他再次拥有了他曾经已经花掉了的比特币,他可以再次花掉这些比特币。
这就是一次双花攻击 ,通常叫 51% 攻击,因为攻击者矿工的哈希计算能力必须比网络上其他所有矿工算力的总和更多(也就是至少有全网 51% 的算力),才可以让他自己的链比主链更长。
51%的攻击的可能性
在历史上,发生51%攻击的大多数是一些小币种,因为小币种的算力更少,如果要控制算力所需的成本更低。相反,如果有人试图攻击比特币网络,难度有多大呢?
首先,攻击比特币网络不符合矿工利益。假如比特币网络被攻击后,用户对比特币网络信心丧失,没有用户使用的比特币网络,比特币将一文不值,这对矿工有什么好处呢?
其次,攻击比特币网络需要51%的算力,目前,比特币网络算力分散在全球数百万不同的矿工之中,要控制如此多的算力需要数百亿美元的资金成本,而且,大型机构不可能冒险去控制比特币网络。
不过,理论上来说,为了防止51%攻击,一般比特币大额交易要等待6个区块之后,基本上也就没什么问题了。
《币小宝区块链公开课》是由币小宝官网推出的区块链入门科普内容,更多区块链知识,欢迎关注币小宝专栏,文中部分数据来自www.bixiaobao.com,转载请注明出处。
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류 l 탈중앙화 자율조직 형태로 결성…구성원 모두가 위믹스3.0 운영에 참여 가능l 스마트 컨트랙트 기반 모듈화 ...
[주간톡톡] 양의 탈을 쓴 늑대는 양일까? 늑대일까?
주간톡톡은 한주간의 블록체인 소식을 재구성해 독자들과 재미있게 이야기해보는 코너입니다. 이번주는 페이스북의 스테이블 코인 프로젝트 '디엠(Diem)'에 대해 알아보겠습니다. 그럼 ...
IBM, 블록체인 와인 추적 서비스 '빈어슈어(Assure)' 공개
IBM이 재배지부터 매장까지 와인 공급망을 추적할 수 있는 블록체인 기반 플랫폼을 공개했다.10일(현지시간) 발표에 따르면 IBM은 와인 모니터링 업체 e프로브넌스(eProven...