CN116681440A - 数据交易方法、装置、电子设备和存储介质 - Google Patents
数据交易方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116681440A CN116681440A CN202310492261.9A CN202310492261A CN116681440A CN 116681440 A CN116681440 A CN 116681440A CN 202310492261 A CN202310492261 A CN 202310492261A CN 116681440 A CN116681440 A CN 116681440A
- Authority
- CN
- China
- Prior art keywords
- data
- supplied
- supplier
- encryption key
- knowledge proof
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method 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
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及一种数据交易方法、装置、电子设备和存储介质,应用于数据处理技术领域,其中,方法包括:获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;获取所述区块链发送的所述数据价值。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据交易方法、装置、电子设备和存储介质。
背景技术
在数据交易的场景下,由于数据在链下,如何保证链上代币与链下数据交易的原子性,保证数据交易过程的隐私性,是一个重要的问题。
相关技术中,基于区块链和智能合约的数据交易通用方案是零知识持续支付(Zero Knowledge Contingent Payment,简称ZKCP),ZKCP用于保证信息交易公平性的机制,它在交易之前,卖方可以零知识地向买方证明货物的质量是有保证的。
但是,上述交易方式,通常由卖方直接将生成的零知识证明数据发送至买方,由买方对零知识证明数据进行验证,从而导致只有买方才能够知道卖方具有交易数据,而其他买方并不知情,并且,在其他买方需要卖方的交易数据时,卖方需要重新生成零知识证明数据,造成卖方计算量较大。
发明内容
本申请提供了一种数据交易方法、装置、电子设备和存储介质,用以解决现有技术中,只有买方才能够知道卖方具有交易数据,而其他买方并不知情,并且,在其他买方需要卖方的交易数据时,卖方需要重新生成零知识证明数据,造成卖方计算量较大的问题。
第一方面,本申请实施例提供了一种数据交易方法,应用于供方,包括:
获取待供给数据和加密密钥;
基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
获取所述区块链发送的所述数据价值。
可选的,所述加密秘钥包括第一加密秘钥和第二加密秘钥,所述基于所述待供给数据和所述加密密钥生成证明数据,包括:
基于所述第一加密秘钥对所述待供给数据进行加密,得到第一加密数据;
基于第二加密秘钥对所述第一加密数据进行加密得到第二加密数据;
对所述第一加密数据进行哈希运算得到哈希结果;
确定所述哈希结果和所述第二加密数据为所述证明数据。
可选的,所述将所述证明数据发送至需方,包括:
将所述第二加密数据发送至所述需方;
将所述哈希结果发送至所述区块链,并由所述区块链将所述哈希结果发送至所述需方。
可选的,获取加密密钥,包括:
获取随机选择的第一加密秘钥;
获取预先与需方确定的第二加密秘钥;
确定所述第一加密秘钥和所述第二加密秘钥为所述加密秘钥。
第二方面,本申请实施例提供了一种数据交易方法,应用于需方,包括:
获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;
对所述证明数据进行验证;
在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
第三方面,本申请实施例提供了一种数据交易方法,应用于区块链,包括:
获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;
对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
第四方面,本申请实施例提供了一种数据交易系统,包括:供方、需方和区块链;
所述供方,用于获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方;
所述需方,用于获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;对所述证明数据进行验证;在验证通过后,将数据价值发送至区块链;
所述供方,还用于基于所述待供给数据生成零知识证明数据,并发送至区块链;
所述区块链,用于获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方。
第五方面,本申请实施例提供了一种数据交易装置,其特征在于,包括:
第一获取模块,用于获取待供给数据和加密密钥;
第一生成模块,用于基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
第二生成模块,用于基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过区块链对所述零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
第二获取模块,用于获取所述区块链发送的所述数据价值。
第六方面,本申请实施例提供了一种数据交易装置,其特征在于,包括:
第三获取模块,用于获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;
第一验证模块,用于对所述证明数据进行验证;
第一发送模块,用于在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
第七方面,本申请实施例提供了一种数据交易装置,包括:
第四获取模块,用于获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;
第二验证模块,用于对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
第八方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面、第二方面或第三方面所述的数据交易方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面、第二方面或第三方面所述的数据交易方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;获取所述区块链发送的所述数据价值。如此,在供方和需方进行数据交易时,通过由供方将零知识证明数据发送到区块链,并由区块链对供方存在待供给数据进行验证,从而,能够使与区块链建立连接的其他需方也能够确定供方存在待供给数据,以便于后续与供方建立数据交易,减少供方的计算量,提高数据交易的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的数据交易系统的结构图;
图2为本申请一实施例提供的数据交易方法的流程图;
图3为本申请另一实施例提供的数据交易方法的流程图;
图4为本申请另一实施例提供的数据交易方法的流程图;
图5为本申请一实施例提供的数据交易方法的应用场景图;
图6为本申请一实施例提供的数据交易方法计算哈希结果的过程图;
图7为本申请一实施例提供的数据交易方法中运行时间的对比图;
图8为本申请一实施例提供的数据交易方法中通信成本的对比图;
图9为本申请一实施例提供的数据交易装置的结构图;
图10为本申请另一实施例提供的数据交易装置的结构图;
图11为本申请另一实施例提供的数据交易装置的结构图;
图12为本申请一实施例提供的电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请一实施例提供了一种数据交易方法。可选地,在本申请实施例中,上述数据交易方法可以应用于如图1所示的由供方101、需方102和区块链103构成的数据交易系统中。其中,供方、需方和区块链之间彼此均建立连接。其中,供方和需方可以是供方和需方所在的终端或服务器。其中,终端可以但不限定于PC、手机、平板电脑等。
其中,上述的数据交易系统,包括:供方、需方和区块链;其中,所述供方,用于获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方;
所述需方,用于获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;对所述证明数据进行验证;在验证通过后,将数据价值发送至区块链;
所述供方,还用于基于所述待供给数据生成零知识证明数据,并发送至区块链;
所述区块链,用于获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方。
本申请一实施例中提供了一种数据交易方法,该方法可以应用于供方的任意一种形式的电子设备中,如终端或服务器中。如图2所示,该数据交易方法,包括:
步骤201、获取待供给数据和加密密钥。
一些实施例中,待供给数据是供方所拥有的数据。加密秘钥用于对待供给数据进行加密,以保证交易过程的安全性,避免待供给数据的泄露。
在一个可选实施例中,获取加密密钥,包括:
获取随机选择的第一加密秘钥;
获取预先与需方确定的第二加密秘钥;
确定所述第一加密秘钥和所述第二加密秘钥为所述加密秘钥。
一些实施例中,第一加密秘钥可以是供方随机选择的加密秘钥。
第二加密秘钥可以是供方通过ECDHE-ECDSA-AES128-GCM-SHA256加密套件与需方协商得到的。ECDSA(椭圆曲线数字签名算法)签名保证了密钥商议不受中间人攻击且建立了一个双方的私有通信密钥。
步骤202、基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链。
一些实施例中,供方通过生成证明数据并发送至需方,能使需方基于该证明数据对供方进行验证,以确定供方身份。需方在对证明数据验证通过后,建立一交易并发送至区块链,其中,该交易中携带有数据价值。
在一个可选实施例中,所述加密秘钥包括第一加密秘钥和第二加密秘钥,所述基于所述待供给数据和所述加密密钥生成证明数据,包括:
基于所述第一加密秘钥对所述待供给数据进行加密,得到第一加密数据;
基于第二加密秘钥对所述第一加密数据进行加密得到第二加密数据;
对所述第一加密数据进行哈希运算得到哈希结果;
确定所述哈希结果和所述第二加密数据为所述证明数据。
一些实施例中,通过对待供给数据采用第一加密秘钥和第二加密秘钥共同实现嵌套加密,能够保证即使第二加密数据和第一加密秘钥泄露后,监听者依旧无法解密得到待供给数据,保证了待供给数据不被泄露。
进一步的,所述将所述证明数据发送至需方,包括:
将所述第二加密数据发送至所述需方;
将所述哈希结果发送至所述区块链,并由所述区块链将所述哈希结果发送至所述需方。
一些实施例中,将哈希结果发送到区块链上,从而能够便于后续区块链对零知识证明数据进行验证。将第二加密数据发送至需方,通过需方对其进行解密,以对供方身份进行验证。
步骤203、基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
一些实施例中,供方通过生成零知识证明数据,以证明自身存在待供给数据,区块链在对零知识证明数据验证通过后,便会将需方发送的数据价值发送至供方。其中,数据价值是指该待供给数据的价值。
步骤204、获取所述区块链发送的所述数据价值。
一些实施例中,在供方获取到数据价值后,本次数据交易结束,
本申请一实施例中提供了一种数据交易方法,该方法可以应用于需方的任意一种形式的电子设备中,如终端或服务器中。如图3所示,该数据交易方法,包括:
步骤301、获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
步骤302、对所述证明数据进行验证。
步骤303、在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
本申请一实施例中提供了一种数据交易方法,该方法可以应用于区块链的任意一种形式的电子设备中,如终端或服务器中。如图4所示,该数据交易方法,包括:
步骤401、获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据。
步骤402、对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
在一个具体实施例中,本申请的数据交易方法,参见图5,包括:
第一、供方(seller)随机选择一个第一加密密钥k,然后使用ECDHE-ECDSA-AES128-GCM-SHA256加密套件与需方(buyer)协商一个第二加密密钥k’。ECDSA签名保证了密钥商议不受中间人攻击且建立了一个双方的私有通信密钥。
第二、seller用零知识证明友好型的对称加密算法计算第一加密数据z←Enck(x),嵌套密文第二加密数据z′←Enck′(z)和hz←H(z)。
其中,可以采用poseidon哈希函数以Merkle tree的形式对第一加密数据哈希。
参见图6,图6展示了使用ciminion对称加密和2-1 poseidon哈希函数来得到最终的哈希值hz的过程。
第三、seller将hz发送到链上,将z′发送给buyer。
第四、buyer收到z′后运行如果H(z)≠hz则终止,否则建立一个交易并发给区块链。该交易支付资金给seller,seller可以通过展示证明来开启证明锁。
第五、seller生成一个零知识证明数据π←Π.Prove(σ,(k,hz),(x)),这表明了seller知道满足φ(x)=1∧H(Enck(x))=hz的待供给数据x,并将π发给区块链调用合约verify函数。
其中,σ为零知识证明计算中的常量。
第六、区块链运行b←Π.verify(σ,(k,hz),(π)),如果buyer=0则验证失败,退款给buyer,否则将资金转移给seller。
为了更好的证明,本申请的数据交易方法的进步,本申请还做出以下实验。
第一、本申请具有更小的时间开销和空间(通信量)开销。
为了直接对比本申请的数据交易方法(简称SmartZKCP)与相关技术中的ZKCP,用与φ(x)相同的数独检查算法来测量性能。比较它们各自的约束数量,CRS大小,建立时间,证明时间,证明大小和验证时间。考虑到ZKCP实现是单线程运行的,对单线程场景进行了单独的测试。
表1
sSingle-threaded mode,mMulti-threaded mode
如表1所示,与ZKCP相比,SmartZKCP在各个方面都有很大的进步。考虑到不同的对称加密方案,分别测试了SmartZKCP在有无密钥列表的Ciminion中和在Hadesmimc加密方案中的性能。SmartZKCP在证明阶段中比ZKCP高效11~65倍。与ZKCPlus的对比,比较了ZKCPlus和SmartZKCP之间的卖方证明开销,买方验证开销,以及通信成本,这些是公平交易过程中的主要开销。
实验中使用的数据集包含从10到10000个条目不等。考虑到实用性,选择了使用Hadesmimc加密方案的SmartZKCP,并且在ZKCPlus中有两种策略:在普通策略中,生成证明更快,但证明规模更大;但在简洁策略中情况相反。使用上述三个协议在数据集上进行了测试。运行时开销:着眼于卖方证明过程和买方验证过程的运行时间,这是出于它们对于每个协议都是决定性因素的考虑。
参见图7,其中,在图7(a)和图7(b)中,分别展示了不同数据集下这两个过程的总运行时间。
其中,如图7(a)所示,SmartZKCP展示了与ZKCPlus相当的效率,甚至在较小的数据集的卖方证明更加高效。但对买方验证而言,SmartZKCP的用时基本稳定在2ms的常数下,而ZKCPlus的用时随着数据增多也迅速增加。对于1000的数据量,都需要大约2s来证明,但是SmartZKCP将验证时间减少了54~65倍。
表2
参见图8和表2中展示了1000条数据的通信成本。SmartZKCP的通信成本仅为32.82KB,其中证明部分只占0.8%;ZKCPlus(简洁策略)使用69KB,其中证明部分占46%;ZKCPlus(普通策略)使用了208KB,这是我们通信成本的6.34倍,其中证明部分甚至占了82%。图7(c)展示了不同数据条目场合下的证明大小,SmartZKCP保持在0.28KB,而ZKCPlus则猛涨,这在大型数据通信中是不实用的。
第二、本申请没有数据泄露的风险。
相关技术中,将在seller解锁HTLC后泄漏解密密钥,因此,如果在传输过程中通过恶意模拟窃听了密文,则原始数据也将被解密。SmartZKCP阻止了这种情况的发生,因为买家和卖家已经通过ECDHE-ECDSA-AES128-GCM-SHA256加密套件实现了消息认证的安全密钥交易,他们可以私下交易密文。
基于同一构思,本申请实施例中提供了一种数据交易装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图9所示,该装置主要包括:
第一获取模块901,用于获取待供给数据和加密密钥;
第一生成模块902,用于基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
第二生成模块903,用于基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过区块链对所述零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
第二获取模块904,用于获取所述区块链发送的所述数据价值。
基于同一构思,本申请实施例中提供了一种数据交易装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图10所示,该装置主要包括:
第三获取模块1001,用于获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;
第一验证模块1002,用于对所述证明数据进行验证;
第一发送模块1003,用于在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
基于同一构思,本申请实施例中提供了一种数据交易装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图11所示,该装置主要包括:
第四获取模块1101,用于获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;
第二验证模块1102,用于对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
基于同一构思,本申请实施例中还提供了一种电子设备,如图12所示,该电子设备主要包括:处理器1201、存储器1202和通信总线1203,其中,处理器1201和存储器1202通过通信总线1203完成相互间的通信。其中,存储器1202中存储有可被处理器1201执行的程序,处理器1201执行存储器1202中存储的程序,实现如下步骤:
获取待供给数据和加密密钥;
基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
获取所述区块链发送的所述数据价值。或,
获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;
对所述证明数据进行验证;
在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。或,
获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;
对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
上述电子设备中提到的通信总线1203可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线1203可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1202可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器1201的存储装置。
上述的处理器1201可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的数据交易方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据交易方法,其特征在于,应用于供方,包括:
获取待供给数据和加密密钥;
基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过所述区块链对所述零知识证明数据进行验证,并在验证通过后,将所述数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
获取所述区块链发送的所述数据价值。
2.根据权利要求1所述的数据交易方法,其特征在于,所述加密秘钥包括第一加密秘钥和第二加密秘钥,所述基于所述待供给数据和所述加密密钥生成证明数据,包括:
基于所述第一加密秘钥对所述待供给数据进行加密,得到第一加密数据;
基于第二加密秘钥对所述第一加密数据进行加密得到第二加密数据;
对所述第一加密数据进行哈希运算得到哈希结果;
确定所述哈希结果和所述第二加密数据为所述证明数据。
3.根据权利要求2所述的数据交易方法,其特征在于,所述将所述证明数据发送至需方,包括:
将所述第二加密数据发送至所述需方;
将所述哈希结果发送至所述区块链,并由所述区块链将所述哈希结果发送至所述需方。
4.根据权利要求2所述的数据交易方法,其特征在于,获取加密密钥,包括:
获取随机选择的第一加密秘钥;
获取预先与需方确定的第二加密秘钥;
确定所述第一加密秘钥和所述第二加密秘钥为所述加密秘钥。
5.一种数据交易方法,其特征在于,应用于需方,包括:
获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;
对所述证明数据进行验证;
在验证通过后,将数据价值发送至区块链;以使所述区块链对供方发送的基于所述待供给数据的生成零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据。
6.一种数据交易方法,其特征在于,应用于区块链,包括:
获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;
对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方,所述数据价值是所述需方在获取到供方发送的证明数据,并对所述证明数据验证通过后发送的,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的。
7.一种数据交易系统,其特征在于,包括:供方、需方和区块链;
所述供方,用于获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方;
所述需方,用于获取供方发送的证明数据,所述证明数据是所述供方获取待供给数据和加密密钥;基于所述待供给数据和所述加密密钥生成的;对所述证明数据进行验证;在验证通过后,将数据价值发送至区块链;
所述供方,还用于基于所述待供给数据生成零知识证明数据,并发送至区块链;
所述区块链,用于获取供方发送的基于待供给数据生成的零知识证明数据,所述零知识证明数据用于证明所述供方存在所述待供给数据;对所述零知识证明数据进行验证,并在验证通过后,将需方发送的数据价值发送至所述供方。
8.一种数据交易装置,其特征在于,包括:
第一获取模块,用于获取待供给数据和加密密钥;
第一生成模块,用于基于所述待供给数据和所述加密密钥生成证明数据,并将所述证明数据发送至需方,以使需方对所述证明数据进行验证,并在验证通过后,将数据价值发送至区块链;
第二生成模块,用于基于所述待供给数据生成零知识证明数据,并发送至区块链,以通过区块链对所述零知识证明数据进行验证,并在验证通过后,将数据价值发送至所述供方,所述零知识证明数据用于证明所述供方存在所述待供给数据;
第二获取模块,用于获取所述区块链发送的所述数据价值。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-6任一项所述的数据交易方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的数据交易方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310492261.9A CN116681440A (zh) | 2023-04-28 | 2023-04-28 | 数据交易方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310492261.9A CN116681440A (zh) | 2023-04-28 | 2023-04-28 | 数据交易方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116681440A true CN116681440A (zh) | 2023-09-01 |
Family
ID=87788077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310492261.9A Pending CN116681440A (zh) | 2023-04-28 | 2023-04-28 | 数据交易方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116681440A (zh) |
-
2023
- 2023-04-28 CN CN202310492261.9A patent/CN116681440A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842317B2 (en) | Blockchain-based authentication and authorization | |
CA3010116C (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
Hardjono et al. | Cloud-based commissioning of constrained devices using permissioned blockchains | |
CN110046996B (zh) | 数据处理方法和装置 | |
CN109067539B (zh) | 联盟链交易方法、设备及计算机可读存储介质 | |
CN111886831A (zh) | 用于实现零知识证明的计算机实现的系统及方法 | |
CN116561789B (zh) | 隐私数据的处理方法、装置、电子设备及可读存储介质 | |
JP6435970B2 (ja) | 確認可能なノイズを使用した電気使用データ開示のための信頼できるプライバシィ保護方法およびプログラム | |
US20140164764A1 (en) | Assignment of digital signature and qualification for related services | |
JP2022534056A (ja) | ハッシュ関数攻撃 | |
US10797885B1 (en) | Systems and methods for privacy preserving distributed ledger consensus | |
CN110728576A (zh) | 一种基于零知识证明的去中心化匿名数据交易方法 | |
CN111105235A (zh) | 基于区块链的供应链交易隐私保护系统、方法及相关设备 | |
CN112861102A (zh) | 基于区块链对电子文件的处理方法和系统 | |
CN114946152A (zh) | 用于在传输层安全和其它上下文中验证数据的分散式技术 | |
CN112365252A (zh) | 基于账户模型的隐私交易方法、装置及相关设备 | |
CN114268447B (zh) | 一种文件传输方法、装置、电子设备和计算机可读介质 | |
CN112734423A (zh) | 一种基于区块链的交易方法及终端设备 | |
CN111861462A (zh) | 基于区块链的金融产品交易方法及装置 | |
CN116681440A (zh) | 数据交易方法、装置、电子设备和存储介质 | |
CN111552950A (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
Yu et al. | A novel fair and verifiable data trading scheme | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
CN114826653B (zh) | 一种基于区块链网络的凭证验证方法、系统、装置、设备及存储介质 | |
CN117155570B (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 |