掌桥专利:专业的专利平台
掌桥专利
首页

基于监管链的多链共享数据一致性审计方法

文献发布时间:2023-06-19 19:30:30


基于监管链的多链共享数据一致性审计方法

技术领域

本发明属于区块链审计技术领域,尤其涉及一种基于监管链的多链数据一致性审计方法。

背景技术

现有技术“Kang J,Li X,Nie J,et al.Communication-Efficient and Cross-chain Empowered Federated Learning for Artificial Intelligence of Things[J].IEEE Transactions on Network Science and Engineering,2022.”提出跨链授权联邦学习,其核心思想是针对特定的联邦学习任务部署多个区块链,分别单独执行学习任务以保护数据隐私,并通过跨链方法,实现安全的区块链协作和交互。

现有技术“Qiao R,Luo X Y,Zhu S F,et al.Dynamic autonomous crossconsortiumchain mechanism in e-healthcare[J].IEEE journal of biomedical andhealth informatics,2020,24(8):2157-2168.”提出电子医疗中的动态自治跨联盟链机制,该方法可以使患者在医疗联盟链中共享记录。医疗机构之间安全自主的数据交互可以增加临床试验记录的数量,对于提高医疗试验协作水平,特别是对于罕见疾病的临床决策具有重要意义。

不管是联邦学习,还是医疗研究机构,都需要在多个区块链之间共享数据。上述方法只提出了如何基于区块链进行跨链协作和交互,而没有对多链共享数据的一致性进行研究。如果某个区块链篡改并滥用共享数据,将对联邦学习或医疗研究结果造成无法估计的影响。

现有的针对数据一致性的研究,大多集中在链下。比如,“Lamport L.The part-time parliament[M]//Concurrency:the Works of Leslie Lamport.2019:277-317.”提出的paxos一致性算法以及“Ongaro D,Ousterhout J.In search of an understandableconsensus algorithm[C]//2014USENIX Annual Technical Conference(Usenix ATC14).2014:305-319.”提出的raft一致性算法,解决了数据一致性的问题,但这些研究针对的是链下数据,对于跨链数据并不适用。再比如,“Jiang J,Zhang Y,Zhu Y,et al.DCIV:Decentralized cross-chain data integrity verification with blockchain[J].Journal of King Saud University-Computer and Information Sciences,2022.”提出的跨链数据完整性审计方法,基于监管链对跨链数据进行审计,保证了跨链前后数据的完整性。但她的研究只适用于一个发送方和一个接收方的情况,对于需要在多条区块链之间共享的数据并不适用。

发明内容

发明目的:本发明的目的是提供一种基于监管链的多链共享数据一致性审计方法,该方法通过部署监管链,对多链共享数据进行定期审计,有效防止恶意区块链在参与数据共享时篡改或者伪造数据,解决了多个区块链共享数据的一致性问题。

技术方案:一种基于监管链的多链共享数据一致性审计方法,包括以下步骤:

(1)数据所有者将原始数据M上传至接收链,由接收链对数据M进行处理,得到第一数据组σ;

(2)接收链对原始数据M进行处理,得到第二数据组M',接收链将第一数据组σ和第二数据组M'一起发送至所有参与数据共享的接入链;

(3)当监管链对多链数据的一致性进行审计时,监管链首先生成挑战信息Q,并将挑战信息Q发送至被审计的接入链;

(4)被审计的接入链收到监管链发送的挑战信息Q后,接入链分别根据存储的数据生成证明信息,并将证明信息返回至监管链,监管链对收到的证明信息进行聚合,并根据聚合结果对数据的一致性进行审计,审计通过则表明接入链所存储的数据是一致的,否则表明存在接入链篡改或伪造数据。

进一步的,步骤(1)中对原始数据M进行处理过程包括:

参数设置:G是一个阶为p的循环群,g是群G的生成元;接收链选取一个大素数p,同时选取随机值

