CN113360951A - 一种基于分区式区块链的电子证据保全方法 - Google Patents
一种基于分区式区块链的电子证据保全方法 Download PDFInfo
- Publication number
- CN113360951A CN113360951A CN202110514956.3A CN202110514956A CN113360951A CN 113360951 A CN113360951 A CN 113360951A CN 202110514956 A CN202110514956 A CN 202110514956A CN 113360951 A CN113360951 A CN 113360951A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- block
- chain
- administrator
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004321 preservation Methods 0.000 title claims abstract description 23
- 238000012986 modification Methods 0.000 claims abstract description 54
- 230000004048 modification Effects 0.000 claims abstract description 54
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 238000005192 partition Methods 0.000 claims description 59
- 238000013475 authorization Methods 0.000 claims description 55
- 239000003607 modifier Substances 0.000 claims description 43
- 238000012423 maintenance Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000003999 initiator Substances 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000009792 diffusion process Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000000644 propagated effect Effects 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000004069 differentiation Effects 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
Images
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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
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)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分区式区块链的电子证据保全方法,包括基于UTXO模型的分区式区块链的电子证据保全方法;并结合有向无环图的数据结构对电子证据保全信息进行分布式、公开透明的存储;采用UTXO模型对保全数据更新的权限进行维护,保证了数据更新的安全性和可靠性,实现了轻量级的数据修改权限管理机制,除此,采用PoW与PoS结合的共识算法,利用保全数据的重要性降低PoW算法所消耗的计算量,使重要的电子证据更易于上链,实现对不同重要级别的保全数据进行差异化处理。
Description
技术领域
本发明属于电子数据保全的技术领域,具体涉及一种基于分区式区块链的电子证据保全方法。
背景技术
电子证据是数据的一种,它超越了以往所有形式的证据,不仅包括文本、图像和声音,还包含了多媒体。一般来说,电子证据具有隐匿性、脆弱性等特点,相比于传统数据,电子证据更加容易丢失、篡改、销毁等,因此深入研究电子证据的保全对司法以至于其他领域的数据保全具有重要意义。
区块链是一种分布式存储的数据结构,每个区块中存储了由众多区块链节点认可的交易事务,每个区块链节点都可以获取整个区块链的数据,与全局保持一致。区块的身份是由SHA256哈希加密算法计算的哈希值来独特标识的,由于区块头部中包含了上一个区块的哈希值,所以区块与区块之间是互相链接的。区块链可以视为一个垂直的堆栈结构,每个新生成的区块都放在区块链的顶部,区块链的第一个区块是整个堆栈的基础。区块链通过这种叠加的层次结构增加了数据的防篡改性和防抵赖性,同时,基于时间戳的链式结构提供了可溯源的特性。
工作量证明(Proof of work,PoW)是通过暴力计算寻找一个符合特定要求的nonce值,该nonce值与交易数据相互拼接后得出的Hash散列值需要满足特定的格式。权益证明(Proof of stake,PoS)是类似于现实生活中的股权制度,拥有股权越多的人越容易获得记账权。在权益证明中,合法记账者可以获得记账收益,为了提高获取记账权的概率,用户就需要提交越多的押金。PoS大大减少了相对于PoW而言的资源浪费量。它使恶意参与者存在将押金罚没的风险。
智能合约在1990年代由密码学家Nick Szabo首次提出,他将智能合约定义为“一系列由数字形式规定的承诺,包括协议双方履行其他承诺的协议。”,在区块链平台“以太坊”发明后,智能合约有了新的定义。其本质是不可更改的计算机程序,这类程序运行在“以太坊”虚拟机上。智能合约由交易事务启动。对于任何运行相同智能合约的计算机,在给定了初始该程序的交易和当前区块链状态后都能得到相同的输出。智能合约一旦部署到区块链上后将无法修改其代码内容,并且实现该智能合约的代码对任何人都是公开透明的。如果需要对合约内容做出修改,只能删除该合约实现的功能使其成为一个空账户再重新定义一个新的智能合约。
目前在电子证据保全中的区块链应用主要有以下几个方面:
(1)基于区块链保护个人数据。G.Zyskind,O.Nathan and A.'.Pentland, "Decentralizing Privacy:Using Blockchain to Protect Personal Data,"2015IEEESecurity and Privacy Workshops,San Jose,CA,USA,2015,pp.180-184,doi: 10.1109/SPW.2015.27.这篇文章描述了一个分布式个人数据管理系统,以确保用户拥有和控制他们的数据。
(2)基于区块链技术的电子证据系统架构。侯义斌,梁勋,占小瑜.基于区块链的电子证据系统架构模型[J].计算机科学,2018,45(z1):348-351.文中介绍了一种基于区块链技术的电子证据系统架构.区块链数据不可篡改的特性,保障了电子证据的真实性,从而推动了电子证据技术的快速发展与应用.架构中还描述了一种电子证据的批量打包方式,其可以降低区块链的存证成本,提高存证效率。
(3)基于区块链的存证保全公证方法及系统。中国地质大学(武汉).一种基于区块链的存证保全公证方法及系统:CN201810300386.6[P].2018-09-27.作者描述了一种基于区块链的存证保全方法及系统,作者将存证放置于区块链中,所有重要存在数据永久保存在链上,不可被修改,同时数据分散在多个分布式节点,不可能会遭受灾难性损失,或是遭受黑客攻击;存证上传过程速度快,收费低,存证交易可以独立完成并且具有激励功能。
(4)基于区块链和秘密共享的电子证据保全方法。中原工学院.一种基于区块链和秘密共享的电子证据保全方法:CN202010654762.9[P].2020-12-04.文章主要包括:取证代理向服务器提交电子证据数据,服务器存储电子证据并生成其完整性检验数据;用户访问电子证据,同时根据服务器所提供的哈希值检测电子证据,以验证电子证据完整性;服务器进行动态调整,包括新服务器的加入、服务器退出时修复电子证据副本以及修复电子证据片段哈希值的秘密份额。作者通过在区块链中引入秘密共享和数字签名,使得合法参与者可以以较少代价出块,并且攻击者还需要同时控制多个合法参与者才能篡改区块数据,这使得区块链可以在不过多牺牲计算能力的前提下,防御攻击者的篡改、尤其是对区块链的末端区块的篡改,使区块链能够适合电子证据保全的应用背景。
发明内容
本发明的目的在于针对现有技术中的上述不足,提供一种基于分区式区块链的电子证据保全方法,以解决传统全网单一链型区块链由于数据更新率低,存储开销过高导致其难以实现高效且安全的分布式数据保全的的问题。
为达到上述目的,本发明采取的技术方案是:
一种基于分区式区块链的电子证据保全方法,其包括:
步骤S1、启动区块链网络,根据地理区域对网络进行分区处理;
步骤S2、启动分区内的数据维护事件,数据管理员通过向认证中心请求身份认证获得数据维护事件发布授权码;
步骤S3、身份认证合法的数据管理员根据授权码创建管理员注册交易,触发智能合约产生数据链注册交易,并获得用于维护数据的证据币;
步骤S4、数据管理员获得证据币后生成数据授权交易,通过向数据修改者转移证据币,实现对数据修改者的授权;
步骤S5、当授权后的数据修改者对原始数据进行修改或添加新数据时,则数据修改者创建数据修改交易;
步骤S6、将步骤S3、步骤S4、步骤S5中生成的交易传播到对应的分区区块链网络中,矿工节点对交易进行打包,并通过PoW与PoS相结合的共识算法获得合法的区块并在网络中广播所述区块;
步骤S7、分区中的节点对收到的区块进行验证,在分区内对新产生的区块达成共识,节点对达成共识的区块头部进行转发扩散。
进一步地,步骤S1中启动区块链网络,根据地理区域对网络进行分区处理,包括:
不同分区的不同认证中心为政府职能机构所担任的权威实体,认证中心对网络的分区方案达成共识并生成创世区块,创世区块包含对各分区的配置信息;
各认证中心通过在创世区块后添加启动区块,启动各自的分区区块链,启动区块包括关于对应类型数据操作的智能合约。
进一步地,智能合约为数据管理者进行身份注册,数据管理员将授权码和从矿工处所收购的证据币作为输入向智能合约发起交易,交易触发智能合约身份验证函数,当合法的注册者注册时,则开启数据保全链,否则交易会被判定为无效交易并没收转移的证据币;
合法的注册者身份注册后,智能合约会向拥有合法身份的数据管理员发起数据链注册交易,通过向管理员转移数据币实现对数据事件的注册,且之后数据保全信息均以数据链注册交易为链首进行延伸。
进一步地,步骤S2中认证中心用于验证数据管理员的身份、对数据的重要性进行评级;
授权码由认证中心通过私钥对事件摘要、数据评级、管理员身份信息进行数字签名产生。
进一步地,步骤S3、步骤S4和步骤S5为基于UTXO的交易模型,具体包括:
交易包含的字段为输入与输出,一条交易的输入是多个记录于交易之前的历史交易,历史交易未被其他交易索引,属于未花费交易;输出指向用户地址用于指明证据币接收方身份;
数据管理员向智能合约发起管理员注册交易tx1,输入包括由管理员向矿工收购的证据币,和管理员向认证中心申请的授权码;
智能合约被管理员注册交易tx1触发后发起数据链注册交易tx2,数据链注册交易的输入为tx1,输出为管理员地址;
管理员注册交易与数据链注册交易为孪生交易,当管理员注册交易成功上链并且授权码有效时,则智能合约生成数据链注册交易;
当数据链注册成功后数据管理员对数据修改者进行授权,数据授权交易由管理员发起,输入为数据链注册交易,输出为管理员指定的数据修改者地址;
数据修改者在收到证据币后对数据修改进行记录,对数据更新后,创建数据修改交易,且数据修改交易包括对数据修改的说明。
进一步地,数据修改交易的输入,包括:
输入为数据授权交易,并说明数据修改交易是对原始数据进行修改;
或者输入是历史的数据修改交易,数据修改者是对当前最新版本的数据进行修改;
数据修改交易的输出,包括:
输出为数据修改者自身地址,并说明修改者对数据的修改未结束,数据修改者希望对数据进一步的修改;
或者输出为数据链的管理员地址,数据修改者将持有的证据币全部转移给数据管理员实现对数据维护的闭环处理。
进一步地,步骤S3、步骤S4和步骤S5的交易均由矿工节点打包为区块,交易发起方所转移的证据币不能全部转移到目标账户,其中一部分证据币被用于向矿工节点支付交易手续费用。
进一步地,步骤S6中通过PoW与PoS相结合的共识算法获得合法的区块并在网络中广播所述区块,包括:
以认证中心提供的重要值为原始重要值Io(tx),认证中心对数据的重要性进行N个等级划分,原始重要值为(0,1]之间的一个数值,原始重要值集合为 {1/N,2/N,…1};
管理员注册交易tx1和数据链注册交易tx2的重要值等于认证中心所判定的原始重要值,即I(tx1)=I(tx2)=Io(tx);
计算数据授权交易tx3和数据修改交易tx4的重要值,采用交易所属区块的高度H(tx)表示交易发布的时间,两个交易之间的时间间隔由所在区块的高度差表示,数据授权交易和数据修改交易重要值计算方法相同,数据修改交易计算公式为:
其中,α为一个控制时间影响程度的正数常量;
当数据授权交易和数据修改交易与数据链注册交易间隔较长时间时,则重要性提升。
进一步地,矿工计算当前区块难度的方法,包括:
计算区块中交易的重要值之和W=∑I(tx);
根据所述区块索引其他分区区块的数量得出所述区块的区块链安全贡献度 S,并根据重要值之和以及安全贡献度计算难度减少量Nloss:
Nloss=int(τ*ln((W+S)*μ))
其中,τ、μ为区块链系统调整的参数,当区块产生速度过快或过慢时都会改变参数τ、μ以调整区块生产率,int为对后面的值取整数,减少量Nloss为一个负值;
区块的难度为:
Targ-Nloss
其中,Targ为初始目标难度值。本发明采用SHA256哈希函数,其输入为二进制长度为256比特,初始难度值Targ为大于0小于256的整数。需要注意的是Targ值越大对应的目标难度越低;
矿工反复计算哈希值,穷举获得满足条件:
的随机数,其中,PreHash1和PreHash2为当前矿工节点所观察到的未被索引的最新区块的哈希值,Merkel为该区块所包含交易所构成Merkel树结构的Merkel Root,time为创建该区块的时间,ShardID为该区块所对应的分区编号;
当矿工发现有效的区块后则通过Gossip协议将有效的区块扩散到全网所有节点;分区中的节点对区块链的更新达成共识,节点保留分区中最长的链上的区块;新产生的区块在全网内扩散,节点仅保留相同分区内产生区块的完整信息,对来自其他分区的区块,节点验证有效性后只保留区块的头部信息。
本发明提供的基于分区式区块链的电子证据保全方法,具有以下有益效果:
本发明基于区块链UTXO模型,根据地理区域对区块链网络进行分区处理,并采用有向无环图的数据结构记录区块信息,利用UTXO模型构建数据保全链。同时本发明使用分区式区块链实现异构数据的分布式保全,引入有向无环图的数据结构,进一步提高了区块链系统的安全性;还采用PoW与PoS结合的共识算法,实现对不同重要级别的数据进行差异化处理。
附图说明
图1为本发明的场景示意图。
图2为本发明的交易模型示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
根据本申请的一个实施例,本方案的基于分区式区块链的电子证据保全方法,包括:
步骤S1、启动区块链网络,根据地理区域对网络进行分区处理,其具体包括:
步骤S1.1、不同分区对应不同的认证中心,认证中心是由政府职能机构所担任的权威实体。认证中心需要先对网络的分区方案达成共识并生成创世区块,该区块包含了对各分区的配置信息。
例如不同的创世区块公开各认证中心的公钥用于向所有节点公开认证中心身份;创世区块规定区块的挖矿难度进而控制出块速率;分区方案可以根据行政区域划分,划分原则是不同分区对应的行政区域应当拥有相同的规模。
步骤S1.2、在构建创世区块后,各认证中心启动各自的分区区块链,通过在创世区块后添加启动区块。启动区块包括了关于该类型数据操作的智能合约。智能合约由认证中心发布,但发布后的智能合约不再受认证中心单方管控。智能合约对触发它的交易进行处理,相同的输入总是产生固定的输出,该智能合约的具体设计对所有节点公开透明。
步骤S1.3、智能合约部署后实现以下功能:
智能合约为数据管理者进行身份注册,数据管理员将授权码和从矿工处所收购的证据币作为输入向智能合约发起交易,该交易触发智能合约身份验证函数,合法的注册者才能开启数据保全链,否则该交易会被判定为无效交易并没收转移的证据币,此行为的目的是为了避免攻击者产生大量的无意义的管理员注册交易使网络产生拥塞,进而降低系统效率。
身份注册后,智能合约会向拥有合法身份的数据管理员发起数据链注册交易,该事件通过向管理员转移数据币实现对数据事件的注册。之后的数据保全信息都将以该交易为链首进行延伸。
需要注意的是,一个数据管理员在注册后只能对一条数据链进行维护,如果需要发起新的数据链,数据管理员需要向认证中心重新申请授权码并重复以上行为。
步骤S2、启动分区内的数据维护事件,数据管理员通过向认证中心请求身份认证获得数据维护事件发布授权码;认证中心除了验证数据管理员的身份还会对数据的重要性进行评级。授权码由认证中心通过私钥对事件摘要、数据评级、管理员身份信息进行数字签名产生。
步骤S3、身份认证合法的数据管理员根据授权码创建管理员注册交易,触发智能合约产生数据链注册交易,并获得用于维护数据的证据币。
步骤S4、数据管理员获得证据币后生成数据授权交易,通过向数据修改者转移证据币,实现对数据修改者的授权。
步骤S5、当授权后的数据修改者对原始数据进行修改或添加新数据时,则数据修改者创建数据修改交易。
步骤S3、S4、S5为基于UTXO模型的数据链,参考图2,模型通过对证据币的转移实现数据修改授权。
每条交易都必须包的字段为输入与输出,一条交易的输入一般是多个记录于该交易之前的历史交易,这些历史交易没有被其他交易索引,属于未花费的交易;输出一般指向用户地址用于指明证据币接收方身份。
数据管理员首先向智能合约发起管理员注册交易tx1,其中包含的证据币由管理员向矿工收购而来,输入还包含了管理员向认证中心申请的授权码。
智能合约被管理员注册交易tx1触发后发起数据链注册交易tx2,数据链注册交易的输入为tx1,输出为管理员地址。
管理员注册交易与数据链注册交易为孪生交易,一旦管理员注册交易成功上链并且其中的授权码有效,智能合约就能生成数据链注册交易。当数据链注册成功后数据管理员可以对数据修改者进行授权,数据授权交易由管理员发起,输入为之前的数据链注册交易,输出为管理员指定的数据修改者地址。
数据管理员可以在一条数据授权交易中指定多名数据修改者,该交易将不同数量的证据币转移到修改者账户中。数据修改者在收到来自数据管理员发送的一定数目的证据币后就能对数据修改进行记录。数据修改者在对数据进行更新后,需要创建数据修改交易,该交易需要包括对数据修改的说明,例如修改后的数据哈希值,修改的时间,修改前的文件哈希值。
数据修改交易的输入有两种:
第一种输入是数据授权交易,此时说明该数据修改交易是对原始数据进行修改;
第二种输入是历史的数据修改交易,此时数据修改者是对当前最新版本的数据进行修改。
数据修改交易的输出同样有两种类型:
第一种类型是数据修改者自身地址,此时说明修改者对数据的修改没有结束,数据修改者仍然希望对数据进一步的修改。
第二种类型是该数据链的管理员地址,数据修改者将持有的证据币全部转移给数据管理员实现对数据维护的闭环处理。在此之后,数据修改者无法再对数据进行修改。
以上所述的交易都将由矿工节点打包为区块,交易发起方所转移的证据币并不能全部转移到目标账户,其中一部分证据币将被用于向矿工节点支付交易手续费用,获取交易手续费用是矿工节点参与区块链网络的重要原因之一。
步骤S6、将步骤S3、步骤S4、步骤S5中生成的交易传播到对应的分区区块链网络中,矿工节点对交易进行打包,并通过PoW与PoS相结合的共识算法获得合法的区块并在网络中广播所述区块,其具体包括:
首先需要对交易信息tx的重要值I(tx)进行计算;由认证中心所提供的重要值为原始重要值Io(tx)。认证中心对数据的重要性进行N个等级划分,原始重要值为(0,1]之间的一个数值,所以原始重要值集合为{1/N,2/N,…1}。
对于管理员注册交易tx1和数据链注册交易tx2,其重要值就等于认证中心所判定的原始重要值,即I(tx1)=I(tx2)=Io(tx)。
数据授权交易tx3和数据修改交易tx4的重要值除了与原始重要值有关,还与该交易与数据链注册交易之间的“时间”间隔有关。由于区块链网络难以实现全网时间同步,所以采用交易所属区块的高度H(tx)表示交易发布的时间。两个交易之间的“时间”间隔由所在区块的高度差表示。数据授权交易和数据修改交易重要值计算方法相同,以数据修改交易为例,其计算公式为:
其中,α为一个控制时间影响程度的正数常量。当数据授权交易和数据修改交易与数据链注册交易间隔较长“时间”时,其重要性会逐步提升。该设计的目的是让较长时间没有更新的数据链产生新的数据授权交易和数据修改交易时更容易被矿工打包,进而添加到区块链中。一旦区块的高度确定,交易的重要值就是一个确定值,该值的大小可以被任何节点所验证,所以矿工并不能对重要值进行随意编造。
矿工节点不能对交易的重要值进行修改,但是矿工可以对打包的交易进行选择。当矿工确定了区块中包含的交易就需要通过共识算法寻找合法的区块。不同于传统单链的区块链系统,本发明的区块需要索引其他分区的最新区块,这些被索引的区块需要拥有相同的高度,本发明规定新区块最少需要索引q个来自不同分区的区块,q值的大小与当前网络的通信延迟紧密相关。较低的网络传播时延对应更高的q值,不同分区区块的互相索引实现了对不同分区中矿工节点计算力的融合,进而提高区块链网络的安全性。索引的方法是将其他分区最新的区块头部的哈希值包含到当前创建区块的头部中,创建新区块的需要遵循区块链共识算法,只有满足算法要求的区块才能添加到区块链上。
对于传统PoW算法的实现过程为:
矿工计算一个满足要求的哈希值:
矿工将当前所有分区中最新的区块的头部哈希值:
{PreHash1,PreHash2....}
区块包含交易所形成Merkel Tree的Merkel Root,当前时间,该区块的分区 ID和一个随机数做哈希运算,并使得哈希值小于一个当前区块链系统规定的哈希值2Targ。矿工可以尝试不同的随机数nonce直到找到满足要求的随机数,该随机数就是矿工的工作量证明。
本发明引入了PoS后可以降低PoW算法中的挖矿难度,引入PoS后矿工计算当前区块难度的方法为:
计算区块中交易的重要值之和W=∑I(tx),根据该区块索引其他分区区块的数量得出该区块的区块链安全贡献度S,最后根据重要值之和以及安全贡献度计算难度减少量Nloss:
Nloss=int(τ*ln((W+S)*μ))
式中τ、μ为由区块链系统调整的参数,当区块产生速度过快或过慢时都会改变这两个参数以调整区块生产率,int表示对后面的值取整数。最后区块的难度为Targ-Nloss,对于任何节点都可以验证区块计算的难度是否正确。矿工反复计算哈希值,穷举获得满足条件:
当矿工发现了有效的区块后就会通过Gossip协议将该区块扩散到全网所有节点。分区中的节点需要对区块链的更新达成共识,节点总是保留分区中最长的链上的区块。新产生的区块会在全网内扩散,但是节点只会保留相同分区内产生区块的完整信息,对于来自其他分区的区块,节点只会验证其有效性后只保留区块的头部信息。通过该方法,对区块链数据进行了分区式的存储,可以降低节点维护本发明所涉及的区块链网络的存储开销。
本发明采用基于数据重要性的PoW与PoS结合的共识算法,具有如下优点:
1、采用分区式的区块链网络构架实现了多区域证据保全系统的并行运行,提高了区块链网络的效率;并采用有向无环图的数据结构使各区域的计算力得到融合,进而提高了区块链网络的安全性。
2、分区中产生区块的完整信息只在分区内保存,当分区中的节点收到来自其他分区的区块时只需要验证该区块的合法性后对区块的头部进行保存;本发明的方法降低了区块链网络的存储开销;且区块链网络节点不需要保存整个网络的所有信息。
3、采用UTXO模型的证据链维护方法可以实现轻量级的数据修改权限管理机制;对证据保全信息进行链接,保证了证据事件的原子性,历史记录不可篡改性。
4、引入证据币用于对数据修改者的权限进行限定,也为区块链网络中的矿工提供了激励,鼓励有计算能力的节点参与区块链网络,进而促进网络的安全性。
5、采用PoW与PoS结合的共识算法,根据由认证中心所提供的数据重要性标签对不同数据的交易进行差异化处理,使得重要的保全信息更快发布到区块链上。
步骤S7、分区中的节点对收到的区块进行验证,在分区内对新产生的区块达成共识,节点对达成共识的区块头部进行转发扩散。
根据本申请的一个实施例,本发明应用的证据保全场景为:区块链网络包含三个规模相同的行政区域,每个区域各自运行维护一条区块链。行政区域的政府各自担任分区中的认证中心,但认证中心并不局限于政府。分区内维护多种数据类型,例如司法案件所收集的电子数据,房屋购置过程中所涉及的文件证明电子数据,教育邻域里个人学位考核所收集的电子数据。
以司法案件为例,认证中心可以是地区最高人民法院,认证中心生成认证中心密钥对(KeyACpub,KeyACpri)并对外公开公钥KeyAcpub,私钥KeyACpri仅由认证中心掌握不能对外泄露。认证中心在创世区块后添加分区启动区块,该区块中包含由认证中心发布的智能合约,其主要功能是通过授权码验证数据管理员的身份。数据管理员是地方法院,地方法院同样本地生成公私密钥对(Keypri, Keypub)。当地方法院需要开启一个案件数据链时,地方法院首先向最高人民法院(认证中心)申请授权码,授权码是一条由认证中心私钥签名的消息Sig=KeyAcpri (CaseHash,Keypub,Io),签名的内容是地方法院所发起的案件哈希和地方法院的公开公钥以及最高法院对该案件的评级。获得授权码后,地方法院就像智能合约地址发起交易,智能合约在验证授权码后就会发起数据链注册交易。智能合约的引入避免了认证中心参与证据币的转移,避免了认证中心囤积过多的证据币。
数据链注册交易上链后,地方法院可以创建数据授权交易来对数据修改者进行授权。如果案件涉及公诉人,地方法院就可以通过将数据链注册交易作为输入的方式将证据币转移到人民检察院的地址中,公安部也可以从地方法院获得证据币,与此同时被告人也能获得证据币用于提供证据。
在获得数据修改授权后,修改者就能对案件进行更新。以检察院为例,检方在本地生成了公私密钥对(Keyj pri,Keyj pub),该密钥的公钥就是地方法院所转移证据币的地址。如果此时检方添加了第一个电子证据,检方就应当创建一条数据修改交易,该交易需要以数据链授权交易作为输入,并添加签名后的数据修改的摘要信息,签名内容如下:
Sigj=Keyj pri(CaseHashnew,Sig,KeyACpub)
该签名包含了更新后数据的哈希值,原始案件的哈希值以及地方检察院的公钥。其他节点可以通过检方公开的公钥提取出签名的内容。如果检方仍然希望在本次数据更新后继续对数据进行修改,那么该数据修改交易的输出仍为检方自己的地址。简单理解为,检方向自己发起了一笔交易,该交易将证据币从数据授权交易转移到了本条交易中。检方重复发起数据修改交易直到证据币被消耗殆尽,或者检方主动将交易的输出设为数据管理员地址,进而结束对电子证据的更新维护。公安部与被告人可以同样的重复上述行为,此时案件最终将会有三个由检方、公安部、被告人所提供的电子证据版本。这些版本的摘要都被记录在三方发起的最终的数据修改交易中。
如图1所示,数据注册交易、数据修改交易都对案件的电子数据进行了上传或更新。原始数据并不会直接存储在区块链中,但是案件的摘要和每次更新后的数据摘要都永久且不可篡改地记录在了区块链中。矿工节点在收到各类型交易后会将交易打包成区块,并添加一条矿工奖励交易。矿工奖励交易的输入是本区块中的所有交易,其目的是获得交易所提供的手续费用,交易手续费的本质是交易输入实际能够转移的证据币和交易发起方指定的可用证据币数量的差值。除此之外,矿工还会获得挖掘该区块的奖励,在本发明中,矿工每成功挖掘一个新的区块都会获得1个“证据币”奖励,该奖励也可称之为铸币奖励。
在确定了区块中包含的交易后,矿工还需要观察其他分区的区块链状态。矿工会利用保存其他分区的区块链头部信息来掌握各分区的区块链更新状况。创建新区块时,矿工会索引与自己所在分区区块链高度相同的、来自其他分区的区块头部的哈希值。通过反复计算哈希:
Hash({PreHash1,PreHash2....},Merkel,time,nonce,ShardID)
直到获得满足难度要求:
虽然结合附图对发明的具体实施方式进行了详细地描述,但不应理解为对本专利的保护范围的限定。在权利要求书所描述的范围内,本领域技术人员不经创造性劳动即可做出的各种修改和变形仍属本专利的保护范围。
Claims (9)
1.一种基于分区式区块链的电子证据保全方法,其特征在于,包括:
步骤S1、启动区块链网络,根据地理区域对网络进行分区处理;
步骤S2、启动分区内的数据维护事件,数据管理员通过向认证中心请求身份认证获得数据维护事件发布授权码;
步骤S3、身份认证合法的数据管理员根据授权码创建管理员注册交易,触发智能合约产生数据链注册交易,并获得用于维护数据的证据币;
步骤S4、数据管理员获得证据币后生成数据授权交易,通过向数据修改者转移证据币,实现对数据修改者的授权;
步骤S5、当授权后的数据修改者对原始数据进行修改或添加新数据时,则数据修改者创建数据修改交易;
步骤S6、将步骤S3、步骤S4、步骤S5中生成的交易传播到对应的分区区块链网络中,矿工节点对交易进行打包,并通过PoW与PoS相结合的共识算法获得合法的区块并在网络中广播所述区块;
步骤S7、分区中的节点对收到的区块进行验证,在分区内对新产生的区块达成共识,节点对达成共识的区块头部进行转发扩散。
2.根据权利要求1所述的基于分区式区块链的电子证据保全方法,其特征在于,步骤S1中启动区块链网络,根据地理区域对网络进行分区处理,包括:
不同分区的不同认证中心为政府职能机构所担任的权威实体,认证中心对网络的分区方案达成共识并生成创世区块,创世区块包含对各分区的配置信息;
各认证中心通过在创世区块后添加启动区块,启动各自的分区区块链,启动区块包括关于对应类型数据操作的智能合约。
3.根据权利要求2所述的基于分区式区块链的电子证据保全方法,其特征在于:智能合约为数据管理者进行身份注册,数据管理员将授权码和从矿工处所收购的证据币作为输入向智能合约发起交易,交易触发智能合约身份验证函数,当合法的注册者注册时,则开启数据保全链,否则交易会被判定为无效交易并没收转移的证据币;
合法的注册者身份注册后,智能合约会向拥有合法身份的数据管理员发起数据链注册交易,通过向管理员转移数据币实现对数据事件的注册,且之后数据保全信息均以数据链注册交易为链首进行延伸。
4.根据权利要求1所述的基于分区式区块链的电子证据保全方法,其特征在于,步骤S2中认证中心用于验证数据管理员的身份、对数据的重要性进行评级;
授权码由认证中心通过私钥对事件摘要、数据评级、管理员身份信息进行数字签名产生。
5.根据权利要求3所述的基于分区式区块链的电子证据保全方法,其特征在于,步骤S3、步骤S4和步骤S5为基于UTXO的交易模型,具体包括:
交易包含的字段为输入与输出,一条交易的输入是多个记录于交易之前的历史交易,历史交易未被其他交易索引,属于未花费交易;输出指向用户地址用于指明证据币接收方身份;
数据管理员向智能合约发起管理员注册交易tx1,输入包括由管理员向矿工收购的证据币,和管理员向认证中心申请的授权码;
智能合约被管理员注册交易tx1触发后发起数据链注册交易tx2,数据链注册交易的输入为tx1,输出为管理员地址;
管理员注册交易与数据链注册交易为孪生交易,当管理员注册交易成功上链并且授权码有效时,则智能合约生成数据链注册交易;
当数据链注册成功后数据管理员对数据修改者进行授权,数据授权交易由管理员发起,输入为数据链注册交易,输出为管理员指定的数据修改者地址;
数据修改者在收到证据币后对数据修改进行记录,对数据更新后,创建数据修改交易,且数据修改交易包括对数据修改的说明。
6.根据权利要求5所述的基于分区式区块链的电子证据保全方法,其特征在于,数据修改交易的输入,包括:
输入为数据授权交易,并说明数据修改交易是对原始数据进行修改;
或者输入是历史的数据修改交易,数据修改者是对当前最新版本的数据进行修改;
数据修改交易的输出,包括:
输出为数据修改者自身地址,并说明修改者对数据的修改未结束,数据修改者希望对数据进一步的修改;
或者输出为数据链的管理员地址,数据修改者将持有的证据币全部转移给数据管理员实现对数据维护的闭环处理。
7.根据权利要求6所述的基于分区式区块链的电子证据保全方法,其特征在于:步骤S3、步骤S4和步骤S5的交易均由矿工节点打包为区块,交易发起方所转移的证据币不能全部转移到目标账户,其中一部分证据币被用于向矿工节点支付交易手续费用。
8.根据权利要求1所述的基于分区式区块链的电子证据保全方法,其特征在于,步骤S6中通过PoW与PoS相结合的共识算法获得合法的区块并在网络中广播所述区块,包括:
以认证中心提供的重要值为原始重要值Io(tx),认证中心对数据的重要性进行N个等级划分,原始重要值为(0,1]之间的一个数值,原始重要值集合为{1/N,2/N,…1};
管理员注册交易tx1和数据链注册交易tx2的重要值等于认证中心所判定的原始重要值,即I(tx1)=I(tx2)=Io(tx);
计算数据授权交易tx3和数据修改交易tx4的重要值,采用交易所属区块的高度H(tx)表示交易发布的时间,两个交易之间的时间间隔由所在区块的高度差表示,数据授权交易和数据修改交易重要值计算方法相同,数据修改交易计算公式为:
其中,α为一个控制时间影响程度的正数常量;
当数据授权交易和数据修改交易与数据链注册交易间隔较长时间时,则重要性提升。
9.根据权利要求6所述的基于分区式区块链的电子证据保全方法,其特征在于,矿工计算当前区块难度的方法,包括:
计算区块中交易的重要值之和W=∑I(tx);
根据所述区块索引其他分区区块的数量得出所述区块的区块链安全贡献度S,并根据重要值之和以及安全贡献度计算难度减少量Nloss:
Nloss=int(τ*ln((W+S)*μ))
其中,τ、μ为区块链系统调整的参数,当区块产生速度过快或过慢时都会改变参数τ、μ以调整区块生产率,int为对后面的值取整数,减少量Nloss为一个负值;
区块的难度为:
Targ-Nloss
其中,Targ为初始目标难度值。本发明采用SHA256哈希函数,其输入为二进制长度为256比特,初始难度值Targ为大于0小于256的整数。需要注意的是Targ值越大对应的目标难度越低;
矿工反复计算哈希值,穷举获得满足条件:
的随机数,其中,PreHash1和PreHash2为当前矿工节点所观察到的未被索引的最新区块的哈希值,Merkel为该区块所包含交易所构成Merkel树结构的Merkel Root,time为创建该区块的时间,ShardID为该区块所对应的分区编号;
当矿工发现有效的区块后则通过Gossip协议将有效的区块扩散到全网所有节点;分区中的节点对区块链的更新达成共识,节点保留分区中最长的链上的区块;新产生的区块在全网内扩散,节点仅保留相同分区内产生区块的完整信息,对来自其他分区的区块,节点验证有效性后只保留区块的头部信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514956.3A CN113360951B (zh) | 2021-05-12 | 2021-05-12 | 一种基于分区式区块链的电子证据保全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514956.3A CN113360951B (zh) | 2021-05-12 | 2021-05-12 | 一种基于分区式区块链的电子证据保全方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360951A true CN113360951A (zh) | 2021-09-07 |
CN113360951B CN113360951B (zh) | 2022-08-16 |
Family
ID=77526264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110514956.3A Expired - Fee Related CN113360951B (zh) | 2021-05-12 | 2021-05-12 | 一种基于分区式区块链的电子证据保全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360951B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139206A (zh) * | 2021-12-06 | 2022-03-04 | 常州大学 | 一种基于区块链隐私保护的多用户异构数据合并存证方法 |
CN116436708A (zh) * | 2023-06-14 | 2023-07-14 | 天津星耀九洲科技有限公司 | 一种基于区块链技术的可信数据分享方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194801A (zh) * | 2017-05-18 | 2017-09-22 | 电子科技大学 | 基于主权区块链的供应链金融区块链应用方法 |
CN108320155A (zh) * | 2017-12-21 | 2018-07-24 | 中国科学院信息工程研究所 | 一种实现区块链共识机制的方法 |
CN108390891A (zh) * | 2018-03-28 | 2018-08-10 | 电子科技大学天府协同创新中心 | 基于私有区块链的信息保护方法 |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN110119987A (zh) * | 2019-04-03 | 2019-08-13 | 成都波霎科技有限公司 | 一种区块链混合共识方法 |
WO2019207500A1 (en) * | 2018-04-27 | 2019-10-31 | nChain Holdings Limited | Partitioning a blockchain network |
CN112685422A (zh) * | 2020-12-31 | 2021-04-20 | 卓尔智联(武汉)研究院有限公司 | 一种处理utxo数据库的方法、装置及电子设备 |
-
2021
- 2021-05-12 CN CN202110514956.3A patent/CN113360951B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194801A (zh) * | 2017-05-18 | 2017-09-22 | 电子科技大学 | 基于主权区块链的供应链金融区块链应用方法 |
CN108320155A (zh) * | 2017-12-21 | 2018-07-24 | 中国科学院信息工程研究所 | 一种实现区块链共识机制的方法 |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN108390891A (zh) * | 2018-03-28 | 2018-08-10 | 电子科技大学天府协同创新中心 | 基于私有区块链的信息保护方法 |
WO2019207500A1 (en) * | 2018-04-27 | 2019-10-31 | nChain Holdings Limited | Partitioning a blockchain network |
CN110119987A (zh) * | 2019-04-03 | 2019-08-13 | 成都波霎科技有限公司 | 一种区块链混合共识方法 |
CN112685422A (zh) * | 2020-12-31 | 2021-04-20 | 卓尔智联(武汉)研究院有限公司 | 一种处理utxo数据库的方法、装置及电子设备 |
Non-Patent Citations (4)
Title |
---|
R.SATHYAPRAKASAN 等: ""An Implementation of Blockchain Technology in Forensic Evidence Management"", 《2021 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND KNOWLEDGE ECONOMY (ICCIKE)》 * |
代玥玥 等: ""区块链赋能6G"", 《物联网学报》 * |
常泽天: ""基于区块链的身份认证系统的设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
杨超智: ""抗矿池集中化的共识机制研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139206A (zh) * | 2021-12-06 | 2022-03-04 | 常州大学 | 一种基于区块链隐私保护的多用户异构数据合并存证方法 |
CN114139206B (zh) * | 2021-12-06 | 2024-04-05 | 常州大学 | 一种基于区块链隐私保护的多用户异构数据合并存证方法 |
CN116436708A (zh) * | 2023-06-14 | 2023-07-14 | 天津星耀九洲科技有限公司 | 一种基于区块链技术的可信数据分享方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113360951B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12003616B2 (en) | Rapid distributed consensus on blockchain | |
US11799637B2 (en) | Methods and systems for blockchain-implemented event-lock encryption | |
TWI740423B (zh) | 在基於區塊鏈的私有交易中提供隱私和安全保護的系統和方法 | |
US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
CN108173805B (zh) | 一种基于区块链的具有隐私保持的分布式匿名区协同构造方法 | |
TWI744532B (zh) | 用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統 | |
JP7319961B2 (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
KR20180115779A (ko) | 디지털 콘텐츠를 제어 및 배포하기 위한 블록체인 구현 방법 | |
CN113360951B (zh) | 一种基于分区式区块链的电子证据保全方法 | |
Król et al. | Proof-of-prestige: A useful work reward system for unverifiable tasks | |
US11856092B2 (en) | Limiting data availability on distributed ledger | |
WO2021154157A1 (en) | Blockchain-based data exchange | |
CN114128216A (zh) | 多输入交易 | |
CN115811406A (zh) | 一种基于环签名共识机制的物联网区块链认证方法和系统 | |
US20210406876A1 (en) | Permissioned eventing in a decentralized database | |
US20230208640A1 (en) | Selective audit process for privacy-preserving blockchain | |
Javed et al. | Secure message handling in vehicular energy networks using blockchain and artificially intelligent IPFS | |
Lamriji et al. | A comparative study of consensus algorithms for blockchain | |
CN115580431B (zh) | 一种基于联盟链智能合约的隐私数据访问控制方法 | |
US20230091686A1 (en) | Digital asset platform with hsm verification | |
CN116264860A (zh) | 广播内容的阈值加密 | |
US12010239B2 (en) | Talking head digital identity authentication | |
US11989813B2 (en) | Talking head digital identity authentication on a distributed network | |
Li | The Design for Distributed Ledger Based on Main-Sub Ledger Architecture | |
CN115375312B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220816 |