CN115599794B - 跨区块链的联合溯源方法及系统 - Google Patents
跨区块链的联合溯源方法及系统 Download PDFInfo
- Publication number
- CN115599794B CN115599794B CN202211200950.XA CN202211200950A CN115599794B CN 115599794 B CN115599794 B CN 115599794B CN 202211200950 A CN202211200950 A CN 202211200950A CN 115599794 B CN115599794 B CN 115599794B
- Authority
- CN
- China
- Prior art keywords
- cross
- chain
- tracing
- data
- request
- 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 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 230000003993 interaction Effects 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 33
- 238000013475 authorization Methods 0.000 claims description 24
- 230000006399 behavior Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013524 data verification Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/602—Providing cryptographic facilities or services
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于区块链技术领域,特别涉及一种跨区块链的联合溯源方法及系统,构建跨链数据交互溯源模型,且模型中每个区块链上设置跨链插件、跨链网关及授权访问日志模块;跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,目标区块链对跨链请求消息进行监听,并在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道;溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。本发明利用数据溯源查询模型并引入私有数据管道来提升跨链数据传递的安全性,实现数据非法越权访问的溯源。
Description
技术领域
本发明属于区块链技术领域,特别涉及一种跨区块链的联合溯源方法及系统。
背景技术
随着互联网技术的发展,数据创建的速度正以指数级进行增长。海量的数据在网络中不同应用系统、组织之间共享和融合,这也使得数据的生产方式和流转方式呈现出多样性,复杂性的特点。在数据流转使用过程中,如何保证数据来源可信,以及对数据进行溯源追踪成为人们关注的重点。溯源技术用来追踪产品或者数据生成、流转过程,目前被广泛地应用在电子商务、科学实验、数据追踪等领域。目前溯源最常用的做法是在商品上附带二维码或者条形码。每经过一个环节,通过识别商品上的二维码或条形码,将生产或交易信息上传至数据中心,用来集中保存商品的溯源信息。这种传统的中心化溯源方式具有查询速度快、使用简单的优点,但同时存在着易篡改和伪造的缺点,无法保证数据存储的安全性,很容易对数据的完整性造成破坏。同时,传统的数据溯源过程中,信息采集不透明也将导致溯源信息可信度大打折扣。区块链技术作为一种去中心化的分布式数据账本,为数据溯源管理提供了新的解决思路。区块链以其具有的难以篡改、去中心化、全网数据统一、方便追溯等特性得到了学术界和工业界的广泛认可。区块链利用密码学技术来保证数据的传输和访问安全,其中的每一个区块上记录的交易是上一个区块形成之后、本区块创建之前的所有活动,这种块链式结构保证了数据存储的完整性,同时采用分布式共识算法实现数据在对等网络中的一致性。一旦新区块完成被加入到区块链,该区块中的数据将获得永久记录并且无法更改,这种机制保证了区块链上存储数据的不可篡改的特性。区块中的时间戳机制,保证了区块数据操作时间的有迹可循,从而形成一个无法篡改、不可伪造及便于溯源的可信数据库。
伴随着区块链项目的井喷式发展,供应链、物流及金融等领域建立各自区块链平台。数据的跨系统、跨链的流转共享使得数据溯源变得更加复杂,跨链数据溯源也成为溯源数据完整性必不可少的一个重要环节。不同区块链间跨域数据流转需求逐渐增加,而不同区块链间跨链数据流转又带来了新的安全性问题。如跨链数据传递易泄露、用户非法访问造成数据泄露不易发现等。为此,亟需一种能够跨链交互数据的溯源方案,以保证数据交互过程中的安全性。
发明内容
为此,本发明提供一种跨区块链的联合溯源方法及系统,引入私有数据管道来实现跨链数据传递的安全性。
按照本发明所提供的设计方案,提供一种跨区块链的联合溯源方法,包含如下内容:
构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
依据溯源请求创建私有数据传递管道,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,由中继联盟链网络构建权限验证消息,目标区块链对跨链请求消息进行监听,并检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
作为本发明中跨区块链的联合溯源方法,进一步地,所述跨链网关包含:监听跨链请求并对跨链请求进行信息检查的监听单元、用于对跨链请求进行转发的分发路由单元、用于网关内部与中继联盟链之间跨链信息交互传递的代理单元、用于跨链交易信息同步更新及有效性验证的同步单元、用于通过共识签名对中继联盟链转发的跨链交易进行正确检查的检查单元、及用于将跨链交易提交至相应区块链并返回回执消息的执行单元。
作为本发明中跨区块链的联合溯源方法,进一步地,跨链数据交互溯源模型中,利用区块链和数据库结合的方式进行数据存储,其中,在区块链上以交易的形式存储由前一状态到当前状态的流转信息,同时将每次交易前的数据流转演变过程加密存储在数据库中,并将索引存储在区块链交易中。
作为本发明中跨区块链的联合溯源方法,进一步地,区块链中,将每一个区块作为叶子节点并计算其哈希值,采用当前区块之前的所有区块信息构建Merkel山脉,每个区块中的Merkel山脉存储所在区块链上当前区块之前所有区块的哈希值信息;并将Merkel山脉根哈希值存入区块头,以实现利用Merkel山脉根节点对区块进行合法性的验证。
作为本发明中跨区块链的联合溯源方法,进一步地,针对数据流转演变过程中的加密存储,在数据库中利用数据流转树进行存储数据流转交易及索引的存储,其中,数据流转树中的每个节点代表数据状态,该数据状态中至少包含数据的授权、访问及所在区块信息,树的根节点代表为原始数据状态,其余每个节点表示由父节点经交易流转变化演变而来的数据状态,同一父节点的子节点之间按照数据变更交易时间进行排序。
作为本发明跨区块链的联合溯源方法,进一步地,创建私有数据传递管道中溯源请求用户发起的跨链请求消息格式表示为:<<Request,UID,SBID,TBID,H,DID,timestamp>,σUID>,其中,Request表示请求消息内容,UID表示溯源请求用户的身份信息,SBID为溯源请求用户所在区块链编号,TBID为目标区块链编号,H为溯源数据所在区块高度,DID为溯源数据索引,timestamp为时间戳,σUID表示溯源请求用户签名。
作为本发明跨区块链的联合溯源方法,进一步地,中继联盟链网络构建的权限验证消息格式表示为:<<Verify,UID,SBID,TBID,H,DID,,timestamp>,σ>,其中,Verify表示验证消息内容,σ为联盟链网络成员共识签名。
作为本发明跨区块链的联合溯源方法,进一步地,管道消息格式表示为:<<Result,SUID,SBID,TUID,TBID,channel,pipe,timestamp>,σ>,其中,Result表示管道消息内容,SUID表示请求者身份,SBID表示请求者所在区块链编号,TUID表示数据所有者身份,TBID表示数据所有者所在区块链编号,pipe表示新创建的私有数据管道,channel表示私有管道所在通道。
作为本发明跨区块链的联合溯源方法,进一步地,跨链数据溯源查询中溯源请求消息格式表示为:<<Query,UID,SBID,TUID,TBID,DID,channel,pipe,timestamp>,σUID>,其中,Query表示查询消息内容,σUID为联盟链网络中溯源请求用户签名。
进一步地,本发明还提供一种跨区块链的联合溯源系统,包含:模型构建模块、管道建立模块和溯源查询模块,其中,
模型构建模块,用于构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
管道建立模块,用于依据溯源请求创建私有数据传递管道,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,由中继联盟链网络构建权限验证消息,目标区块链对跨链请求消息进行监听,并检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
溯源查询模块,用于依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
本发明的有益效果:
本发明利用跨区块链的数据溯源查询模型并引入私有数据管道来实现跨链数据传递的安全性,通过授权与访问日志实现对用户行为的记录,保证对数据非法越权访问的可追溯性;为提高数据溯源查询效率,采用链上链下同步存储机制,将每次交易前的数据流转状态经加密存储至数据库中,并将其索引存储在区块链交易中,从而实现链上链下数据的一一对应,同时在区块体中引入Merkel山脉用于存储区块摘要,提高区块合法性检验效率;并进一步根据数据存储形式及跨链数据交互机制,通过数据溯源算法将溯源结果以有序树的形式展示,在数据发生泄露时,能够通过授权日志与访问日志的联合溯源,快速找到数据泄露的问题所在,提升系统数据安全性。
附图说明
图1为实施例中跨区块链的联合溯源流程示意图;
图2为实施例中跨区块链的数据溯源查询模型结构示意;
图3为实施例中跨链网关结构示意;
图4为实施例中数据存储结构示意;
图5为实施例中Merkel山脉结构示意;
图6为实施例中联盟链数据溯源算法原理示意;
图7为实施例中数据溯源有序树结构示意;
图8为实施例中溯源页面展示示意。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
随着大数据时代的到来,数据的产生和流转速度获得空前增长。区块链技术的出现为数据的真实性验证提供了新的解决思路。但伴随着区块链技术的发展,不同区块链间跨域数据流转需求逐渐增加,而不同区块链间跨链数据流转又带来了新的安全性问题。如跨链数据传递易泄露、用户非法访问造成数据泄露不易发现等。为此,本发明实施例,提供一种跨区块链的联合溯源方法,参见图1所示,包含:
S101、构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
S102、依据溯源请求创建私有数据传递管道,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,由中继联盟链网络构建权限验证消息,目标区块链对跨链请求消息进行监听,并检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
S103、依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
参见图2所示的基于联盟链的数据溯源结构模型,各应用链均包含有跨链插件、跨链网关及授权访问日志模块。为适配不同底层架构的区块链,让不同应用链充分适配和跨链网关能够解耦,在跨链模型中引入支持动态加载插件的方式完成应用链的接入,同时将应用链中用于跨链操作的部分请求封装到插件中,插件可根据跨链请求,转发跨链系统能够识别的统一请求方式。跨链中心除包含各各应用链组织代理外,还含有不同链之间的私有数据通道。
利用区块链不可篡改等特性,将不同系统区块链的授权行为和受访信息记录在相应的区块链日志上,任何人和组织都无法伪造授权与访问结果。通过授权行为日志追踪记录,快速溯源得到访问用户是否拥有访问权限,以此对用户的跨链访问行为做出限制,降低数据泄露的风险。访问行为日志用于记录用户跨系统、跨区块链的客体访问记录及访问尝试行为。通过授权行为及访问行为的联合溯源,获取用户访问的合法性,快速锁定用户的越权访问尝试及已发生的越权访问行为。通过区块链授权与访问日志,跟踪查询用户越权等非法访问行为历史记录,以此作为用户好坏评判指标之一。同时在数据发生泄露时,能够通过授权日志与访问日志的联合溯源,快速找到数据泄露的问题所在,提升系统数据安全性。
作为优选实施例,进一步地,所述跨链网关包含:监听跨链请求并对跨链请求进行信息检查的监听单元、用于对跨链请求进行转发的分发路由单元、用于网关内部与中继联盟链之间跨链信息交互传递的代理单元、用于跨链交易信息同步更新及有效性验证的同步单元、用于通过共识签名对中继联盟链转发的跨链交易进行正确检查的检查单元、及用于将跨链交易提交至相应区块链并返回回执消息的执行单元。
跨链网关可包含两种设计模式。一种为适合链对链的直连模式,这种模式一半适用于区块链数量较少的小型跨链系统。另一种设计思想为引入中继链来进行跨链操作,这种模式可适用于较多区块链间进行跨链互操作的场景。考虑到电商购物过程中涉及到多系统、多条区块链间的数据信息互操作需求,本案实施例中,可采用第二种引入中继链的跨链网关模式。根据功能将跨链网关分为监听模块(Monitor Module,MM)、分发路由模块(Routing Distribution Module,RDM)、代理模块(Agent Module,AM)、同步模块(Synchronization Module,SM)、检查模块(Check Module,CM)及执行模块(PerformModule,PM)。其构造如图3所示。监听模块:监听对应的系统应用链插件上提交的跨链请求,对接收到的跨链请求进行信息检查。将通过检查的请求发送到RDM,对未通过检查的跨链请求进行回滚操作。分发路由模块:由于跨链网关可以支持不同的跨链需求,RDM可根据需要进行转换分发对象。在本文网关模式中,RDM将接收到的来自MM的请求信息直接发送到中继链的AM。代理模块:相当于中继链在本网关内部的代理,负责网关内部与中继联盟链之间的跨链信息的交互与传递。同步模块:跨链交易需要共识并且打包到区块中,在同步交易时需要中继链的轻节点不断地同步更新区块的头部信息,以此获得中继链中与本网关相关的跨链交易信息。除此之外,还需要配合轻节点对跨链交易进行SPV验证,以此来确定跨链交易的有效性。检查模块:跨链交易在中继联盟链上已经达成共识并获得签名,因此CM只需要检查RDM转发而来的跨链交易是否来自中继链。CM通过对共识签名进行检验判断当前跨链交易是否正确。执行模块:负责保证跨链交易正确地提交到应用链,并且需要返回相应的跨链交易请求回执信息。跨链交易信息通过检查后被提交到PM。PM向应用链插件提交交易,待PM获得相应的执行结果后,通过回执的形式再返回给RDM。
作为优选实施例,进一步地,跨链数据交互溯源模型中,利用区块链和数据库结合的方式进行数据存储,其中,在区块链上以交易的形式存储由前一状态到当前状态的流转信息,同时将每次交易前的数据流转演变过程加密存储在数据库中,并将索引存储在区块链交易中。
传统的数据信息在进行存储时,大多采用集中式的数据库进行。在这种存储方式中,数据拥有者可以不留痕迹地修改数据信息,数据易遭受篡改和伪造的特点,大大降低了溯源数据的可信性。此外,传统的中心化数据存储模式中,数据存在着误删及泄露的风险,并且在数据发生泄露时不易察觉,通常在发现数据泄露时,已经造成了大量的数据泄露。区块链作为大型分布式账本,其难以篡改、去中心化、全网数据统一等特性与数据溯源要求不谋而合。但将区块链技术用于数据存储仍存在一定的问题。当数据发生多次流转时,对数据流转状态的溯源查询需要对全链遍历,这将增加溯源时间延迟,很难满足企业溯源业务的要求。此外,区块链中提供了Merkel树进行区块内数据的快速验证,但对于区块的验证则需要根据区块哈希摘要逐个追溯验证。针对用户快速溯源需求,本案实施例中,将区块链技术与传统关系数据库结合,在区块链上以交易的形式存储由前一状态到当前状态流转信息,同时将每次交易前的数据流转演变过程加密存储在数据库中,并将其索引存储在区块链交易中。针对区块验证时间延迟问题,在区块体中引入Merkel山脉,用来存储所在区块链上当前区块之前所有区块的区块头哈希值,并将Merkel山脉根哈希值存入区块头,来实现区块合法性的SPV验证,数据存储结构如图4所示。
在已有的区块结构中,可通过Merkel树来实现对区块中已存储交易的合法性快速验证。然而对于区块的合法性验证,则需要从当前最新区块逐步溯源至创世区块才能验证区块链中的每一个区块是否合法,造成了时间极大的浪费。为实现数据的快速验证,可引入Merkel山脉来进行数据的高效验证。Merkel山脉中数据结构和Merkel树中数据结构类似,每一个非叶子节点的值都是左右两个节点哈希值之和。其区别为Merkel树为一颗完美的二叉树,而Merkel山脉是若干棵完美二叉树的组合。在Merkel山脉中追加数据只需在已有数据基础上进行添加,而无需对已有的数据进行修改,从而实现了数据添加的便利性。利用Merkel山脉特点,将区块链中的每一个区块作为叶子节点并计算其哈希值,采用当前区块之前的所有区块信息构建Merkel山脉,可以有效提高区块链验证时间。Merkel山脉结构如图5所示,每个区块中的Merkel山脉需要存储此区块之前的所有区块的哈希值信息。例如,当需要验证第5个区块是否合法时,可采取以下步骤:
Step1:根据第5个区块中的数据信息计算出区块哈希值H(5)。
Step2:获取当前最新区块中区块5的邻居节点H(6),并计算出H(5-6)=hash(H(5)&H(6))。
Step3:计算Merkel山脉根节点MMRR′=hash(H(1-4)&H(5-6)&H(7))。
Step4:比较MMRR′与当前最新区块中的Merkel根MMRR是否相等。若相等则区块合法,否则不合法。
基于联盟链的跨链数据溯源算法可如图6所示,共包含管道创建阶段和跨链查询溯源阶段,具体可设计如下:
基于联盟链的数据溯源各阶段步骤如下:
第一阶段为数据管道创建阶段。
Step1:溯源请求用户通过所在区块链发起跨链请求,其消息格式为<<Request,UID,SBID,TBID,H,DID,timestamp>,σUID>。其中UID表示请求用户的身份信息,SBID为请求用户所在区块链编号,TBID为目标区块链编号,H为溯源数据所在区块高度,DID为溯源数据索引,timestamp为时间戳,σUID表示请求者的签名。
Step2:请求用户所在区块链对应的插件将用户请求消息进行解封装,将消息封装为联盟链系统能够识别的消息格式。
Step3:跨链网关解析请求消息,经检验签名等信息无误后,转发至联盟链网络。
Step4:联盟链收到消息后,将请求消息解封装后,构建权限验证消息,其格式为<<Verify,UID,SBID,TBID,H,DID,,timestamp>,σ>。σ为联盟链网络成员共识签名。
Step5:目标链网关监听到发给该链的消息后,经检查后将验证消息转发给目标链插件。
Step6:应用链插件收到验证消息后,将消息进行解封装成目标链能够识别的格式。
Step7:通过查看目标链中的授权日志,检查请求用户对请求数据是否拥有查询权限,并将结果返回给联盟链网络。
Step8:若拥有权限,则根据请求者和数据所有者所处通道情况,创建私有数据传递管道,并将管道信息发送给对应用户,消息格式为<<Result,SUID,SBID,TUID,TBID,channel,pipe,timestamp>,σ>。若无权限,则返回给请求者,溯源结束。其中SUID表示请求者身份,SBID表示请求者所在区块链编号,TUID表示数据所有者身份,TBID表示数据所有者所在区块链编号,pipe表示新创建的私有数据管道,channel表示私有管道所在通道。
第二阶段为跨链数据查询阶段。
Step9:溯源请求用户通过私有数据管道发起溯源请求,消息格式为<<Query,UID,SBID,TUID,TBID,DID,channel,pipe,timestamp>,σUID>。接下来类似第一阶段,经应用链插件及跨链网关转发请求后到达目标区块链。
Step10:请求用户首先对溯源数据的最新交易进行验证,并获取最新交易。然后根据最新交易对应区块交易中存储的哈希索引查找到数据库中的数据流转信息,最后将当前区块中该数据的最新流转信息加入已有的流转信息中,得到最终的完整流转溯源信息。
Stepl1:将完整的溯源数据流转信息返回通过私有数据管道返回给溯源请求者,溯源结束。
作为优选实施例,进一步地,针对数据流转演变过程中的加密存储,在数据库中利用数据流转树进行存储数据流转交易及索引的存储,其中,数据流转树中的每个节点代表数据状态,该数据状态中至少包含数据的授权、访问及所在区块信息,树的根节点代表为原始数据状态,其余每个节点表示由父节点经交易流转变化演变而来的数据状态,同一父节点的子节点之间按照数据变更交易时间进行排序。
根据数据存储模型,在每次数据流转交易时,与此交易索引对应的数据库中存储此交易前的数据流转有序树。其结构如图7所示。树中每个节点代表一种数据状态,数据状态中包含数据的授权、访问及所在区块等信息。树根节点代表为原始数据状态,其余每个节点都表示为由父节点经某种变化演变而来的数据状态。同一父节点的子节点之间,按照数据变更交易时间从左至右进行排序。图中,节点1.3.2表示由1.3数据状态发生某种数据变更交易后得到的新的数据状态,在此交易对应的数据库中存储有此交易前的数据状态有序树。进行数据溯源时,只需在区块链交易对应数据库中存储的有序树基础上,从根节点开始依次查询添加1.3.2数据状态交易时间至溯源时间之间新增加的授权、访问及数据变更等事务。
采用广度优先的方式在已有的有序树上添加新的交易事务,得到当前时期数据流转的完整溯源结果。数据流转溯源算法内容可如算法1所示。
算法1
进一步地,基于上述的方法,本发明实施例还提供一种跨区块链的联合溯源系统,包含:模型构建模块、管道建立模块和溯源查询模块,其中,
模型构建模块,用于构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
管道建立模块,用于依据溯源请求创建私有数据传递管道,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,由中继联盟链网络构建权限验证消息,目标区块链对跨链请求消息进行监听,并检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
溯源查询模块,用于依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
为验证本案方案有效性,下面结合先验理论做进一步解释说明:
以一次简单的网购平台购物为例,首先用户需要提交申请信息到网购平台,待网购平台审核后为用户创建账号。用户获取账号后,登录网购平台浏览商品,为保证商品的可靠真实性,用户能够访问商品的供应链溯源查看商品信息。待用户选定商品后,将付款信息发送给银行系统或第三方支付平台。待支付成功后,商家将货物及用户地址等相关信息提交给物流系统,同时用户或商家可对物流信息进行查询溯源。由此可以看出,一次简单的网上购物,至少需要银行系统、购物平台、商品供应链系统及物流系统之间进行数据交互。
1、可信性分析。利用区块链对溯源数据信息进行存储,区块链中的Merkel树,用来保证数据信息的可信性。首先锁定交易所在区块后,在区块体中获取交易Merkel树,当需要验证某一交易是否被篡改时,只需根据该交易中存储的交易信息进行计算哈希值,然后和相邻子树或叶子节点的哈希值进行合并得到上一层新的子树哈希值。重复步骤最终得到所有交易的根哈希值即为Merkel树根哈希,存入了区块头中,一旦交易内容发生改变,则所有的上层子树的哈希值必将改变,最终导致根哈希值改变,验证失败。因此,用户可以轻松验证数据信息是否发生了恶意篡改,利用区块链技术可进一步提高电商平台系统中商品溯源数据的可信性和真实性。
2、数据安全性分析。在联盟链通道中引入了私有数据管道,不同通道之间彼此物理隔离,避免了数据信息在整个盟网络中的公开透明,在物理逻辑上实现了数据隔离。其次在通道内部划分私有数据管道,供更小范围内数据的共享,用户也可在私有数据管道内进行数据的加密传输,保证信息可仅在交易用户双方之间实现共享,可灵活地根据用户购物过程中的溯源需求对私有数据管道设定权限,有效地保证数据在传递过程中的隐私与安全。此外,通过为每条区块链设置授权日志,可对用户的访问作出限制,防止非法用户获取密钥查询数据造成隐私泄露。同时通过访问日志记录的数据,对用户的访问行为进行分析,当发生数据泄露时,通过溯源查询,可及时锁定恶意用户,并进行追责。
3、可用性分析。不同应用链的结构通常不相同,为简化不同结构应用链间适配问题,本文机制中引入了应用链插件。将需要在应用链上具体操作的部分全部封装到应用链插件中,满足了不同架构应用链交互需求。在区块体中加入Merkel山脉,使得供应链溯源过程中不必遍历所有的区块进行验证是否遭到篡改,只需要根据Merkel山脉中各完美二叉树的哈希值及山脉根哈希值即可进行验证,有效缩短了区块链数据验证时间。
为方便溯源数据查看,以电商数据溯源为背景,将区块链溯源数据进行可视化展示。其展示效果如图8所示。溯源时主要依据数据编号查询,为验证溯源用户是否拥有访问权限,需用户在溯源时输入身份证明。在溯源过程中,同时展示获得授权查看当前数据的用户,以及已经对当前数据进行访问的用户,以便数据所有者进行授权与访问的联合分析,直接、准确、快速地判断用户的非法访问行为,防止数据泄露,提升系统数据安全性。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种跨区块链的联合溯源方法,其特征在于,包含如下内容:
构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
依据溯源请求创建私有数据传递管道,溯源请求用户通过所在区块链发起跨链请求,溯源请求用户所在区块链对应的跨链插件将跨链请求进行解封装并将跨链请求消息封装为中继联盟链可识别消息格式,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,中继联盟链网络对接收到的跨链请求进行解封装并构建权限验证消息,目标区块链对跨链请求消息进行监听,经检查后将验证消息转发给目标区块链跨链插件,目标区块链跨链插件将验证消息解封装成目标区块链可识别的消息格式并通过查看目标区块链授权访问日志模块检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
2.根据权利要求1所述的跨区块链的联合溯源方法,其特征在于,所述跨链网关包含:监听跨链请求并对跨链请求进行信息检查的监听单元、用于对跨链请求进行转发的分发路由单元、用于网关内部与中继联盟链之间跨链信息交互传递的代理单元、用于跨链交易信息同步更新及有效性验证的同步单元、用于通过共识签名对中继联盟链转发的跨链交易进行正确检查的检查单元、及用于将跨链交易提交至相应区块链并返回回执消息的执行单元。
3.根据权利要求1或2所述的跨区块链的联合溯源方法,其特征在于,跨链数据交互溯源模型中,利用区块链和数据库结合的方式进行数据存储,其中,在区块链上以交易的形式存储由前一状态到当前状态的流转信息,同时将每次交易前的数据流转演变过程加密存储在数据库中,并将索引存储在区块链交易中。
4.根据权利要求3所述的跨区块链的联合溯源方法,其特征在于,区块链中,将每一个区块作为叶子节点并计算其哈希值,采用当前区块之前的所有区块信息构建Merkel山脉,每个区块中的Merkel山脉存储所在区块链上当前区块之前所有区块的哈希值信息;并将Merkel山脉根哈希值存入区块头,以实现利用Merkel山脉根节点对区块进行合法性的验证。
5.根据权利要求3所述的跨区块链的联合溯源方法,其特征在于,针对数据流转演变过程中的加密存储,在数据库中利用数据流转树进行存储数据流转交易及索引的存储,其中,数据流转树中的每个节点代表数据状态,该数据状态中至少包含数据的授权、访问及所在区块信息,树的根节点代表为原始数据状态,其余每个节点表示由父节点经交易流转变化演变而来的数据状态,同一父节点的子节点之间按照数据变更交易时间进行排序。
6.根据权利要求1所述的跨区块链的联合溯源方法,其特征在于,创建私有数据传递管道中溯源请求用户发起的跨链请求消息格式表示为:<<Request,UID,SBID,TBID,H,DID,timestamp>,σUID>,其中,Request表示请求消息内容,UID表示溯源请求用户的身份信息,SBID为溯源请求用户所在区块链编号,TBID为目标区块链编号,H为溯源数据所在区块高度,DID为溯源数据索引,timestamp为时间戳,σUID表示溯源请求用户签名。
7.根据权利要求6所述的跨区块链的联合溯源方法,其特征在于,中继联盟链网络构建的权限验证消息格式表示为:<<Verify,UID,SBID,TBID,H,DID,timestamp>,σ>,其中,Verify表示验证消息内容,σ为联盟链网络成员共识签名。
8.根据权利要求6所述的跨区块链的联合溯源方法,其特征在于,管道消息格式表示为:<<Result,SUID,SBID,TUID,TBID,channel,pipe,timestamp>,σ>,其中,Result表示管道消息内容,SUID表示请求者身份,SBID表示请求者所在区块链编号,TUID表示数据所有者身份,TBID表示数据所有者所在区块链编号,pipe表示新创建的私有数据管道,channel表示私有管道所在通道。
9.根据权利要求8所述的跨区块链的联合溯源方法,其特征在于,跨链数据溯源查询中溯源请求消息格式表示为:<<Query,UID,SBID,TUID,TBID,DID,channel,pipe,timestamp>,σUID>,其中,Query表示查询消息内容,σUID为联盟链网络中溯源请求用户签名。
10.一种跨区块链的联合溯源系统,其特征在于,包含:模型构建模块、管道建立模块和溯源查询模块,其中,
模型构建模块,用于构建跨链数据交互溯源模型,且模型中每个区块链上设置有:用于跨链请求封装/转发的跨链插件,用于区块链数据交互的跨链网关,及用于记录区块链授权行为和受访信息的授权访问日志模块;
管道建立模块,用于依据溯源请求创建私有数据传递管道,溯源请求用户通过所在区块链发起跨链请求,溯源请求用户所在区块链对应的跨链插件将跨链请求进行解封装并将跨链请求消息封装为中继联盟链可识别消息格式,跨链网关将溯源请求用户的跨链请求转发至中继联盟链网络,中继联盟链网络对接收到的跨链请求进行解封装并构建权限验证消息,目标区块链对跨链请求消息进行监听,经检查后将验证消息转发给目标区块链跨链插件,目标区块链跨链插件将验证消息解封装成目标区块链可识别的消息格式并通过查看目标区块链授权访问日志模块检查溯源请求用户对请求数据是否拥有查询权限,在拥有查询权限的溯源请求用户和目标区块链数据拥有者之间创建私有数据传递管道,并将管道消息发送给对应用户;
溯源查询模块,用于依据溯源请求进行跨链数据溯源查询,溯源请求用户通过私有数据传递通道发起溯源请求,经跨链网关转发至目标区块链;目标区块链对溯源数据的最新交易进行验证并获取完整流转溯源信息,将完整流转溯源信息通过私有数据传递管道反馈给溯源请求用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211200950.XA CN115599794B (zh) | 2022-09-29 | 2022-09-29 | 跨区块链的联合溯源方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211200950.XA CN115599794B (zh) | 2022-09-29 | 2022-09-29 | 跨区块链的联合溯源方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599794A CN115599794A (zh) | 2023-01-13 |
CN115599794B true CN115599794B (zh) | 2024-06-25 |
Family
ID=84844945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211200950.XA Active CN115599794B (zh) | 2022-09-29 | 2022-09-29 | 跨区块链的联合溯源方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599794B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116582243B (zh) * | 2023-04-20 | 2024-06-07 | 中国人民解放军战略支援部队信息工程大学 | 基于森林拓扑结构的区块链系统分层跨链共识方法 |
CN116628083B (zh) * | 2023-04-27 | 2024-05-24 | 中国人民解放军战略支援部队信息工程大学 | 区块链交易数据扩容存储方法及系统 |
CN116933327A (zh) * | 2023-07-05 | 2023-10-24 | 浙江工业大学 | 一种跨链场景下的数据溯源方法 |
CN118037314B (zh) * | 2024-03-05 | 2024-08-16 | 北京航空航天大学 | 一种面向供应链数据可信共享的多链协作溯源系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838064A (zh) * | 2019-10-12 | 2020-02-25 | 华中科技大学 | 一种基于Fabric区块链平台实现资产溯源的方法及系统 |
CN113657909A (zh) * | 2021-08-05 | 2021-11-16 | 宁波大学 | 一种基于区块链的青蟹品质溯源系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112446785B (zh) * | 2020-11-06 | 2023-09-22 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN113965329A (zh) * | 2021-10-25 | 2022-01-21 | 浙江师范大学 | 一种跨链互操作系统、方法、介质及数据处理终端 |
CN114254374B (zh) * | 2022-03-01 | 2022-07-01 | 北京市农林科学院信息技术研究中心 | 数据溯源方法及系统 |
CN114615095B (zh) * | 2022-05-12 | 2022-09-09 | 北京邮电大学 | 区块链跨链数据处理方法、中继链、应用链及跨链网络 |
-
2022
- 2022-09-29 CN CN202211200950.XA patent/CN115599794B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838064A (zh) * | 2019-10-12 | 2020-02-25 | 华中科技大学 | 一种基于Fabric区块链平台实现资产溯源的方法及系统 |
CN113657909A (zh) * | 2021-08-05 | 2021-11-16 | 宁波大学 | 一种基于区块链的青蟹品质溯源系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115599794A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115599794B (zh) | 跨区块链的联合溯源方法及系统 | |
KR102364877B1 (ko) | Dlt를 사용한 관계형 데이터 관리 및 구성 | |
US11899817B2 (en) | Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information | |
US11431486B2 (en) | System or method to implement consensus on read on distributed ledger/blockchain | |
US11184394B1 (en) | Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system | |
CN110620810B (zh) | 在区块链上的连续资产转移的非链接所有权 | |
US20210272103A1 (en) | Smart Contracts in Blockchain Environments | |
Aniello et al. | Anti-BlUFf: towards counterfeit mitigation in IC supply chains using blockchain and PUF | |
JP2022553674A (ja) | 存在するチェーン・コードに基づくチェーン・コード推奨 | |
CN112395353A (zh) | 一种基于联盟链的智能电能表质量数据共享方法及系统 | |
Zhang et al. | A Secure and Privacy‐Preserving Medical Data Sharing via Consortium Blockchain | |
US20230239166A1 (en) | Method and server for performing building information modelling design collaboration via confidentiality-minded framework using interplanetary-file-system-blockchain integrated network | |
Hassan et al. | Future of the internet of things emerging with blockchain and smart contracts | |
US12086272B2 (en) | Systems and methods for conducting blockchain actions based on network mappings of self-executing program characteristics | |
Babu et al. | Agro-food supply chain traceability using blockchain and IPFS | |
Benarous et al. | Blockchain‐based forgery resilient vehicle registration system | |
CN115708119A (zh) | 跨链交易系统、方法、设备及存储介质 | |
CN109828832B (zh) | 基于区块链的数据流通方法、装置、设备和介质 | |
Uesugi et al. | Design and evaluation of a privacy-preserving supply chain system based on public permissionless blockchain | |
WO2023004807A1 (zh) | 知识管理系统、方法、装置、电子设备和存储介质 | |
Kalarani et al. | Blockchain-Based E-Pharmacy to Combat Counterfeit Drug Transactions | |
US11887146B2 (en) | Product exploration-based promotion | |
Roth et al. | Message exchange on base of a blockchain-based layered architecture | |
De Salve et al. | Self-Sovereign Identity for Privacy-Preserving Shipping Verification System | |
US20230298048A1 (en) | Method for sharing data relating to the manufacturing of a product |
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 |