CN112487061B - 一种基于区块链的大数据溯源方法、系统及计算机设备 - Google Patents

一种基于区块链的大数据溯源方法、系统及计算机设备 Download PDF

Info

Publication number
CN112487061B
CN112487061B CN202011393336.0A CN202011393336A CN112487061B CN 112487061 B CN112487061 B CN 112487061B CN 202011393336 A CN202011393336 A CN 202011393336A CN 112487061 B CN112487061 B CN 112487061B
Authority
CN
China
Prior art keywords
data
block chain
event
tracing
source
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
CN202011393336.0A
Other languages
English (en)
Other versions
CN112487061A (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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202011393336.0A priority Critical patent/CN112487061B/zh
Publication of CN112487061A publication Critical patent/CN112487061A/zh
Application granted granted Critical
Publication of CN112487061B publication Critical patent/CN112487061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区块链的大数据溯源方法,该方法包括:基于区块链及其智能合约实现数据上传、分发与溯源等综合管理,其中底层的密码学算法采用国产密码算法,并使用基于国产密码算法的solidity语言编译器开发智能合约;在分布式存储基础上结合签名验证机制实现大数据存储及数据确权功能;基于Merkle山脉数据结构与选择性跳跃表快速实现数据溯源检索;建立面向多端应用的上层接口,如数据分发、数据溯源查询等功能,从而实现对数据的溯源追踪应用开发。本发明技术方案能够有效解决数据的溯源问题,提高数据溯源检索的效率,同时采用国密标准,具有较高安全性。

Description

一种基于区块链的大数据溯源方法、系统及计算机设备
技术领域
本发明属于区块链应用技术领域,特别涉及一种基于区块链的大数据溯源方法、系统及计算机设备。
背景技术
随着云时代的来临,大数据也吸引了越来越多的关注。IBM公司对于大数据提出了著名的5V理论:Volume(大量)、Velocity(高速)、Variety(多样性)、Value(价值)以及Veracity(真实性),即海量、动态流转、多源异构、价值密度低而且能够反映事物真实性的数据。这些数据在下载到单台计算机的关系型数据库来分析处理时会花费过多时间和成本,必须采用分布式架构,依托云计算的分布式处理、分布式文件系统与分布式数据库,以及可扩展的存储系统和互联网。
大数据的意义不在于掌握大量的数据,而在于对这些数据进行专业化“加工”实现数据的“增值”。大数据自身的数据质量是有效“加工”的前提,其中可溯源性就是数据质量评价的关键要素之一。在大数据环境下,由于数据本身多源、异构、海量、动态的特征,数据的查询、统计、更新、溯源效率很低。所以,针对大数据平台需求,需要构建一个满足大数据共享分发与溯源追踪功能的基础设施。数据的可溯源性也已成为数据管理领域重点研究的新课题,这一课题的研究将有助于数据质量评价、数据审计、数据确权等领域的进步。
传统的数据溯源定义为记录数据在从产生、传播到消亡的生命周期内,演变的内容与处理过程。根据追踪路径重现数据的历史状态和演变过程,实现数据历史信息的追溯。与传统的数据溯源不同的是,在大数据环境下,数据来源广泛、动态性强且多使用分布式管理。数据在分布式数据源之间的分发共享必然会破坏数据管理原有的安全边界,增加数据在共享过程中所面临的安全风险,对数据溯源的要求也更高。同时,随着大数据快速的动态增长,还需要及时地对动态生成的新数据进行溯源信息管理。传统的集中式数据溯源模型动态扩展能力弱,灵活性低且存在数据溯源的滞后性,更适用于相对静态的数据管理。另外,在一个分布式环境下,越来越多的节点参与大数据的管理,不可信节点潜在的攻击行为给大数据溯源带来了新的挑战。而区块链可以视作一个在分布式环境下众多不可信节点共同维护且不可篡改的账本,区块链通过基于拜占庭容错的共识协议,建立在交易各方不信任机制上的分布式数据库,可允许各方就共享数据达成共识。
在对数据溯源问题的研究和实践过程中,我们发现:区块链系统实现了分布式防篡改帐本,用于记录修改了某些全局状态的交易。其本质作为一个状态机,存储了状态的整个演化历史,只能通过重播所有交易来查询现有区块链中的数据历史记录。在效率上,传统的方法更适用于大规模的离线分析。例如,中国电信的一份专利中(肖扬,胡杰.区块链溯源追踪方法、装置和系统:中国,201611112091.3[P].2016-12-07.)根据区块高度将区块内容分配给多个服务器遍历,重播所有交易。与此同时,在目前基于数据溯源的实现方案中,多采用以太坊和hyperledger fabric(超级账本)作为区块链底层架构,并没有很好地支持国产密码学算法,未集成国密加解密、签名、验签、哈希算法、国密SSL通信协议等模块。另外,对于分布式异构数据的数据追踪,传统的数据溯源研究中针对此问题通常建立了复杂的模型,且仍然存在较大的不兼容和误解范围。
以上不足使得数据溯源目前并不能得到很好实现。本发明提出了一种基于区块链的大数据溯源方法,可以安全高效地实现在线的数据溯源等功能。
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于区块链的大数据溯源方法。该方法利用区块链技术对网络中的数据进行溯源,生成数据分发路径,在线检索数据源头,有效提高基于区块链结构对数据溯源检索的效率。
为了实现上述目的,本发明采用的技术方案如下:
一种基于区块链的大数据溯源方法,其包括如下步骤:
步骤一:对上传数据进行国密化的哈希处理及私钥签名处理后,终端应用调用区块链智能合约,将数据上传事件发布至区块链上,通过区块链网络中其他区块链节点的共识后,将上传数据存储为IPFS文件;
步骤二:终端应用对上传数据进行数据分发,并调用区块链智能合约,将数据分发事件发布至区块链上;
步骤三:系统后台获取当前区块链最新高度的区块中版本状态树上的包含数据信息的叶子节点,根据所述叶子节点中的Merkle山脉数据结构及选择性生成的跳跃表,快速查找所述跳跃表中是否存在分发者曾上传源头数据的事件或分发者曾被其他用户分发此数据的事件,若存在,则将所述数据分发事件插入Merkle山脉数据结构中并更新跳跃表,区块链节点将所述数据分发事件在区块链网络中进行广播;
步骤四:数据溯源时,系统后台获取当前区块链最新高度的区块中版本状态树上的包含数据信息的叶子节点,根据所述叶子节点中的Merkle山脉数据结构及选择性生成的跳跃表,找到数据当前版本在Merkle山脉数据结构中所在的Merkle树叶子节点,查询数据的来源,并在跳跃表中由所述来源递归查询直至源头。
优选地,步骤一中还包括:所述IPFS文件根据数据内容生成标准的CID,终端应用通过所述CID来查询数据内容。
优选地,所述区块链采用FISCO BCOS架构,该架构通过新增版本状态树来记录数据的历史版本与数据的分发路径。
优选地,所述版本状态树采用MPT数据结构,采用数据的哈希值作为MPT压缩前缀的依据。
优选地,步骤三中还包括:将Merkle山脉数据结构应用于数据版本更新事件与数据分发事件的记录,所述数据版本更新事件与数据分发事件的记录发布至区块链上并通过区块链网络中其他区块链节点的共识后,Merkle山脉数据结构插入新的Merkle树叶子节点,并动态计算Merkle山脉数据结构的Root值。
优选地,所述Merkle树叶子节点的数据结构内容至少包括:用户签名后的数据摘要、数据的唯一标识值、当前版本号与数据来源,其中所述数据来源为数据上传者或数据分发者。
优选地,所述私钥签名处理采用国密标准的椭圆曲线加密算法SM2。
优选地,所述区块链智能合约至少包括如下功能:数据上传、数据分发、数据分发路径查询、数据分发事件详情查询。
一种基于区块链的大数据溯源系统,其包括:
数据上传模块:用于对上传数据进行处理和存储,向区块链智能合约请求发布数据上传事件;
数据分发模块:用于向区块链智能合约请求发布数据分发事件;
区块链智能合约模块:用于至少实现如下功能:完成数据上传事件与数据分发事件的发布、与区块链底层交互查询数据原始信息与数据传播路径;
区块链底层模块:用于运行FISCO BCOS链;
数据分布式存储模块:用于运行IPFS链;
功能应用模块:与区块链智能合约交互,用于至少实现数据溯源的功能。
一种计算机设备,包括存储器,处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的大数据溯源方法的步骤。
与现有技术相比,本发明的有益效果是底层采用国产密码算法,更具有安全性;同时发明中所设计的溯源算法支持对数据的快速溯源,提高了查询效率;数据的存储采用了IPFS架构,实现了数据的分布式存储。
附图说明
图1是本发明基于区块链的大数据溯源系统架构图。
图2是溯源检索算法中的Merkle山脉与选择性跳跃表结构图。
图3是基于FISCO BCOS的区块溯源设计图。
图4是溯源实例流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的实现进行详细的描述。
参见图1-4,基于区块链的大数据溯源方法至少包括以下步骤:
第一步,用户A通过终端上传数据α,首先对数据α进行哈希处理得到β=hash(α),用户A使用私钥对β签名得到γ=sign(β),终端应用调用智能合约,将数据上传事件发布至区块链上,存储到区块的内容包括处理后的数据γ及数据的唯一标识哈希,在该区块通过共识后,终端应用再将上传数据存储为IPFS文件。
第二步,用户A可以选择将数据分发给用户B,此时,先由系统检查用户A是否具有分发资格。首先获取版本状态树中数据α的节点,该节点包含了数据α的各个历史版本及数据分发事件所构造出的Merkle山脉及在数据分发事件中选择性生成的跳跃表。根据跳跃表可快速查找是否存在用户A发布源头数据α事件或数据α曾分发给用户A的事件。若存在,则用户A符合分发条件,Merkle山脉将把这一次的数据分发事件A→B作为新的叶子节点插入树结构中。同时,系统将此分发事件进行广播,在其他节点打包到包含此事件的交易时,也会检查用户A是否具有分发资格,若通过共识,则分发事件成功记录在区块链中。
第三步,同样,用户B也可以选择将数据分发给用户C,此时,先由系统检查用户B是否具有分发资格,若用户B符合,则将此数据分发事件进行广播,在其他节点打包到包含此事件的交易时,也会检查用户B是否具有分发资格,若通过共识,则分发事件成功记录在区块链中。
第四步,用户C将更改过的新版本的数据α′上传时,首先需要声明原始数据α的来源,并由系统检查是否存在用户B分发给用户C的记录,若存在,则对数据进行哈希处理,用户私钥签名处理得到γ′,调用智能合约,将处理后的数据γ′及当前版本号,数据的唯一标识哈希值,数据来源发布至区块链,通过共识后,在新的区块上,数据α的Merkle山脉会动态插入叶子节点γ′的信息,同时更新跳跃表。最后,将数据α′存储为IPFS文件。
第五步,当需要对数据α′进行溯源时,首先获取区块所包含的版本状态树中该数据的Merkle山脉结构,找到该数据当前版本的叶子节点,查询其数据结构中的来源者信息,并在选择性跳跃表中由来源者递归查询直至源头。
当需要对数据α进行确权时,由于数据α经过哈希处理和签名处理得到的数据γ存储在区块所包含的版本状态树中数据α的Merkle山脉结构内,所以只需在区块中取得该内容,并用用户A的公钥验证,计算得到数据λ。同时将待确权的IPFS文件作哈希处理后得到数据β。对比数据λ与数据β,若一致,则说明该用户A为数据α的上传者。
关于基于区块链的大数据溯源系统的具体限定可以参见上文中对于基于区块链的大数据溯源方法的限定,在此不再赘述。上述基于区块链的大数据溯源系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

Claims (10)

1.一种基于区块链的大数据溯源方法,其特征在于:所述方法包括如下步骤:
步骤一:对上传数据进行国密化的哈希处理及私钥签名处理后,终端应用调用区块链智能合约,将数据上传事件发布至区块链上,通过区块链网络中其他区块链节点的共识后,将上传数据存储为IPFS文件;
步骤二:终端应用对上传数据进行数据分发,并调用区块链智能合约,将数据分发事件发布至区块链上;
步骤三:系统后台获取当前区块链最新高度的区块中版本状态树上的包含数据信息的叶子节点,根据所述叶子节点中的Merkle山脉数据结构及选择性生成的跳跃表,快速查找所述跳跃表中是否存在分发者曾上传源头数据的事件或分发者曾被其他用户分发此数据的事件,若存在,则将所述数据分发事件插入Merkle山脉数据结构中并更新跳跃表,区块链节点将所述数据分发事件在区块链网络中进行广播;
步骤四:数据溯源时,系统后台获取当前区块链最新高度的区块中版本状态树上的包含数据信息的叶子节点,根据所述叶子节点中的Merkle山脉数据结构及选择性生成的跳跃表,找到数据当前版本在Merkle山脉数据结构中所在的Merkle树叶子节点,查询数据的来源,并在跳跃表中由所述来源递归查询直至源头。
2.根据权利要求1所述的大数据溯源方法,其特征在于:步骤一中还包括:所述IPFS文件根据数据内容生成标准的CID,终端应用通过所述CID来查询数据内容。
3.根据权利要求1所述的大数据溯源方法,其特征在于:所述区块链采用FISCO BCOS架构,该架构通过新增版本状态树来记录数据的历史版本与数据的分发路径。
4.根据权利要求3所述的大数据溯源方法,其特征在于:所述版本状态树采用MPT数据结构,采用数据的哈希值作为MPT压缩前缀的依据。
5.根据权利要求1所述的大数据溯源方法,其特征在于:步骤三中还包括:将Merkle山脉数据结构应用于数据版本更新事件与数据分发事件的记录,所述数据版本更新事件与数据分发事件的记录发布至区块链上并通过区块链网络中其他区块链节点的共识后,Merkle山脉数据结构插入新的Merkle树叶子节点,并动态计算Merkle山脉数据结构的Root值。
6.根据权利要求1所述的大数据溯源方法,其特征在于:所述Merkle树叶子节点的数据结构内容至少包括:用户签名后的数据摘要、数据的唯一标识值、当前版本号与数据来源,其中所述数据来源为数据上传者或数据分发者。
7.根据权利要求1所述的大数据溯源方法,其特征在于:所述私钥签名处理采用国密标准的椭圆曲线加密算法SM2。
8.根据权利要求1所述的大数据溯源方法,其特征在于:所述区块链智能合约至少包括如下功能:数据上传、数据分发、数据分发路径查询、数据分发事件详情查询。
9.一种基于区块链的大数据溯源系统,其特征在于:所述系统用于实现权利要求1-8中任一项所述的大数据溯源方法,所述系统包括:
数据上传模块:用于对上传数据进行处理和存储,向区块链智能合约请求发布数据上传事件;
数据分发模块:用于向区块链智能合约请求发布数据分发事件;
区块链智能合约模块:用于至少实现如下功能:完成数据上传事件与数据分发事件的发布、与区块链底层交互查询数据原始信息与数据传播路径;
区块链底层模块:用于运行FISCO BCOS链;
数据分布式存储模块:用于运行IPFS链;
功能应用模块:与区块链智能合约交互,用于至少实现数据溯源的功能。
10.一种计算机设备,包括存储器,处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1-8中任一项所述的大数据溯源方法的步骤。
CN202011393336.0A 2020-12-03 2020-12-03 一种基于区块链的大数据溯源方法、系统及计算机设备 Active CN112487061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011393336.0A CN112487061B (zh) 2020-12-03 2020-12-03 一种基于区块链的大数据溯源方法、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011393336.0A CN112487061B (zh) 2020-12-03 2020-12-03 一种基于区块链的大数据溯源方法、系统及计算机设备

Publications (2)

Publication Number Publication Date
CN112487061A CN112487061A (zh) 2021-03-12
CN112487061B true CN112487061B (zh) 2022-07-22

Family

ID=74938965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011393336.0A Active CN112487061B (zh) 2020-12-03 2020-12-03 一种基于区块链的大数据溯源方法、系统及计算机设备

Country Status (1)

Country Link
CN (1) CN112487061B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468571B (zh) * 2021-07-15 2023-05-12 湖北央中巨石信息技术有限公司 基于区块链的溯源方法
CN113704271A (zh) * 2021-09-03 2021-11-26 杭州复杂美科技有限公司 默克尔树生成方法、非法节点识别方法、设备和存储介质
CN114095518B (zh) * 2021-11-05 2024-01-12 暨南大学 一种基于多级委员会共识的科技数据确权与追踪保护的方法
CN117150564B (zh) * 2023-10-27 2023-12-29 南京邮电大学 一种基于区块链的医药物流数据溯源方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059054A (zh) * 2019-03-25 2019-07-26 天津大学 一种基于区块链和ipfs的车辆信息存储及检索方法
CN111277570A (zh) * 2020-01-10 2020-06-12 中电长城网际系统应用有限公司 数据的安全监测方法和装置、电子设备、可读介质
EP3665858A1 (en) * 2017-08-09 2020-06-17 Visa International Service Association Verification of interactions system and method
CN111460395A (zh) * 2020-04-03 2020-07-28 北京邮电大学 共享数据存储与版权保护追溯方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3665858A1 (en) * 2017-08-09 2020-06-17 Visa International Service Association Verification of interactions system and method
CN110059054A (zh) * 2019-03-25 2019-07-26 天津大学 一种基于区块链和ipfs的车辆信息存储及检索方法
CN111277570A (zh) * 2020-01-10 2020-06-12 中电长城网际系统应用有限公司 数据的安全监测方法和装置、电子设备、可读介质
CN111460395A (zh) * 2020-04-03 2020-07-28 北京邮电大学 共享数据存储与版权保护追溯方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FlyClient: Super-Light Clients for Cryptocurrencies;Benedikt Bunz等;《2020 IEEE Symposium on Security and Privacy》;20200501;第1-31页 *
一种面向公有链的轻量级可扩展技术;陈幻等;《计算机研究与发展》;20200731;第57卷(第7期);第1555-1567页 *

Also Published As

Publication number Publication date
CN112487061A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN112487061B (zh) 一种基于区块链的大数据溯源方法、系统及计算机设备
CN107465656B (zh) 一种基于云计算的安防监控大数据处理方法及系统
CN108923932B (zh) 一种去中心化协同验证系统及验证方法
KR102566892B1 (ko) 블록체인 합의 방법, 디바이스 및 시스템
CN103098070B (zh) 用于监视网络服务中数据位置的方法、装置和系统
CN111241195B (zh) 分布式系统的数据库处理方法、装置、设备及存储介质
CN109241181A (zh) 数据库操作方法和装置
CN102710419B (zh) 一种用户认证的方法及装置
CN112835612A (zh) 一种基于区块链的电子文档版本管理方法及装置
CN112835977B (zh) 一种基于区块链的数据库管理方法及系统
CN111651525A (zh) 区块链数据存储方法和装置
CN106960011A (zh) 分布式文件系统元数据管理系统及方法
CN104899278A (zh) 一种Hbase数据库数据操作日志的生成方法及装置
CN113052721A (zh) 电力数据的处理方法及装置
TW202321938A (zh) 一種資料共用方法、裝置、設備及存儲介質
Fan et al. Dlbn: Group storage mechanism based on double-layer blockchain network
Wang et al. A high-performance hybrid blockchain system for traceable IoT applications
WO2022087834A1 (en) Blockchain system having efficient world state data structures
WO2022087837A1 (en) Blockchain system having efficient world state data structures
CN110992182B (zh) 区块链钱包的交易方法及系统
CN109285015A (zh) 一种虚拟资源的分配方法及系统
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
Song et al. Smart contract-based trusted content retrieval mechanism for NDN
Zhang et al. Encrypted and compressed key-value store with pattern-analysis security in cloud systems
KR20200048708A (ko) 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상에서의 보안 통신 제공 방법

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