CN113553380A - 面向信誉-行为关联双区块链的数据溯源系统 - Google Patents
面向信誉-行为关联双区块链的数据溯源系统 Download PDFInfo
- Publication number
- CN113553380A CN113553380A CN202110839624.2A CN202110839624A CN113553380A CN 113553380 A CN113553380 A CN 113553380A CN 202110839624 A CN202110839624 A CN 202110839624A CN 113553380 A CN113553380 A CN 113553380A
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- behavior
- reputation
- credit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向信誉‑行为关联双区块链的数据溯源系统,针对行为信息和其信誉值之间存在延时的特点和单区块链结构下不利于通过信誉索引用户行为的局限,设计信誉‑行为关联双区块链结构,以实现行为信息和其信誉值的安全存储;设计关联方案,实现双区块链关联,以增强双链的安全性和提高通过信誉索引行为的效率;规划设计溯源数据分布式存储模型,有效部署关联双区块链系统和提高数据存储性能;设计交易重复检测办法以避免待上链交易冗余存储,保证交易的唯一性。本发明实现了面向信誉‑行为关联双区块链的数据溯源机制,保证了用户行为和信誉的安全存储。
Description
技术领域
本发明涉及数据溯源和区块链技术领域,具体而言,本发明涉及一种面向信誉-行为关联双区块链的数据溯源系统。
背景技术
随着物联网和5G时代到来,网络安全迎来新的变化和趋势,发现和检测网络中的恶意行为是非常有必要的和刻不容缓的。网络中设备之间会彼此交互信息,产生具有持续性、时间敏感性和可用性等特性的用户行为数据,这些数据能揭示不同的行为模式,即正常行为和恶意行为,攻击者通过发布恶意行为,会秘密地窃取、泄露信息,甚至可能会造成生命损失或环境破坏,但可以对行为数据进行信誉评估得到信誉值,当信誉值低或突然高时,触发安全警报,基于溯源理念,通过信誉值索引用户行为轨迹,实现行为回放,进一步分析验证是否存在恶意行为或错误信誉评估机制,以尽早尽快地发现恶意行为或恶意信誉评估机制,争取在造成破坏之前消除隐患,以及进行追溯取证,发现威胁来源,以达到保护系统安全的作用,因此如何保证数据真实可靠和不可篡改及可溯源是一个挑战性问题。
传统的数据溯源系统一般采用集中存储模式,但数据经常面临许多的安全隐患,数据存在泄露或者直接暴露在网络中的风险,导致非法用户能够获得数据内容进而获得其中的重要性信息,同时,存在维护信任需要更高的成本、存在单点故障、易受攻击和难以实现追溯等缺点,因此数据的完整性和可靠性无法得到保障。
区块链是基于互联网的分布式账本技术,是一个去中心化或多中心化的数据库,是一条有无数个数据块连接的数据链,其核心技术来自于密码学、分布式一致性算法以及P2P 网络通信技术,区块链的数据是不可篡改的时序数据。与传统的集中存储模式相比,基于区块链的分布式存储有更多的优点,如区块链的多中心或去中心特点满足数据溯源的安全性、可靠性和其数据块相关联特点满足数据溯源的不可篡改性。因此,通过区块链技术与数据溯源的结合可以保证存储数据真实可靠和实现可信数据溯源。
但是,由于行为数据与其信誉值之间存在延时,单区块链虽能存储这两种类型数据,却难以实现通过信誉值索引行为数据且效率极低。
发明内容
针对现有技术的不足,本发明提出一种面向信誉-行为关联双区块链的数据溯源系统,该系统中包括关联双区块链结构,通过该结构实现对行为数据和信誉进行安全存储,保证数据不丢失不篡改,为数据溯源提高可靠证据和有效提高数据溯源效率;本发明设计了基于“用户-边缘”两层关联双区块链存储模型,以合理部署利用双区块链系统和提高数据存储性能;还设计了交易重复检测方法,以实现避免交易的冗余存储。
为此,本发明提供了以下技术方案:
本发明提供了一种面向信誉-行为关联双区块链的数据溯源系统,包括:关联双区块链网络;
所述关联双区块链网络按照以下步骤得到:
设计用于存储行为信息的行为数据链,待上链的行为数据交易表示为 Txdata,交易格式为:
Txdata={sku,behData,sender,receiver,timeslotdata,dataSeqNum};
其中,Txdata为封装后的行为数据交易;sku为用户私钥,用于对封装好的行为数据交易进行签名和便于定位相关责任人;behData为用户交互产生的行为信息;sender表示行为信息的发送者;receiver表示行为信息的接收者;timeslotdata为行为信息产生的时间;dataSeqNum为行为数据交易序号;
所述行为数据链的区块头结构如下所示:
Bhdata={preHashdata,indexdata,tsdata,MBRootdata,randNumdata};
其中,preHashdata表示前一行为数据区块的区块头哈希值;indexdata表示行为数据区块号;tsdata表示打包行为数据区块的时间;MBRootdata为Merkle树根结点哈希值;randNumdata为打包行为区块所选取的随机数;
设计用于存储信誉交易的信誉链,待上链的信誉交易表示为Txdata,其交易格式为:
Txrep={sku,repvalue,evaluator,beEvaluator,timeslotrep,repSeqNum};
其中,Txrep表示封装后的信誉交易;sku为用户私钥,用于对封装好的信誉交易进行签名和便于定位相关责任人;repvalue表示用户交互产生的行为信息通过信誉评估得到的信誉值;beEvaluator表示信誉被评估者,即也是对应行为的发送者;evaluato表示信誉评估者;timesloretp为信誉值产生的时间; repSeqNum为信誉交易号;
所述信誉链的区块头结构如下所示:
Bhrep={preHashrep,indexrep,tsrep,MBRootrep,randNumrep};
其中,preHashrep表示前一信誉区块的区块头哈希值;indexrep为信誉区块号;tsrep为信誉区块打包的时间;randNumrep为打包信誉区块所选取的随机数; MBRootdata为Merkle树根结点哈希值;
关联所述行为数据链和所述信誉链,包括:使信誉链区块头包含当前行为数据链最新区块的区块头哈希值curHashdata,以实现两条链的关联;信誉链区块头包含与之关联的行为数据区块的区块号indexdata;在信誉交易中添加对应行为数据交易所在的区块号indexdata和其交易号dataSeqNum。
进一步地,所述系统还包括:边缘节点;边缘节点因为不同时期的不同职责,分为排序节点和全节点,其中全节点存储所有区块数据,排序节点负责打包交易、共识区块和存储所有区块数据;
所述系统按照以下步骤进行溯源数据的分布式存储,包括:
将收集到的行为信息或信誉值按照各自的交易格式进行封装,将封装后的行为数据交易或信誉交易广播给排序节点;
排序节点接收所有提交的交易,将行为数据交易存入行为数据交易池中,将信誉交易存入信誉交易池中,并分别确定两类交易的执行顺序;在接收交易的同时,对交易的签名进行验证,判定交易是否被篡改;
在双通道机制下排序节点将缓存的行为数据交易或信誉交易分别打包成行为数据区块或信誉区块,并向其他排序节点广播该区块,所述双通道机制包括一个行为数据链账本和一个信誉链账本,在生成不同类型区块后,会广播给加入相应通道的节点,并且每个节点能够同时加入双通道,若加入任一通道,则能够接收该通道的区块信息,若未加入该通道,则节点不会收到该通道的信息;
在排序节点接收到其他节点传输的新区块时,对其进行共识验证,共识通过后,将新区块添加到现有区块链尾部,并且也将合法的新区块传输给全节点以保存区块和传输给普通用户以保存区块头并保持处于最新状态。
进一步地,所述系统还包括:IPFS系统;
将收集到的行为信息按照交易格式进行封装,包括:
判断行为信息大小,将大于预设尺寸的行为信息存储至IPFS分布式存储系统上并获取其在IPFS上的哈希值,封装时装入该哈希值,若是小于预设尺寸,则无需上传,直接封装。
进一步地,分别确定两类交易的执行顺序之前,还包括:对两类交易进行去重。
进一步地,对两类交易进行去重包括:
采用行为数据交易重复检测方法进行行为数据交易去重,并以此确定交易的执行顺序,具体步骤如下:
选取行为数据交易中的发送者属性,以所述发送者属性把行为数据交易集分割为若干个不相交的行为数据交易子集;
在接收行为数据交易的过程中,以某时间窗口进行切分,形成一个个连续的分片;当接收到一个完整分片行为数据交易后,在接收下一个分片数据交易的同时,并行的对上一个分片按照发送者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得行为数据交易全部分类,并按分类进行排序;
使用多线程对每个分类的行为数据交易集进行重复交易检测,并在检测完后依次递增的给每个行为交易分配一个交易序号,以作为行为数据交易执行的顺序;
采用信誉交易重复检测方法进行信誉交易去重,并以此确定交易的执行顺序,具体步骤如下:
选取信誉交易中的被评价者属性,以所述被评价者属性把信誉交易集分割为若干个不相交的小信誉交易集;
在接收信誉交易的过程中,以某时间窗口进行切分,形成一个个连续的分片;当接收到一个完整分片信誉交易后,在接收下一个分片信誉交易的同时,并行的对上一个分片按照被评价者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得信誉交易全部分类,并按分类进行排序;
使用多线程并行的对所有分类采用桶排序方法进行交易排序;
使用多线程并基于信誉值的自适应滑动窗口方法对每个分类的信誉交易集进行重复交易检测,并在检测完后依次递增的给每个信誉交易分配一个交易序号,以作为该交易执行的顺序。
进一步地,所述基于信誉值的自适应滑动窗口方法,包括:
初始化滑动窗口大小,即Qs=2;
根据信誉交易存在相同信誉值的个数,动态调整滑动窗口大小Qi;
选取窗口中的第1个信誉交易,与窗口内剩余的Qi-1个交易进行比较,比较结束后,滑出窗口,窗口内第2个信誉交易,与窗口内剩余的交易进行比较,并依次重复比较,直至该窗口内所有交易比较完毕;
重复动态调整滑动窗口大小以及窗口内交易比较的步骤,如此反复,直到分类内所有信誉交易比较完毕。
进一步地,对所述系统中存储的溯源数据进行查询包括如下步骤:
输入查询关键字,判断在哪条链上查询;
若在信誉链上,获取最新区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个区块中查询符合查询条件的信誉交易;
若不跨链查询,则查询结束,否则,继续获取所查询信誉交易中包含的行为区块号和行为交易号,根据信誉区块中包含的行为区块哈希,通过哈希索引追溯到行为数据链,并遍历找到信誉交易中的行为区块号,在这些行为区块下查询到符合交易号的交易;
若在行为数据链上,获取最新行为区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个行为区块中遍历查询符合查询条件的行为交易。
本发明的优点和积极效果:
上述技术方案中,首先,由于行为数据和信誉值之间存在延时和单区块链系统难以实现溯源或溯源效率极低,设计关联双区块链结构实现对行为数据和信誉的安全存储,保证数据不丢失不篡改,为数据溯源提高可靠证据和有效提高数据溯源效率,同时考虑避免数据冗余存储,提出两种交易重复检测方法。其次,因为普通用户计算、存储和带宽等资源有限,为利于关联双区块链系统的部署实现和提高两种数据类型的存储性能,设计基于用户-边缘两层的关联双区块链存储模型。实验证实,本发明能够实现信誉-行为两种数据类型的存储和高效的去重。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的一种面向信誉-行为关联双区块链的数据溯源机制研究的系统模型图;
图2为本发明实施例中的一种基于“用户-边缘”两层关联双区块链的数据存储系统模型图;
图3为本发明实施例中的关联双区块链结构示意图;
图4为本发明实施例中的行为数据交易重复检测时间随行为交易个数变化的关系曲线图;
图5为本发明实施例中的信誉交易重复检测时间随信誉交易个数变化的关系曲线图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参见图1,其示出了本发明实施例中一种面向信誉-行为关联双区块链的数据溯源系统模型图。由于IIOT(Industrial Internet of Things,工业物联网) 设备的存储资源和计算资源有限,本发明引入边缘节点层,以支持关联双区块链系统的存储、计算等操作,构造出基于“用户-边缘”两层关联双区块链的数据溯源系统模型。该模型由四个主要组件组成:IPFS网络(InterPlanetary File System,星际文件系统)100、IIOT设备(普通节点200)、边缘节点(包括排序节点300和全节点400)和关联双区块链网络500(包括信誉链501和行为数据链502)。在模型中有多个蜂窝网络,每个蜂窝网络中都部署若干台智能设备和一台边缘节点设备。IIOT设备都视为普通节点,只能将交易发送到边缘节点中,无权记录交易,可记录双区块链的区块头;边缘节点因为不同时期的不同职责,分为排序节点和全节点,具有查询功能,其中全节点存储所有区块数据,而排序节点负责打包交易、共识区块和存储所有区块数据。
下面对面向信誉-行为关联双区块链网络进行说明。如图3所示,其示出了本发明实施例中关联双区块链网络的结构示意图,该关联双区块链结构可以按照如下步骤设计:
S1.1、设计行为数据链结构,分为交易存储结构和区块头结构的设计。行为信息以交易形式存储在该链中,同时该链只用于记录行为信息,不需要存在虚拟货币。一条行为信息交易包括:发送者、接收者、交互的行为信息。为在溯源时定位相关责任人,还包括相关责任人对上述所有信息的签名。
将待上链的行为数据交易表示为Txdata,交易格式为:
Txdata={sku,behaData,sender,receiver,timeslotdata,dataSeqNum} (1)
其中,Txdata为封装后的行为数据交易;sku为用户私钥,用于对封装好的行为数据交易进行签名和便于定位相关责任人;behaData为用户交互产生的行为信息;sender为行为的发送者;receiver为行为的接收者;timeslotdata为行为发生的时间;dataSeqNum为行为交易的序号,用来唯一标识一笔交易。
该链的区块头结构如下所示:
Bhdata={preHashdata,indexdata,tsdata,MBRootdata,randNumdata} (2)
其中,preHashdata为前一行为数据区块的区块头哈希;indexdata为行为数据区块号;tsdata为打包行为数据区块的时间;MBRootdata为块内索引根结点哈希值;randNumdata为打包行为区块所选取的随机数。
S1.2、设计信誉链结构,分为交易存储结构和区块头结构的设计。信誉通过交易存储在该链中,同时该链只用于记录信誉,不需要存在虚拟货币。一条信誉信息交易包括:评价者、被评价者、行为信息的信誉值。为在溯源时定位相关责任人,还包括相关责任人对上述所有信息的签名。
将待上链的信誉交易表示为Txdata,该交易格式为:
Txrep={sku,repvalue,evaluator,beEvaluator,timeslotrep,repSeqNum} (3)
其中,Txrep为封装后的信誉交易;sku为用户私钥,用于对封装好的信誉交易进行签名和便于定位相关责任人;repvalue为用户交互产生的行为信息信誉评估的信誉值;beEvaluator为信誉被评估者,即也是对应行为的发送者;evaluator为信誉评估者;timeslotrep为信誉值产生的时间;repSeqNum为信誉交易号。
该链的区块头结构如下所示:
Bhrep={preHashrep,indexrep,tsrep,MBRootrep,randNumrep} (4)
其中,preHashrep为前一信誉区块的区块头哈希;indexrep为信誉区块号;tsrep为打包信誉区块的时间;MBRootrep为块内索引根结点的哈希值;randNumrep为打包信誉区块所选取的随机数。
S1.3、关联行为数据链和信誉链。借鉴现有区块链中区块之间的连接方式,即除创世区块外所有区块的区块头包含前一个区块的区块头哈希值,继而在当前区块中实现根据前一区块哈希可追溯到前一区块,因此信誉链区块头中也将包含当前行为数据链最新区块的区块头哈希值curHashdata,以实现两条链的关联。同时为了明确所关联的是哪个行为数据区块以方便区块验证和查询操作,还包含与之关联的行为数据区块的区块号indexdata。此时,信誉链的区块头结构为:
Bhrep={preHash,index,ts,MBRoot,randNum,curHashdata,indexdata} (5)
然后,将两种类型的交易也实现关联,即将信誉交易与行为数据交易一一对应,以便于实现通过信誉索引用户行为,为此在信誉交易中添加对应行为数据交易所在的区块号indexdata及其交易号dataSeqNum。此时,信誉链的交易格式为:
在本发明实施例中的数据溯源系统中,每个节点都会有一个账户,交易录入者会利用该账户发起记录行为信息或信誉信息的交易。发起交易必须使用账户进行签名,关联双区块链的排序节点会验证该交易签名的合法性以保证交易的合法性。同时只需找到添加记录信息的交易的账户即可定位交易信息的记录人,完成责任定位。
下面对上述数据溯源系统的数据存储方法进行说明。本发明实施例中,针对不同行为数据尺寸设计链上链下结合的数据存储方法,并提出行为数据链、信誉链和IPFS网络相协同的数据存储方案。该数据存储方案的实现路径为:对行为数据的尺寸进行划分,将小尺寸的行为信息直接存储至行为数据链上,将大尺寸的行为信息存储至IPFS网络;信誉事务存储至信誉链,存储过程的模型如图2所示,该模型包括:IPFS网络100,普通节点200,排序节点300,全节点400以及关联双区块链500,其中,①表示将行为或信誉封装为交易,②上传大尺寸行为,③返回行为哈希值,④上传并验证行为交易或信誉交易,⑤打包行为交易成行为区块,⑥共识验证新行为区块,⑦存储新行为区块,⑧传输并存储新行为区块,⑨将新区块的区块头存储。
在具体实施中,数据存储方法包括以下步骤:
S2.1、交易创建与上传
对于行为数据交易,过程为:判断行为数据的大小,将大尺寸的行为数据存储至IPFS分布式存储系统上并获取数据在IPFS上的哈希值,行为数据交易中包含行为数据的哈希值;若是小尺寸的,则无需上传,再基于行为数据交易格式,将发送者、接收者、交互时间、行为或行为哈希值等信息封装为行为数据交易并签名,接着以json格式发布行为数据交易,排序节点接收行为数据交易后将交易签名验证通过的行为数据交易存入行为数据交易池中,并广播给其他排序节点。
对于信誉交易,基于信誉交易格式,封装、发布和接收信誉交易并验证通过后的交易存入信誉交易池中,并广播给其他排序节点。
S2.2、交易重复检测和确定执行顺序
只有对交易池中的交易进行重复检测后,交易才可以打包上链。行为数据交易重复检测过程包括:首先选取行为数据交易中的发送者为属性,根据时间窗口分片、并行排序和归并排序按照行为数据交易中的“发送者”对行为数据交易集高效进行分类,形成若干个不相交的行为数据交易子集,并将所有子集进行排序,接着逐一比较小分块内各行为交易的哈希值,若相同,则检测到重复的行为数据交易,并从行为交易池中剔除该交易,最后按照关键属性将各分类顺序排序,以确定交易执行顺序。具体步骤如下:
步骤A.1、选取行为数据交易中的发送者属性;
步骤A.2、在接收行为交易的过程中,以某时间窗口进行切分,形成一个个连续的分片。当接收到一个完整分片行为交易后,在接收下一个分片行为交易的同时,并行的对上一个分片按照发送者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得行为交易全部分类,并将分类进行排序,即划分为n个不相交的交易子集, Txsdata:{Txsdata_1,Txsdata_2,...,Txsdata_n};
步骤A.3、若划分后的交易集数据量仍比较大,根据交易的产生时间对该子集再次划分,得到k个不相交的子集, Txsdata_i:{Txsdata_i1,Txsdata_i2,...,Txsdata_ik};
步骤A.4、使用多线程对每个分类的行为交易集逐一比较其哈希值以进行重复交易检测,并在检测完后依次递增的给每个行为交易分配一个交易序号,以作为行为交易执行的顺序。
类似地,信誉交易重复检测的过程:基于行为数据交易重复检测的分类办法按照信誉交易中的“被评价者”对其进行划分,接着对小分块内的交易按照信誉值进行桶排序,再根据基于信誉值的自适应滑动窗口办法来比较分类内的信誉交易是否重复,若重复,则将其从信誉交易池中剔除,最后按照关键属性将各分类顺序排序。具体步骤如下:
步骤B.1、选取信誉交易中的被评价者属性;
步骤B.2、在接收信誉交易的过程中,以某时间窗口进行切分,形成一个个连续的分片。当接收到一个完整分片信誉交易后,在接收下一个分片信誉交易的同时,并行的对上一个分片按照被评价者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得信誉交易全部分类,并将分类进行排序,即划分为n个不相交的交易子集, Txsrep:{Txsrep_1,Txsrep_2,...,Txsrep_n};
步骤B.3、使用多线程并行的对所有分类采用桶排序的方式进行排序;
步骤B.4、使用多线程并基于信誉值的自适应滑动窗口方法对每个分类中的信誉交易集逐一比较哈希值以进行重复交易检测,并在检测完后依次递增的给每个信誉交易安排一个交易序号,以作为该交易执行的顺序;
上述步骤B.4基于信誉值的自适应滑动窗口方法的详细操作如下:
步骤B.4.1、初始化滑动窗口大小,即Qs=2;
步骤B.4.2、根据信誉交易存在相同信誉值的个数,动态调整滑动窗口大小Qi;
步骤B.4.3、选取窗口中的第1个信誉交易,与窗口内剩余的Qi-1个交易进行比较,比较结束后,滑出窗口,窗口内第2个信誉交易,与窗口内剩余的交易进行比较,并依次重复比较,直至该窗口内所有交易比较完毕;
步骤B.4.4、重复步骤B.4.2和步骤B.4.3,如此反复,直到分类内所有信誉交易比较完毕。
S2.3、新区块产生和发布
在双通道机制下将排序节点中缓存的行为数据交易或信誉交易分别打包成行为数据区块或信誉区块,并在网络中广播该区块,传输给其它排序节点,其中所述的双通道机制指存在一个行为数据链账本和一个信誉链账本,生成不同类型区块后,会广播给加入相应通道的节点,并且每个节点可以同时加入双通道,一旦加入某通道就可以接收该通道的区块信息,而要是没加入该通道则节点不会收到该通道的信息;
S2.4、区块共识和上链
在排序节点接收到其他节点发送的新区块时,对其进行共识验证,当所有排序节点共识通过后,即达成一致,新区块被核发的添加到现有区块链尾部,并且也将合法的新区块传输给全节点以保存区块并保持处于最新状态,通过这些繁琐步骤从而实现安全可靠的数据存储。新行为数据区块是直接附属到现有行为数据链的尾部,而新信誉区块由于其区块头中既包含前一信誉区块的区块头哈希值,也包含当前最新行为数据链区块的区块头哈希值,使之相当于将这个区块要添加到现有信誉链的尾部和现有行为数据链的尾部。
下面对上述数据溯源系统的数据查询方法进行说明。数据查询方法包括如下步骤:
S3.1、输入查询关键字,判断在哪条链上查询;
S3.2、若在信誉链上,获取最新区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个区块中查询符合查询条件的信誉交易;
S3.3、若不跨链查询,则查询结束,否则,继续获取所查询信誉交易中包含的行为区块号和行为交易号,根据信誉区块中包含的行为区块哈希,通过哈希索引追溯到行为数据链,并遍历找到信誉交易中的行为区块号,在这些行为区块下查询到符合交易号的交易;
S3.4、若在行为数据链上,获取最新行为区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个行为区块中遍历查询符合查询条件的行为交易。
下面是本发明实施例中的方法与现有技术中的方法的对比说明:
对比方法:遍历检测办法是逐一比较所有同一类型的交易,以发现重复的交易。
本发明实施例为行为数据交易或信誉交易的重复检测分析。图4-5为本发明与对比方法的对比,选择相同交易个数时,对比两种重复检测方法的重复检测消耗时间:
分别选取1024、2048、4096、8192和16384个行为数据交易作为测试集,其中存在若干个相同的行为数据交易。图4测试了行为数据交易重复检测时间随行为数据交易数量变化的趋势,表1显示了检测去重后的行为数据交易个数。结果表明,本发明的行为数据交易重复检测办法在时间复杂度上有较好的表现,检测所消耗的时间较少,并且随着测试集数量的增加,两者之间的检测性能差异逐步扩大。同时,两种检测方法检测出相同交易的个数是一致的。由于利用基于时间窗口和归并排序的分块技术将行为数据交易按照“发送者”进行分块,降低了比较的交易数量,提升了检测效率。
表1
分别选取1024、2048、4096、8192和16384个信誉交易作为测试集,其中存在若干个相同的信誉交易。图5显示了信誉交易重复检测时间随着信誉交易数量变化的趋势,表2显示了检测去重后的信誉交易个数。在图5中,本发明的信誉交易重复检测方法在时间复杂度上有较好的表现,检测所消耗的时间较少。同时,两种检测方法检测出相同交易的个数是一致的。由于利用基于时间窗口和归并排序的分块技术将信誉交易进行划分,降低了比较的交易量,并且基于信誉值的自适应滑动窗口办法可以减少不必要的比较,节省了重复检测时间,进一步提高了检测效率。同时该算法的时间开销与重复交易的多少有关,重复交易越少,则时间开销越低,反之越高。
表2
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,包括:关联双区块链网络;
所述关联双区块链网络按照以下步骤得到:
设计用于存储行为信息的行为数据链,待上链的行为数据交易表示为Txdata,交易格式为:
Txdata={sku,behData,sender,receiver,timeslotdata,dataSeqNum};
其中,Txdata为封装后的行为数据交易;sku为用户私钥,用于对封装好的行为数据交易进行签名和便于定位相关责任人;behData为用户交互产生的行为信息;sender表示行为信息的发送者;receiver表示行为信息的接收者;timeslotdata为行为信息产生的时间;dataSeqNum为行为数据交易序号;
所述行为数据链的区块头结构如下所示:
Bhdata={preHashdata,indexdata,tsdata,MBRootdata,randNumdata};
其中,preHashdata表示前一行为数据区块的区块头哈希值;indexdata表示行为数据区块号;tsdata表示打包行为数据区块的时间;MBRootdata为Merkle树根结点哈希值;randNumdata为打包行为区块所选取的随机数;
设计用于存储信誉交易的信誉链,待上链的信誉交易表示为Txdata,其交易格式为:
Txrep={sku,repvalue,evaluator,beEvaluator,timeslotrep,repSeqNum};
其中,Txrep表示封装后的信誉交易;sku为用户私钥,用于对封装好的信誉交易进行签名和便于定位相关责任人;repvalue表示用户交互产生的行为信息通过信誉评估得到的信誉值;beEvaluator表示信誉被评估者,即也是对应行为的发送者;evaluato表示信誉评估者;timesloretp为信誉值产生的时间;repSeqNum为信誉交易号;
所述信誉链的区块头结构如下所示:
Bhrep={preHashrep,indexrep,tsrep,MBRootrep,randNumrep};
其中,preHashrep表示前一信誉区块的区块头哈希值;indexrep为信誉区块号;tsrep为信誉区块打包的时间;MBRootdata为Merkle树根结点哈希值;randNumrep为打包信誉区块所选取的随机数;
关联所述行为数据链和所述信誉链,包括:使信誉链区块头包含当前行为数据链最新区块的区块头哈希值curHashdata,以实现两条链的关联;信誉链区块头包含与之关联的行为数据区块的区块号indexdata;在信誉交易中添加对应行为数据交易所在的区块号indexdata和其交易号dataSeqNum。
2.根据权利要求1所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,所述系统还包括:边缘节点;边缘节点因为不同时期的不同职责,分为排序节点和全节点,其中全节点存储所有区块数据,排序节点负责打包交易、共识区块和存储所有区块数据;
所述系统按照以下步骤进行溯源数据的分布式存储,包括:
将收集到的行为信息或信誉值按照各自的交易格式进行封装,将封装后的行为数据交易或信誉交易广播给排序节点;
排序节点接收所有提交的交易,将行为数据交易存入行为数据交易池中,将信誉交易存入信誉交易池中,并分别确定两类交易的执行顺序;在接收交易的同时,对交易的签名进行验证,判定交易是否被篡改;
在双通道机制下排序节点将缓存的行为数据交易或信誉交易分别打包成行为数据区块或信誉区块,并向其他排序节点广播该区块,所述双通道机制包括一个行为数据链账本和一个信誉链账本,在生成不同类型区块后,会广播给加入相应通道的节点,并且每个节点能够同时加入双通道,若加入任一通道,则能够接收该通道的区块信息,若未加入该通道,则节点不会收到该通道的信息;
在排序节点接收到其他节点传输的新区块时,对其进行共识验证,共识通过后,将新区块添加到现有区块链尾部,并且也将合法的新区块传输给全节点以保存区块和传输给普通用户以保存区块头并保持处于最新状态。
3.根据权利要求2所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,所述系统还包括:IPFS系统;
将收集到的行为信息按照交易格式进行封装,包括:
判断行为信息大小,将大于预设尺寸的行为信息存储至IPFS分布式存储系统上并获取其在IPFS上的哈希值,封装时装入该哈希值,若是小于预设尺寸,则无需上传,直接封装。
4.根据权利要求2所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,分别确定两类交易的执行顺序之前,还包括:对两类交易进行去重。
5.根据权利要求4所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,对两类交易进行去重包括:
采用行为数据交易重复检测方法进行行为数据交易去重,并以此确定交易的执行顺序,具体步骤如下:
选取行为数据交易中的发送者属性,以所述发送者属性把行为数据交易集分割为若干个不相交的行为数据交易子集;
在接收行为数据交易的过程中,以某时间窗口进行切分,形成一个个连续的分片;当接收到一个完整分片行为数据交易后,在接收下一个分片数据交易的同时,并行的对上一个分片按照发送者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得行为数据交易全部分类,并按分类进行排序;
使用多线程对每个分类的行为数据交易集进行重复交易检测,并在检测完后依次递增的给每个行为交易分配一个交易序号,以作为行为数据交易执行的顺序;
采用信誉交易重复检测方法进行信誉交易去重,并以此确定交易的执行顺序,具体步骤如下:
选取信誉交易中的被评价者属性,以所述被评价者属性把信誉交易集分割为若干个不相交的小信誉交易集;
在接收信誉交易的过程中,以某时间窗口进行切分,形成一个个连续的分片;当接收到一个完整分片信誉交易后,在接收下一个分片信誉交易的同时,并行的对上一个分片按照被评价者进行分类,并使用一个线程对已分类的分片进行归并,等最后一个分片分类完成后,作最后一次归并使得信誉交易全部分类,并按分类进行排序;
使用多线程并行的对所有分类采用桶排序方法进行交易排序;
使用多线程并基于信誉值的自适应滑动窗口方法对每个分类的信誉交易集进行重复交易检测,并在检测完后依次递增的给每个信誉交易分配一个交易序号,以作为该交易执行的顺序。
6.根据权利要求5所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,所述基于信誉值的自适应滑动窗口方法,包括:
初始化滑动窗口大小,即Qs=2;
根据信誉交易存在相同信誉值的个数,动态调整滑动窗口大小Qi;
选取窗口中的第1个信誉交易,与窗口内剩余的Qi-1个交易进行比较,比较结束后,滑出窗口,窗口内第2个信誉交易,与窗口内剩余的交易进行比较,并依次重复比较,直至该窗口内所有交易比较完毕;
重复动态调整滑动窗口大小以及窗口内交易比较的步骤,如此反复,直到分类内所有信誉交易比较完毕。
7.根据权利要求2所述的一种面向信誉-行为关联双区块链的数据溯源系统,其特征在于,对所述系统中存储的溯源数据进行查询包括如下步骤:
输入查询关键字,判断在哪条链上查询;
若在信誉链上,获取最新区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个区块中查询符合查询条件的信誉交易;
若不跨链查询,则查询结束,否则,继续获取所查询信誉交易中包含的行为区块号和行为交易号,根据信誉区块中包含的行为区块哈希,通过哈希索引追溯到行为数据链,并遍历找到信誉交易中的行为区块号,在这些行为区块下查询到符合交易号的交易;
若在行为数据链上,获取最新行为区块,根据查询区块的范围,遍历查询范围内的区块,依次在每个行为区块中遍历查询符合查询条件的行为交易。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839624.2A CN113553380B (zh) | 2021-07-23 | 2021-07-23 | 面向信誉-行为关联双区块链的数据溯源系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839624.2A CN113553380B (zh) | 2021-07-23 | 2021-07-23 | 面向信誉-行为关联双区块链的数据溯源系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553380A true CN113553380A (zh) | 2021-10-26 |
CN113553380B CN113553380B (zh) | 2023-07-28 |
Family
ID=78132734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110839624.2A Active CN113553380B (zh) | 2021-07-23 | 2021-07-23 | 面向信誉-行为关联双区块链的数据溯源系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553380B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629654A (zh) * | 2022-03-09 | 2022-06-14 | 东北大学 | 一种面向信任管理机制的双链区块链及其共识方法 |
CN115544047A (zh) * | 2022-11-25 | 2022-12-30 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
KR20230069500A (ko) * | 2021-11-12 | 2023-05-19 | 펜타시큐리티시스템 주식회사 | 엣지 클라우드 환경에서의 데이터 추적 장치 및 방법 |
CN116862509A (zh) * | 2023-07-17 | 2023-10-10 | 武汉大学 | 主从多链架构下的主链树形快速共识系统及方法 |
CN117670330A (zh) * | 2024-02-01 | 2024-03-08 | 中国信息通信研究院 | 基于区块链的交易处理方法和装置、电子设备和存储介质 |
CN117787739A (zh) * | 2023-12-07 | 2024-03-29 | 北方工业大学 | 可验证的跨链信誉计算方法和系统、评价和充电方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779975A (zh) * | 2017-01-11 | 2017-05-31 | 合肥工业大学 | 基于区块链的信誉信息的防篡改方法 |
CN108595535A (zh) * | 2018-03-30 | 2018-09-28 | 李欣宇 | 基于同根双链式区块链的知识问答系统和方法 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN112434343A (zh) * | 2020-11-25 | 2021-03-02 | 江西理工大学 | 一种基于双重区块链技术的虚拟电厂安全调度与交易方法 |
CN112468552A (zh) * | 2020-11-16 | 2021-03-09 | 天津大学 | 双层分布式区块链网络模型的轻量级信誉共识实现方法 |
US11037227B1 (en) * | 2017-11-22 | 2021-06-15 | Storcentric, Inc. | Blockchain-based decentralized storage system |
-
2021
- 2021-07-23 CN CN202110839624.2A patent/CN113553380B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779975A (zh) * | 2017-01-11 | 2017-05-31 | 合肥工业大学 | 基于区块链的信誉信息的防篡改方法 |
US11037227B1 (en) * | 2017-11-22 | 2021-06-15 | Storcentric, Inc. | Blockchain-based decentralized storage system |
CN108595535A (zh) * | 2018-03-30 | 2018-09-28 | 李欣宇 | 基于同根双链式区块链的知识问答系统和方法 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN112468552A (zh) * | 2020-11-16 | 2021-03-09 | 天津大学 | 双层分布式区块链网络模型的轻量级信誉共识实现方法 |
CN112434343A (zh) * | 2020-11-25 | 2021-03-02 | 江西理工大学 | 一种基于双重区块链技术的虚拟电厂安全调度与交易方法 |
Non-Patent Citations (2)
Title |
---|
XUFENG LIANG 等: "Design of A Double-blockchain Structured Carbon Emission Trading Scheme with Reputation", 《2019 34RD YOUTH ACADEMIC ANNUAL CONFERENCE OF CHINESE ASSOCIATION OF AUTOMATION (YAC)》, pages 1 - 2 * |
刘炜 等: "IDDS:一种双链结构传染病数据共享区块链模型", 《计算机应用研究》, vol. 38, no. 3, pages 675 - 679 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230069500A (ko) * | 2021-11-12 | 2023-05-19 | 펜타시큐리티시스템 주식회사 | 엣지 클라우드 환경에서의 데이터 추적 장치 및 방법 |
KR102561341B1 (ko) * | 2021-11-12 | 2023-07-28 | 펜타시큐리티시스템 주식회사 | 엣지 클라우드 환경에서의 데이터 추적 장치 및 방법 |
CN114629654A (zh) * | 2022-03-09 | 2022-06-14 | 东北大学 | 一种面向信任管理机制的双链区块链及其共识方法 |
CN114629654B (zh) * | 2022-03-09 | 2024-05-24 | 东北大学 | 一种面向信任管理机制的双链区块链及其共识方法 |
CN115544047A (zh) * | 2022-11-25 | 2022-12-30 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
CN115544047B (zh) * | 2022-11-25 | 2023-03-10 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
CN116862509A (zh) * | 2023-07-17 | 2023-10-10 | 武汉大学 | 主从多链架构下的主链树形快速共识系统及方法 |
CN116862509B (zh) * | 2023-07-17 | 2024-05-17 | 武汉大学 | 主从多链架构下的主链树形快速共识系统及方法 |
CN117787739A (zh) * | 2023-12-07 | 2024-03-29 | 北方工业大学 | 可验证的跨链信誉计算方法和系统、评价和充电方法 |
CN117670330A (zh) * | 2024-02-01 | 2024-03-08 | 中国信息通信研究院 | 基于区块链的交易处理方法和装置、电子设备和存储介质 |
CN117670330B (zh) * | 2024-02-01 | 2024-05-24 | 中国信息通信研究院 | 基于区块链的交易处理方法和装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113553380B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113553380A (zh) | 面向信誉-行为关联双区块链的数据溯源系统 | |
EP3693886B1 (en) | Optimizations for verification of interactions system and method | |
CN110245956B (zh) | 一种基于异步多链的区块链交易确认方法及系统 | |
Shen et al. | Polynomial‐time algorithms for solving a class of critical node problems on trees and series‐parallel graphs | |
CN107220559B (zh) | 一种针对不可篡改文件的加密存储方法 | |
CN109194646B (zh) | 一种基于区块链的安全认证数据存取方法 | |
CN109508334B (zh) | 针对区块链数据库的数据压缩方法、访问方法和系统 | |
US11468044B2 (en) | Optimizations for verification of interactions system and method using probability density functions | |
Li et al. | Integrity-verifiable conjunctive keyword searchable encryption in cloud storage | |
CN110263584B (zh) | 一种基于区块链的数据完整性审计方法和系统 | |
CN108256354B (zh) | 一种基于试验数据的存储方法及存储介质 | |
Breitinger et al. | File detection on network traffic using approximate matching | |
Las-Casas et al. | A big data architecture for security data and its application to phishing characterization | |
CN112468487A (zh) | 实现模型训练的方法、装置、实现节点检测的方法及装置 | |
Gnatyuk et al. | Studies on Cloud-based Cyber Incidents Detection and Identification in Critical Infrastructure. | |
CN108573172B (zh) | 一种数据校验、存储方法及装置 | |
CN115549931A (zh) | 一种基于拟态防御的拜占庭容错实现方法及系统 | |
Li et al. | Revisiting frequency analysis against encrypted deduplication via statistical distribution | |
Xu et al. | Leakage-abuse attacks against forward and backward private searchable symmetric encryption | |
Damman et al. | Regular expressions for PCTL counterexamples | |
KR102006220B1 (ko) | 시그니처 재구성 장치 및 방법 | |
Du et al. | Secure and verifiable keyword search in multiple clouds | |
KR101003502B1 (ko) | 문자열의 유사성과 포함성을 바탕으로 하는 시그니처스트링 생성방법 | |
Wang et al. | RoVEr: Robust and verifiable erasure code for hadoop distributed file systems | |
CN111444270A (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 |