摘要

自私挖矿攻击是一种挖矿策略,存在基于工作量证明(PoW,proof of work)机制的区块链中。自私矿工通过延迟区块广播的时机来截取其他矿工的挖矿奖励,以此获得比正常情况下更多的收益。这种攻击对工作量证明机制的激励相容性造成了破坏。近年来,自私挖矿这一攻击行为被研究者从许多角度进行了研究和分析。然而这一挖矿策略利用了工作量证明机制区块链在网络延迟方面存在的缺陷,使得采用这一挖矿策略的矿工在行为上与正常挖矿行为没有明显的区别,导致当前缺少可以有效检测出自私挖矿行为的方案。因此,提出了一种自私挖矿的检测方案,该检测方案创新性地利用了区块链中区块的高度和区块中的交易记录特征,可以做到对网络中的自私挖矿行为进行实时检测,有一定的实用价值。所提检测方案为生成的新区块定义了一个状态值,这个状态值与区块中包含的交易数量、支付给矿工的交易费用等数据有关。根据这些特征值间的数学关系,可以判断出该区块是否来自自私矿工。通过仿真实验测试了攻击者在不同算力下,该检测方案的检测情况。结果表明,所提检测方案在判断区块是否来自自私挖矿时,有86.02%以上的检测准确率,可以有效地对自私挖矿产生的区块进行检测。

全文