针对共识机制攻击方式

通常来说,常见的针对网络层和共识协议层面的攻击有拒绝服务攻击(DoS)和女巫攻击(Sybil Attack)。拒绝服务攻击通过向节点发送大量的数据(比如发送大量的小额交易请求从而导致系统无法处理正常的交易)导致节点无法处理正常的数据。女巫攻击则是通过控制网络中大部分节点来削弱正确数据冗余备份的作用。在PoW共识机制中,矿工会立即向全网播报新发现的区块。

而在Selfish Mining攻击中,行为不端的矿工会通过以下方式浪费计算资源:当其发现新的有效区块时,并不立即向全网播报,而是继续进行挖矿,并尝试在其他矿工挖到新区块之前挖到更多的区块;当其他矿工挖到有效区块时,攻击者便立即向全网播报之前持有的有效区块。但一些研究人员认为,在实际操作中实现这种攻击并非易事。在Short-range攻击中,攻击者通过控制一定比例的、保障系统安全性的各种资源(如计算资源、加密货币资源等)从而实现在执行交易(如花费代币或执行智能合约)后将其回滚(从而进行双花攻击,也就是将一个加密货币进行多次花费)。

当攻击者发起short-range攻击时,首先向全网提交一个待回滚的交易,并在上一个区块的分叉上(不包含待回滚交易的分叉)继续进行挖矿,直到该交易得到n个区块确认信息。若分叉上的区块数多于n,则攻击者公布包含有待回滚交易的区块。这样,由于分叉链的长度大于原本的主链,则全网节点将分叉链视为主链。此时,交易得到回滚。

在Long-range攻击中,攻击者通过控制一定比例的系统资源,在历史区块、甚至是创始区块上对区块链主链进行分叉,旨在获取更多的区块奖励和/或者达到回滚交易的目的。这种攻击更多的是针对基于权益证明共识机制的系统。即使攻击者可能在分叉出现时仅持有一小部分的代币,但他可以在分叉上自由地进行代币的交易,从而导致攻击者能够更加容易地进行造币并快速的形成一条更长的区块链。

反观基于PoS共识机制的系统中,攻击者可以利用币龄计算节点权益,并通过总消耗的币龄确定有效的区块链。未花费交易输出(UTXO)的币龄是根据币龄乘以该区块之前的历史区块的数量得出(比如后面章节会介绍的点点币)。在币龄累计攻击中,攻击者将其持有的代币分散至不同的UTXO中,并等待直至其所占权益远大于节点平均值。这样,攻击者有极大的可能性连续进行造币,从而达到对主链的分叉或交易回滚(如实施双花攻击)的目的。在PoS共识机制中,解谜当前区块取决于前一个区块的哈希值。拥有足够算力和权益的攻击者可以在第h个区块的虚拟挖矿过程中,通过随机试错法对该区块的哈希值进行干涉,直至攻击者可以对第h+1个区块进行挖矿。这就是所谓的pre-computation攻击。接此方法,攻击者可以连续的进行造币,并获取相对应的区块奖励或者发起双花攻击。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华仔的技术笔记

一些基本比特币概念

3619
来自专栏区块链软件开发

区块链钱包定制开发 多币种钱包开发

在我们日常生活中传统钱包就是一个用来储存金钱的容器???,但对于数字资产钱包来说,它便不只是用来储存现金或者数字资产的,而且是用来储存和管理私钥的一种工具。

742
来自专栏技术达人

区块链技术

区块链(Block chain)是一种分布式共享数据库(数据分布式储存和记录),利用去中心化和去信任方式集体维护一本数据薄的可靠性的技术方案。

2924
来自专栏Seebug漏洞平台

以太坊“后偷渡时代”盗币之“拾荒攻击”

作者:Sissel@知道创宇404区块链安全研究团队 发布时间:2018/08/20

3185
来自专栏华仔的技术笔记

关于eth gas的思考

3926
来自专栏汇智网教程

原 区块链是什么?彻底理解只需40行pyt

尽管有人认为区块链目前还是个不成熟的解决方案,但它无疑称得上是计算机发展历史上 的一个奇迹。但是,到底区块链是什么呢? 我们将通过动手实现一个迷你的区块链来帮你...

2819
来自专栏Keegan小钢

016 | 漫谈区块链共识机制

并标明原文链接:http://keeganlee.me/post/blockchain/20180425微信订阅号:keeganlee_me写于2018-04-...

1061
来自专栏申龙斌的程序人生

以太坊代币取出到imtoken钱包

最近半个月币圈发生了许多事,“I吸O”一刀切、交易所全关,真是币圈一周人间一年。还有一些坚定地活在未来的人们恶补区块链知识,开始忙着把一些token拼命地往钱包...

8899
来自专栏比原链

Derek解读Bytom源码-创世区块

Gitee地址:https://gitee.com/BytomBlockchain/bytom

682
来自专栏极客编程

学习以太坊Dapp开发

比特币设计的初衷就是要避免依赖中心化的机构,没有发行机构,也不可能操纵发行数量。既然没有中心化的信用机构,在电子货币运行的过程中,也势必需要一种机制来认可运行在...

1002

扫码关注云+社区