前段时间,比特黄金BTG遭受双花攻击,一名恶意矿工临时控制了BTG区块链,在向交易所充值后迅速提币,再逆转区块,成功实施双花攻击。

比特黄金BTG创始人廖翔回应说:“已与各交易所紧密合作,通过暂时确认次数到20次以上,已经让攻击失效,并且正在收集证据向FBI(美国联邦调查局)报案。”然而,此次攻击,攻击者可能从交易所窃取超过388200个BTG,价值高达1860万美元。

然而什么叫双花攻击呢?通俗的讲,“双花攻击”(double spend attack)又叫“双重消费攻击”。就是一笔资金,攻击者通过不停发起和撤销交易,将一定数额的代币反复在账号之间转账实现获利。

能完成双花攻击的有五种方式:51%攻击(Majority attack)芬妮攻击(Finney attack)、种族攻击(Race attack)、Vector76攻击、替代历史攻击(Alternative history attack),比特黄金就遭受了51%攻击实现双花,下面就详细介绍51%攻击的原理。

对于双花问题,区块链网络是这么应对的:

1.每笔交易都需要先确认对应比特币之前的状态,如果它之前已经被标记为花掉,那么新的交易会被拒绝。

2.如果先发起一笔交易,在它被确认前,也就是这个时间段的交易还未被记账成区块block时,进行矛盾的第二笔交易,那么在记账时,这些交易会被拒绝。

如果诈骗者刻意把第一笔交易向一半网络进行广播,把第二笔交易向另一半网络广播,然后两边正好有两个矿工几乎同时取得记账权,把各自记的block发布给大家的话(这个概率很低),网络是不是会混乱呢。

区块链的规则是这样的:先选择任意一个账本都可以,这时候原来统一的账本出现了分叉:

但是在两个账本中各只有一笔交易,诈骗者不会有好处。接下来,下一个矿工选择在A基础上继续记账的话,A分支就会比B分支更长,根据区块链的规则,最长的分支会被认可,短的分支会被放弃,账本还是会回归为一个,交易也只有一笔有效:

那么这个诈骗犯会这么做:如果是A分支被认可(B也一样),相应交易确认,拿到商品之后,立刻自己变身矿工,争取到连续两次记账权,然后在B分支上连加两个block:

于是B分支成为认可的分支,A被舍弃,A分支中的交易不再成立,但他已经拿到商品,诈骗成功。

在B分支落后的情况下要强行让它超过A分支,其实是挺难的,假设诈骗者掌握了全网1%的计算能力,那么他争取到记账权的概率就是1%,两次就是10的负4次方。但这个概率还没有太低。

如果诈骗者算力占据绝对优势,那么,即使落后很多,他追上也只是时间问题,这就是比特币的“51%攻击”,也就能实现双花攻击了。

区块链网络是一个分布式系统,没有一个绝对的控制中心能够监控整个系统,自然很难发现哪个节点可能会控制超过51%算力。而当某个节点掌控超过51%算力,并且对区块链网络系统进行双花攻击时,人们能够做的仅是让合作的交易所暂时提升交易确认次数。但这并不能从根本上阻止攻击者,只不过提升了其攻击成本。

这次BTG攻击是第一个成功的51%攻击。凸显去中心化矿工对生态的重要性。只有从技术上杜绝作恶的可能性,才可能彻底打击犯罪。

