CN112926053B - 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 - Google Patents
无许可区块链系统中恶意区块的探测方法、系统及p2p网络 Download PDFInfo
- Publication number
- CN112926053B CN112926053B CN202110103414.7A CN202110103414A CN112926053B CN 112926053 B CN112926053 B CN 112926053B CN 202110103414 A CN202110103414 A CN 202110103414A CN 112926053 B CN112926053 B CN 112926053B
- Authority
- CN
- China
- Prior art keywords
- block
- blocks
- chain
- blockchain
- given
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000010586 diagram Methods 0.000 claims abstract description 50
- 230000001419 dependent effect Effects 0.000 claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 12
- 238000010200 validation analysis Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Virology (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种无许可区块链系统中恶意区块的探测方法,包括根据最重链规则进行区块确认来构建区块链的树图拓扑结构;根据选择规则从区块链的树图拓扑结构中随机选择多个参照区块;确定区块链的树图拓扑结构任何一个给定区块的依赖区块;在区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个参照区块选取父亲区块,构建参照链;根据参照链计算当前所述参照区块的参照链差,并以参照链差估计给定区块的最晚可能真实生成时间T1;根据其它节点的收到给定区块的接收时间t和给定区块的最晚可能真实生成时间T1之差,判断给定区块是否是恶意区块。因此,本发明可用于探测出恶意参与者的攻击行为,同时,还可以避免对诚实者行为的误判误伤。
Description
技术领域
本发明涉及大数据处理及信息技术领域,更具体地,涉及一种无许可区块链系统中恶意区块的探测方法、系统及P2P网络。
背景技术
目前区块链系统可分为无许可、公共许可和私有许可三种。在无许可区块链系统(Permissionless blockchain system)中,人人可参与竞争出块,每个人都可以在无需获得授权的情况下搭建节点,采用如BTC和Ethereum等典型基于PoW的共识协议,自由竞争产生新区块,并对区块的顺序达成最终一致(Eventual consistency)。
主链的选择通常采用最长链规则和最重链规则,最长链规则比较典型的如BTC的共识规则,区块Hash值小于某个阈值的区块才是合法区块,合法的链只由合法区块组成,每个合法区块的权重都为1。
请参阅图1,图1所示为最长链规则所选择形成的主链拓扑结构。如图1所示,从创世区块开始,永远从子区块中选择子链权重之和最大的子区块作为主链上的区块,依次往下可以确认主链,各个节点按此方案对主链达成共识。
最重链规则比较典型的如Ethereum的共识规则,区块Hash值小于某个阈值的区块才是合法区块,合法的链只由合法区块组成,每个合法区块的权重都为1。从创世区块开始,永远从子区块中选择子树权重之和最大的子区块作为主链上的区块,依次往下可以确认主链,各个节点按此方案对主链达成共识。
请参阅图2,图2所示为最重链规则所选择形成的主链拓扑结构。最重链规则的区块确认:所有基于PoW的区块链系统会给出一个公式,估计恶意者篡改主链中某个指定区块的概率。当概率低于某个阈值(如10-6)时,参与者认为指定区块顺序不会再被修改。在文献1中,这个公式需要获得恶意者的算力占比q,区块生成时刻t,遵守协议者总区块生成速率λ,区块子树权重之和对比其它分支权重的优势n代入一个公式计算。
文献1:Sompolinsky,Y.,&Zohar,A.(2015,January).Secure high-ratetransaction processing in bitcoin.In International Conference on FinancialCryptography and Data Security(pp.507-527).Springer,Berlin,Heidelberg.
本领域技术人员清楚,在无许可区块链系统中,不可篡改性是区块链的核心特性之一,在基于PoW的共识协议中,需要一个基于机制判断区块是否进入到不可被篡改的状态。而这个判断的可靠性对区块链的安全至关重要。
在现有区块链系统中,通常区块真实生成时刻的估算是确保系统安全性的重要特征。然而,上述的区块链系统实现中,节点简单地把区块生成时刻t设为收到区块的时刻。由于没有获得真实生成时刻t1的方法,通常以收到区块的时刻t2代替生成时刻t1,利用这一点疏漏,恶意者就可以执行攻击策略。
下面通过一个简化模型的模拟实验描述这种攻击策略的实施过程。该攻击策略为,恶意者可以在时刻t1生成一个主链区块,等待相当长一段时间,在时刻t2发送给其它节点。
具体地,假设在模拟实验环境下,诚实节点每10秒生成4个区块,恶意者每10秒生成3个区块,诚实节点之间网络通信延迟10秒,恶意者可以随时与诚实节点通信。在初始状态中,假设区块链网络中只有区块G。
请参阅图3,图3所示为针对现有技术方案进行第一轮攻击策略后的区块链网络状态示意图。在0-10秒期间,诚实节点生成了4个区块(A1,A2,A3,A4),由于诚实节点间10秒网络延迟的存在,每个诚实节点在生成区块时,都没有收到其它区块。因此,4个区块均选择区块G为父亲区块;而恶意者生成首尾相连的3个区块(M1,M2,M3);在第10秒,恶意者将区块M1和区块M2发送给所有诚实节点,但不发送区块M3。此时,区块链网络状态如图1所示,图中虚线区块M3表示只有恶意者能看到的区块。
请参阅图4,图4所示为针对现有技术方案进行第二轮攻击策略后的区块链网络状态示意图。在10-20秒,诚实节点可以看见7个区块(G,A1,A2,A3,A4,M1,M2)。此时,与区块G相连的5个子区块中,区块M1的子树权重最大,区块M2是区块M1唯一的子区块。因此,所有诚实节点都会将区块G,区块M1,区块M2选做主链,并在区块M2之后生成区块。
在这第二轮的10秒内,诚实节点生成了4个区块(B1,B2,B3,B4),这些区块的父区块都是M2。攻击者在区块M3之后,生成首尾相连的3个区块(M4,M5,M6)。在第20秒,恶意者将区块M3和区块M4发送给所有诚实节点,但不发送区块M5和区块M6。此时,区块链网络状态如2图所示。
请参阅图5,图5所示为针对现有技术方案进行第三轮攻击策略后的区块链网络状态示意图。在20-30秒,类似地,重复上述过程,可以得到如图3的区块链网络状态。
接下来,重复这个策略,在每一轮结束后,恶意者所藏的区块都增加1。在100轮过后(1000秒),恶意者藏了100个区块,编号为M201到M300。此时,恶意者暂停攻击,停止生成新的区块,转而帮助诚实节点之间的传输区块。诚实节点之间的延迟不再存在。在之后的40秒钟,诚实节点生成了D1~D16共16个区块。
请参阅图6,图6所示为针对现有技术方案进行第100轮攻击策略后的区块链网络状态示意图。如图6所示,M200区块生成于第67轮(660-670秒),但是在第100轮结束的时候(1000秒)才被发送给诚实节点。诚实节点由于无法准确估计M200区块的生成时间,会错误地将第1000秒设为M200区块的生成时间。在这种错误的估计下,诚实节点会错误地认为区块D1会存在于主链中不可修改。如果区块D1中有一些付款的交易,区块链网络会认为这笔交易已经到账不可撤销,进而继续之后的操作。
然而,由于这是一种错误的估计,恶意者可以立即将M201-M300区块放出,改变主链,从而撤销D1中的交易(如图7所示),带来无法估量的损失。
发明内容
本发明的目的在于提供一种无许可区块链系统中恶意区块的探测方法及装置,其在无许可区块链中根据链上引入参照链,判断区块的真实生成时间;该参照链是基于拓扑结构进行的,因此,各诚实节点之间的判定结果可以做到互相认可,达成共识。
为实现上述目的,本发明的技术方案如下:
一种无许可区块链系统中恶意区块的探测方法,其包括如下步骤:
步骤S1:根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块;
步骤S2:根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块;其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定;
步骤S3:确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有抵达的区块集合;其中,所述给定区块为需要探测生成时间的区块;
步骤S4:在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链;
步骤S5:根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量;
步骤S6:根据其它节点的收到所述给定区块的接收时间t和所述给定区块的最晚可能真实生成时间T1之差,判断所述给定区块是否是恶意区块。
进一步地,在步骤S2中,所述选择规则为判断C·X<2256是否成立,如果成立,则选择该区块为参照区块;其中,C为设定协议参数,X为所述区块头哈希代入SHA256哈希函数H得到的哈希值H(h),是一个0~2256-1的整数。
进一步地,所述设定协议参数C的选取应当遵循一定的规则:
C≥5y,其中,在区块链网络传输中,将一个区块转发给多数节点需要d秒时间,y代表在d秒的时间里,诚实节点生成区块个数的期望。
进一步地,所述步骤S4中依次根据最长链规则为每个所述参照区块选取父亲区块具体包括:
判断当前所述参照区块的依赖区块中是否有参照区块,如果有,根据最长链规则,得到所述参照区块的路径,如果当前所述参照区块仅有一条最长路径,那么,当前所述参照区块前面的参照区块即为父亲区块,如果当前所述参照区块有多条相同长度路径的最长路径,那么,当前所述参照区块选择区块头哈希值较小的前一个区块为父亲区块。
进一步地,所述步骤S6具体包括:
步骤S61:所述给定区块在一个节点生成后,所述节点将所述给定区块广播给其它节点;
步骤S62:获得每一个所述其它节点接收到的所述给定区块的接收时间t;
步骤S63:依次判断区块的接收时间t与区块最晚可能真实生成时间T1之差是否小于一预定阈值,如果是,判定所述给定区块为诚实区块,否则,判定所述给定区块为恶意区块。
进一步地,所述T1为其中,t为所述给定区块的接收时间,x为时刻t所述给定区块的“参照链差”,C为与步骤S2相同的协议参数,d代表将一个区块转发给其它诚实节点需要的时间,y为在d秒的时间里,诚实节点生成区块个数的期望。
本发明还提出一种在无许可区块链系统中恶意区块的探测装置,其包括:
构建模块,用于根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块;
选择模块,用于根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块,其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定;
定义模块,用于确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有可以抵达的区块集合,其中,所述给定区块为需要探测生成时间的区块;
参照链生成模块,用于在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链;
估计模块,用于根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量;
判断模块,用于根据其它节点的收到所述给定区块的接收时间t和所述给定区块的最晚可能真实生成时间T1之差,判断所述给定区块是否是恶意区块。
本发明还提出一种可读存储介质,存储有可执行指令,该可执行指令用于执行所述的无许可区块链系统中恶意区块的探测方法。
本发明还提出一种数据处理终端,用于作为P2P网络的共识节点,接收、共识验证并存储该P2P网络中的区块,该数据处理终端包括:
上述的可读存储介质;
处理器,该处理器调取并执行所述的可读存储介质中的可执行指令,以执行无许可区块链系统中恶意区块的探测方法。
本发明还提出一种P2P网络,所述P2P网络的共识节点为上述的数据处理终端。
从上述技术方案可以看出,本发明提出一种在无许可区块链系统中探测区块生成时间的方法。在一个给定时刻,每个参与者基于自己本地维护的区块拓扑结构,以最长链规则重构一条“参照链”作为计时参照。参照链可以估计一个区块从生成时刻到当前给定时刻的时间(误差在常数倍数内)。这种方法可用于探测出恶意参与者的攻击行为,同时,还可以避免对诚实者行为的误判误伤。
附图说明
图1所示为最长链规则所选择形成的主链拓扑结构
图2所示为最重链规则所选择形成的主链拓扑结构
图3所示为针对现有技术方案进行第一轮攻击策略后的区块链网络状态示意图
图4所示为针对现有技术方案进行第二轮攻击策略后的区块链网络状态示意图
图5所示为针对现有技术方案进行第三轮攻击策略后的区块链网络状态示意图
图6所示为针对现有技术方案进行第100轮攻击策略后的区块链网络状态示意图
图7所示为针对现有技术方案进行攻击策略后的区块链最终网络状态示意图
图8所示为本发明实施例中无许可区块链系统中恶意区块的探测方法的流程示意图
图9所示为本发明实施例区块链树图拓扑结构中引入了引用边前后的拓扑示意图
图10所示为本发明实施例中定义给定区块的依赖区块示意图
图11所示为本发明实施例中从树图结构中选择参照块的结果示意图
图12所示为本发明实施例中为每个参照区块选择参照链父亲区块的结果示意图
图13所示为本发明实施例中根据参照链计算当前区块X的“参照链差”的示意图
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步的详细说明。
需要说明的是,在下述的具体实施方式中,在详述本发明的实施方式时,为了清楚地表示本发明的结构以便于说明,特对附图中的结构不依照一般比例绘图,并进行了局部放大、变形及简化处理,因此,应避免以此作为对本发明的限定来加以理解。
在以下本发明的具体实施方式中,请参阅图8,图8所示为本发明实施例中无许可区块链系统中恶意区块的探测方法的流程示意图。如图所示,该方法包括:
步骤S1:根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块。
在本发明的实施例的区块链树图拓扑结构中,除了父子边以外,还增加了引用边,也就是说,任何一个区块都可以引用和当前区块有共同祖先但又不在一条分叉上的区块。
请参阅图9,图9所示为本发明实施例区块链树图拓扑结构中引入了引用边前后的拓扑示意图。如图9所示,左图为仅有父子边没有引用边的拓扑图,在节点接收到第n个区块时,该区块携带的拓扑信息只有灰色标出的所有祖先区块;右图为加入引用边的拓扑图,在节点接收到第n个区块时,该区块携带的拓扑信息除了所有祖先区块,还有其观察到的其他分支的区块。
步骤S2:根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块,其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定。
区块链的树图拓扑结构中,每个区块会有一个区块头哈希h,由哈希函数H得到的H(h),在本发明的实施例中,哈希函数H的选择可以任何一种,假设以SHA256哈希函数为例进行说明。
具体地,在步骤S2中,所述选择规则为判断C·X<2256是否成立,如果成立,则选择该区块为参照区块;其中,C为设定协议参数,X为所述区块头哈希代入SHA256哈希函数H得到的哈希值H(h),是一个0~2256-1的整数。
并且,协议参数C的选取应当遵循一定的规则,通常需要满足C≥5y,其中,在区块链网络传输中,将一个区块转发给多数节点需要d秒时间,y代表在d秒的时间里,诚实节点生成区块个数的期望。
在实际运行的系统中,在一些系统中,C的取值大约在50-200之间,这里我们将C设成3,以方便示意图的绘制。
请参阅图10,图10所示为本发明实施例中定义给定区块的依赖区块示意图,如图所示,对于给定区块,依赖区块为沿树图结构的父边(细实线)和引用边(细虚线)所有可以抵达的区块,称为给定区块的依赖区块。虚线范围内的区块都是给定区块X的依赖区块。
步骤S3:确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有可以抵达的区块集合,其中,所述给定区块为需要探测生成时间的区块。
请参阅图11,图11所示为本发明实施例中从树图结构中选择参照块的结果示意图。如图所示,用深色标出的区块称为参照区块。
步骤S4:在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链。
进一步地,所述步骤S4中依次根据最长链规则为每个所述参照区块选取父亲区块具体包括:
判断当前所述参照区块的依赖区块中是否有参照区块,如果有,根据最长链规则,得到所述参照区块的路径,如果当前所述参照区块仅有一条最长路径,那么,当前所述参照区块前面的参照区块即为父亲区块,如果当前所述参照区块有多条相同长度路径的最长路径,那么,当前所述参照区块选择区块头哈希值较小的前一个区块为父亲区块。
请参阅图12,图12所示为本发明实施例中为每个参照区块选择参照链父亲区块的结果示意图。如图所示,
①、为参照块B选择参照链父亲区块。因为,参照块B的依赖区块中,只有A是参照块,因此,参照块B选择A作为参照链父亲区块。
②、为参照块C选择参照链父亲区块。因为,参照块C的依赖区块中,只有A是参照块,因此参照块C选择A作为参照链父亲区块。
③、为参照块D选择参照链父亲区块。因为参照块D的依赖区块中,有参照块A、B、C;由于A->B和A->C两个路径一样长,参照块D选择了区块头哈希较小的B(未在图中体现)。
④、为参照块E选择参照链父亲区块。因为参照块E的依赖区块中,有参照块A、B、C、D,由于A->B->D比A->C更长,根据最长链规则,参照块E选择参照块D作为父亲区块。
步骤S5:根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量。
请参阅图13,图13所示为本发明实施例中根据参照链计算当前区块X的“参照链差”的示意图。如图所示,以区块X为例,展示计算这个区块的“参照链差”的过程。我们挑选最长的参照链(A->B->D->E),从中排除区块X的依赖区块(虚线框选部分),本实施例中排除A,B区块,剩余的区块的数量我们称为给定区块的“参照链差”。从这个例子可以看出,剩余了D、E两个区块,因此,参照链差为2。
步骤S6:根据所述给定区块的区块生成时间值是判断所述给定区块是否是恶意区块。
具体地,所述步骤S6具体可以包括:
步骤S61:所述给定区块在一个节点生成后,所述节点将所述给定区块广播给其它节点;
步骤S62:获得每一个所述其它节点接收到的所述给定区块的接收时间t;
步骤S63:依次判断区块的接收时间t与区块最晚可能真实生成时间T1之差是否小于一预定阈值,如果是,判定所述给定区块为诚实区块,否则,判定所述给定区块为恶意区块。
在本发明的实施例中,所述T1为其中,t为所述给定区块的接收时间,x为时刻t所述给定区块的“参照链差”,C为与步骤S2相同的协议参数,d代表将一个区块转发给其它诚实节点需要的时间,y为在d秒的时间里,诚实节点生成区块个数的期望。
跟据区块链系统的普遍特征,在区块链系统中,如果一个节点生成了一个区块,它应该立刻将自己的区块广播给其他节点。如果这个区块是由一个诚实的节点生成的,那么收到这个区块的时间和区块的真实生成时间应当只相差几秒或几十秒。在时刻t,当一个节点收到了给定所述区块时,可以通过已有公开文献2的公式估计:这个区块的真实生成时间T’不晚于时刻T1,不早于时刻T2。即T2≤T’≤T1。
具体地,所述T1为所述T2为/>如果x很大,使得T1与t的差值远远大于几十秒,则说明区块接收时间t与真实生成时间T’偏大,据此可以推测有攻击行为。
文献2:Pass,Rafael,Lior Seeman,and Abhi Shelat."Analysis of theblockchain protocol in asynchronous networks."Annual International Conferenceon the Theory and Applications of Cryptographic Techniques.Springer,Cham,2017.
需要说明的是,对同一个区块,每个区块链节点收到它的时间可能不一样,但每个区块链节点对这个区块有哪些“依赖区块”的判断是一致的。在参照链相同的时候,每一个区块的“参照链差”的计算只与“依赖区块”有关,而“依赖区块”又在不同区块链节点间是一样的。因此,基于“参照链差”判断恶意行为更容易在区块链节点之间达成共识。
在本发明的实施例中,本发明还提出一种调整区块权重的无许可区块链共识系统,包括:
构建模块,用于根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块;
选择模块,用于根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块,其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定;
定义模块,用于确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有可以抵达的区块集合,其中,所述给定区块为需要探测生成时间的区块;
参照链生成模块,用于在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链;
估计模块,用于根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量;
判断模块,用于根据其它节点的收到所述给定区块的接收时间t和所述给定区块的最晚可能真实生成时间T1之差,判断所述给定区块是否是恶意区块。
本发明还提出一种可读存储介质,存储有可执行指令,该可执行指令用于执行所述的无许可区块链系统中恶意区块的探测方法。
本发明还提出一种数据处理终端,用于作为P2P网络的共识节点,接收、共识验证并存储该P2P网络中的区块,该数据处理终端包括:可读存储介质;处理器,用于调取并执行该可读存储介质中的可执行指令,以执行无许可区块链系统中恶意区块的探测方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
本发明还提出一种P2P网络,其中该P2P网络的共识节点为前述的数据处理终端。
为了直观展示此方法的优势,在此特使用模拟实验实现了前述攻击策略,并测试在攻击策略下的估算结果。具体地,模拟了1000个诚实节点和一个恶意者,诚实节点之间的通信延迟是5秒,恶意者与诚实节点通信没有延迟。C的取值为60。在恶意者掌握全部算力40%以上时,恶意者有能力实施并维持攻击策略。
如下表所示,分别实验了恶意者维持攻击10分钟,20分钟,30分钟,40分钟,50分钟,60分钟的情况。在每次实验结束时,我们收集恶意者与诚实节点在每次最后1分钟所放出的区块,并统计这些区块“参照链差”的平均值(诚实区块与恶意区块分别统计)。其结果如下表1所示。(为了排除随机性的影响,每个实验跑50次,然后对结果取平均值)。
表1
攻击持续时间 | 10分钟 | 20分钟 | 30分钟 | 40分钟 | 50分钟 | 60分钟 |
诚实区块(参照链差) | 0.4 | 0.4 | 0.4 | 0.5 | 0.6 | 0.5 |
诚实区块(生成时长) | 31秒 | 31秒 | 31秒 | 30秒 | 30秒 | 30秒 |
恶意区块(参照链差) | 7.7 | 15.2 | 22.9 | 29.0 | 39.0 | 45.2 |
恶意区块(生成时长) | 339秒 | 677秒 | 998秒 | 1335秒 | 1665秒 | 2014秒 |
在攻击实验中,随着攻击行为持续时间的增加,当诚实节点收到恶意区块时,恶意区块的实际生成时长线性增加,“参照链差”值也随之线性增加。这使得即使对于刚刚收到的区块,诚实节点也有能力意识到这些区块在被恶意节点生成的很长时间后才被广播出来,违背了区块链系统协议的要求,是攻击行为。另一方面,当收到诚实者生成的区块时,它们的“参照链差”值保持在一个很低的水平,而他们的实际生成时长也很短,这体现了参照链的方法不容易产生误判。
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (10)
1.一种无许可区块链系统中恶意区块的探测方法,其特征在于,包括如下步骤:
步骤S1:根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块;
步骤S2:根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块;其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定;
步骤S3:确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有抵达的区块集合;其中,所述给定区块为需要探测生成时间的区块;
步骤S4:在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链;
步骤S5:根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量;
步骤S6:根据其它节点的收到所述给定区块的接收时间t和所述给定区块的最晚可能真实生成时间T1之差,判断所述给定区块是否是恶意区块。
2.根据权利要求1所述的无许可区块链系统中恶意区块的探测方法,其特征在于,在步骤S2中,所述选择规则为判断C·X<2256是否成立,如果成立,则选择该区块为参照区块;其中,C为设定协议参数,X为所述区块头哈希代入SHA256哈希函数H得到的哈希值H(h),是一个0~2256-1的整数。
3.根据权利要求2所述的无许可区块链系统中恶意区块的探测方法,其特征在于,所述设定协议参数C的选取应当遵循一定的规则:
C≥5y,其中,在区块链网络传输中,将一个区块转发给多数节点需要d秒时间,y代表在d秒的时间里,诚实节点生成区块个数的期望。
4.根据权利要求1所述的无许可区块链系统中恶意区块的探测方法,其特征在于,所述步骤S4中依次根据最长链规则为每个所述参照区块选取父亲区块具体包括:
判断当前所述参照区块的依赖区块中是否有参照区块,如果有,根据最长链规则,得到所述参照区块的路径,如果当前所述参照区块仅有一条最长路径,那么,当前所述参照区块前面的参照区块即为父亲区块,如果当前所述参照区块有多条相同长度路径的最长路径,那么,当前所述参照区块选择区块头哈希值较小的前一个区块为父亲区块。
5.根据权利要求1所述的无许可区块链系统中恶意区块的探测方法,所述步骤S6具体包括:
步骤S61:所述给定区块在一个节点生成后,所述节点将所述给定区块广播给其它节点;
步骤S62:获得每一个所述其它节点接收到的所述给定区块的接收时间t;
步骤S63:依次判断区块的接收时间t和与区块最晚可能的真实生成时间T1之差是否小于一预定阈值,如果是,判定所述给定区块为诚实区块,否则,判定所述给定区块为恶意区块。
6.根据权利要求3所述的无许可区块链系统中恶意区块的探测方法,其特征在于,所述T1为其中,t为所述给定区块的接收时间,x为时刻t所述给定区块的“参照链差”,C为与步骤S2相同的协议参数,d代表将一个区块转发给其它诚实节点需要的时间,y为在d秒的时间里,诚实节点生成区块个数的期望。
7.一种在无许可区块链系统中恶意区块的探测装置,其特征在于,包括:
构建模块,用于根据最重链规则进行区块确认来构建区块链的树图拓扑结构,其中,所述区块链的树图拓扑结构中的任何一个区块所携带的拓扑信息除包括所有祖先区块,还包括引用和当前区块有共同祖先但又不在一条分叉上的区块;
选择模块,用于根据选择规则,从所述区块链的树图拓扑结构中随机选择多个参照区块,其中,所述选择规则先根据每个节点判断出的候选区块哈希值相同的情况下,再由设定协议参数来确定;
定义模块,用于确定所述区块链的树图拓扑结构任何一个给定区块的依赖区块;所述依赖区块为给定区块沿区块链的树图拓扑结构的父边和引用边所有可以抵达的区块集合,其中,所述给定区块为需要探测生成时间的区块;
参照链生成模块,用于在所述区块链的树图拓扑结构上,从首个区块开始,依次根据最长链规则为每个所述参照区块选取父亲区块,构建参照链;
估计模块,用于根据所述参照链计算当前所述参照区块的参照链差,并以所述参照链差估计所述给定区块的最晚可能真实生成时间T1;其中,所述参照链差为去除所述给定区块的依赖区块后剩余的所述参照区块的数量;
判断模块,用于根据其它节点的收到所述给定区块的接收时间t和所述给定区块的最晚可能真实生成时间T1之差,判断所述给定区块是否是恶意区块。
8.一种可读存储介质,存储有可执行指令,该可执行指令用于执行如权利要求1~6任一项所述的无许可区块链系统中恶意区块的探测方法。
9.一种数据处理终端,用于作为P2P网络的共识节点,接收、共识验证并存储该P2P网络中的区块,该数据处理终端包括:
如权利要求8所述的可读存储介质;
处理器,该处理器调取并执行所述的可读存储介质中的可执行指令,以执行无许可区块链系统中恶意区块的探测方法。
10.一种P2P网络,其特征在于,所述P2P网络的共识节点为权利要求9所述的数据处理终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103414.7A CN112926053B (zh) | 2021-01-26 | 2021-01-26 | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103414.7A CN112926053B (zh) | 2021-01-26 | 2021-01-26 | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112926053A CN112926053A (zh) | 2021-06-08 |
CN112926053B true CN112926053B (zh) | 2023-11-28 |
Family
ID=76166278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110103414.7A Active CN112926053B (zh) | 2021-01-26 | 2021-01-26 | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112926053B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296359A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 基于区块链技术的可信电力网络交易平台 |
CN108881169A (zh) * | 2018-05-21 | 2018-11-23 | 西安电子科技大学 | 基于区块链的时间分发和同步方法及系统、数据处理系统 |
CN110659284A (zh) * | 2019-08-20 | 2020-01-07 | 北京清红微谷技术开发有限责任公司 | 基于树图结构的区块定序方法及系统、数据处理终端 |
CN110689345A (zh) * | 2019-09-06 | 2020-01-14 | 北京清红微谷技术开发有限责任公司 | 调整区块权重的无许可区块链共识方法、系统、p2p网络 |
CN110851537A (zh) * | 2019-11-28 | 2020-02-28 | 蒋勇 | 一种基于区块链分片技术的共识方法 |
CN111985003A (zh) * | 2019-05-24 | 2020-11-24 | 国际商业机器公司 | 数据库恶意对等体识别 |
KR102182142B1 (ko) * | 2019-12-26 | 2020-11-24 | 주식회사 록스307 | 신뢰성 향상을 위한 가중치 기반의 블록체인 네트워크 구성 방법 및 장치 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI659373B (zh) * | 2018-02-14 | 2019-05-11 | 財團法人工業技術研究院 | 區塊鏈系統及應用其的方法 |
-
2021
- 2021-01-26 CN CN202110103414.7A patent/CN112926053B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296359A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 基于区块链技术的可信电力网络交易平台 |
CN108881169A (zh) * | 2018-05-21 | 2018-11-23 | 西安电子科技大学 | 基于区块链的时间分发和同步方法及系统、数据处理系统 |
CN111985003A (zh) * | 2019-05-24 | 2020-11-24 | 国际商业机器公司 | 数据库恶意对等体识别 |
CN110659284A (zh) * | 2019-08-20 | 2020-01-07 | 北京清红微谷技术开发有限责任公司 | 基于树图结构的区块定序方法及系统、数据处理终端 |
CN110689345A (zh) * | 2019-09-06 | 2020-01-14 | 北京清红微谷技术开发有限责任公司 | 调整区块权重的无许可区块链共识方法、系统、p2p网络 |
CN110851537A (zh) * | 2019-11-28 | 2020-02-28 | 蒋勇 | 一种基于区块链分片技术的共识方法 |
KR102182142B1 (ko) * | 2019-12-26 | 2020-11-24 | 주식회사 록스307 | 신뢰성 향상을 위한 가중치 기반의 블록체인 네트워크 구성 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
基于区块链智能合约的物联网恶意节点检测和定位;黄豪杰;吴晓晓;李刚强;;物联网学报(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112926053A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8863293B2 (en) | Predicting attacks based on probabilistic game-theory | |
KR102578019B1 (ko) | 블록체인 기반 데이터 검출 방법 및 디바이스, 및 컴퓨터 판독가능 저장 매체 | |
Yang et al. | VoteTrust: Leveraging friend invitation graph to defend against social network sybils | |
Shmatikov | Probabilistic analysis of anonymity | |
JP2020505839A (ja) | ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 | |
Fadhil et al. | A bitcoin model for evaluation of clustering to improve propagation delay in bitcoin network | |
CN112907369B (zh) | 基于区块链的数据共识方法及装置、电子设备、存储介质 | |
Hermans et al. | Efficient, secure, private distance bounding without key updates | |
CN113469371B (zh) | 联邦学习方法和装置 | |
CN110213038B (zh) | 一种区块链形成共识的方法及系统 | |
EP3779932A1 (en) | Blockchain network and establishment method therefor | |
GB2579635A (en) | A node testing method and apparatus for a blockchain system | |
US7603461B2 (en) | Methods, apparatus, and systems for distributed hypothesis testing in autonomic processing machines | |
Li et al. | Proof-of-work cryptocurrency mining: a statistical approach to fairness | |
CN113014635A (zh) | 区块链系统的节点类型划分方法、装置及区块链系统 | |
EP3970049A1 (en) | Systems and methods for mining on a proof-of-work blockchain network | |
CN110505313B (zh) | 一种超级节点选取方法、装置和设备 | |
CN112926053B (zh) | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 | |
CN111431561B (zh) | 一种考虑网络攻击的电力系统预想故障集生成方法和装置 | |
Poolsappasit et al. | A secure data aggregation based trust management approach for dealing with untrustworthy motes in sensor network | |
Kawamoto et al. | Compositionality results for quantitative information flow | |
US11665197B2 (en) | Apparatus and method for distinguishing between legitimate and malicious branches of a split blockchain | |
Wei et al. | Susceptible-infected-susceptible model on networks with eigenvector localization | |
KR20220169584A (ko) | 사물인터넷 최적화 노드 선별 및 악성 노드 제거 방법 | |
Radanovic et al. | Limiting the influence of low quality information in community sensing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |