检测针对区块链数据结构发生的恶意事件的方法和系统技术方案

技术编号:14647959 阅读:46 留言:0更新日期:2017-02-16 05:03
减轻区块链攻击。一种用于检测相对于区块链数据结构发生的恶意事件的计算机实现的方法,该方法包括:定义交易创建简档,可根据该简档生成交易并提交至区块链;将交易提交给区块链,该交易导致在区块链中生成简档生成器数据结构,该简档生成器数据结构包括用于根据交易创建简档生成要提交给区块链的简档交易的可执行代码;监视区块链以识别简档交易;以及将识别的简档交易与交易创建简档进行比较,以检测与交易创建简档的偏差,这样的检测对应于相对于区块链发生的恶意事件。

【技术实现步骤摘要】

本专利技术涉及区块链(blockchain)数据结构安全。具体地,本专利技术涉及检测并减轻区块链攻击。
技术介绍
区块链数据库或数据结构是可能为分布式的并且通信地连接至网络的序贯交易处理数据库(sequentialtransactionaldatabase)。序贯交易数据库在加密货币领域是公知的并且被记录在例如“MasteringBitcoin.UnlockingDigitalCrypto-Currencies)”(AndreasM.Antonopoulos,O’ReillyMedia,2014年4月)中。为了方便起见,在本文中将这样的数据库称为区块链,尽管拥有序贯交易数据库的特性的其它合适的数据库、数据结构或机制可以被相似地对待。区块链提供由称为挖矿机(miner)网络的结点网络访问的区块数据结构的分布式链。该区块链中的每个区块都包括一个或更多个交易数据结构。在诸如比特币区块链的某些区块链中,区块链包括针对区块中包括的交易的Merkle哈希树或摘要值以达到该区块的哈希值,它自身与在前一区块的哈希值合并以生成区块的链(区块链)。新的交易块通过挖矿机软件、硬件、固件或挖矿机网络中的组合组件添加至区块链。挖矿机通信地连接至交易源并访问或复制区块链。挖矿机承担交易的实质内容(诸如其中包括的标准和/或可执行代码)的验证并且当满足挑战时将新的交易块添加至区块链,通常这种挑战涉及未来的新块和区块链中的在前块的合并哈希或摘要以及某些挑战标准。因此,挖矿机网络中的挖矿机可能每个都生成用于添加至区块链的未来新块。当挖矿机满足或解决了挑战并且验证了未来新块中的交易时,这样的新块被添加至区块链。因此该区块链提供了可靠地验证诸如构成或代表消耗资源的可能性的实体的分布式机制。
技术实现思路
虽然区块链的详细操作以及挖矿机网络中的挖矿机的功能超出了本说明书的范围,但是区块链和挖矿机网络操作的方式旨在确保以在区块链内不变的方式仅将有效的交易添加至区块链的区块内。错误或恶意添加的交易不应被网络中的其它挖矿机验证并且不应当存留在区块链中。区块链的这一属性被区块链的应用和诸如加密货币系统的挖矿机网络利用,其中,货币量可在不可抵赖的情况下以可靠、可审计、可验证的方式花费。例如,采用区块链以提供加密货币的值仅被花费一次并且两次花费(即花费相同的加密货币两次)不会发生的确定性。尽管存在区块链系统的上述架构,恶意攻击展示了对于区块链安全性和可靠性的威胁。一个这样的恶意攻击涉及单个实体(或者在共同控制下的多个实体)取得或似乎取得足够计算资源以构成多于与区块链一起工作的所有挖矿资源的半数。此攻击的机制被如下记录在en.bitcoin.it/wiki/Majority_attack中(知识共享署名许可协议3.0):“主攻击(通常标记为51%攻击或>50%攻击)”是一种网络上的攻击。此攻击即使在商人等待某些确认时也有机会工作,但是需要极高的相对哈希率。攻击者向商人/网络提交支付该商人的交易,同时私密地挖掘其中包括两次花费的交易的区块链分叉。在等待n个确认后,该商人发送产品。如果攻击者这时恰好发现n个以上区块,他释放他的分叉并取回他的货币;否则,他能怀着能够赶上网络的希望图继续延长他的分叉。如果他一直没能这样做,该攻击失败并且对该商人的支付将通过。完成挖矿的工作也将浪费掉,因为任何新的比特币会被最长的链覆写。成功的概览是攻击者的哈希率(作为总网络哈希率的一部分)与商人等待的确认数量的函数。例如,如果攻击者控制着网络哈希率的10%而商人等待6个确认,则成功的可能性近似为0.1%。如果攻击者控制着网络哈希率的一半以上,则这具有100%的可能性成功。由于攻击者能够快于网络的其它部分生成区块,因此他能够简单地坚持他的私有分叉直到它变得长于由可靠网络建立的分支,无论存在多少缺点。即使再多的确认也不能阻止这一攻击。”其它攻击也对区块链及其用户造成威胁,其它攻击包括:女巫攻击,其中,一实体试图使用客户集中控制的或匿名的挖矿机来填充挖矿机网络;以及多种服务拒绝攻击,诸如发送过多数据至挖矿机以淹没该挖矿机,使得它不能处理正常的区块链交易。因此,提供一种检测和减轻对于区块链环境的威胁的机制将是有利的。因此,在第一方面,本专利技术提供一种用于检测相对于区块链数据结构发生的恶意事件的计算机实现的方法,该方法包括:定义交易创建简档,可以根据所述交易创建简档生成交易并提交至所述区块链;将交易提交给所述区块链,所述交易导致在区块链中生成简档生成器数据结构,所述简档生成器数据结构包括可执行代码以根据所述交易创建简档生成要提交给所述区块链的简档交易;监视所述区块链以识别简档交易;以及将识别的简档交易与所述交易创建简档进行比较以检测与所述交易创建简档的偏差,该检测对应于相对于所述区块链发生的恶意事件。优选地,所述简档交易包括简档生成器数据结构的地址,并且其中,监视所述区块链包括监视包括所述简档生成器数据结构的地址的交易。优选地,该方法还包括重复地生成指向所述简档生成器数据结构并提交至所述区块链的交易,以触发所述简档生成器数据结构的可执行代码的执行。优选地,提交至所述区块链的交易由挖矿机软件组件处理以验证所述交易并提交所述交易至区块以添加至所述区块链。优选地,该方法还包括,响应于检测到与所述交易创建简档的偏差,生成一个通知信号以发送至操作所述区块链的一个或更多个实体以标记该恶意事件。优选地,该方法还包括,响应于检测到与所述交易创建简档的偏差,停止操作所述区块链。因此,在第二方面,本专利技术提供一种用于检测相对于区块链数据结构发生的恶意事件的计算机系统,该计算机系统包括处理器和数据存储器,其中,所述处理器适于执行以下步骤:定义交易创建简档,能够根据所述交易创建简档生成交易并提交至所述区块链;将交易提交至所述区块链,所述交易导致在所述区块链中生成简档生成器数据结构,所述简档生成器数据结构包括可执行代码以根据所述交易创建简档生成要提交至所述区块链的简档交易;监视所述区块链以识别简档交易;以及将识别出的简档交易与所述交易创建简档进行比较以检测与所述交易创建简档的偏差,该检测对应于相对于所述区块链发生的恶意事件。因此,在第三方面,本专利技术提供一种包括计算机程序代码的计算机程序元件,当所述计算机程序代码被载入计算机系统并在其上执行时,使得计算机执行如上文所述的方法的步骤。附图说明现在将参考附图仅通过示例的方式描述本专利技术的优选实施方式,在附图中:图1是适于本专利技术的实施方式的操作的计算机系统的框图;图2是根据本专利技术的实施方式的用于检测区块链攻击的示例计算机系统布置的组件图;图3是根据本专利技术的实施方式的例示在检测与区块链有关的恶意事件中图2的组件之间的相互作用的示例流程图;并且图4是根据本专利技术的实施方式的检测与区块链有关地发生的恶意事件的方法的示例流程图。具体实施方式图1是适于本专利技术的实施方式中的组件的操作的计算机系统的框图。中央处理单元(CPU)102通过数据总线108通信地连接至存储器104和输入/输出(I/O)接口106。存储器104可为任意的读/写存储设备,诸如随机存取存储器(RAM)或非易失性存储设备。非易失性存储设备的示例包括磁盘或磁带存储设备。I/O接口106是用于针对设备的数据的输入本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610796778.html" title="检测针对区块链数据结构发生的恶意事件的方法和系统原文来自X技术">检测针对区块链数据结构发生的恶意事件的方法和系统</a>

