如何理解51%攻击

在使用PoW共识机制的区块链网络,存在一种攻击手段:51%攻击。

使用这种攻击手段目前来说可以达成两种目的:

目的1:双花攻击,将同一笔钱花两次。

目的2:交易抑制,阻止别人在网络中产生交易。

为什么可以51%攻击可以达到这两个目的呢?

这就涉及到使用PoW共识的区块链的形成方式啦。

区块链的构成方式

区块链的构成方式非常简单。

首先,是创世区块,记录第一笔交易的区块。

然后,是后面的一系列区块,每个区块除了记录网络中发生的交易以外,还有一个区域记录上一个区块哈希值。

最后,通过共识算法,保证每个区块后面只有一个后续区块。

通过上述的方式,区块就可以串联起来形成区块链。

如何实现双花攻击

根据区块链的形成过程,决定了如果某个人掌握了51%的算力,就可以实现双花攻击。

举个例子:假设李华有100BTC,他把这些币支付给韩梅梅的同时,也把这些币发到自己的另一钱包地址上。换一句话说,李华的一份钱,同时转给两个人。然后李华发送51%攻击,在当前区块链高度上构建一个不包含转给韩梅梅,但包含转给自己的交易区块,并以算力优势将伪造的区块链快速延长。最终,根据只有李华转给自己的那笔交易得到了确认。

想象以下的一个场景:李华和韩梅梅在交易黄金,李华用100个比特币买了韩梅梅手中的黄金,转账完成后,韩梅梅发现自己的钱包中确实多了100个比特币,就直接坐私人飞机回家啦。等韩梅梅走后,李华立马发送51%算力攻击,将转账给韩梅梅的交易变为自己的交易打在区块中并构造伪造的区块链,并利用算力优势迅速延长,等到6个区块链之后,根据PoW共识,所有区块链都承认了伪造区块链的正确性。

此时,飞机降落后,打开手机的韩梅梅发现自己的100比特币突然就不见了,因为新的链条中并没有小黑转给小白的这个交易,这就是双花攻击。

如何实现交易抑制

理解了第一种目的的实现方式,很容易理解实现第二个目的的方式。掌握算力51%的组织或者机构,如果想让某笔交易不被确认,可以在发现某笔交易后,立即发动51%的算力攻击,在自己组装的区块中,排除这笔交易。由于我有51%的算例,我会在以后所有的区块中排除这笔交易,这样这笔交易将永远不会得到确认。

举个例子,美国掌握了伊朗所有的交易账号,然后可以把伊朗排除在比特币交易体系中。

为什么我们不必担心51%攻击

我们不担心51%区块链攻击有以下几点:

  1. 区块链的维护者们,为了共同的利益,不会允许某个机构或个人的算例突破到51%。

  2. 拥有51%算力的拥有者,不会愿意做这种搬起石头砸自己脚的事情。

  3. 追求完美的工程师们,为了避免这种理论上的可能性,思考出了其他共识协议来解决该问题,比如PoF等。

比如,PoW共识协议在比特币系统中稳定运行了将近十几年时间,从来没有因为51%算力攻击出现问题,因为51%算力攻击仅仅是理论上可行。

理论篇:如何理解51%攻击相关推荐

  1. DGCNN理解理论篇

    DGCNN理解理论篇 参考了LDGCNN论文,分别从输入点集.任务描述.点云特性.局部图结构.图特征提取等角度给出DGCNN数学理论理解. 输入点集 输入数据可用集合来描述,即向量的集合,每一个向量代 ...

  2. 一步步教你轻松学朴素贝叶斯模型算法理论篇1

    一步步教你轻松学朴素贝叶斯模型理论篇1 (白宁超2018年9月3日17:51:32) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对 ...

  3. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  4. 解密回声消除技术之一(理论篇)

    http://hulong988.blog.51cto.com 解密回声消除技术之一(理论篇) 2009-06-11 22:24:58 标签:语音 职场 休闲 通讯 原创作品,允许转载,转载时请务必以 ...

  5. 【机器学习】Logistic Regression 的前世今生(理论篇)

    Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上 ...

  6. php switch 函数,PHP丨PHP基础知识之条件语SWITCH判断「理论篇」

    Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择.以PHP来说,switch(开关语句)常和case break default一起使用 典型结构 switch($control ...

  7. 如何构建一个分布式爬虫:理论篇

    ## 前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一 ...

  8. 第4代白盒測试方法介绍--理论篇

    关键词: 白盒測试 第4代 測试方法 4GWM 在线測试 持续測试 灰盒 脚本驱动 脚本桩 摘  要: 本文是第4代白盒測试方法的理论介绍,描写叙述3个关键领域内9项关键特征的概念与固有特征.同一时候 ...

  9. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇

    前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一个比较 ...

最新文章

  1. 【GZAdmin】开源BS demo快速搭建
  2. Stylus插件开发教程 1
  3. request.getContextPath()的功能
  4. C#中模态对话框释放问题
  5. [NewLife.XCode]脏数据
  6. 连接postgresql
  7. 『原创』+『参考』亲手实验:使用C#在PPC中播放声音
  8. Oracle 19.8新特性asmcmd credverify and asmcmd credfix
  9. 安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作
  10. Linux 中的 【 TOP 】 命令,查看CUP的使用率
  11. goland gorm分组查询统计_MySQL·查询(一)
  12. python高斯滤波和降噪_高斯滤波器和高斯滤波器中sigma与带宽的关系
  13. CAN资料整理(二):CAN协议帧格式
  14. spark streaming核心原理及实践
  15. JT/T-1078流媒体服务优化升级
  16. 享受蓝牙(一): 开始享受
  17. c#短信接口代码实现(发短信)
  18. MySQL进阶:触发器
  19. 变分不等式matlab,变分不等式
  20. 动网论坛7.0获得WebShell的分析

热门文章

  1. Cowboy 源码分析(十一)
  2. 苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条
  3. 巨高兴,自己的“万能数据库查询分析器”中英文 3.01版本 已经在国内6大软件下载网站发布
  4. 智能汽车操作系统行业研究及十四五规划分析报告
  5. setup、erf、reactive
  6. PLUG AND PLAY LANGUAGE MODELS: A SIMPLE APPROACH TO CONTROL LEDTEXT(PPLM):代码深入理解(二)—PPLM_Discrim
  7. 团队项目3.0与第六七章读后感
  8. 常见的打印机无法打印问题
  9. ChatGPT万能工具箱 | ChatGPT辅助神器 提升了用户体验 提问回答更加精确。
  10. 源代码管理工具——VSS详解