数字货币 区块链 双花攻击 Double Spend Attack 简介相关推荐

  1. 区块链双花攻击和自私采矿攻击的系统防御概述 论文解读

    1.前沿知识 区块链的基础: 区块链顾名思义就是很多区块链在一起: 区块头(Head):记录当前区块的特征值比如 上一个区块的哈希+当前哈希+时间 等等 区块体(Body):实际数据 比如 具体的交易 ...

  2. 数字货币区块链服务器交易平台面临着哪些安全威胁?有哪些安全防御方案

    近期,数字货币交易所安全事件频发.2018年01月日本Coincheck交易所受到黑客攻击被盗取NEM新经币损失约5.34亿美元;2018年02月基于以太坊的XMRG代币的交易价格上涨787%后迅速暴 ...

  3. 数字货币区块链服务器交易平台面临着哪些安全威胁?

    近期,数字货币交易所安全事件频发.2018年01月日本Coincheck交易所受到黑客攻击被盗取NEM新经币损失约5.34亿美元;2018年02月基于以太坊的XMRG代币的交易价格上涨787%后迅速暴 ...

  4. 百度惊现区块链项目“莱茨狗”,俄罗斯财长称不会允许自由地交易数字货币 | 区块链日报

    [百度惊现区块链项目"莱茨狗",官方回应称尚在内测] 今日有用户爆料百度推出区块链项目"莱茨狗",并提供了官方地址pet-chain.baidu.com.该官网 ...

  5. 数字货币——区块链技术带来的商机

    转自公众号:数字经济 数字经济:                   数字经济指一个经济系统,在这个系统中,数字技术被广泛使用并由此带来了整个经济环境和经济活动的根本变化.数字经济也是一个信息和商务活 ...

  6. 区块链---双花问题

    双花问题 双花实际上指的是双重花费,即一份货币使用了两次. 传统现实中,因为低延迟网络以及中心化管理的原因,是不会出现双花现象,无论是线下交易的现金支付,或者网上支付的第三方监管交易确认,都可以避免双 ...

  7. 全国首个数字产权区块链平台上线,共享购模式悄然上市

    大家好,今天我要分享的是数字产权的新进展.2月22日,首届中国数字产权创新大会在成都举办,会上发布了全国首个数字产权区块链平台--"数字产权链".这个平台能够保障数字产权的权益,让 ...

  8. 区块链安全:实现公链双花攻击的多种方法

    针对 EOS.NEO 等大公链平台的多个双花攻击漏洞的案例,360 区块链实验室总结出了多种造成数字货币双花攻击的多种原因,并提出了一种通用的安全减缓措施.各种大公链项目实际上都产生过能够产生双花攻击 ...

  9. 张一锋:法定数字货币是必然,但未必采用区块链技术,柬埔寨或发行加密货币 | 区块链日报

    [张一锋:法定数字货币一定会出现,但未必采用区块链技术] 中钞区块链研究院院长张一锋表示,法定数字货币的出现是整个社会经济形态不断往前发展的必然趋势.在这一个完全数字化的互联网世界里,需要货币这样一种 ...

最新文章

  1. centos lamp 连接mysql_centOS下lamp安装
  2. limit是mysql的语法
  3. 类中静态成员变量 无法解析的外部符号
  4. vscode怎么运行verilog语言_VScode中不同语言使用不同字体,如C/C++,VHDL
  5. 文献记录(part48)--Vector of Locally and Adaptively Aggregated Descriptors for Image Feature ...
  6. wordpress 怎么获取站点标题
  7. 图像分类 数据准备(将文件夹中所有图片路径写到TXT文件中)
  8. 程序员求职面试丨面试必备之终极指导篇,掌握这些,面试不再困难!
  9. 工具箱锁打不开了怎么办_木门门锁坏了怎么办?维修小技巧在手不发愁
  10. 牛客网算法工程师能力评估
  11. jsoup 获取html中body内容_JSOUP获取资源
  12. c语言相邻地址相差多少,C语言内存地址基础
  13. HTML 5 input placeholder 属性 实现搜索框提示文字点击输入后消失
  14. ZStack 3.1 私有云率先支持IPv6 持续深耕精细化云平台
  15. 马尔科夫决策过程(MDP):赌徒问题
  16. imsi、 ICCID、ki、IMEI
  17. 微软私有云部署及讲解专题
  18. Docker学习中文文档大全、dockerdocker-compose实战
  19. 局域网IPC入侵心得
  20. python中交集并集用什么符号表示_Python实现两个list求交集,并集,差集的方法示例...

热门文章

  1. 互联网协议 — UDP 用户数据报协议
  2. 4G EPS 中的 User Plane
  3. Node 中文编码 我为什么哭了
  4. cookie之登录用户凭证
  5. JDK7,JDK8 - 下载地址
  6. 线程安全的无锁RingBuffer的实现
  7. Storm【压力测试】- 系列1: 进行简单的压力测试
  8. C#字符串二进制互换
  9. Linux平台Oracle安装脚本
  10. mysql 学习笔记(二)