CN115632791B - 一种动态跨链数据一致性去中心化验证方法 - Google Patents
一种动态跨链数据一致性去中心化验证方法 Download PDFInfo
- Publication number
- CN115632791B CN115632791B CN202211248956.4A CN202211248956A CN115632791B CN 115632791 B CN115632791 B CN 115632791B CN 202211248956 A CN202211248956 A CN 202211248956A CN 115632791 B CN115632791 B CN 115632791B
- Authority
- CN
- China
- Prior art keywords
- data
- chain
- request
- update
- node
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012550 audit Methods 0.000 claims abstract description 46
- 241000122205 Chamaeleonidae Species 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 235000011950 custard Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种动态跨链数据一致性去中心化验证方法,首先,源链中用户利用去中心化的变色龙哈希实现区块链上数据的动态更新,当数据在源链中完成更新之后,源链中的用户节点将数据更新请求以及更新内容发送给目标链节点,数据动态更新的审计请求被发送给监管链;接下来,当目标链节点接收到数据更新请求之后,在目标链网络中完成数据更新,同时生成一致性存储证明发送给监管链做审计;最后,监管链比对来自目标链和源链中的数据以此实现动态数据的一致性验证。本发明设计了去中心化的变色龙哈希函数来实现对于数据的动态更新,加入了门限值来更好的实现数据动态更新,引入了协同开发智能合约概念来实现跨链中智能合约协同工作。
Description
技术领域
本发明涉及跨链数据交互以及动态数据审计技术领域,具体为一种动态跨链数据一致性去中心化验证方法。
背景技术
区块链主要是由分布式系统,计算机网络,数据库以及分布式账本这些技术相互组合而诞生的系统,其具有高度去中心化,透明性和开放性,信息不可篡改和匿名性这些特性。基于这些特性,区块链如今受到了越来越多企业和个人的关注,它也被广泛运用在不同的领域,包括金融,医疗,通信传输等。区块链的广泛运用带来了大量的交易存储,这给现如今的区块链带来了巨大的存储压力同时也对链上数据的查询计算的效率造成了极大的影响。为了能够缓解如今区块链上的存储压力,将数据存放在不同的区块链上并利用跨链技术将这些异构的区块链连接起来,能够在一定程度上缓解区块链的存储压力。
当前,主流的跨链技术分为以下几种:公证人机制,侧链技术,中继链技术以及哈希锁定。通过将单独的区块链连接起来,跨链技术很好的实现了异构区块链之间的交互。但是区块链上存储的信息在某些时候需要更新迭代,例如,一些恶意的交易信息被存储在区块链平台上,可能会对区块链系统造成危害,如以太坊上的“TheDAO”攻击就是由于脆弱的智能合约,最终采用硬分叉的方式来解决此次危机;一些存储在区块链上的信息需要随着时间的变化而修改,如当某些用户信息过期时,需要在区块链上进行信息更新。如何保障在跨链交互过程中,对于动态更新数据的一致性的验证是个值得研究的问题。
目前,国内外研究学者关于动态数据的审计主要集中于云存储环境。Shen等人利用双重链接信息表和位置阵列实现了一个支持批量数据动态审计的模型,该模型在计算和通信成本方面颇为占据优势,能够实现一个较低的成本开销;He等人第一个提出了支持全动态数据更新的审计模型,该模型对于每次生成的审计信息的存储成本是固定的;Patil等人提出了能够保护用户隐私的动态数据审计模型,该模型能够在支持动态数据更新审计的同时满足保护用户的隐私性。但是,之前的研究主要利用是第三方审计机构来进行数据审计,整个审计架构包括数据所有者,云存储方以及第三方审计机构,通过第三方审计机构不定时的发送对于云存储方的挑战来完成对于数据的一致性审计,但是引入第三方审计机构不可避免的存在一些安全性问题。由于第三方审计机构有可能是恶意的,它可能会与云存储方共谋来损害用户的利益,同时引入第三方审计机构对于跨链场景下的去中心化特性造成了一定的影响。与此同时,云存储审计模型中第三方审计机构主要是对存储在云中的数据进行审计而不是对跨链交互过程中的数据进行一致性审计,目前缺少对于跨链过程中动态数据一致性验证方法。
因此,需要一种合理的方式来解决动态跨链数据一致性验证问题,以保证区块链上动态跨链数据的可靠性和准确性。
发明内容
本发明为解决上述问题,提出了一种动态跨链数据去中心化一致性验证方法,所述验证方法包括以下步骤:
步骤1:源链中的用户节点发起数据动态更新请求,其余节点通过验证该请求签名来验证其合理性;
步骤2:请求验证通过之后,源链中的用户节点开始进行数据更新操作,利用变色龙哈希函数进行数据的动态更新,若请求验证不通过,该数据更新操作无法进行;
步骤3:源链中用户节点更新完数据之后,在区块链网络中发送广播通知其余节点对数据进行更新;
步骤4:源链的数据更新完成之后,用户节点将数据更新请求发送给目标链中的节点进行数据更新同时生成审计请求发送给监管链来对更新数据后的目标链中数据的一致性进行验证;
步骤5:目标链接收到来自源链的请求后,首先利用签名验证该请求的合理性,若签名无效,拒绝进行数据更新;签名有效,目标链的节点根据请求内容定位数据位置并进行更新,在完成更新之后,在目标链网络中广播实现数据动态更新。最后,目标链中的节点生成审计证明发送给监管链实现对于数据的一致性存储证明;
步骤6:监管链接收到来自源链中的审计请求以及相关数据以及目标链中的数据一致性存储证明,监管链审计收到的数据,若目标链中的一致性存储证明验证通过,此次数据动态更新流程顺利完成;若数据验证无法通过,监管链发送通知给源链通知其审计无法通过,对目标链的节点进行惩罚,剥夺其更新数据的权力。
优选的,步骤1中用户节点发起数据更新请求后,其余节点通过签名验证更新请求的合理性的处理方法包括:
参数设置:初始化数据签名密钥以及变色龙哈希密钥。用户为{u1,u2,u3,...,un},其中n为用户的个数,是用户与之相对应的公钥,其中G为阶为q的乘法循环群,g是G的生成元。将所有用户的密钥进行聚合生成一个公开的公钥接下来实现变色龙哈希函数密钥的生成,区块链中共有n个节点{u1,u2,u3,...,un},将这些节点根据其身份信息和区块中时间戳的哈希值来进行排序。生成变色龙哈希密钥主要由三个步骤构成。首先,排序后的n个节点的前t个节点执行去中心化的变色龙哈希函数的密钥生成算法来共享一个用于更新区块的私钥;接下来,考虑到在区块更新前或者更新中受到外界的敌手攻击而共谋了其中t-1个节点,因此,对传统的变色龙哈希函数进行了改进,设置了门限值为2t-1(2t-1>(t-1)+(t-1))来进行区块信息更新;最后,私钥在n个节点中重新进行共享来支持门限更新,这意味着n个节点中只要存在t'(t'>t)个节点就可以协同更新区块信息。具体的步骤如下:
步骤一:区块链中的节点为{u1,u2,u3,...,ut},根据生成变色龙哈希密钥,其中/>KeyGen()是密钥生成算法,输入安全参数和门限值,输出公私钥对。
步骤二:首先,区块链中的节点ui随机选择一个阶数为2t-1的多项式,其中i∈{1,...,t},/>。接下来,被节点ui发送给节点uj,其中i∈{1,...,t},j∈{1,...,2t}\{i}。最后,当节点ui收到了来自uj的节点ui利用变色龙哈希密钥生成算法中相同的方法来验证其正确性。当正确性验证通过后,节点ui输出一个t-1阶多项式f(x,id(ui))以及t个共享信息(f1(id(u1),id(ui)),...,(ft(id(ut),id(ui)),其中i∈{1,...,2t}。
步骤三:首先,节点ui和节点uj直接进行如下的信息交换,被发送给uj,其中i∈{1,...,2t},j∈{1,...,n}\{i};接下来,当节点uj收到来自ui的信息之后,其利用变色龙哈希函数密钥生成算法中相同的方法来验证信息的正确性;最后,节点ui输出一个2t-1阶多项式f(id(ui),y)以及2t个共享信息(f(id(ui),id(u1)),...,(f(id(ui),id(u2t)),其中i∈{1,...,n}。
生成用户注册信息:区块链中的节点ui(i∈{1,n}),n为区块链中的节点个数,输入安全参数l,运行密钥生成算法生成公私钥匙对用户节点ui将公钥/>进行公开同时保存好自己的私钥/>我们利用/>来代表用户节点的身份信息。
优选的,步骤2和步骤3中数据动态更新处理方法包括如下:
数据预处理:首先,将存储的文件F划分成K个区块,对于每个区块,我们将其分为S个片段,每个片段{ki,j}∈Zp,i∈[0,K-1],j∈[0,S-1]。接下来,随机选取g1∈G,对于第k个区块中的第j个片段,计算标签其中j∈[0,S-1]。最后构建一颗具有K个叶子节点的默克尔树,每个叶子节点leas=(lind,hind),其中ind是默克尔树中节点的索引,lind是从第ind个节点到达叶子节点的数量,hind是计算出的哈希值。
数据更新:区块链中的节点开始对区块链中的区块数据进行更新。首先,用户节点ui创建一笔新的交易内容tx'=(tx'1,tx'2,...,tx'ω)来更新原始交易tx=(tx1,tx2,...,txω)。接下来,利用签名算法来验证交易(txi,tx'i)是否是用户ui所创建的,若该笔交易确实是该用户创建的,则该用户拥有更新该数据的权力。然后,用户节点ui创建一笔更新数据的请求,同时按照(lind,hind)位置信息找到目标节点数据,进行数据更新同时利用默克尔哈希算法生成新的根哈希。本发明中对区块的结构进行了重新的设计,主要包含如下字段header=(prev_hash,last_hash,request,rand_val,merkle_root)
prev_hash:这个字段中存储着前一个区块的哈希值,该哈希值是通过变色龙哈希函数计算出来的。
last_hash:这个字段中存储着经过更新的当前区块的哈希值。
request:这个字段中存储着数据更新时发出的请求信息。
rand_val:这个字段中存储着用于实现变色龙哈希函数更新的随机生成字段,当该区块被更新一次后,该字段会重新进行生成,
merkle_root:这个字段中存储着交易的根哈希值,当区块信息进行更新时,该字段会重新进行生成。
最后,用户节点ui生成request=(last_hash',addresstx,tx',merkle_root')字段,其中addresstx是要更新数据的位置信息,(lind,hind)=addresstx,其中ind是该用户节点的索引位置。当用户ui生成了request字段信息之后,其将这个字段的信息发送给区块链中的其余节点{u1,u2,u3,...,un}\{ui},当区块链中其余节点收到该字段之后,由位置信息定位到该交易,与此同时若其中的t'(t'≥t,t为变色龙哈希函数的门限值)个节点同意该请求,则计算新的随机值当完成上述步骤之后,节点ui生成更新后的交易数据data=(addresstx,hashtx',merkle_root',last_hash',rand_val'),并将交易打包txrequest同时将打包后的交易在区块链网络中广播。当区块链中的节点收到交易后,利用去中心化的变色龙哈希函数中的验证算法来验证此笔交易签名的合理性,DCH.Verify(gs,(header-rand_val),rand_val,header',rand_val'),若输出为1,则表明该交易合理,否则拒绝上链,当签名验证通过后,交易上链存储,同时在整个区块链中区块信息的更新,由原来的header更新为header',其中header'=(prev_hash,last_hash',request,rand_val',merkle_root')。
优选的,步骤4中关于源链节点完成数据更新后发送审计请求给监管链以及数据更新请求给目标链的处理方法包括如下:
数据传递:源链中的用户节点发送交易请求给监管链,交易中包含源链中更新后数据的默克尔根以及对目标链中数据动态更新的一致性审计需求。与此同时,源链中的用户节点发送数据动态更新请求交易给目标链,其中包含数据更新的内容。
优选的,步骤5中关于目标链节点收到来自源链节点的数据更新请求后进行数据更新操作处理方法包括如下:
数据请求验证:源链中的用户ui发送更新请求以及更新信息,更新请求update_request=(tx',tx,header)被发送到目标链中,当收到该请求之后,目标链中的节点首先验证此笔交易的合理性,通过签名认证算法来验证其合理性,若签名验证通过,目标链中的节点开始更新区块信息;若验证不通过,目标链中的节点不进行数据更新操作。
数据更新:假设目标链中用于更新的节点为uclient,该节点在验证通过此笔交易之后,首先header中的信息定位此笔交易的位置,然后生成更新数据请求消息request'=(prev_hash”,last_hash”,addresstx',tx'),广播通知网络中的节点{u1,u2,...,uj}\{uclient},当这些节点收到请求之后,验证此笔交易是否为uclient发出的,若签名认证无法通过,此笔交易被抛弃;若验证通过,目标链中的节点返回信息{id(u1),id(u2),id(u3),..,id(uε)}(ε>t)表明同意此笔交易更新。接下来,节点{u1,u2,u3,..,uε}利用去中心化的变色龙哈希函数中的更新函数生成此笔交易信息新的随机值,其中header0和r0是原始区块中的头部信息和随机值,其中/>是随机选取的随机值。最后,当完成随机值的生成后,节点uclient计算更新交易的哈希hashtx'=(H(tx'1),...,H(tx'ω)),同时生成此交易的根哈希值merkle_root'用作一致性验证。
优选的,步骤6中关于监管链对于跨链动态数据更新一致性验证的处理方法包括如下:
数据一致性验证:监管链接收到来自源链审计请求中包含更新交易的merkle_root用作一致性验证,目标链在更新交易后发送审计证明merkle_root'以及更新后的信息来证明其进行了正确的更新,监管链中的智能合约按照审计规则比对merkle_root和merkle_root'是否相等,同时利用来验证目标链是准确更新了数据,保证动态数据跨链交互的一致性。
相对于现有的技术,本发明的有益效果:
本发明针对跨链中数据动态更新一致性缺乏有效验证这个角度出发,设计了去中心化的变色龙哈希函数来实现对于数据的动态更新,同时为了应对区块链中节点的动态加入和退出,加入了门限值来更好的实现数据动态更新。为了能够更好的实现跨链中智能合约的审计以及更新更加相关以及准确,引入了协同开发智能合约概念来实现跨链中智能合约协同工作。
附图说明
图1是本发明的验证方法流程示意图;
图2是本发明的模型角色示意图;
图3是本发明的验证模型流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种动态跨链数据去中心一致性验证方法,具体包括以下步骤:
源链中的用户节点发起数据动态更新请求,其余节点通过验证该请求签名来验证其合理性。具体过程如下:
源链中的用户节点初始化数据签名密钥以及变色龙哈希密钥。源链中用户为{u1,u2,u3,...,un},其中n为用户的个数,是用户与之相对应的公钥,其中G为阶为q的乘法循环群。将所有用户的密钥进行聚合生成一个公开的公钥接下来实现变色龙哈希函数密钥的生成,区块链中共有n个节点{u1,u2,u3,...,un},将这些节点根据其身份信息和区块中时间戳的哈希值来进行排序。生成变色龙哈希密钥主要由三个步骤构成。首先,排序后的n个节点的前t个节点执行去中心化的变色龙哈希函数的密钥生成算法来共享一个用于更新区块的私钥;接下来,考虑到在区块更新前或者更新中受到外界的敌手攻击而共谋了其中t-1个节点,因此,对传统的变色龙哈希函数进行了改进,设置了门限值为2t-1(2t-1>(t-1)+(t-1))来进行区块信息更新;最后,私钥在n个节点中重新进行共享来支持门限更新,这意味着n个节点中只要存在t'(t'>t)个节点就可以协同更新区块信息。
在源链中的节点验证数据更新请求的合理性之后,进行数据动态更新操作。处理过程如下:
首先,将存储的文件F划分成K个区块,对于每个区块,我们将其分为S个片段,每个片段{ki,j}∈Zp,i∈[0,K-1],j∈[0,S-1]。接下来,随机选取g1∈G,对于第k个区块中的第j个片段,计算标签其中j∈[0,S-1]。最后构建一颗具有K个叶子节点的默克尔树,每个叶子节点leas=(lind,hind),其中ind是默克尔树中节点的索引,lind是从第ind个节点到达叶子节点的数量,hind是计算出的哈希值。
接下来,区块链中的节点开始对区块链中的区块数据进行更新。首先,用户节点ui创建一笔新的交易内容tx'=(tx'1,tx'2,...,tx'ω)来更新原始交易tx=(tx1,tx2,...,txω)。接下来,利用签名算法来验证交易(txi,tx'i)是否是用户ui所创建的,若该笔交易确实是该用户创建的,则该用户拥有更新该数据的权力。然后,用户节点ui创建一笔更新数据的请求,同时按照(lind,hind)位置信息找到目标节点数据,进行数据更新同时利用默克尔哈希算法生成新的根哈希。
最后,用户节点ui生成request=(last_hash',addresstx,tx',merkle_root')字段,其中addresstx是要更新数据的位置信息,(lind,hind)=addresstx,其中ind是该用户节点的索引位置。当用户ui生成了request字段信息之后,其将这个字段的信息发送给区块链中的其余节点{u1,u2,u3,...,un}\{ui},当区块链中其余节点收到该字段之后,由位置信息定位到该交易,与此同时若其中的t'(t'≥t,t为变色龙哈希函数的门限值)个节点同意该请求,则计算新的随机值当完成上述步骤之后,节点ui生成更新后的交易数据data=(addresstx,hashtx',merkle_root',last_hash',rand_val'),并将交易打包txrequest同时将打包后的交易在区块链网络中广播。当区块链中的节点收到交易后,利用去中心化的变色龙哈希函数中的验证算法来验证此笔交易签名的合理性,DCH.Verify(gs,(header-rand_val),rand_val,header',rand_val'),若输出为1,则表明该交易合理,否则拒绝上链,当签名验证通过后,交易上链存储,同时在整个区块链中区块信息的更新,由原来的header更新为header',其中header'=(prev_hash,last_hash',request,rand_val',merkle_root')
源链节点完成数据更新后发送审计请求给监管链以及数据更新请求给目标链。处理过程如下:
数据传递:源链中的用户节点发送交易请求给监管链,交易中包含源链中更新后数据的默克尔根以及对目标链中数据动态更新的一致性审计需求。与此同时,源链中的用户节点发送数据动态更新请求交易给目标链,其中包含数据更新的内容。
目标链节点收到来自源链节点的数据更新请求后进行数据更新操作。处理过程如下:
源链中的用户ui发送更新请求以及更新信息,更新交易update_request=(tx',tx,header)被发送到目标链中,当收到该请求之后,目标链中的节点首先验证此笔交易的合理性,通过签名认证算法来验证其合理性,若签名验证通过,目标链中的节点开始更新区块信息;若验证不通过,目标链中的节点不进行数据更新操作。
接下来,目标链中的节点开始进行数据更新,假设目标链中用于更新的节点为uclient,该节点在验证通过此笔交易之后,首先header中的信息定位此笔交易的位置,然后生成更新数据请求消息request'=(prev_hash”,last_hash”,addresstx',tx'),广播通知网络中的节点{u1,u2,...,uj}\{uclient},当这些节点收到请求之后,验证此笔交易是否为uclient发出的,若签名认证无法通过,此笔交易被抛弃;若验证通过,目标链中的节点返回信息{id(u1),id(u2),id(u3),..,id(uε)}(ε>t)表明同意此笔交易更新。接下来,节点{u1,u2,u3,..,uε}利用去中心化的变色龙哈希函数中的更新函数生成此笔交易信息新的随机值,其中header0和r0是原始区块中的头部信息和随机值,/>其中/>是随机选取的随机值。最后,当完成随机值的生成后,节点uclient计算更新交易的哈希hashtx'=(H(tx'1),...,H(tx'ω)),同时生成此交易的根哈希值merkle_root'用作一致性验证。
监管链对于跨链动态数据更新一致性进行验证。处理过程如下:
监管链接收到来自源链审计请求中包含更新交易的merkle_root用作一致性验证,目标链在更新交易后发送审计证明merkle_root'以及更新后的信息来证明其进行了正确的更新,监管链中的智能合约按照审计规则比对merkle_root和merkle_root'是否相等,同时利用来验证目标链是准确更新了数据,保证动态数据跨链交互的一致性。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种动态跨链数据一致性去中心化验证方法,其特征在于,包括以下步骤:
1)源链中的用户节点发起数据动态更新请求,源链中的其余节点通过验证该请求的签名来验证其合理性;
2)若数据动态更新请求的签名验证通过,源链中的用户节点通过变色龙哈希函数对源链存储的数据进行数据动态更新操作,若数据动态更新请求的签名验证不通过,则不对源链存储的数据进行数据动态更新操作;
3)源链中的用户节点对源链存储的数据更新完成之后,在区块链网络中发送广播通知源链中的其余节点对源链存储的数据进行动态更新;
4)步骤3)其余节点对源链存储的数据动态更新完成之后,用户节点再将数据动态更新请求发送给目标链中的节点,并生成一致性审计请求发送给监管链;目标链中的节点接收到来自源链的数据动态更新请求后,首先利用签名验证数据动态更新请求的合理性,若签名不通过,拒绝进行数据动态更新请求;若签名通过,目标链的节点根据数据动态更新请求定位数据的位置并进行数据动态更新,在更新完数据之后,在区块链网络中发送广播通知目标链中的其余节点对目标链存储的数据进行动态更新,目标链中的节点生成一致性审计证明发送给监管链;其中,一致性为目标链中的其余节点对目标链存储的数据进行动态更新之后的数据和源链中的其余节点对源链存储的数据进行动态更新之后的数据保持一致;
5)监管链接收到来自源链中的一致性审计请求,若一致性审计请求验证通过,此次数据动态更新流程顺利完成;若一致性审计请求验证无法通过,监管链发送通知给源链通知其一致性审计请求无法通过,对目标链的节点进行惩罚,剥夺其动态更新数据的权力;
步骤1)的实现过程为:
1.1)生成用户注册信息,包括用户节点{u1,u2,u3,...,un},其中n为用户节点的个数,公私钥匙对(Ui,skui)用户节点ui的身份信息id(ui),i=1,2,3,……,n;
设置公开的公钥:获取用户节点对应的公钥U1,U2,U3,...,Un:
其中g是G的一个随机生成元,G为阶为q的乘法循环群;
将所有用户节点的公钥进行聚合生成一个公开的公钥U:
1.2)根据密钥生成算法生成变色龙哈希密钥,区块链中的用户节点ui随机选择一个阶数为2t-1的多项式:
其中:参数j∈{1,……,2t-1},y表示用户节点ui的公钥Ui,bi,j表示在整数域/>上的随机值;
用户节点ui将信息:
发送给用户节点uj,其中:i∈{1,...,t},j∈{1,...,2t}\{i},\表示前面的集合中不包括后面集合中的元素,Fi(·)表示一个阶数为2t-1的多项式,表示用户节点ui的公钥即Ui,g表示随机生成元;
当用户节点uj收到了来自用户节点ui的信息后,用户节点uj验证信息的正确性;当信息的正确性验证通过后,用户节点uj输出一个t-1阶多项式以及t个共享信息:
(f1(id(u1),id(ui)),...,(ft(id(ut),id(ui)),
1.3)用户节点uj将信息:
发送给用户节点ui,其中j∈{1,...,n}\{i};
当用户节点ui收到来自用户节点uj的信息之后验证信息的正确性;最后,用户节点ui输出一个2t-1阶多项式以及2t个共享信息:
(f(id(ui),id(u1)),...,(f(id(ui),id(u2t))。
2.如权利要求1所述的一种动态跨链数据一致性去中心化验证方法,其特征在于,步骤2)和步骤3)中数据动态更新的实现过程如下:
数据预处理:首先,将源链存储的数据划分成K个区块,将每个区块分为S个片段,对于每个片段:
{ki,j}∈Zp,i∈[0,K-1],j∈[0,S-1],
接下来,随机选取随机生成元g1∈G,对于第k个区块中的第j个片段,计算标签:
最后构建一颗具有K个叶子节点的默克尔树,每个叶子节点leas=(lind,hind),其中ind是默克尔树中节点的索引,lind是从第ind个节点到达叶子节点的数量,hind是哈希值;
数据更新:首先,用户节点ui创建新的交易内容tx'=(tx1',tx'2,...,tx'ω)来更新原始交易内容tx=(tx1,tx2,...,txω),接着利用签名算法来验证交易内容(txi,txi')是否是用户节点ui所创建的,若该请求确实是用户节点ui创建的,则用户节点ui拥有动态更新数据的权力,然后,用户节点ui按照(lind,hind)位置信息找到目标节点数据,对该数据进行数据动态更新,同时利用默克尔哈希算法生成新的默克尔根。
3.如权利要求2所述的一种动态跨链数据一致性去中心化验证方法,其特征在于,步骤4)中的源链的用户节点将源链数据经过动态更新后数据的默克尔根以及一致性审计请求发送给监管链,与此同时,源链中的用户节点发送数据动态更新请求给目标链,数据动态更新请求包含源链数据经过动态更新后数据的默克尔根以及经过动态更新后变色龙哈希函数重新生成的随机值。
4.如权利要求3所述的一种动态跨链数据一致性去中心化验证方法,其特征在于,步骤5)的实现过程为:
数据请求验证:源链中的用户节点发送数据动态更新请求update_request=(tx',tx,header)到目标链中,其中header为源链存储的数据经过动态更新后数据的默克尔根,目标链中的节点通过签名认证算法验证数据动态更新请求的合理性,若签名验证通过,目标链中的节点开始数据动态更新;若验证不通过,目标链中的节点不进行数据动态更新;
数据动态更新:假设目标链中用于动态更新的节点为uclient,该节点在验证通过数据动态更新请求update_request=(tx',tx,header)之后,首先通过header中的信息定位需要进行动态更新的数据的位置,然后生成更新数据请求:
request'=(prev_hash”,last_hash”,addresstx',tx'),
广播通知区块链的其他节点该更新数据请求,当这些节点收到该更新数据请求之后,验证该更新数据请求是否为节点uclient发出的,若签名认证无法通过,此请求被抛弃;若验证通过,目标链中的节点返回相应的身份信息{id(u1),id(u2),id(u3),..,id(uε)},其中uε是目标链中的节点,且ε>t,表明同意该更新数据请求并进行更新,接下来,节点{u1,u2,u3,..,uε}通过变色龙哈希函数中的更新算法:
生成新的变色龙哈希随机值,其中header0和r0是源链存储的数据的默克尔根和变色龙哈希随机值,
其中是随机选取的随机值,输入公私钥匙对(Ui,skui),源链存储的数据和变色龙哈希随机值以及更新后的变色龙哈希随机值,节点uclient计算更新请求的哈希hashtx'=(H(tx1'),...,H(tx'ω)),同时生成该更新数据请求的默克尔根merkle_root'用作一致性验证。
5.如权利要求4所述的一种动态跨链数据一致性去中心化验证方法,其特征在于,步骤6)中审计请求中包含源链数据经过动态更新后数据的默克尔根,目标链更新数据请求的默克尔根merkle_root'以及更新后的信息:
来证明其进行了正确的更新,监管链中的智能合约按照审计规则比对源链数据经过动态更新后数据的默克尔根和目标链更新数据请求的默克尔根merkle_root'是否相同,同时利用:
来验证目标链是准确更新了数据,保证动态数据跨链交互的一致性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211248956.4A CN115632791B (zh) | 2022-10-12 | 2022-10-12 | 一种动态跨链数据一致性去中心化验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211248956.4A CN115632791B (zh) | 2022-10-12 | 2022-10-12 | 一种动态跨链数据一致性去中心化验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115632791A CN115632791A (zh) | 2023-01-20 |
CN115632791B true CN115632791B (zh) | 2024-03-19 |
Family
ID=84905209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211248956.4A Active CN115632791B (zh) | 2022-10-12 | 2022-10-12 | 一种动态跨链数据一致性去中心化验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115632791B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070644A (zh) * | 2016-12-26 | 2017-08-18 | 北京科技大学 | 一种基于信任网络的去中心化公钥管理方法和管理系统 |
CN107301600A (zh) * | 2017-06-23 | 2017-10-27 | 北京天德科技有限公司 | 一种跨链交易的区块链互联网模型的核心算法 |
KR101829729B1 (ko) * | 2016-11-03 | 2018-03-29 | 주식회사 코인플러그 | 블록체인 및 이와 연동하는 머클 트리 구조를 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버 |
KR101924026B1 (ko) * | 2017-11-10 | 2018-11-30 | 부산대학교 산학협력단 | 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법 |
KR20190104793A (ko) * | 2018-03-02 | 2019-09-11 | 주식회사 아이콘루프 | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 |
WO2020024465A1 (zh) * | 2018-08-01 | 2020-02-06 | 中国科学院数据与通信保护研究教育中心 | 一种区块链的数据可追踪方法 |
WO2022027531A1 (zh) * | 2020-08-03 | 2022-02-10 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
CN114329621A (zh) * | 2021-12-15 | 2022-04-12 | 南京航空航天大学 | 一种区块链跨链交互数据完整性验证方法 |
WO2022095244A1 (zh) * | 2020-11-06 | 2022-05-12 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN115150057A (zh) * | 2022-06-30 | 2022-10-04 | 南京航空航天大学 | 一种区块链跨链交互数据计算结果的完整性验证方法 |
-
2022
- 2022-10-12 CN CN202211248956.4A patent/CN115632791B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101829729B1 (ko) * | 2016-11-03 | 2018-03-29 | 주식회사 코인플러그 | 블록체인 및 이와 연동하는 머클 트리 구조를 통해 모바일 아이디를 이용하여 사용자를 인증하는 방법, 단말 및 이를 이용한 서버 |
CN107070644A (zh) * | 2016-12-26 | 2017-08-18 | 北京科技大学 | 一种基于信任网络的去中心化公钥管理方法和管理系统 |
CN107301600A (zh) * | 2017-06-23 | 2017-10-27 | 北京天德科技有限公司 | 一种跨链交易的区块链互联网模型的核心算法 |
KR101924026B1 (ko) * | 2017-11-10 | 2018-11-30 | 부산대학교 산학협력단 | 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법 |
KR20190104793A (ko) * | 2018-03-02 | 2019-09-11 | 주식회사 아이콘루프 | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 |
WO2020024465A1 (zh) * | 2018-08-01 | 2020-02-06 | 中国科学院数据与通信保护研究教育中心 | 一种区块链的数据可追踪方法 |
WO2022027531A1 (zh) * | 2020-08-03 | 2022-02-10 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
WO2022095244A1 (zh) * | 2020-11-06 | 2022-05-12 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN114329621A (zh) * | 2021-12-15 | 2022-04-12 | 南京航空航天大学 | 一种区块链跨链交互数据完整性验证方法 |
CN115150057A (zh) * | 2022-06-30 | 2022-10-04 | 南京航空航天大学 | 一种区块链跨链交互数据计算结果的完整性验证方法 |
Non-Patent Citations (3)
Title |
---|
BeDCV: Blockchain-Enabled Decentralized Consistency Verification for Cross-Chain Calculation;Yushu Zhang等;IEEE;全文 * |
Recording Behaviors of Artificial Intelligence in Blockchains;Yushu Zhang等;IEEE;全文 * |
Redactable Blockchain From Decentralized Chameleon Hash Functions;Meng Jia等;IEEE;20220720;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115632791A (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057187B2 (en) | Blockchain-assisted hash-based data signature system and method | |
Chepurnoy et al. | Edrax: A cryptocurrency with stateless transaction validation | |
Huang et al. | Scalable and redactable blockchain with update and anonymity | |
US11979493B2 (en) | Methods and systems to establish trusted peer-to-peer communications between nodes in a blockchain network | |
Wang et al. | Enabling public auditability and data dynamics for storage security in cloud computing | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN113162768B (zh) | 一种基于区块链的智能物联网设备认证方法及系统 | |
CN114730420A (zh) | 用于生成签名的系统和方法 | |
EP3869376B1 (en) | System and method for blockchain based decentralized storage with dynamic data operations | |
CN109272316B (zh) | 一种基于区块链网络下的区块实现方法及系统 | |
CN114915404A (zh) | 一种面向物联网的区块链数据存储扩展模型构建方法 | |
US12008569B2 (en) | Transaction verification system and method of operation thereof | |
CN112039837B (zh) | 一种基于区块链和秘密共享的电子证据保全方法 | |
Wu et al. | Robust and auditable distributed data storage with scalability in edge computing | |
Peng et al. | Secure lightweight stream data outsourcing for internet of things | |
CN117201031A (zh) | 一种基于同态哈希树的文件分布式存储共享方法 | |
CN115632791B (zh) | 一种动态跨链数据一致性去中心化验证方法 | |
Feng et al. | One-stop efficient PKI authentication service model based on blockchain | |
CN113626874B (zh) | 基于数据存龄和完整性验证的共识验证方法、系统、终端 | |
Xu et al. | Ecom: Epoch randomness-based consensus committee configuration for iot blockchains | |
CN113112269A (zh) | 多重签名方法、计算机设备和存储介质 | |
GB2571927A (en) | Resource management system and method of operation thereof | |
Wang et al. | Online Trading Platform for Power Company Suppliers Based on Blockchain Technology | |
Fu et al. | New public blockchain protocol based on sharding and aggregate signatures | |
Yang et al. | Improved verifiability scheme for data storage in cloud computing |
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 |