CN116562874A - 一种基于零知识证明的隐私保护跨链交易验证方法 - Google Patents
一种基于零知识证明的隐私保护跨链交易验证方法 Download PDFInfo
- Publication number
- CN116562874A CN116562874A CN202310473481.7A CN202310473481A CN116562874A CN 116562874 A CN116562874 A CN 116562874A CN 202310473481 A CN202310473481 A CN 202310473481A CN 116562874 A CN116562874 A CN 116562874A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- link
- transaction
- relay
- 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 62
- 238000012795 verification Methods 0.000 title claims abstract description 47
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 239000003999 initiator Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000005242 forging Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010011971 Decreased interest Diseases 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 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
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于零知识证明的隐私保护跨链交易验证方法,用于解决现有跨链平台难以在隐私保护的前提下验证跨链交易真实性的难题。基于零知识证明与集合成员证明的隐私保护特性,根据跨链交易隐私内容与默克尔树的计算关系,创造性地提出了一种基于零知识证明的隐私保护跨链交易验证方法,源链生成零知识证明以证明跨链交易的真实性,中继链验证零知识证明从而审查跨链交易,实现隐私保护的跨链交易验证方法。本发明提供的方法有效地防止了恶意用户伪造跨链交易;解决了中继链节点存在自主干扰跨链交易执行与隐私泄露的问题;中继节点无需查看跨链交易内容即可零知识地审查跨链交易的合法性,提高跨链交易执行的可靠性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于零知识证明的隐私保护跨链交易验证方法。
背景技术
现有跨链技术包括哈希锁定、公证人和中继链等。其中哈希锁定多用于原子资产交易,难以实现跨链数据互通。公证人技术多依赖于中心化公证人或半中心化委员会等方式执行跨链交易,实现链与链之间的可信数据互通,因此公证人存在中心化难题,跨链过程难以被交易双方认可,公证人存在跨链隐私泄露与干扰交易执行等问题。这里的公证人可以是具备公私钥的自动化执行程序,负责传递跨链交易辅助实现跨链的流程,然而此类公证人程序容易被恶意控制。中继链能够维护其他链上的交易映射,中继链负责将跨链交易在中继链上产生映射,跨链交易双方可以将中继链看作是可信的中继机构。中继链由于其具备的可信与可扩展特性,已成为目前最为通用的跨链方案。
发明内容
本发明的实施例提供了一种基于零知识证明的隐私保护跨链交易验证方法,用于解决现有技术中存在的技术问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于零知识证明的隐私保护跨链交易验证方法,包括:
S1对中继链的跨链节点进行系统初始化,通过平行链向中继链进行链注册,通过服务链向中继链提交本链域内提供的服务列表;
S2通过平行链将本链运行的区块头实时地同步到中继链,通过中继链维护各条区块链的区块头,存储有效的区块头信息;
S3基于有效的区块头信息,通过平行链的源链生成零知识证明;该零知识证明用于证明源链中真实包含了一笔跨链交易;
S4通过中继链使用零知识集合成员证明方法对跨链交易的合法性进行审查,审查的内容包括跨链交易的目标服务是否隶属于中继链存储的跨链服务列表;
S5通过源链的跨链节点将该笔跨链交易内容进行加密生成密文,通过平行链的目标链的跨链节点读取跨链请求并对密文进行解密。
优选地,步骤S1包括:
S11根据安全参数λ对中继链的跨链节点进行系统初始化,生成公共参数列表(p,e,G1,G2,GT),其中p是素数,以p为阶的三个循环群G1、G2和GT满足双线性配对关系e:G1×G2→GT;
S12编写验证跨链交易合法性的计算电路C,根据公共参数执行密钥生成算法KeyGen(C)→(pk,vk);其中证明密钥pk通过秘密信道共享给平行链的跨链节点用于生成证明,验证密钥vk提交到跨链智能合约中用于验证证明的有效性;
S13通过跨链节点代表所属的平行链向中继链提交注册请求和注册信息,通过中继链对平行链进行身份认证和审核,将该平行链的跨链节点公钥与时间戳进行字符串拼接,通过哈希算法进行哈希计算,取哈希计算结果的前10字节作为链ID;注册信息包括:该平行链的区块结构、共识机制和哈希算法,以及跨链节点的具有公钥信息的数字证书;
S14通过服务平台链在该平行链部署智能合约,并将服务列表同步到中继链,使得中继链通过服务列表合约,利用哈希算法为每项服务分配唯一标识服务ID作为主键;每一条区块链服务信息包括服务ID、链ID、智能合约地址、函数名与参数和跨链节点公钥。
优选地,步骤S2包括:
S21通过平行链将自身运行的区块头实时地同步到中继链,通过中继链维护平行链中各条区块链的区块头,存储有效的区块头信息;
S22通过区块头的哈希指针检查所属区块链的连续性。
优选地,步骤S3包括:
S31通过源链接收跨链交易发起方发送的跨链请求数据包,该跨链请求数据包包括目标链ID、时间戳、智能合约地址、智能合约函数名与参数列表;目标链ID、智能合约地址和智能合约函数名用于指向目标链中的指定服务;
S32将区块头同步到中继链中作为存证;
S33基于交易哈希与区块头中的默克尔树根具有哈希路径关系,通过隐私数据计算得到交易哈希;
S34通过式
π←Prove(pk,C,(MerkleRoot,Path),(TX))
计算获得零知识证明;式中,Prove为zkSNARK的证明算法,公开输入(MerkleRoot,Path)与隐私输入(TX)满足计算电路C:C((MerkleRoot,Path),(TX))→true,该计算电路C表示公开输入与隐私输入的确定性运算关系,Path表示TX与MerkleRoot之间存在的计算过程所需的节点组成的集合;
S35通过源链将子步骤S34执行的跨链交易的零知识证明添加到中继链,通过中继链维护的跨链请求列表负责存储跨链调用请求,为该笔请求生成唯一的请求标识请求ID,与对应的零知识证明共同添加到跨链请求列表中;
S36通过zkSNARK中验证证明的算法
Verify(vk,π)→true/false
验证零知识证明的有效性,以及验证源链中存在的这一笔交易中的隐私数据与区块头的运算关系是真实可信的。
优选地,步骤S4包括:
S41通过中继链将已添加的服务列表作为成员集合,利用零知识证明方法证明跨链交易中的目标服务属于成员集合;
S42将跨链服务列表整理成集合S,每一项服务为集合S中的元素;
S43通过发起方基于跨链交易的目标服务对应于集合S中的指定元素σ,选择随机数r并通过式c=gσhr生成承诺;
S44通过发起方利用ZKSM生成零知识证明,零知识证明中承诺c的元素隶属于集合S。
由上述本发明的实施例提供的技术方案可以看出,本发明提供一种基于零知识证明的隐私保护跨链交易验证方法,用于解决现有跨链平台难以在隐私保护的前提下验证跨链交易真实性的难题。基于零知识证明与集合成员证明的隐私保护特性,根据跨链交易隐私内容与默克尔树的计算关系,创造性地提出了一种基于零知识证明的隐私保护跨链交易验证方法,源链生成零知识证明以证明跨链交易的真实性,中继链验证零知识证明从而审查跨链交易,实现隐私保护的跨链交易验证方法。本发明提供的方法具有如下优点:
(1)提出了一种基于零知识证明的跨链交易验证方案,解决了中继链难以确定源链是否存在真实跨链交易的问题。在保护账本隐私的前提下向外界证明源链上存在真实交易,有效地防止了恶意用户伪造跨链交易。
(2)提出了一种基于零知识集合成员证明的跨链交易审查方案,解决了中继链节点存在自主干扰跨链交易执行与隐私泄露的问题。中继节点无需查看跨链交易内容即可零知识地审查跨链交易的合法性,从而避免中继链节点干扰交易执行和泄露交易隐私,提高跨链交易执行的可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于零知识证明的隐私保护跨链交易验证方法的处理流程图;
图2为本发明提供的一种基于零知识证明的隐私保护跨链交易验证方法的跨链交易验证流程的示意图;
图3为本发明提供的一种基于零知识证明的隐私保护跨链交易验证方法的默克尔证明运算关系的示意图;
图4为本发明提供的一种基于零知识证明的隐私保护跨链交易验证方法的跨链交易验证算法流程的示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明提供一种基于零知识证明的隐私保护跨链交易验证方法,用于解决现有技术中存在的如下技术问题:
(1)交易可信问题是实现跨链过程中的主要难题。由于不同的区块链系统之间系统封闭性的问题,一般区块链无法主动获取链外信息,甚至一些涉及到商业信息的区块链平台禁止外界访问,因此交易内容在跨链流动的过程中,难以获得目标链的可信认证。尤其是针对联盟链等非公开链架构。联盟链存在身份授权准入机制与访问权限控制,区块链交易数据不对外开放,跨链交易双方无法读取对方所在链上的交易内容,无法验证对方链上的交易验证过程,难以确认对方链上是否真实地提交了跨链交易;
(2)跨链过程存在被中间机构干扰甚至拒绝服务的问题。由于技术能力不足或者利益关系,中继链等中间机构可能会恶意干扰正常跨链交易的执行。中间机构可以对跨链交易进行篡改、重放等攻击,使得交易被恶意篡改或者被重复执行,从而导致资产损失和其他风险。中间机构被恶意控制还会导致跨链交易的可用性下降,中间机构的故障或攻击可能导致跨链交易无法顺利完成,从而影响交易的可用性和效率,如果中间机构被恶意攻击导致系统瘫痪,交易信息无法被传递和验证,跨链交易就无法完成;
(3)中继链难以确定源链是否真实存在跨链请求交易。联盟链类的区块链平台存在准入机制与访问控制,内部的账本交易内容不对外开放查看,中继链无法读取跨链交易发起方所在链上的交易内容,因此难以确定是否真实存在跨链请求的交易,如何在保护账本隐私的前提下向外界证明链上存在真实交易的难题亟需解决,防止恶意用户伪造跨链交易。
(4)中继链节点存在自主干扰跨链交易执行的恶意行为。中继链节点可以通过改变交易顺序、拒绝服务指定链用户或交易类型等方式干扰跨链交易执行,恶意选择跨链交易或安排特定的执行顺序可能造成智能合约逻辑错误或跨链用户利益损失。
(5)中继链存储的跨链交易内容存在隐私泄露问题。跨链服务提供方开放跨链服务列表,中继链上传递的针对指定跨链服务的交易内容易被追溯并分析,恶意用户通过分析跨链交易的目标接口与交易内容信息去学习跨链服务的特征,造成隐私泄露。
中国发明专利公开说明书CN115689751A公开了一种跨链交易方法,并具体公开了:接收第一区块链节点发送的跨链交易请求,跨链交易请求中包括交易信息和验证信息;获取第一区块链节点对应的第一合约标识;根据第一合约标识和验证信息进行交易验证,得到验证结果;在验证结果为验证成功后,向中继链发送验证结果和交易信息。该方案的交易验证过程利用交易内容信息与共识达到的验证信息进行验证,因此,验证者能够查看具体的交易内容,容易造成隐私泄露难题,不具备隐私保护特性。
中国发明专利公开说明书CN115665141A公开了一种智能合约的跨链调用方法及装置,并具体公开了:获取服务使用方针对用户服务的调用数据;其中,用户服务的服务接口绑定了部署在其它成员区块链上的用户智能合约所包含的合约执行逻辑;响应于调用数据,调用系统智能合约包含的跨链调用逻辑,从与服务接口绑定的合约执行逻辑中,为服务使用方确定目标合约执行逻辑,并发起针对其它成员区块链上部署的包含目标合约执行逻辑的用户智能合约的跨链调用。该方案需要搬运跨链数据,再利用同步的区块头中的梅克尔根进行梅克尔证明,从而验证跨链数据,但是搬运跨链数据存在隐私泄露问题,因此该方案不具备隐私保护特性。
参见图1和2,本发明提供一种基于零知识证明的隐私保护跨链交易验证方法,包括如下步骤:
S1系统初始化:对中继链的跨链节点进行系统初始化,通过平行链向中继链进行链注册,通过服务链向中继链提交本链域内提供的服务列表;
S2同步区块头:通过平行链将本链运行的区块头实时地同步到中继链,通过中继链维护各条区块链的区块头,存储有效的区块头信息;
S3跨链调用证明:基于有效的区块头信息,通过平行链的源链生成零知识证明;该零知识证明用于证明源链中真实包含了一笔跨链交易;
S4服务列表审查:通过中继链使用零知识集合成员证明方法对跨链交易的合法性进行审查,审查的内容包括跨链交易的目标服务是否隶属于中继链存储的跨链服务列表;
S5传递跨链请求:通过源链的跨链节点将该笔跨链交易内容进行加密生成密文,通过平行链的目标链的跨链节点读取跨链请求并对密文进行解密。
在本发明提供的实施例中,部分术语的定义如下:
区块链:区块链是一种分布式账本技术,通过将数据分成许多块,并使用密码学方法将这些块链接在一起,从而实现数据的安全存储和共享,区块链的最大特点是去中心化,区块链的分布式记录技术在确保数据完整性和可靠性方面具有显著的优势,并且具有抗篡改的特点。
跨链:跨链是一种技术,可以让不同的区块链系统之间进行数据交换和资产转移,能有效保证跨链智能合约调用和跨链资产交易的原子性。跨链方案主要包括公证机制、中继/侧链、哈希锁定和分布式密钥控制。
中继链:中继链属于一种跨链技术,是指连接多条区块链的中间区块链,实现不同区块链之间的数据交换和传输。中继链可以通过分布式算法确保数据的一致性和完整性,从而实现跨链系统的数据共享和互操作,并验证跨链交易的合法性。
零知识证明:零知识证明是一种密码学方法,它允许一方向另一方证明自己具有某些信息,而不需要将这些信息提供给对方。这使得零知识证明非常适用于保护隐私,因为证明者可以在证明某个事实的同时保留其隐私。zkSNARK是一种零知识证明技术,用于向其他人证明某个特定声明是真实的,而无需提供任何能证明该声明真实的证据,包括密钥生成(KeyGen)、生成证明(Prove)和验证证明(Verify)三个算法步骤。
本发明包括5种实体:跨链交易发起方、源链、目标链、中继链、跨链节点。
跨链交易发起方:跨链交易发起方指的是在不同的区块链网络之间进行交易的主体,他们通过使用跨链技术向其他的区块链网络中发起跨链交易。
源链:源链是跨链交易发起方所在的区块链平台。
目标链:目标链是跨链交易发起方的目标区块链平台,运行着待调用的智能合约服务。
中继链:中继链是指连接多条区块链的中间区块链,实现不同区块链之间的数据交换和传输。中继链可以通过分布式算法确保数据的一致性和完整性,从而实现跨链系统的数据共享和互操作。中继链负责验证跨链交易的合法性,维护跨链服务列表。
跨链节点:跨链节点用于连接不同区块链网络,它可以帮助不同区块链网络之间的跨链交易,帮助不同区块链网络之间的智能合约进行交互。
源链和目标链共同组成了平行链。
在本发明提供的优选实施例中,步骤S1的具体过程如下:
S11:中继链的跨链节点进行zkSNARK初始化。根据安全参数λ执行初始化操作,生成公共参数列表(p,e,G1,G2,GT),其中p是素数,以p为阶的三个循环群G1、G2和GT满足双线性配对关系e:G1×G2→GT。
S12:编写验证跨链交易合法性的计算电路C,根据公共参数执行密钥生成算法KeyGen(C)→(pk,vk),其中证明密钥pk(proving key)通过秘密信道共享给平行链的跨链节点用于生成证明,验证密钥vk(verification key)提交到跨链智能合约上以供验证证明的有效性。
S13:平行链向中继链进行链注册。平行链分别选择本链(所属的平行链)的跨链节点,专门用于与外界进行跨链交互。跨链节点代表本链向中继链提交注册请求,并提供本链的区块结构、共识机制、哈希算法等具体信息,并提交跨链节点的包含公钥信息的数字证书。中继链对区块链进行身份认证和审核,确认区块链的合法性和安全性,然后利用哈希算法为各平行链分配链ID作为标识。为了保证链ID的唯一性,将该链的跨链节点公钥与时间戳进行字符串拼接,然后选择哈希算法进行哈希,取哈希结果前10字节作为链ID。跨链系统的身份标识采用DID的形式进行管理,其中存储了跨链节点的公钥作为身份认证,还有分发DID的时间戳、该链的共识机制、哈希算法、链类型等信息。平行链的跨链DID身份结构可以是如下所示:
S14:服务链向中继链提交本链域内提供的服务列表。服务平台链在本链部署用于服务的智能合约,并将服务列表同步到中继链上。中继链运行服务列表合约,合约利用哈希算法为每项服务分配唯一标识服务ID作为主键,每一条区块链服务信息包括服务ID、链ID、智能合约地址、函数名与参数、跨链节点公钥等内容。
进一步的,步骤S2同步区块阶段具体包括以下步骤:
S21:中继链获取各个平行链的区块头。平行链将本链运行的区块头实时地同步到中继链上,中继链维护各条区块链的区块头,存储有效的区块头信息。
S22:中继链进行验证平行链的区块头。区块头的哈希指针可以用于检查区块链的连续性,因为每个区块的哈希值都基于前一个区块的哈希值计算而来。如果平行链中的哈希值和时间戳不正确,中继链会拒绝该区块头的同步。通过这种方式,中继链可以确保获取的平行链区块头的可靠性和正确性。
由于区块头信息是不包含交易数据的,因此涉及到具体交易隐私数据的区块体不需要共享。中继链存储的区块头信息是有限的,只包括区块的哈希值、时间戳和交易数量等关键信息,它们可以用于验证交易的合法性和链的连续性,以及区块链上各个节点的运行状态。
步骤S3跨链调用证明阶段具体包括以下步骤:
S31:跨链交易发起方隶属于源链的范围,跨链服务位于目标链,跨链平台连接起源链与目标链。当跨链交易发起方需要跨链调用目标链的服务时,向源链提交跨链请求,请求包括了目标链ID、时间戳、智能合约地址、智能合约函数名与参数列表,其中目标链ID、智能合约地址和智能合约函数名用于指向目标链中的指定服务,调用参数是向该服务提供的数据参数内容。该请求将被打包成一笔交易,该笔交易与其他多笔交易共同构建默克尔树,树根MerkleRoot添加到区块头。
S32:区块头会同步到中继链中作为存证,包含了服务调用相关的隐私交易内容无需向中继链公开。
S33:源链生成零知识证明用于证明源链中真实包含了一笔交易,该笔交易的智能合约地址、智能合约函数与函数调用参数相关的交易隐私数据与区块头存证具有运算关系。隐私数据计算得到交易哈希,并且交易哈希与区块头中的默克尔树根存在哈希路径关系,这种证明关系称为默克尔证明,其计算式为:
Hijmn=Hash(Hij||Hmn)=Hash(Hash(Hi||Hj)||Hmn)=Hash(Hash(Hi||Hash(TXj))||Hmn)。
以图3中默克尔树为例,密文H1、H34和H1234可以用来验证TX2的真实性,他们之间的运算关系为:H1234=Hash(H12||H34)=Hash(Hash(H1||H2)||H34)=Hash(Hash(H1||Hash(TX2))||H34)
S34:零知识证明的隐私输入是包含隐私数据的交易内容,即图3所示的TX2,包括了时间戳、智能合约地址、函数名与参数列表等交易内容,公开输入是默克尔根与默克尔树中与该笔交易相关的路径上的节点值,即图3所示的密文H1、H34和H1234(MerkleRoot)。如图3所示,生成证明的过程如下:π←Prove(pk,C,(MerkleRoot,Path={H1,H34}),(TX2))。
其中,Prove为zkSNARK的证明算法,公开输入(MerkleRoot,Path={H1,H34})与隐私输入(TX2)需要满足计算电路C:C((MerkleRoot,Path={H1,H34}),(TX2))→true
该计算电路C表示公开输入与隐私输入的确定性运算关系,zkSNARK证明了这种关系。
Path:TX与MerkleRoot之间存在计算过程,Path表示该计算过程所需的节点组成的集合,即图3中所示的运算关系。
S35:源链将此笔跨链交易的零知识证明添加到中继链,中继链维护的跨链请求列表负责存储跨链调用请求,为该笔请求生成唯一的请求标识请求ID,与对应的零知识证明共同添加到跨链请求列表中。
区块头已在中继链中可信存证,源链恶意用户难以伪造区块头以通过区块之间的哈希指针验证,并且源链难以伪造虚假的服务调用信息以通过默克尔树的验证。
S36:中继链根据可信的区块头去验证零知识证明的有效性,验证源链中存在的这一笔交易中的隐私数据与区块头的运算关系是真实可信的,验证算法如下:Verify(vk,π)→true/false。Verify表示zkSNARK中验证证明的算法。
步骤S4服务列表审查阶段具体包括以下步骤:
在跨链交易执行过程中,中继链还需要对交易进行审查。然而,为了保护跨链交易的内容隐私,中继链无法查看跨链交易的具体信息,跨链交易内容以密文的形式提交到中继链中的跨链请求列表中。为了实现隐私保护的审查机制,本方案使用ZKSM零知识集合成员证明技术对跨链交易的合法性进行审查,即审查跨链交易的目标服务是否隶属于中继链存储的跨链服务列表。
S41:在跨链交易审查过程中,中继链已经存储了已添加的服务列表,其中包含了链ID、链上服务的智能合约地址、函数名称与参数列表、跨链节点的公钥。中继链会将已添加的服务列表作为成员集合,然后利用零知识证明技术证明跨链交易中的目标服务属于这个成员集合。这样,中继链就可以审查跨链服务调用的合规性,而不会泄露跨链交易的隐私信息。如图3所示,零知识集合成员证明的具体流程如下:
S42:将跨链服务列表整理成集合S,每一项服务为S中的元素。
S43:跨链交易的目标服务对应于S中的指定元素σ,发起方选择随机数r,生成承诺:c=gσhr。
S44:发起方利用ZKSM生成零知识证明,证明c中承诺的元素隶属于集合S。
S45:中继链跨链节点验证零知识证明的有效性。
步骤S5传递跨链请求阶段具体包括以下步骤:
在跨链交易中,源链和目标链之间的跨链交互是由各自的跨链节点完成的,这些跨链节点负责处理跨链请求并确保其在链间进行顺利的传输。这个过程涉及到多个步骤和多个参与者,但整个过程都是自动化的,并且具有高度的可靠性和安全性。
S51:在跨链交易过程中,源链的跨链节点需要从中继链上获取目标链的跨链节点的公钥PK,将此笔跨链交易内容用该公钥进行加密生成密文Enc(PK,TX)→CTX,并将其添加到跨链合约中的跨链请求列表中。
S52:跨链合约利用哈希算法为该跨链请求生成请求ID作为唯一标识进行维护。
S53:源链的跨链节点将请求ID发送给目标链中的跨链节点,目标链的跨链节点根据请求ID去链上读取跨链请求,并使用自己的私钥对密文CTX进行解密,得到交易明文内容Dec(SK,CTX)→TX。
S54:解密后,目标链的跨链节点将解密结果恢复成服务调用的形式,并提交到目标链中,目标链会执行指定的智能合约服务,以实现从源链到目标链的跨链服务调用。
综上所述,本发明提供一种基于零知识证明的隐私保护跨链交易验证方法,用于解决现有跨链平台难以在隐私保护的前提下验证跨链交易真实性的难题。基于零知识证明与集合成员证明的隐私保护特性,根据跨链交易隐私内容与默克尔树的计算关系,创造性地提出了一种基于零知识证明的隐私保护跨链交易验证方法,源链生成零知识证明以证明跨链交易的真实性,中继链验证零知识证明从而审查跨链交易,实现隐私保护的跨链交易验证方法。本发明提供的方法具有如下优点:
(1)提出了一种基于零知识证明的跨链交易验证方案,解决了中继链难以确定源链是否存在真实跨链交易的问题。在保护账本隐私的前提下向外界证明源链上存在真实交易,有效地防止了恶意用户伪造跨链交易。
(2)提出了一种基于零知识集合成员证明的跨链交易审查方案,解决了中继链节点存在自主干扰跨链交易执行与隐私泄露的问题。中继节点无需查看跨链交易内容即可零知识地审查跨链交易的合法性,从而避免中继链节点干扰交易执行和泄露交易隐私,提高跨链交易执行的可靠性。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种基于零知识证明的隐私保护跨链交易验证方法,其特征在于,包括:
S1对中继链的跨链节点进行系统初始化,通过平行链向中继链进行链注册,通过服务链向中继链提交本链域内提供的服务列表;
S2通过平行链将本链运行的区块头实时地同步到中继链,通过中继链维护各条区块链的区块头,存储有效的区块头信息;
S3基于有效的区块头信息,通过平行链的源链生成零知识证明;该零知识证明用于证明源链中真实包含了一笔跨链交易;
S4通过中继链使用零知识集合成员证明方法对跨链交易的合法性进行审查,审查的内容包括跨链交易的目标服务是否隶属于中继链存储的跨链服务列表;
S5通过源链的跨链节点将该笔跨链交易内容进行加密生成密文,通过平行链的目标链的跨链节点读取跨链请求并对密文进行解密。
2.根据权利要求1所述的方法,其特征在于,步骤S1包括:
S11根据安全参数λ对中继链的跨链节点进行系统初始化,生成公共参数列表(p,e,G1,G2,GT),其中p是素数,以p为阶的三个循环群G1、G2和GT满足双线性配对关系e:G1×G2→GT;
S12编写验证跨链交易合法性的计算电路C,根据公共参数执行密钥生成算法KeyGen(C)→(pk,vk);其中证明密钥pk通过秘密信道共享给平行链的跨链节点用于生成证明,验证密钥vk提交到跨链智能合约中用于验证证明的有效性;
S13通过跨链节点代表所属的平行链向中继链提交注册请求和注册信息,通过中继链对平行链进行身份认证和审核,将该平行链的跨链节点公钥与时间戳进行字符串拼接,通过哈希算法进行哈希计算,取哈希计算结果的前10字节作为链ID;所述注册信息包括:该平行链的区块结构、共识机制和哈希算法,以及跨链节点的具有公钥信息的数字证书;
S14通过服务平台链在该平行链部署智能合约,并将服务列表同步到中继链,使得中继链通过服务列表合约,利用哈希算法为每项服务分配唯一标识服务ID作为主键;每一条区块链服务信息包括服务ID、链ID、智能合约地址、函数名与参数和跨链节点公钥。
3.根据权利要求2所述的方法,其特征在于,步骤S2包括:
S21通过平行链将自身运行的区块头实时地同步到中继链,通过中继链维护平行链中各条区块链的区块头,存储有效的区块头信息;
S22通过区块头的哈希指针检查所属区块链的连续性。
4.根据权利要求3所述的方法,其特征在于,步骤S3包括:
S31通过源链接收跨链交易发起方发送的跨链请求数据包,该跨链请求数据包包括目标链ID、时间戳、智能合约地址、智能合约函数名与参数列表;所述目标链ID、智能合约地址和智能合约函数名用于指向目标链中的指定服务;
S32将区块头同步到中继链中作为存证;
S33基于所述交易哈希与区块头中的默克尔树根具有哈希路径关系,通过隐私数据计算得到交易哈希;
S34通过式
π←Prove(pk,C,(MerkleRoot,Path),(TX))
计算获得零知识证明;式中,Prove为zkSNARK的证明算法,公开输入(MerkleRoot,Path)与隐私输入(TX)满足计算电路C:C((MerkleRoot,Path),(TX))→true,该计算电路C表示公开输入与隐私输入的确定性运算关系,Path表示TX与MerkleRoot之间存在的计算过程所需的节点组成的集合;
S35通过源链将子步骤S34执行的跨链交易的零知识证明添加到中继链,通过中继链维护的跨链请求列表负责存储跨链调用请求,为该笔请求生成唯一的请求标识请求ID,与对应的零知识证明共同添加到跨链请求列表中;
S36通过zkSNARK中验证证明的算法
Verify(vk,π)→true/false
验证零知识证明的有效性,以及验证源链中存在的这一笔交易中的隐私数据与区块头的运算关系是真实可信的。
5.根据权利要求4所述的方法,其特征在于,步骤S4包括:
S41通过中继链将已添加的服务列表作为成员集合,利用零知识证明方法证明跨链交易中的目标服务属于所述成员集合;
S42将跨链服务列表整理成集合S,每一项服务为集合S中的元素;
S43通过发起方基于跨链交易的目标服务对应于集合S中的指定元素σ,选择随机数r并通过式c=gσhr生成承诺;
S44通过发起方利用ZKSM生成零知识证明,所述零知识证明中承诺c的元素隶属于集合S。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310473481.7A CN116562874B (zh) | 2023-04-27 | 2023-04-27 | 一种基于零知识证明的隐私保护跨链交易验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310473481.7A CN116562874B (zh) | 2023-04-27 | 2023-04-27 | 一种基于零知识证明的隐私保护跨链交易验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116562874A true CN116562874A (zh) | 2023-08-08 |
CN116562874B CN116562874B (zh) | 2024-01-02 |
Family
ID=87493996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310473481.7A Active CN116562874B (zh) | 2023-04-27 | 2023-04-27 | 一种基于零知识证明的隐私保护跨链交易验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116562874B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862216A (zh) * | 2017-10-13 | 2018-03-30 | 布比(北京)网络技术有限公司 | 用于匿名跨链交易的隐私保护方法、装置和存储介质 |
CN111886830A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于数据交换的计算机实现的系统及方法 |
US20210226800A1 (en) * | 2020-01-20 | 2021-07-22 | International Business Machines Corporation | Preserving privacy of linked cross-network transactions |
CN113191900A (zh) * | 2021-05-11 | 2021-07-30 | 预言机(重庆)科技有限公司 | 一种基于中继链的跨区块链链上权益转让方法及系统 |
CN113923044A (zh) * | 2021-10-29 | 2022-01-11 | 博雅正链(北京)科技有限公司 | 一种基于可信执行环境的跨链系统及方法 |
CN114531243A (zh) * | 2022-01-04 | 2022-05-24 | 北京理工大学 | 基于标签加密与零知识证明的联盟链交易隐私保护方法 |
WO2022109851A1 (en) * | 2020-11-25 | 2022-06-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trusted platform |
WO2022143798A1 (zh) * | 2020-12-30 | 2022-07-07 | 杭州趣链科技有限公司 | 跨链交易的验证方法、终端设备及可读存储介质 |
CN114726583A (zh) * | 2022-03-14 | 2022-07-08 | 湖南天河国云科技有限公司 | 基于区块链分布式标识的可信硬件跨链交易隐私保护系统及方法 |
CN114936853A (zh) * | 2022-05-24 | 2022-08-23 | 复旦大学 | 基于可信执行环境的链下交易协议与交易认证方法 |
CN115499454A (zh) * | 2022-09-20 | 2022-12-20 | 广西师范大学 | 基于联盟中继链的农产品数据跨链共享方法 |
CN115760399A (zh) * | 2022-11-14 | 2023-03-07 | 北京八分量信息科技有限公司 | 一种基于零知识证明的数据隐私交易方法 |
CN115859316A (zh) * | 2022-08-23 | 2023-03-28 | 昆明理工大学 | 一种基于零知识证明的匿名可监管的跨链隐私保护方法 |
CN115941282A (zh) * | 2022-11-10 | 2023-04-07 | 天津理工大学 | 一种基于nft的区块链跨链交互系统及方法 |
-
2023
- 2023-04-27 CN CN202310473481.7A patent/CN116562874B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862216A (zh) * | 2017-10-13 | 2018-03-30 | 布比(北京)网络技术有限公司 | 用于匿名跨链交易的隐私保护方法、装置和存储介质 |
CN111886830A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于数据交换的计算机实现的系统及方法 |
US20210226800A1 (en) * | 2020-01-20 | 2021-07-22 | International Business Machines Corporation | Preserving privacy of linked cross-network transactions |
WO2022109851A1 (en) * | 2020-11-25 | 2022-06-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trusted platform |
WO2022143798A1 (zh) * | 2020-12-30 | 2022-07-07 | 杭州趣链科技有限公司 | 跨链交易的验证方法、终端设备及可读存储介质 |
CN113191900A (zh) * | 2021-05-11 | 2021-07-30 | 预言机(重庆)科技有限公司 | 一种基于中继链的跨区块链链上权益转让方法及系统 |
CN113923044A (zh) * | 2021-10-29 | 2022-01-11 | 博雅正链(北京)科技有限公司 | 一种基于可信执行环境的跨链系统及方法 |
CN114531243A (zh) * | 2022-01-04 | 2022-05-24 | 北京理工大学 | 基于标签加密与零知识证明的联盟链交易隐私保护方法 |
CN114726583A (zh) * | 2022-03-14 | 2022-07-08 | 湖南天河国云科技有限公司 | 基于区块链分布式标识的可信硬件跨链交易隐私保护系统及方法 |
CN114936853A (zh) * | 2022-05-24 | 2022-08-23 | 复旦大学 | 基于可信执行环境的链下交易协议与交易认证方法 |
CN115859316A (zh) * | 2022-08-23 | 2023-03-28 | 昆明理工大学 | 一种基于零知识证明的匿名可监管的跨链隐私保护方法 |
CN115499454A (zh) * | 2022-09-20 | 2022-12-20 | 广西师范大学 | 基于联盟中继链的农产品数据跨链共享方法 |
CN115941282A (zh) * | 2022-11-10 | 2023-04-07 | 天津理工大学 | 一种基于nft的区块链跨链交互系统及方法 |
CN115760399A (zh) * | 2022-11-14 | 2023-03-07 | 北京八分量信息科技有限公司 | 一种基于零知识证明的数据隐私交易方法 |
Non-Patent Citations (3)
Title |
---|
XIAOYAN ZHANG: "Privacy-Preserving Cross-Chain Payment Scheme for Blockchain-Enabled Energy Trading", 《2021 IEEE/CIC INTERNATIONAL CONFERENCE ON COMMUNICATIONS IN CHINA (ICCC)》, pages 109 - 114 * |
管章双: "基于零知识证明的账户模型区块链系统隐私保护研究", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊),2020年第11期》, pages 12 - 30 * |
郭朝等: "区块链跨链技术分析", 《物联网学报》, vol. 4, no. 2, pages 35 - 47 * |
Also Published As
Publication number | Publication date |
---|---|
CN116562874B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602138B (zh) | 区块链网络的数据处理方法、装置、电子设备及存储介质 | |
Lu et al. | A secure and scalable data integrity auditing scheme based on hyperledger fabric | |
Wei et al. | Security and privacy for storage and computation in cloud computing | |
CN109889497B (zh) | 一种去信任的数据完整性验证方法 | |
CN109409122A (zh) | 文件存储方法及其电子设备、存储介质 | |
CN109472164A (zh) | 合同数据的验证方法及其网络和电子设备 | |
CN108600222A (zh) | 客户端应用与可信应用的通信方法、系统以及终端 | |
Yan et al. | Integrity audit of shared cloud data with identity tracking | |
CN113010861B (zh) | 一种基于区块链的融资事务中的身份验证方法和系统 | |
CN115345618B (zh) | 基于混合后量子数字签名的区块链交易验证方法及系统 | |
Li et al. | Zerocross: A sidechain-based privacy-preserving cross-chain solution for monero | |
CN113328854B (zh) | 基于区块链的业务处理方法及系统 | |
CN110377225A (zh) | 一种支持外包数据安全转移与可验证删除的方法 | |
Yanhui et al. | Research on identity authentication system of Internet of Things based on blockchain technology | |
Zhang et al. | Data security in cloud storage | |
CN115409511B (zh) | 一种基于区块链的个人信息保护系统 | |
US11669833B1 (en) | Blockchain endpoint protection | |
CN116562874B (zh) | 一种基于零知识证明的隐私保护跨链交易验证方法 | |
Ahmed et al. | Transparency of SIM profiles for the consumer remote SIM provisioning protocol | |
CN110417722A (zh) | 一种业务数据通信方法、通信设备及存储介质 | |
Akram et al. | A secure and trusted channel protocol for the user centric smart card ownership model | |
CN115967568A (zh) | 基于区块链和群签名机制的跨链访问控制方法 | |
Kaptchuk et al. | Managing Secrets with Consensus Networks: Fairness, Ransomware and Access Control. | |
Lee | Guideline for implementing cryptography in the federal government | |
Qi et al. | Blockchain-Based Privacy-Preserving Public Auditing for Group Shared Data. |
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 |