CN113886124B - 非法节点识别方法、计算机设备和存储介质 - Google Patents

非法节点识别方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN113886124B
CN113886124B CN202111167252.XA CN202111167252A CN113886124B CN 113886124 B CN113886124 B CN 113886124B CN 202111167252 A CN202111167252 A CN 202111167252A CN 113886124 B CN113886124 B CN 113886124B
Authority
CN
China
Prior art keywords
node
output data
data
illegal
blockchain
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
Application number
CN202111167252.XA
Other languages
English (en)
Other versions
CN113886124A (zh
Inventor
李邦柱
王志文
吴思进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN202111167252.XA priority Critical patent/CN113886124B/zh
Publication of CN113886124A publication Critical patent/CN113886124A/zh
Application granted granted Critical
Publication of CN113886124B publication Critical patent/CN113886124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种非法节点识别方法、计算机设备和存储介质,该方法包括:生成第一数据集合,并筛选出若干待存储第一数据集合的第一区块链节点;向各第一区块链节点发送第一数据集合;向各第一区块链节点发送第一数值;生成包括若干第二索引的第一索引数组;向各第一区块链节点发送第一索引数组;在第一时长内未接收第一区块链节点返回的各找到的第一输出数据时,或,在第一时长内接收到第一区块链节点返回的各找到的第一输出数据时,若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点。本申请可识别出非法节点。

Description

非法节点识别方法、计算机设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种非法节点识别方法、计算机设备和存储介质。
背景技术
在现有技术中,区块链的数据由于较为庞大,通常,由若干个区块的数据生成的数据集合将分布式存储在若干个区块链节点中。
上述机制应当基于一种理想的网络环境,即网络中的区块链节点都是正常参与分布式存储的节点,极少或者没有做恶节点。但在非正常环境下,例如,区块链网络中有3000个正常的区块链节点,以及所模拟出的13000个作恶节点,且这些作恶节点伪装成正常节点参与分布式存储。大量的作恶节点将导致区块链的区块数据丢失。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种能够识别出非法节点的非法节点识别方法、计算机设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的非法节点识别方法,上述方法包括:
生成第一数据集合,并筛选出若干待存储第一数据集合的第一区块链节点;
向各第一区块链节点发送第一数据集合,以供各第一区块链节点:在存储第一数据集合后,对第一数据集合的第一标识进行签名并返回;
向各第一区块链节点发送第一数值,以供各第一区块链节点:
根据预配置的数据切分规则将第一数据集合切分为第一数值个第一数据块;
对各第一数据块执行如下操作:
根据所在节点的第二标识、第一数据块的第一索引、预配置的第一时长计算第一输入数据;
根据第一输入数据通过VDF函数计算第一输出数据;
生成包括若干第二索引的第一索引数组;其中,各第二索引的值均不大于第一数值;
向各第一区块链节点发送第一索引数组,以供各第一区块链节点分别根据各第二索引执行如下操作:在第一时长内找到第二索引对应的第一输出数据并返回;
在第一时长内未接收第一区块链节点返回的各找到的第一输出数据时,将第一区块链节点识别为非法节点;
在第一时长内接收到第一区块链节点返回的各找到的第一输出数据时,若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的非法节点识别方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的非法节点识别方法。
本发明诸多实施例提供的非法节点识别方法、计算机设备和存储介质通过生成第一数据集合,并筛选出若干待存储第一数据集合的第一区块链节点;向各第一区块链节点发送第一数据集合;向各第一区块链节点发送第一数值;生成包括若干第二索引的第一索引数组;向各第一区块链节点发送第一索引数组;在第一时长内未接收第一区块链节点返回的各找到的第一输出数据时,将第一区块链节点识别为非法节点;在第一时长内接收到第一区块链节点返回的各找到的第一输出数据时,若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点的方法,识别出非法节点。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种非法节点识别方法的流程图。
图2为图1所示方法的一种优选实施方式的流程图。
图3为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种非法节点识别方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于区块链节点的非法节点识别方法,上述方法包括:
S10:生成第一数据集合,并筛选出若干待存储第一数据集合的第一区块链节点;
S11:向各第一区块链节点发送第一数据集合,以供各第一区块链节点:在存储第一数据集合后,对第一数据集合的第一标识进行签名并返回;
S12:向各第一区块链节点发送第一数值,以供各第一区块链节点:
根据预配置的数据切分规则将第一数据集合切分为第一数值个第一数据块;
对各第一数据块执行如下操作:
根据所在节点的第二标识、第一数据块的第一索引、预配置的第一时长计算第一输入数据;
根据第一输入数据通过VDF函数计算第一输出数据;
S13:生成包括若干第二索引的第一索引数组;其中,各第二索引的值均不大于第一数值;
S14:向各第一区块链节点发送第一索引数组,以供各第一区块链节点分别根据各第二索引执行如下操作:在第一时长内找到第二索引对应的第一输出数据并返回;
S151:在第一时长内未接收第一区块链节点返回的各找到的第一输出数据时,将第一区块链节点识别为非法节点;
S152:在第一时长内接收到第一区块链节点返回的各找到的第一输出数据时,若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点。
具体的,以第二标识为pid,第一标识为第一数据集合的哈希值,若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点包括“对各第二索引执行如下操作:根据第一区块链节点的第二标识、第二索引、所指定的第一时长计算第二输入数据;根据第二输入数据通过VDF函数计算第二输出数据;在第二输出数据与各找到的第一输出数据中的第二索引对应的第一输出数据不同时,将第一区块链节点识别为非法节点”为例;
假设第一数值为100,当前节点为nodeA;
nodeA执行步骤S10,根据block(1)~block(1000)生成数据集合ch unk1,并分别计算出chunkhash1与其它各区块链节点的chainID的异或值,筛选出待存储chunk1的区块链节点nodeB~nodeD;本领域技术人员应当理解,如何生成数据集合,以及,如何筛选待存储第一数据集合的区块链节点的规则都可以根据实际需求进行配置,本申请不做具体的限定;
nodeA执行步骤S11,将chunk1发送至nodeB~nodeD;
nodeB~nodeD在存储chunk1后,分别向nodeA返回sig_B(chunk hash1)~sig_D(chunkhash1);
nodeA执行步骤S11,向nodeB~nodeD发送100;
以nodeB为例:
nodeB将chunk1切分为100个数据块N1~N100;本领域技术人员应当理解,预配置的数据切分规则可以根据实际需求进行配置,假如配置为平均切分,则nodeB将chunk1切分为100个大小相同的数据块;
nodeB对各数据块执行如下操作:
以N1为例:
nodeB根据随机字符串λ、预配置的第一时长(假设为t1)生成公共参数pp;pp包括计算参数ek和验证参数vk;本领域技术人员应当理解,当前步骤为公知常识;
nodeB根据pid(B)、N1的索引(即为1)、t1计算输入数据x_N1_B,x_N1_B=N1+hash(pid(B)||1);本领域技术人员应理解,此处的计算方式仅为示例,还可以根据实际需求计算输入数据x_N1_B,只要计算方式中包括pid(B)、N1的索引、t1,可实现相同的技术效果;
nodeB根据x_N1_B通过VDF函数计算输出数据y_N1_B;y_N1_B=VDF(x_N1_B);其中,y_N1_B和x_N1_B满足Eval(ek,x)→(y,π);
最终,nodeB有y_N1_B~y_N100_B;nodeC有y_N1_C~y_N100_C;nodeD有y_N1_D~y_N100_D;
nodeA执行步骤S13,生成包括若干第二索引的第一索引数组,假设为[1,43,2,90,89];
nodeA执行步骤S14,向nodeB~nodeD发送[1,43,2,90,89];
以nodeB为例,nodeB理应在t1内返回[y_N1_B,y_N43_B,y_N2_B,y_90_B,y_89_B];
假设nodeC也在t1内返回[y_N1_C,y_N43_C,y_N2_C,y_90_C,y_89_C],nodeD未返回[y_N1_D,y_N43_D,y_N2_D,y_90_D,y_89_D];
对于nodeB:
nodeA执行在t1内接收到[y_N1_B,y_N43_B,y_N2_B,y_90_B,y_89_B]时,nodeA分别对[1,43,2,90,89]执行如下操作:
以第二索引为1为例:
nodeA根据pid(B)、N1的索引(即为1)、t1计算输入数据x_N1_B’;根据x_N1_B’通过VDF函数计算输出数据y_N1_B’;假设y_N1_B’与y_N1_B相同,验证通过;
对于nodeC:
相似的,nodeA再分别验证y_N43_B’与y_N43_B是否相同……y_N89_B’与y_N89_B相同;
假设全部相同,则nodeA验证出nodeB为正常节点;
相似的,nodeA执行在t1内接收到[y_N1_C,y_N43_C,y_N2_C,y_90_C,y_89_C]时,nodeA分别对[1,43,2,90,89]执行如下操作:
相似的,以第二索引为1为例:
nodeA计算出y_N1_C’,并假设y_N1_C’与y_N1_C不同,则nod eA执行步骤S152,将nodeC识别为非法节点;
对于nodeD:
由于nodeD未返回[y_N1_D,y_N43_D,y_N2_D,y_90_D,y_89_D],nodeA执行步骤S151,将nodeD识别为非法节点。
在更多实施例中,第二标识还可以根据实际需求进行配置,例如配置为pid、ip、端口号、以及所在节点的TCP/UDP类型;可实现相同的技术效果。
在更多实施例中,第一标识还可以根据实际需求进行配置,例如配置为chunk1的名称,可实现相同的技术效果。
在更多实施例中,在接收第一区块链节点返回的签名后的第一标识时,根据第一区块链节点的第二标识、第一数据块的第一索引、所指定的第一时长计算第二输入数据;根据第二输入数据通过VDF函数计算第二输出数据;若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点包括“对各第二索引执行如下操作:根据第二索引找到对应的第二输出数据;在第二输出数据与各找到的第一输出数据中的第二索引对应的第一输出数据不同时,将第一区块链节点识别为非法节点”,可实现相同的技术效果。
在更多实施例中,上述步骤S13~步骤S152可以设置为定期执行的步骤,以定期校验所筛选出的第一区块链节点是否持续存储有chunk1。
上述实施例可识别出区块链网络中的非法节点,若进一步的配置非法节点的惩罚方式,将可以获得防止区块数据丢失的技术效果。
优选的,在接收第一区块链节点返回的签名后的第一标识时,根据第一区块链节点的第二标识、第一数据块的第一索引、所指定的第一时长计算第二输入数据;
根据第二输入数据通过VDF函数计算第二输出数据;
若存在任一各找到的第一输出数据不正确时,将第一区块链节点识别为非法节点包括:
对各第二索引执行如下操作:
根据第二索引找到对应的第二输出数据;
在第二输出数据与各找到的第一输出数据中的第二索引对应的第一输出数据不同时,将第一区块链节点识别为非法节点。
上述实施例与图1所示的实施例的不同之处在于,在上述实施例中,nodeA提前计算好了各第二输出数据,加速了后面非法节点的识别效率。
优选的,将第一区块链节点识别为非法节点后,还包括:
将被当前节点识别为非法节点的第一区块链节点返回的签名后的第一标识、第一数值广播给其它区块链节点,以供其它区块链节点:
判断签名后的第一标识的签名与被当前节点识别为非法节点的第一区块链节点是否匹配:
匹配,则通过第一标识从区块链网络中获取第一数据集合,并根据数据切分规则将第一数据集合切分为第一数值个第一数据块;
生成包括若干第三索引的第二索引数组;其中,各第三索引的值均不大于第一数值;
向被当前节点识别为非法节点的第一区块链节点发送第二索引数组,以供被当前节点识别为非法节点的第一区块链节点分别根据各第三索引执行如下操作:在第一时长内找到第三索引对应的第三输出数据并返回;
在第一时长内未接收第一区块链节点返回的各找到的第三输出数据时,将被当前节点识别为非法节点的第一区块链节点识别为非法节点;
在第一时长内接收到第一区块链节点返回的各找到的第三输出数据时,若存在任一各找到的第三输出数据不正确时,将被当前节点识别为非法节点的第一区块链节点识别为非法节点。
具体的,假设其它区块链节点为nodeE;
nodeA将sig_C(chunkhash1)和sig_D(chunkhash1)、100发送给no deE;
以sig_C(chunkhash1)为例;
nodeE判断sig_C(chunkhash1)与nodeC是否匹配;
由于匹配,则通过chunkhash1从区块链网络中获取chunk1,并根据数据切分规则将chunk1切分为N1~N100;本领域技术人员应当理解,nodeA也可以直接将chunk1发送给nodeE,这样nodeE就可以直接切分chunk1以获得N1~N100,但是此种方法将消耗nodeA的大量带宽,因为同一时刻nodeA需将chunk1发送给若干其它区块链节点;
后续的“生成包括若干第三索引的第二索引数组……将被当前节点识别为非法节点的第一区块链节点识别为非法节点”与图1所示的实施例中的步骤的原理类似,此处不再赘述。
在更多实施例中,还可以根据实际需求配置sig_C(chunkhash1)与nodeC不匹配时的操作,例如配置为结束,或,更新nodeA的不正常操作的次数,并判断不正常操作的次数是否达到阈值,在达到阈值时,将nodeA加入黑名单等,可实现相同的技术效果。
在更多实施例中,还可以根据实际需求配置在第一时长内接收到第一区块链节点返回的各找到的第三输出数据,且各找到的第三输出数据均正确时的操作,例如配置为结束,或,更新nodeA的不正常操作的次数,并判断不正常操作的次数是否达到阈值,在达到阈值时,将nodeA加入黑名单等,可实现相同的技术效果。
上述实施例使得更多节点能够快速识别出非法节点。
优选的,将第一区块链节点识别为非法节点包括:
将第一区块链节点识别为非法节点;
将识别为非法节点的第一区块链节点加入黑名单,并与识别为非法节点的第一区块链节点断开连接;其中,黑名单中的区块链节点将不被再次建立连接。
在更多实施例中,还可以根据实际需求配置黑名单中的区块链节点的复原机制;例如,当黑名单中的某一区块链节点缴纳了大量的罚金,则将缴纳了大量罚金的区块链节点从黑名单中删除。
上述实施例可以防止区块数据丢失。
图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,上述方法还包括:
S16:在第二时长后,向各第一区块链节点发送第二数值,以供各第一区块链节点:
根据预配置的数据切分规则将第一数据集合切分为第二数值个第二数据块;
对各第二数据块执行如下操作:
根据所在节点的第二标识、第二数据块的第四索引、预配置的第一时长计算第四输入数据;
根据第四输入数据通过VDF函数计算第四输出数据;
S17:生成包括若干第五索引的第二索引数组;其中,各第五索引的值均不大于第二数值;
S18:向各第一区块链节点发送第二索引数组,以供各第一区块链节点分别根据各第五索引执行如下操作:在第一时长内找到第五索引对应的第四输出数据并返回;
S191:在第一时长内未接收第一区块链节点返回的各找到的第四输出数据时,将第一区块链节点识别为非法节点;
S192:在第一时长内接收到第一区块链节点返回的各找到的第四输出数据时,若存在任一各找到的第四输出数据不正确时,将第一区块链节点识别为非法节点。
假设第二数值为200,此时存有chunk1的区块链节点有nodeB、nodeF、nodeG;
nodeA执行步骤S16,在t2后向nodeB、nodeF、nodeG发送200;
nodeB、nodeF、nodeG将chunk1切分为200个数据块N1’~N200’;
后续的“对各第二数据块执行如下操作……将第一区块链节点识别为非法节点”与图1所示的实施例中的步骤的原理类似,此处不再赘述。
上述实施例与图1所示的实施例的不同之处在于,在图1所示的实施例中,nodeC和nodeD可以先计算并存储y_N1_C~y_N100_C和y_N1_D~y_N100_D,然后再将chunk1删除,或者将chunk1转交给别的区块链节点保存;此时nodeA无论怎么执行步骤S13~S152,都无法判断出nodeC和nodeD为非法节点;而在本实施例中,如果nodeC和nodeD未存有chunk1,nodeC~nodeD则无法在t1内从区块链网络获取chunk1并计算出y_N1_C’~y_N200_C’和y_N1_D’~y_N200_D’,也就无法给nodeA返回均正确第四输出数据,nodeA可以轻松识别出nodeC和nodeD是非法节点。
在更多实施例中,步骤S16~S192可以配置为定期执行的步骤。
上述实施例可以更有效的识别非法节点。
优选的,第一标识为pid、ip、端口号、以及所在节点的TCP/UD P类型。
在图1所示的实施例中,第一标识为pid。在第一标识为pid时,可能存在如下场景,如果nodeB也作恶,nodeB自己复制了M分,B1,B2,B3……,BM都可以使用相同的PID,即,它们都有相同的y_N1_B~y_N100_B。
而在本实施例中,虽然B1,B2,B3……,BM都可以使用相同的PID,但是其ip、端口号各自不同,即B1,B2,B3……,BM不会产生相同的y_N1_B~y_N100_B。
上述实施例可以更有效的识别非法节点。
图3为本发明一实施例提供的一种设备的结构示意图。
如图3所示,作为另一方面,本申请还提供了一种设备,包括一个或多个中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有设备300操作所需的各种程序和数据。CPU301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种非法节点识别方法,其特征在于,适用于区块链节点,所述方法包括:
生成第一数据集合,并筛选出若干待存储所述第一数据集合的第一区块链节点;
向各所述第一区块链节点发送所述第一数据集合,以供各所述第一区块链节点:在存储所述第一数据集合后,对所述第一数据集合的第一标识进行签名并返回;
向各所述第一区块链节点发送第一数值,以供各所述第一区块链节点:
根据预配置的数据切分规则将所述第一数据集合切分为所述第一数值个第一数据块;
对各所述第一数据块执行如下操作:
根据所在节点的第二标识、所述第一数据块的第一索引、预配置的第一时长计算第一输入数据;
根据所述第一输入数据通过VDF函数计算第一输出数据;
生成包括若干第二索引的第一索引数组;其中,各所述第二索引的值均不大于所述第一数值;
向各所述第一区块链节点发送所述第一索引数组,以供各所述第一区块链节点分别根据各所述第二索引执行如下操作:在所述第一时长内找到所述第二索引对应的所述第一输出数据并返回;
在所述第一时长内未接收所述第一区块链节点返回的各找到的所述第一输出数据时,将所述第一区块链节点识别为非法节点;
在所述第一时长内接收到所述第一区块链节点返回的所述各找到的所述第一输出数据时,若存在任一所述各找到的所述第一输出数据不正确时,将所述第一区块链节点识别为非法节点。
2.根据权利要求1所述的方法,其特征在于,在接收所述第一区块链节点返回的签名后的所述第一标识时,根据所述第一区块链节点的第二标识、所述第一数据块的第一索引、所指定的第一时长计算第二输入数据;
根据所述第二输入数据通过VDF函数计算第二输出数据;
所述若存在任一所述各找到的所述第一输出数据不正确时,将所述第一区块链节点识别为非法节点包括:
对各所述第二索引执行如下操作:
根据所述第二索引找到对应的所述第二输出数据;
在所述第二输出数据与所述各找到的所述第一输出数据中的所述第二索引对应的所述第一输出数据不同时,将所述第一区块链节点识别为非法节点。
3.根据权利要求1所述的方法,其特征在于,所述若存在任一所述各找到的所述第一输出数据不正确时,将所述第一区块链节点识别为非法节点包括:
对各所述第二索引执行如下操作:
根据所述第一区块链节点的第二标识、所述第二索引、所指定的第一时长计算第二输入数据;
根据所述第二输入数据通过VDF函数计算第二输出数据;
在所述第二输出数据与所述各找到的所述第一输出数据中的所述第二索引对应的所述第一输出数据不同时,将所述第一区块链节点识别为非法节点。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一区块链节点识别为非法节点后,还包括:
将被当前节点识别为非法节点的所述第一区块链节点返回的签名后的所述第一标识、所述第一数值广播给其它区块链节点,以供其它区块链节点:
判断签名后的所述第一标识的签名与被当前节点识别为非法节点的所述第一区块链节点是否匹配:
匹配,则通过所述第一标识从区块链网络中获取所述第一数据集合,并根据所述数据切分规则将所述第一数据集合切分为所述第一数值个第一数据块;
生成包括若干第三索引的第二索引数组;其中,各所述第三索引的值均不大于所述第一数值;
向被当前节点识别为非法节点的所述第一区块链节点发送所述第二索引数组,以供被当前节点识别为非法节点的所述第一区块链节点分别根据各所述第三索引执行如下操作:在所述第一时长内找到所述第三索引对应的第三输出数据并返回;
在所述第一时长内未接收被当前节点识别为非法节点的所述第一区块链节点返回的各找到的所述第三输出数据时,将被当前节点识别为非法节点的所述第一区块链节点识别为非法节点;
在所述第一时长内接收到被当前节点识别为非法节点的所述第一区块链节点返回的所述各找到的所述第三输出数据时,若存在任一所述各找到的所述第三输出数据不正确时,将被当前节点识别为非法节点的所述第一区块链节点识别为非法节点。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述第一区块链节点识别为非法节点包括:
将所述第一区块链节点识别为非法节点;
将识别为非法节点的所述第一区块链节点加入黑名单,并与识别为非法节点的所述第一区块链节点断开连接;其中,黑名单中的区块链节点将不被再次建立连接。
6.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
在第二时长后,向各所述第一区块链节点发送第二数值,以供各所述第一区块链节点:
根据预配置的数据切分规则将所述第一数据集合切分为所述第二数值个第二数据块;
对各所述第二数据块执行如下操作:
根据所在节点的第二标识、所述第二数据块的第四索引、预配置的第一时长计算第四输入数据;
根据所述第四输入数据通过VDF函数计算第四输出数据;
生成包括若干第五索引的第二索引数组;其中,各所述第五索引的值均不大于所述第二数值;
向各所述第一区块链节点发送所述第二索引数组,以供各所述第一区块链节点分别根据各所述第五索引执行如下操作:在所述第一时长内找到所述第五索引对应的所述第四输出数据并返回;
在所述第一时长内未接收所述第一区块链节点返回的各找到的所述第四输出数据时,将所述第一区块链节点识别为非法节点;
在所述第一时长内接收到所述第一区块链节点返回的所述各找到的所述第四输出数据时,若存在任一所述各找到的所述第四输出数据不正确时,将所述第一区块链节点识别为非法节点。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述第二标识为pid。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述第一标识为pid、ip、端口号、以及所在节点的TCP/UDP类型。
9.根据权利要求1-4任一项所述的方法,其特征在于,所述第一标识为所述第一数据集合的哈希值。
10.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-9中任一项所述的方法。
11.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
CN202111167252.XA 2021-10-04 2021-10-04 非法节点识别方法、计算机设备和存储介质 Active CN113886124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111167252.XA CN113886124B (zh) 2021-10-04 2021-10-04 非法节点识别方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111167252.XA CN113886124B (zh) 2021-10-04 2021-10-04 非法节点识别方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113886124A CN113886124A (zh) 2022-01-04
CN113886124B true CN113886124B (zh) 2023-05-30

Family

ID=79005340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111167252.XA Active CN113886124B (zh) 2021-10-04 2021-10-04 非法节点识别方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113886124B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108416589A (zh) * 2018-03-08 2018-08-17 深圳前海微众银行股份有限公司 区块链节点的连接方法、系统及计算机可读存储介质
CN109522330A (zh) * 2018-10-18 2019-03-26 上海达家迎信息科技有限公司 基于区块链的云平台数据处理方法、装置、设备及介质
CN109697367A (zh) * 2019-01-09 2019-04-30 腾讯科技(深圳)有限公司 显示区块链数据的方法、区块链浏览器、用户节点和介质
CN110019235A (zh) * 2017-12-29 2019-07-16 百度在线网络技术(北京)有限公司 基于区块链的数据存储、恢复方法、装置、设备及介质
CN110516173A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种非法网站识别方法、装置、设备及介质
WO2020173498A1 (zh) * 2019-02-26 2020-09-03 白杰 基于区块链的分区交易方法及系统
CN112364209A (zh) * 2020-12-09 2021-02-12 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
CN112733202A (zh) * 2021-01-11 2021-04-30 杭州复杂美科技有限公司 平行链监督共识方法、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019235A (zh) * 2017-12-29 2019-07-16 百度在线网络技术(北京)有限公司 基于区块链的数据存储、恢复方法、装置、设备及介质
CN108416589A (zh) * 2018-03-08 2018-08-17 深圳前海微众银行股份有限公司 区块链节点的连接方法、系统及计算机可读存储介质
CN109522330A (zh) * 2018-10-18 2019-03-26 上海达家迎信息科技有限公司 基于区块链的云平台数据处理方法、装置、设备及介质
CN109697367A (zh) * 2019-01-09 2019-04-30 腾讯科技(深圳)有限公司 显示区块链数据的方法、区块链浏览器、用户节点和介质
WO2020173498A1 (zh) * 2019-02-26 2020-09-03 白杰 基于区块链的分区交易方法及系统
CN110516173A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种非法网站识别方法、装置、设备及介质
CN112364209A (zh) * 2020-12-09 2021-02-12 杭州复杂美科技有限公司 分布式数据存储方法、数据查询方法、设备和存储介质
CN112733202A (zh) * 2021-01-11 2021-04-30 杭州复杂美科技有限公司 平行链监督共识方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113886124A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN108270874B (zh) 应用程序的更新方法及装置
CN104640092B (zh) 识别垃圾短信的方法、客户端、云端服务器和系统
CN105894028B (zh) 用户识别方法和装置
CN110826799B (zh) 业务预测方法、装置、服务器及可读存储介质
US20210176354A1 (en) Decentralized automatic phone fraud risk management
US10642802B2 (en) Identifying an entity associated with an online communication
CN114338064A (zh) 识别网络流量类型的方法、装置、设备和存储介质
CN109598289B (zh) 跨平台的数据处理方法、装置、设备及可读存储介质
CN111488529A (zh) 信息处理方法、装置、服务器及存储介质
CN113886124B (zh) 非法节点识别方法、计算机设备和存储介质
CN111625467B (zh) 自动化测试方法、装置、计算机设备和存储介质
US11328095B2 (en) Peceptual video fingerprinting
CN110322350B (zh) 裁剪共识网络中空区块的方法、装置、设备和存储介质
Knill et al. Bell inequalities for continuously emitting sources
CN114416407B (zh) 一种实时数据的乱序修复系统、方法及计算机设备
CN114726634B (zh) 一种基于知识图谱的黑客攻击场景构建方法和设备
CN110602251B (zh) 基于节点间数据共享的数据处理方法、设备、装置、介质
CN113824689A (zh) 边缘计算网络、数据传输方法、装置、设备和存储介质
CN109840535B (zh) 实现地形分类的方法和装置
CN110765303A (zh) 一种更新数据库的方法及系统
CN116244650B (zh) 特征分箱方法、装置、电子设备和计算机可读存储介质
US20240127123A1 (en) Federated learning model training method and apparatus, and electronic device
CN113542871B (zh) 解码方法及装置、电子设备、计算机可读存储介质
CN113392138B (zh) 一种隐私数据的统计分析方法、装置、服务器和存储介质
CN110096504B (zh) 流式事件特征匹配方法及装置

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