基于交易记录特征的自私挖矿检测方案_王贺立.pdf
《基于交易记录特征的自私挖矿检测方案_王贺立.pdf》由会员分享,可在线阅读,更多相关《基于交易记录特征的自私挖矿检测方案_王贺立.pdf(11页珍藏版)》请在咨信网上搜索。
1、2023 年 4 月 Chinese Journal of Network and Information Security April 2023 第 9 卷第 2 期 网络与信息安全学报 Vol.9 No.2 基于交易记录特征的自私挖矿检测方案 王贺立,闫巧(深圳大学计算机与软件学院,广东 深圳 518060)摘 要:自私挖矿攻击是一种挖矿策略,存在基于工作量证明(PoW,proof of work)机制的区块链中。自私矿工通过延迟区块广播的时机来截取其他矿工的挖矿奖励,以此获得比正常情况下更多的收益。这种攻击对工作量证明机制的激励相容性造成了破坏。近年来,自私挖矿这一攻击行为被研究者从许多
2、角度进行了研究和分析。然而这一挖矿策略利用了工作量证明机制区块链在网络延迟方面存在的缺陷,使得采用这一挖矿策略的矿工在行为上与正常挖矿行为没有明显的区别,导致当前缺少可以有效检测出自私挖矿行为的方案。因此,提出了一种自私挖矿的检测方案,该检测方案创新性地利用了区块链中区块的高度和区块中的交易记录特征,可以做到对网络中的自私挖矿行为进行实时检测,有一定的实用价值。所提检测方案为生成的新区块定义了一个状态值,这个状态值与区块中包含的交易数量、支付给矿工的交易费用等数据有关。根据这些特征值间的数学关系,可以判断出该区块是否来自自私矿工。通过仿真实验测试了攻击者在不同算力下,该检测方案的检测情况。结果
3、表明,所提检测方案在判断区块是否来自自私挖矿时,有86.02%以上的检测准确率,可以有效地对自私挖矿产生的区块进行检测。关键词:区块链;自私挖矿;网络安全;比特币 中图分类号:TP391 文献标志码:A DOI:10.11959/j.issn.2096109x.2023025 Selfish mining detection scheme based on the characters of transactions WANG Heli,YAN Qiao College of Computer Science and Software Engineering,Shenzhen Universi
4、ty,Shenzhen 518060,China Abstract:Selfish mining is an attack strategy in Proof-of-Work based blockchains,where attackers withhold their mined blocks to intercept the awards of other honest miners,resulting in higher profitability.This attack undermines the incentive compatibility of Proof-of-Work.A
5、lthough there are various studies from researchers in recent years,there is no effective detection scheme as the vulnerability of blockchain in propagation delay makes it challenging to 收稿日期:20220731;修回日期:20221203 通信作者:闫巧, 基金项目:国家自然科学基金(61976142);深圳市科技计划项目(JCYJ20210324093609025)Foundation Items:The
6、National Natural Science Foundation of China(61976142),Shenzhen Science and Technology Plan Project(JCYJ20210324093609025)引用格式:王贺立,闫巧.基于交易记录特征的自私挖矿检测方案J.网络与信息安全学报,2023,9(2):104-114.Citation Format:WANG H L,YAN Q.Selfish mining detection scheme based on the characters of transactionsJ.ChineseJournal
7、of Network and Information Security,2023,9(2):104-114.第 2 期 王贺立等:基于交易记录特征的自私挖矿检测方案 105 distinguish the attackers from honest miners.A scheme for selfish mining detection was introduced.In this scheme,a state value was assigned to the new block based on transaction amount and the transaction fee of t
8、he block.By analyzing the relationship between state value and transaction characteristics,we can determine if the block was mined by a selfish miner.The scheme is verified by an experiment with an accuracy of 86.02%.Keywords:blockchain,selfish mining,network security,bitcoin 0 引言 工作量证明(PoW,proof of
9、 work)机制这种共识协议是激励相容的。激励相容是一个博弈论中的概念。若一个机制是激励相容的,则说明当所有的参与者在按照机制诚实地公开任何被要求的信息时,所有人都能趋向效用最大化,即矿工的期望收益与其所拥有的算力成正比。在这样的前提下,大的矿池不会为矿工带来收益上的优势,矿工没有动力相互联合起来形成一个更大的矿池。因此,一个正常规模的矿池对系统来说是无害的,因为矿池不会自发地扩大。对于被广泛使用的 PoW 共识机制的区块链来说,其安全性会受到来自拥有高算力比例的矿池或矿工的威胁。在最理想的情况下,当矿工或矿池拥有的算力在全区块链网络算力中的占比为 时,该矿工或矿池获得的区块奖励在全区块链网络
10、中的占比也为。但是,现有的研究指出,自私矿工可以通过自私挖矿攻击1的方式获得额外的挖矿收益。在自私挖矿攻击中,自私矿工会在区块链中主动制造和维护一条属于自己的分叉链,并根据公链长度和自己私链长度等因素选择性地延迟发布区块。由于 PoW 机制尚未对这种恶意延迟发布的区块进行检测,当自私矿工发布的私链长度大于公链长度时,自私矿工便能利用这一缺陷截取到其他正常矿工的区块收益。1 相关研究 近年来,自私挖矿这一攻击行为已经被研究者从多个角度进行了研究和分析。与广为人知的日食攻击2相似,自私挖矿也需要让自身的算力在整个网络中的占比达到某个阈值才可以营利。这个阈值在 Eyal 和 Sirer 最初提出的自
11、私挖矿策略中是 33%1,之后,随着关于营利阈值和策略研究的进行,这一阈值下降到了 25%左右3-6。目前也有关于自私挖矿过程分析的研究7-9,但关于防御和检测自私挖矿的研究却相对较少。在自私挖矿的检测和防御相关的研究中,Heilman等10提出了被称为“新区块优先”的防御性策略,这种策略可以将自私挖矿营利的算力要求从25%提高到 32%。这种策略需要在区块中单独写入一个被称为“不可伪造时间戳”的字段,矿工可以根据这个字段轻松判断出一个区块是否被恶意延迟广播,然后选择接受那些具有较新时间戳的区块。这个策略虽然可以很好地防御自私挖矿,但劣势在于需要额外增加一个“不可伪造时间戳”的管理单位,同时矿
12、工在接收到区块信息时需要做额外的验证工作,这两个劣势对于区块链系统来说是不可接受的,因此这一策略虽然提高了自私矿工的挖矿成本,但并不能从根本上解决问题,而且不能防御时间戳修改的情况。Solat等11提出了“零区块”策略来防御自私挖矿,这个策略基于一个简单思路:每个矿工在挖到新区块后,必须在规定的时间内将其广播出去,否则不会被接受。这个策略虽然在技术上是有效的,但在实际应用中很难被矿工所接受。Chicarino等12提出了一种启发式的方案,根据区块链网络的分叉率13采用机器学习的方式来检测自私挖矿攻击,这种方案在自私矿工拥有较低算力占比时拥有极高的准确率,但随着自私矿工的算力占比上升,检测的准确
13、率则随之下降。此外,这种方法不能被实时应用于区块链网络,缺乏实用性。为了弥补这些不足,本文提出了一种基于区块交易记录特征的自私挖矿攻击检测方法,使用这种方法,可以有效地检测出来自自私矿工的区块,检测准确率达到 86.02%以上。2 检测方案 2.1 自私挖矿原理 在文献1中,Eyal 和 Sirer 描述了自私挖矿106 网络与信息安全学报 第 9 卷 的最原始过程。自私矿工首先会从公链上分叉并维护一条与公链相对应的“私链”(简单来说,自私矿工接下来总是在这一条私链上进行挖矿,并将挖出的区块暂时不公开),然后根据自私挖矿策略来决定该区块的公开时机。初始状态下,公链和私链是完全相同的链,所有矿工
14、开始在各自的链上挖矿。随后,诚实矿工若先挖到一个区块,诚实矿工会将这个区块立即广播,那么自私矿工收到这一消息后,根据领先区块的数量和使用的策略,选择是否公开自己的私链;但是若自私矿工先挖到区块,这个区块则不会被立即广播公开,它会被其加入自私矿工的私链。若诚实矿工接下来挖到一个新的区块,此时公链的高度或者长度则追上了自私矿工的私链,那么自私矿工会选择立即公布自己的私链,企图让网络选择这一私链作为公链。假设自私矿工的算力占全网算力的比例为,诚实矿工的算力比例则为 1-,进一步假设当区块链网络同时存在两个广播中的区块消息时,诚实矿工中会选择并接受自私矿工区块的矿工比例为,根据这一场景,图 1 给出了
15、存在自私挖矿时,自私矿工领先区块数量的马尔可夫状态转移过程。图中的状态表示自私矿工私链领先公链的区块的数量,而当私链和公链的长度相同时,这一状态根据转移前的状态又分为状态0s和状态0s,对应的马尔可夫状态转移过程如下。图 1 领先区块数量的马尔可夫链过程 Figure 1 The Markov chain process for the amount of leading blocks 1)0s:此时为初始状态,自私矿工在自己私链上挖矿,诚实矿工在公链上挖矿,此时自私矿工的私链和区块链网络公链的长度相同,即自私矿工领先于诚实矿工的区块数量为 0。若自私矿工挖到一个区块,则马尔可夫状态转移到状态
16、1s(即领先公链 1 个区块),这一转移概率与算力比值相同,为1-,更新后系统状态保持不变。2)1s:这一状态表示自私矿工的私链的长度领先公链 1 个区块。若自私矿工选择不公开私链,并又挖到一个新区块,则状态会被转移为到状态2s(即领先公链 2 个区块),这一转移概率同样为;若此时诚实矿工挖到了 1 个区块,则自私矿工的状态会回到状态0s,概率为1-。3)0s:这一状态表示自私矿工的私链长度从领先于公链 1 个区块转变为不领先的状态。当自私矿工的私链领先公链的区块数量为1个时,自私矿工在私链上挖矿,诚实矿工在公链挖矿。若诚实矿工挖到 1 个新区块并广播,自私矿工在接收到这一区块广播的消息后,会
17、立即广播其私链上的区块,此时区块链网络中会同时存在两个长度相同的链,区块链网络需要根据全网其他节点对这两条链的确认情况选择其中一条。接下来会出现 3 种情况:自私矿工挖到下一个区块,私链会被接受为公链,自私矿工获得这两个区块的区块奖励,私链长度与公链相同,自私矿工的状态回到0s,这一概率为;部分诚实矿工在自私矿工的私链上挖矿,然后挖到 1个新区块,那么自私矿工和这部分矿工获得了这1 个区块的奖励,自私矿工状态也会回到状态0s,这一概率为(1)-;另一部分诚实矿工继续在公链上挖矿并成功先挖到一个新区块,那么这些矿工会获得 2 个区块的奖励,自私矿工状态回到 状 态0s,这 一 概 率 相 对 较
18、 低,概 率 为(1)(1)-。4)2s:这一状态表示自私矿工的私链领先于公链的区块数量为 2。在这一状态下,如果自私矿工率先挖到 1 个新区块,状态会转移到状态3s,这一概率为;但如果此时诚实矿工率先挖到一个区块并将其广播,自私矿工接收到这一消息后会选择立即广播其私链,由于其长度领先于公链,自私矿工的私链成为新的公链,自私矿工可以获得 2 个区块的区块奖励,这一概率为1-,此时自私矿工会回到0s的初始状态。5)(2)ns n:这一状态表示自私矿工的私链领先于公链的区块数量为 n。如果自私矿工率先挖到 1 个区块,状态转移会到状态1ns+,这一概率为。在n2 的情况下,如果是诚实矿工率先第 2
19、 期 王贺立等:基于交易记录特征的自私挖矿检测方案 107 挖到新的区块,那么自私矿工领先区块的数量减少为1n-,所以状态相应回退到前一个状态1ns-,这一概率为1-。2.2 自私挖矿的关键变量 在上述过程中,可以发现,自私矿池的风险只存在于状态 s1,也就是领先区块数量只有 1 个时,诚实矿工可能挖到区块后与其竞争;而当领先区块数量超过 1 个后就不再存在收益损失的风险。因此,自私挖矿对矿池的算力阈值有一定的要求。在大多数自私挖矿文献中1,14-17,矿池相对收益是重点研究的对象,其定义如下。0 ppprRrr=+(1)其中,pR表示成为研究对象的自私矿工的收益,0r代表除研究对象外的其他所
20、有矿工的收益,包括其他自私矿工和诚实矿工。在自私挖矿的研究中,通常使用来表示在自私矿工进行一次区块的广播之后,正常矿工选择加入自私矿池在全网中所占比例;使用表示矿工所拥有的算力占全网算力的比例。根据前面描述的自私挖矿过程可以知道,的值会决定自私矿工能够营利所要求的算力比。根据Eyal的研究,它们之间的关系如下。1 1/232-(2)在理想情况=100%时,即存在竞争时,所有诚实的矿工都跟随自私矿工的区块继续挖矿的情况下,无论自私矿工矿池的算力是多少总是能够营利(收益超过自私矿工诚实挖矿)。当=50%,自私矿工的算力需要达到25%才能通过自私挖矿获得额外收益。而当=0时,即没有任何诚实矿工跟随自
21、私矿工挖矿,若要获得额外收益,算力的要求则是至少大于1/3。值得注意的是,相对收益曲线斜率会随着矿池规模的增加而增加,说明自私矿池中矿工的期望收益会随着更多矿工的加入而不断增加,这反过来会吸引更多矿工加入这个自私矿池。由于算力超过1/2后,自私挖矿攻击的性质会变成51%18攻击,本文研究的方法不再适合,因此的上限被认为是1/2。2.3 区块中交易记录的数据结构 在基于工作量证明机制的区块链中,区块的交易信息通过默克尔树来存储。默克尔树是一种哈希二叉树,其结构如图2所示。其除叶子节点外的其他节点,会对其两个子节点再次进行哈希计算,而叶子节点的哈希值则对应其中一个交易。默克尔树的优势在于可以迅速完
22、成数据查询和校验,通常被用于大型离散数据的完整性校验,如版本管理(Git)、分布式数据存储、可信计算以及区块链技术等。这种优势是比特币等采用UXTO(unspent transaction output)交易记录存储模型的基础。在一个采用UXTO模型的区块链中,为了使用默克尔树,其交易记录的数据结构需要保留交易哈希值和时间戳等信息。图 2 默克尔树的结构 Figure 2 The structure of a Merkle tree 交易记录中的部分字段和区块的数据信息如表1所示。表 1 交易记录中的部分字段和区块的数据信息 Table 1 Data information for the s
23、ome fields and blocks in transaction records 字段 描述 区块哈希 本区块的哈希值 时间戳 生成本区块的时间戳 区块高度 本区块的区块高度 区块大小 本区块所占用的字节数 交易数量 本区块所包含的交易数量 交易哈希值 某条交易的哈希值 默克尔树根 本区块默克尔树根节点的哈希值 交易哈希值 某条交易的哈希值 交易所在区块 打包某条交易时的区块高度 交易记录大小 本交易所占用字节数 交易费用 完成本交易所支付给矿工的费用 108 网络与信息安全学报 第 9 卷 2.4 交易的期望区块高度 所提检测方案中,需要对交易记录所出现的区块高度进行预测,本文将这一
24、预测结果称为交易的期望区块高度,这里的高度指的是与当前区块链高度对比相对高度。现有对交易的区块高度相关预测方法都与为矿工支付交易费用相关。当区块链中产生一次交易时,为了使得这个交易得以完成,即被矿工打包进区块,需要交易的发起者为矿工支付一定数量的费用,矿工将这个交易打包进区块并成功获得这个区块的记账权后,可以获得额外该区块中所有交易支付的交易费用。可以看出,若交易为矿工支付的费用越高,则该交易越有可能在短时间被矿工打包,完成交易的时间越短,在区块链上的表现则是该交易所出现的区块高度越低;反之若支付的费用越低,则完成的时间越长,出现在区块的高度则越高。对于交易的发起者来说,为了节省所需支付的费用
25、,需要根据支付费用对完成交易对应的时间进行估计,即研究为交易支付的费用与交易所出现的区块高度间的关系。在对交易记录对应区块高度预测的研究中,feesim方法达到了90%以上的预测成功率19,因此,本文方案也使用feesim方法来获得交易期望区块高度。在区块链网络中,有两种情况会导致低费用的交易被延迟打包。1)区块的大小不足。2021年7月2022年7月,每个区块的平均交易数量约为1 700笔20,如果有超过这一数量的交易等待确认,那么矿工将选择那些支付较高费用的交易,而其余的交易将不得不等待后续的区块。然而,这是由于区块大小的限制,而不是“交易数量”的限制,所以必须考虑到以字节为单位的交易大小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 交易 记录 特征 自私 检测 方案 王贺立
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。