【技术保护点】
一种检测针对区块链数据结构发生的恶意事件的计算机实现的方法,该方法包括以下步骤:定义交易创建简档,能够根据所述交易创建简档生成交易并提交至所述区块链;将交易提交给所述区块链,该交易导致在所述区块链中生成简档生成器数据结构,所述简档生成器数据结构包括用于根据所述交易创建简档生成要提交给所述区块链的简档交易的可执行代码;监视所述区块链以识别简档交易;以及将所识别的简档交易与所述交易创建简档进行比较,以检测与所述交易创建简档的偏差,所述检测对应于针对所述区块链发生的恶意事件。

【技术特征摘要】
2015.07.31 EP 15179440.11.一种检测针对区块链数据结构发生的恶意事件的计算机实现的方法,该方法包括以下步骤:定义交易创建简档,能够根据所述交易创建简档生成交易并提交至所述区块链;将交易提交给所述区块链,该交易导致在所述区块链中生成简档生成器数据结构,所述简档生成器数据结构包括用于根据所述交易创建简档生成要提交给所述区块链的简档交易的可执行代码;监视所述区块链以识别简档交易;以及将所识别的简档交易与所述交易创建简档进行比较,以检测与所述交易创建简档的偏差,所述检测对应于针对所述区块链发生的恶意事件。2.根据权利要求1所述的方法,其中,所述简档交易包括所述简档生成器数据结构的地址,并且其中,监视所述区块链包括监视包括所述简档生成器数据结构的地址的交易。3.根据前述权利要求中任一项所述的方法,该方法还包括:重复地生成指向所述简档生成器数据结构并提交至所述区块链的交易,以便触发所述简档生成器数据结构的所述可执行代码的执行。4.根据前述权利要求中任一项所述的方法,其中,提交至所述区块链的交易被挖矿机软件组件处理,以验证所述交易并将所述交易提交至区块以添加至所述区块链。5.根据前述权利要求中任一项所述的方法,该方法还包括:响应于检测到与所述交易创建简档的偏差,生成通知信号以发送至操作所述区块链的一个或更多个实体以标记所述恶意事件。6.根据前述权利要求中任一项所述的方法,该方法还包括:响应于检测到与所述交易创建简档的偏差,停止操作所述区块链。7.一种检测针对区块链数据结构发生的恶意事件的计算机系统,该计算机系统包括处理器和数据存储器,其...

【专利技术属性】
技术研发人员:J·丹尼尔格里·迪卡泰尔泰奥·迪米特考斯
申请(专利权)人:英国电讯有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1