数据分块:接收链将数据M划分为大小相同的数据块,表示为M=(m

签名生成:接收链以数据块为单位生成签名s

该步骤中,优选的,接收链将数据M划分的大小为8KB。

进一步的,步骤(2)中对原始数据M进行处理过程包括:

密钥生成:接入链生成公私密钥对(e,d),公钥e公开,私钥d由所有接入链通过安全通道共享;

数据加密:接收链以数据块为单位,使用公钥e和加密公式

数据传递:接收链将签名集σ=(R,s

数据解密:接入链收到接收链同步的数据M'后,使用私钥d和解密公式m

签名验证:接入链通过公式

进一步的,步骤(3)中生成挑战信息Q的过程包括:

随机选取接入链:参与数据共享的接入链共有s条,每次审计时,监管链从所有s条接入链中随机选取d条接入链进行审计,被选中的接入链构成集合D;

随机选取数据块:每次审计时,监管链从数据块[1,n]中随机选取c个数据块进行审计,被选中的数据块构成集合Q;

挑战信息生成:对于每一个被选中的数据块m

数据传递:监管链将挑战信息Q={(i,v

该步骤中,优选的,随机选取d条接入链的个数为参与数据共享的总接入链个数的一半,即

进一步的,步骤(4)中审计过程包括:

证明生成:收到挑战信息Q={(i,v

数据传递:接入链将{α

审计:监管链收到证明信息{α

有益效果:与现有技术相比,本发明所述的基于监管链的多链共享数据一致性审计方法,能够对多个接入链共享数据的一致性进行审计。同时,在审计过程中,通过数据加密和离散对数问题的难解性,一方面可以防止链外对手从跨链过程获取数据,另一方面可以防止监管链从审计过程推测数据,从而保证了数据的隐私性。此外,该方法不仅解决了共享数据的一致性问题,同时具有较高的审计效率。

附图说明

图1为本发明的模型角色示意图;

图2为本发明的审计流程示意图。

具体实施方式

下面结合实施例和附图对本发明的技术方法做进一步详细说明。

参考图1和图2,本发明所提供的是一种基于监管链的多链共享数据一致性审计方法,结合上述的技术方案内容,本发明的实施主要包括以下四个阶段:

(1)密钥生成阶段,此阶段由接收链完成。

接收链选取一个随机值作为私钥,并根据私钥计算出公钥。其中,私钥由接收链秘密存储,公钥由接收链进行公开。此外,接收链生成系统公共参数,包括循环群G,其生成元g,大素数p,键控哈希函数H

阶段(1)中公私密钥及系统公共参数生成的方法包括:

公私密钥生成:接收链选取随机值

系统公共参数生成:接收链选取一个大素数p,大素数p要求大于1024位,使得计算离散对数问题在

(2)签名生成阶段,此阶段由接收链完成。

首先,用户将共享数据上传至接收链。然后,接收链对用户上传的共享数据进行分块,并以数据块为单位生成签名。

具体的,首先,用户将需要共享的数据M上传至接收链。收到用户上传的共享数据M后,接收链将数据M划分为n块,表示为M=(m

s

(3)数据加密阶段,此阶段由接收链和接入链共同完成。

为了防止数据跨链过程中,链外对手窃取数据隐私信息,在接收链将共享数据同步至接入链之前,需要对数据进行加密。首先,接收链通过加密算法对划分后的数据块进行加密,并将加密后的数据块和阶段(2)生成的签名集一起同步至接入链。接入链收到接收链同步的共享数据后,通过解密算法对数据块进行解密,从而得到原始数据。为了防止接收链恶意同步虚假或错误数据至接入链,接入链先通过验证公式验证解密后的数据与签名是否一致,验证通过后接受并存储接收链同步的数据,否则,接入链拒绝接受数据。

具体的说,接收链在向接入链同步共享数据之前,对数据M以块为单位进行加密。首先,接入链生成公私密钥对(e,d),公钥e公开,私钥d由所有接入链通过安全通道共享。然后,接收链使用公钥e对数据块m

加密后的数据表示为M'=(m'

为了防止接收链恶意发送虚假或错误数据给接入链,接入链收到加密数据M'和签名集σ后,通过私钥d对收到的数据块m

m

最后,接入链使用公钥PK和参数R验证解密后的数据块m

若等式成立,则说明验证通过,接入链接受并存储数据M及签名集σ。

(4)审计阶段,此阶段由接入链和监管链共同完成。

在审计开始之前,参与数据共享的接入链需向监管链抵押一定数量代币。审计过程分为三个步骤,分别是挑战生成、证明生成和审计。首先,监管链随机选择部分接入链参与挑战。监管链将挑战信息发送至被选中的接入链,其中包括被审计的数据块索引等信息。收到挑战信息后,接入链根据存储的数据块及签名生成证明信息,并将证明信息返回至监管链。监管链收到接入链返回的证明信息后,为了提高审计效率,监管链先对证明信息进行聚合,再通过审计公式对聚合后的结果进行审计。如果审计成功,则说明所有接入链的数据一致,否则说明存在接入链篡改或伪造数据,监管链将扣除其抵押的代币。

具体步骤如下:

(4.1)挑战生成。

参与数据共享的接入链共有s条,其中每条接入链上都存储了共享数据M。每次审计时,监管链从数据块[1,n]中随机选取一个c元素子集Q,对于每一个数据块m

(4.2)证明生成(以其中任意一条接入链为例)。

收到挑战信息Q={(i,v

β

然后,接入链将{α

(4.3)审计。

监管链收到所有接入链的证明信息{α

监管链将计算结果α与接入链证明信息中的签名α

如果所有接入链签名一致,即α=α

最后,监管链根据聚合结果按照下述公式判断接入链共享数据的一致性:

若等式成立,则说明所有接入链存储的数据一致,若不成立,则说明存在接入链篡改或伪造数据。

奖惩:监管链首先对签名不一致的接入链进行惩罚,然后根据审计结果对数据不一致的接入链进行惩罚,惩罚方式为扣除其事先抵押的代币。

通过上述具体实施方式可知,本发明基于监管链对所有接入链之间的共享数据进行定期审计,实现“以链治链”。同时,利用加密算法和离散对数等问题的难解性,保护了数据跨链过程以及审计过程的数据隐私。该方法具有良好的审计效率和审计结果,对于多链共享数据的一致性问题有着较低的计算成本,是一种高效的多链数据审计方法。

实施例1

结合上述本发明所实施的步骤,针对多链进行数据共享的情况,分别将数据块大小设为4KB到32KB不等,并在此基础上对签名生成、证明生成和审计三个阶段所花费的时间进行统计,统计结果如表1所示。分析表1可知,签名生成阶段所花费的时间最多,这是因为签名生成针对所有n个数据块,而证明生成和审计只针对被监管链选中的c个数据块(c

表1签名生成、证明生成、审计三个阶段的时间成本比较

针对2000个数据块进行数据共享的情况,假设其中某条接入链分别有2%(即40)、3%(即60)、5%(即100)、10%(即200)的数据块被篡改,导致其与其它接入链数据不一致。监管链从2000个数据块中任意选取20到160个数据块,并经过本发明所述方法进行审计,对审计成功的概率进行统计,统计结果如表2所示,其中审计到任意不一致的数据块即为审计成功。分析表2可知,当有2%的数据块被篡改时,审计其中任意120个数据块,即可达到90%以上的检测概率;当有10%的数据块被篡改时,审计其中任意40个数据块,即可达到90%以上的检测概率。

表2不一致性检测概率

通过上述实施例可知,本发明所述审计方法采用随机选取数据块进行审计的方式,在保证审计成功率的同时,节约了审计过程的时间成本,大大提高了审计效率。该方法具有良好的审计效率和审计成功率,是一种安全高效的审计算法。

技术分类

06120115932575