CN114615083A - Nft半隐私交易方法、计算机设备和存储介质 - Google Patents
Nft半隐私交易方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114615083A CN114615083A CN202210370549.4A CN202210370549A CN114615083A CN 114615083 A CN114615083 A CN 114615083A CN 202210370549 A CN202210370549 A CN 202210370549A CN 114615083 A CN114615083 A CN 114615083A
- Authority
- CN
- China
- Prior art keywords
- amount
- nft
- verification
- hash
- check
- 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 69
- 238000004806 packaging method and process Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims description 265
- 230000008859 change Effects 0.000 claims description 27
- 230000000694 effects Effects 0.000 claims description 15
- 238000010200 validation analysis Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 claims description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Abstract
本发明提供一种NFT半隐私交易方法、计算机设备和存储介质,该方法包括:执行NFT半隐私出售交易;响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行第一NFT隐私购买交易;响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行第二NFT隐私购买交易,以及,执行匿名公开交易。本发明实现了在NFT交易中在买家选择不揭露卖家身份时保持卖家身份隐私、在买家选择揭露卖家身份时公开卖家身份。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种NFT半隐私交易方法、计算机设备和存储介质。
背景技术
NFT的英文全称为Non-Fungible Token,即,非同质化代币,具有不可分割、不可替代、独一无二等特点。
相对应地,同质化代币即每个代币完全相同的代币,例如,一个游戏币和另一个游戏币,两者完全相同,没有任何区别;
当前NFT的应用方式在于,每一个独一无二的NFT可以作为一份独一无二的数字资产的所有权标记,例如,NFT1作为一个数字头像的所有权标记,NFT2作为某游戏中一只虚拟猫的所有权标记,等等。
当前的NFT交易方案难以实现除了公开交易金额外保障其它信息完全隐私的交易。
更进一步地,对于艺术品而言,其曾经的拥有者也是其艺术价值的组成部分,就像一副古画上的多个名人盖章也是其艺术价值的一部分;对于NFT而言,如果卖家在兼顾隐私的同时,愿意把其身份是否揭露的选择权留给买家,在买家选择揭露其身份时公开身份、选择不揭露其身份时保持身份的隐私,是一种新兴的艺术品市场中暂时无法被满足的用户需求。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种实现在买家选择不揭露卖家身份时保持卖家身份隐私、在买家选择揭露卖家身份时公开卖家身份的NFT半隐私交易方法、计算机设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
执行NFT半隐私出售交易:
将待出售的第一NFT的第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
任一项验证失败,则NFT半隐私出售交易执行失败;
各项验证通过,则将第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行第一NFT隐私购买交易:
将第一NFT的未生效的第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
将第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
将第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行第二NFT隐私购买交易:
将第一NFT的未生效的第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
将第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
将第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
以及,执行匿名公开交易:
验证第二NFT隐私购买交易是否执行成功;
将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID。
其中,第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
第二方面,本发明提供一种适用于卖方的用户端的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
根据第一零知识证明电路的第一证明算法生成第一证明信息;其中,第一证明算法的公开输入包括待出售的第一NFT的第一哈希ID,第一证明算法的私密输入包括第一NFT的所有者的第一地址和第一私钥;
根据第二零知识证明电路的第二证明算法生成第二证明信息;其中,生成第二证明信息的公开输入包括用于匿名收款的未生效的第一可花费支票的第二哈希ID和第一收款数额,私密输入包括第一地址;
根据第二零知识证明电路的第二证明算法生成第三证明信息;其中,生成第三证明信息的公开输入包括用于不匿名收款的未生效的第二可花费支票的第三哈希ID和第二收款数额,私密输入包括第一地址;
打包生成包括第一哈希ID、第一证明信息、第二哈希ID、第一收款数额、第二证明信息、第三哈希ID、第二收款数额和第三证明信息的NFT半隐私出售交易并发送至区块链网络,以供区块链节点执行:
将第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
将第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
将第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
任一项验证失败,则NFT半隐私出售交易执行失败;
各项验证通过,则将第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
响应于第二NFT隐私购买交易执行成功,根据第六零知识证明电路的第六证明算法生成第十证明信息;其中,第六证明算法的公开输入包括第一哈希ID和第一地址,第六证明算法的私密输入包括第一私钥;
打包生成包括第一哈希ID、第一地址、第十证明信息的匿名公开交易并发送至区块链网络,以供区块链节点执行:
验证第二NFT隐私购买交易是否执行成功;
将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID。
其中,区块链节点还配置用于响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行第一NFT隐私购买交易:
将第一NFT的未生效的第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第三可花费支票的第五哈希ID、第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第四可花费支票的第六哈希ID、第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
区块链节点还配置用于响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行第二NFT隐私购买交易:
将第一NFT的未生效的第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第五可花费支票的第八哈希ID、第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第六可花费支票的第九哈希ID、第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
第三方面,本发明还提供一种适用于买方的用户端的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
响应于当前用户选择卖方匿名收款:
根据第三零知识证明电路的第三证明算法生成第四证明信息;其中,生成第四证明信息的公开输入包括所购买的第一NFT的未生效的第四哈希ID,私密输入包括买方的第二地址;
根据第四零知识证明电路的第四证明算法生成第五证明信息;其中,生成第五证明信息的公开输入包括第一加密数额,私密输入包括用于付款的已生效的第三可花费支票的第五哈希ID、买方的第二地址和第二私钥、第三可花费支票的数额;
根据第五零知识证明电路的第五证明算法生成第六证明信息;其中,生成第六证明信息的公开输入包括第二加密数额,私密输入包括用于找零的未生效的第四可花费支票的第六哈希ID、第二地址、第四可花费支票的数额;
打包生成包括第四哈希ID、第四证明信息、第一加密数额、第五证明信息、第二加密数额、第六证明信息的第一NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
将第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
将第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
响应于当前用户选择卖方不匿名收款:
根据第三零知识证明电路的第三证明算法生成第七证明信息;其中,生成第七证明信息的公开输入包括所购买的第一NFT的未生效的第七哈希ID,私密输入包括买方的第二地址;
根据第四零知识证明电路的第四证明算法生成第八证明信息;其中,生成第八证明信息的公开输入包括第三加密数额,私密输入包括用于付款的已生效的第五可花费支票的第八哈希ID、买方的第二地址和第二私钥、第五可花费支票的数额;
根据第五零知识证明电路的第五证明算法生成第九证明信息;其中,生成第九证明信息的公开输入包括第四加密数额,私密输入包括用于找零的未生效的第六可花费支票的第九哈希ID、第二地址、第六可花费支票的数额;
打包生成包括第七哈希ID、第七证明信息、第三加密数额、第八证明信息、第四加密数额、第九证明信息的第二NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
将第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
将第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易。
其中,第一NFT的半隐私出售订单由区块链节点执行NFT半隐私出售交易,通过以下各项验证时记录到区块链上:
将第一NFT的第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
区块链节点还用于执行匿名公开交易:
验证第二NFT隐私购买交易是否执行成功;
将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
第四方面,本发明还提供一种计算机设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的NFT半隐私交易方法。
第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的NFT半隐私交易方法。
本发明诸多实施例提供的NFT半隐私交易方法、计算机设备和存储介质通过在区块链上配置第一零知识证明电路,保障了卖方可以匿名出售;通过由卖家用户端生成可根据第二零知识证明电路验证的用于匿名收款的第一可花费支票和用于不匿名收款的第二可花费支票,使得买家可以通过择一支付来选择是否揭露卖家的身份;通过配置验证买方提供的新的哈希ID合法性的第三零知识证明电路,保障了买方可以匿名购买;通过配置第四、五零知识证明电路,并在其中设计了特定的加密数额,保障了交易过程中除了交易金额外的收付费账户、花费金额、找零金额等信息完全隐私;通过配置第六零知识证明电路以在买家选择揭露卖家身份时,由卖家通过可验证的方式公开身份;最终实现了在NFT交易中在买家选择不揭露卖家身份时保持卖家身份隐私、在买家选择揭露卖家身份时公开卖家身份。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种NFT半隐私交易方法的流程图。
图2为图1所示方法中步骤S11的流程图。
图3为图1所示方法中步骤S13的流程图。
图4为图1所示方法中步骤S15的流程图。
图5为图1所示方法中步骤S17的流程图。
图6为本发明一实施例提供的另一种NFT半隐私交易方法的流程图。
图7为本发明一实施例提供的又一种NFT半隐私交易方法的流程图。
图8为本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种NFT半隐私交易方法的流程图。图2为图1所示方法中步骤S11的流程图。图3为图1所示方法中步骤S13的流程图。图4为图1所示方法中步骤S15的流程图。图5为图1所示方法中步骤S17的流程图。
如图1-5所示,在本实施例中,本发明提供一种适用于区块链节点的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
S11:执行NFT半隐私出售交易:
S111:将待出售的第一NFT的第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
S113:将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
S115:将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
任一项验证失败,则NFT半隐私出售交易执行失败;
各项验证通过,则执行步骤S117:将第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
S13:响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行第一NFT隐私购买交易:
S131:将第一NFT的未生效的第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
S133:将第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
S135:将第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
S137:验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则执行步骤S139:使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
S15:响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行第二NFT隐私购买交易:
S151:将第一NFT的未生效的第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
S153:将第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
S155:将第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
S157:验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则执行步骤S159:等待执行匿名公开交易;
以及,S17:执行匿名公开交易:
S171:验证第二NFT隐私购买交易是否执行成功;
S173:将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则执行步骤S175:使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID。
其中,第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
在本申请中,各零知识证明电路的验证原理分别在于:
1、第一零知识证明电路基于以下原理进行验证:
HashID1=hash(ownerAddr+r1);
ownerAddr=Addr(Pub(ownerPrivateKey));
其中,HashID1为第一哈希ID,ownerAddr为第一NFT的所有者的第一地址,r1为随机数,ownerPrivateKey为第一NFT的所有者的第一私钥,Pub()为根据私钥生成公钥的算法,Addr()为根据公钥生成地址的算法,hash()为哈希算法。
其中,本领域技术人员可以理解,可以将随机数r1替换为其它(未公开的)信息,可实现相同的技术效果。
2、第二零知识证明电路基于以下原理进行验证:
HashID2=hash(ownerAddr+amount+r2);
其中,HashID2为第二哈希ID/第三哈希ID,amount为交易金额(即用于收款的第一可花费支票/第二可花费支票的数额),r2为随机数。本领域技术人员可以理解,可以将ownerAddr替换为对应的公钥等信息,还可以将r2替换为其它(未公开的)信息,可实现相同的技术效果。
3、第三零知识证明电路基于以下原理进行验证:
HashID3=hash(buyerAddr+r3);
其中,HashID3为第四哈希ID/第七哈希ID,buyerAddr为买方的第二地址,r3为随机数。本领域技术人员可以理解,可以将随机数r3替换为其它(所有者未公开的)信息,可实现相同的技术效果。
4、第四零知识证明电路基于以下原理进行验证:
HashID4=hash(buyerAddr+amount1+r4);
buyerAddr=Addr(Pub(buyerPrivateKey));
HashID4*merkle_path=merkle_root;
其中,HashID4为第五哈希ID/第八哈希ID,amount1为第三可花费支票/第五可花费支票的数额,r4为随机数,buyerPrivateKey为买方的第二私钥,merkle_path为第三可花费支票/第五可花费支票在可花费支票默克尔树中所对应的默克尔路径,merkle_root为可花费支票默克尔树的树根。
具体地,在本实施例中,区块链通过将生效的可花费支票的哈希ID记录到可花费默克尔树中的方式标记可花费支票是否生效。哈希ID不在该可花费默克尔树中的可花费支票即未生效的。另有作废默克尔树用于标记可花费支票已经被使用并作废,具体不再展开。
本领域技术人员可以理解,当其它实施例中区块链使用本领域常用的其它方式标记可花费支票是否生效时,可以通过相应的验证方式(而非上述与默克尔路径/树根进行验证的验证方式)验证可花费支票是否生效。
本领域技术人员同样可以理解,可以将buyerAddr替换为对应的公钥等信息,还可以将r4替换为其它(未公开的)信息,可实现相同的技术效果。
5、第五零知识证明电路基于以下原理进行验证:
HashID5=hash(buyerAddr+amount2+r5);
buyerAddr=Addr(Pub(buyerPrivateKey));
其中,HashID5为第六哈希ID/第九哈希ID,amount2为第四可花费支票/第六可花费支票的数额,r5为随机数。
本领域技术人员同样可以理解,可以将buyerAddr替换为对应的公钥等信息,还可以将r5替换为其它(未公开的)信息,可实现相同的技术效果。
6、第六零知识证明电路的验证原理与第一零知识证明电路完全相同,不再重复赘述。
第六零知识证明电路与第一零知识证明电路的区别仅在于:
在第一零知识证明电路中,ownerAddr是证明算法的私密输入,不会在区块链上公开;而在第六零知识证明电路中,ownerAddr是证明算法的公开输入,会在区块链上公开(即,通过公开卖家的地址公开卖家的身份)。
本领域技术人员可以理解在零知识证明体系中如何根据上述验证原理生成零知识证明电路,以及:
所生成的第一零知识证明电路包括第一证明算法Prove1()、第一验证算法Verify1(),还可以包括第一生成算法Setup1();
所生成的第二零知识证明电路包括第二证明算法Prove2()、第二验证算法Verify2(),还可以包括第二生成算法Setup2();
所生成的第三零知识证明电路包括第三证明算法Prove3()、第三验证算法Verify3(),还可以包括第三生成算法Setup3();
所生成的第四零知识证明电路包括第四证明算法Prove4()、第四验证算法Verify4(),还可以包括第四生成算法Setup4();
所生成的第五零知识证明电路包括第五证明算法Prove5()、第五验证算法Verify5(),还可以包括第五生成算法Setup5();
所生成的第六零知识证明电路包括第六证明算法Prove6()、第六验证算法Verify6(),还可以包括第六生成算法Setup6();
具体过程此处不再赘述。
以下以用户甲分别出售NFT3和NFT4、用户乙购买NFT3并选择卖方匿名收款、用户丙购买NFT4并选择卖方不匿名收款、区块链通过图1-5所示的方法实现隐私交易为例,对图1-5进行示例性的阐述。
当用户甲要出售NFT3时,需要设定匿名收款的第一收款数额(例如100元)和不匿名收款的第二收款数额(例如101元)。
用户甲的用户端以NFT3的哈希ID(HashIDNFT3)作为第一证明算法Prove1()的公开输入,以第一地址Addr1、第一私钥p1、随机数r1作为第一证明算法Prove1()的私密输入,生成第一证明信息prove1:
Prove1(HashIDNFT3,Addr1、p1、r1)→prove1;
根据第一地址Addr1、第一收款数额100、随机数r2生成用于匿名收款的未生效的第一可花费支票的第二哈希ID:
HashID Check1=hash(Addr1+100+r2);
根据第一地址Addr1、第二收款数额101、随机数r3生成用于不匿名收款的未生效的第二可花费支票的第三哈希ID:
HashID Check2=hash(Addr1+101+r3);
以第二哈希ID(HashID Check1)、第一收款数额100作为第二证明算法Prove2()的公开输入,以第一地址Addr1、随机数r2作为第二证明算法Prove2()的私密输入,生成第二证明信息prove2:
Prove2(HashID Check1、100,Addr1、r2)→prove2;
以第三哈希ID(HashID Check2)、第二收款数额101作为第二证明算法Prove2()的公开输入,以第一地址Addr1、随机数r3作为第二证明算法Prove2()的私密输入,生成第三证明信息prove3:
Prove2(HashID Check2、101,Addr1、r3)→prove3;
打包生成包括第一哈希ID(HashIDNFT3)、第一证明信息prove1、第二哈希ID(HashIDCheck1)、第一收款数额100、第二证明信息prove2、第三哈希ID(HashID Check2)、第二收款数额101、第三证明信息prove3的NFT半隐私出售交易tx1并发送至区块链网络。
在步骤S11中,区块链节点执行tx1:
在步骤S111中,将第一哈希ID(HashIDNFT3)和第一证明信息prove1输入第一零知识证明电路的验证算法Verify1()进行验证:
Verify1(HashIDNFT3,prove1)→Yes/No;
当第一验证算法Verify1()的输出结果为No时,验证失败,tx1执行失败;
在步骤S113中,将第二哈希ID(HashID Check1)、第一收款数额100、第二证明信息prove2输入第二零知识证明电路的验证算法Verify2()进行验证:
Verify2(HashID Check1、100,prove2)→Yes/No;
当第二验证算法Verify2()的输出结果为No时,验证失败,tx1执行失败;
在步骤S115中,将第三哈希ID(HashID Check2)、第二收款数额101、第三证明信息prove3输入第二零知识证明电路的验证算法Verify2()进行验证:
Verify2(HashID Check2、101,prove3)→Yes/No;
当第二验证算法Verify2()的输出结果为No时,验证失败,tx1执行失败;
当步骤S111-S115的各项验证通过时,执行步骤S117,将第一NFT的半隐私出售订单(包括匿名售价100和不匿名售价101)记录到区块链上,以供买方的设备获取。
用户甲出售NFT4的过程和区块链节点执行对应的NFT半隐私出售交易的过程与上述出售NFT3的过程雷同(注:以下同样以匿名售价100和不匿名售价101为例进行阐述),不再重复赘述。
当用户乙选择以卖方匿名收款的方式(对应于售价100)购买NFT3时,用户乙的用户端需要根据用户乙的地址Addr2为NFT3构造新的未生效的哈希ID:
HashIDNFT3_new=hash(Addr2+r4);
并以新构造的哈希ID(HashIDNFT3_new)作为第三证明算法Prove3()的公开输入,以第二地址Addr2、随机数r4作为第三证明算法Prove3()的私密输入,生成第四证明信息prove4:
Prove3(HashIDNFT3_new,Addr2、r4)→prove4;
以及,用户乙的用户端还需要查找用户乙所拥有的数额不小于100元的(已生效且未作废的)可花费支票(注:此处以通过一张可花费支票进行支付为例进行示例性阐述,在更多实施例中也可以通过多张数额小于交易金额、总额不小于交易金额的可花费支票进行支付),例如,查找到数额为105元的第三可花费支票,则根据第三可花费支票的数额105元和交易金额100元确定找零金额5元(即第四可花费支票的数额),并分别生成第一加密数额E1和第二加密数额E2:
E1=105*G+ra*H;
E2=5*G+ra*H;
以第三可花费支票的可花费支票默克尔树的树根merkle_root1、第三可花费支票的作废哈希hashvoid1、第一加密数额E1作为第四证明算法Prove4()的公开输入,以第三可花费支票的哈希ID(HashID Check3)、第三可花费支票在可花费支票默克尔树中所对应的默克尔路径merkle_path1、第二地址Addr2、随机数r、第二私钥p2、第三可花费支票的数额105、随机数r5作为第四证明算法Prove4()的私密输入,生成第五证明信息prove5:
Prove4(merkle_root1、hashvoid1、E1,HashID Check3、merkle_path1、
Addr2、r、105、r5)→prove5;
根据第二地址Addr2、找零数额5、随机数r6生成待找零的未生效的第四可花费支票的第六哈希ID:
HashID Check4=hash(Addr2+5+r6);
再以第六哈希ID(HashID Check4)、第二加密数额E2作为第五证明算法Prove5()的公开输入,以第二地址Addr2、找零数额5、随机数r、随机数r6作为第五证明算法Prove5()的私密输入,生成第六证明信息prove6:
Prove5(HashID Check4、E2,Addr2、5、r、r6)→prove6;
最后打包生成包括交易金额100、HashIDNFT3_new、prove4、merkle_root1、hashvoid1、E1、prove5、HashID Check4、E2、prove6的第一NFT隐私购买交易tx2并发送至区块链网络。
在步骤S13中,区块链节点执行tx2:
在步骤S131中,将第四哈希ID(HashIDNFT3_new)和第四证明信息prove4输入第三零知识证明电路的验证算法进行验证:
Verify3(HashIDNFT3_new,prove4)→Yes/No;
当第三验证算法Verify3()的输出结果为No时,验证失败,tx2执行失败;
在步骤S133中,将第一加密数额E1和第五证明信息prove5输入第四零知识证明电路的验证算法进行验证:
Verify4(merkle_root1、hashvoid1、E1,prove5)→Yes/No;
当第四验证算法Verify4()的输出结果为No时,验证失败,tx2执行失败;
在步骤S135中,将第二加密数额E2和第六证明信息prove6输入第五零知识证明电路的验证算法进行验证;
Verify5(HashID Check4、E2,prove6)→Yes/No;
当第五验证算法Verify5()的输出结果为No时,验证失败,tx2执行失败;
在步骤S137中,验证E1-E2是否等于100*G:否,则验证失败,tx2执行失败;
当步骤S131-S137的各项验证全部通过时,执行步骤S139,使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将NFT3的所有者更新为第四哈希ID(HashIDNFT3_new),最终完成NFT3的匿名交易。
当用户丙选择以卖方不匿名收款的方式(对应于售价101)购买NFT4时,用户丙的用户端需要根据用户丙的地址Addr3为NFT4构造新的未生效的哈希ID:
HashIDNFT4_new=hash(Addr3+r7);
并以新构造的哈希ID(HashIDNFT4_new)作为第三证明算法Prove3()的公开输入,以Addr3、随机数r4作为第三证明算法Prove3()的私密输入,生成第七证明信息prove7:
Prove3(HashIDNFT4_new,Addr3、r7)→prove7;
查找用户丙所拥有的数额不小于101元的(已生效且未作废的)可花费支票,例如,查找到数额为110元的第五可花费支票,则根据第五可花费支票的数额110元和交易金额101元确定找零金额9元(即第六可花费支票的数额),并分别生成第三加密数额E3和第四加密数额E4:
E3=110*G+rb*H;
E4=9*G+rb*H;
以第五可花费支票的可花费支票默克尔树的树根merkle_root2、第五可花费支票的作废哈希hashvoid2、第三加密数额E3作为第四证明算法Prove4()的公开输入,以第五可花费支票的哈希ID(HashID Check5)、第五可花费支票在可花费支票默克尔树中所对应的默克尔路径merkle_path2、用户丙的地址Addr3、随机数r、用户丙的私钥p3、第五可花费支票的数额110、随机数r8作为第四证明算法Prove4()的私密输入,生成第八证明信息prove8:
Prove4(merkle_root2、hashvoid2、E3,HashID Check5、merkle_path2、
Addr3、r、110、r8)→prove8;
根据Addr3、找零数额9、随机数r9生成待找零的未生效的第六可花费支票的第九哈希ID:
HashID Check6=hash(Addr3+9+r9);
再以第九哈希ID(HashID Check6)、第四加密数额E4作为第五证明算法Prove5()的公开输入,以Addr3、找零数额9、随机数r、随机数r9作为第五证明算法Prove5()的私密输入,生成第九证明信息prove9:
Prove5(HashID Check6、E4,Addr3、9、r、r9)→prove9;
最后打包生成包括交易金额101、HashIDNFT4_new、prove7、merkle_root2、hashvoid2、E3、prove8、HashID Check6、E4、prove9的第二NFT隐私购买交易tx3并发送至区块链网络。
在步骤S15中,区块链节点执行tx3:
在步骤S151中,将第七哈希ID(HashIDNFT4_new)和第七证明信息prove7输入第三零知识证明电路的验证算法进行验证:
Verify3(HashIDNFT4_new,prove7)→Yes/No;
当第三验证算法Verify3()的输出结果为No时,验证失败,tx3执行失败;
在步骤S153中,将第三加密数额E3和第八证明信息prove8输入第四零知识证明电路的验证算法进行验证:
Verify4(merkle_root2、hashvoid2、E3,prove8)→Yes/No;
当第四验证算法Verify4()的输出结果为No时,验证失败,tx3执行失败;
在步骤S155中,将第四加密数额E4和第九证明信息prove9输入第五零知识证明电路的验证算法进行验证;
Verify5(HashID Check6、E4,prove9)→Yes/No;
当第五验证算法Verify5()的输出结果为No时,验证失败,tx3执行失败;
在步骤S157中,验证E3-E4是否等于101*G:否,则验证失败,tx3执行失败;
当步骤S151-S157的各项验证全部通过时,执行步骤S159,等待执行匿名公开交易。
用户甲的用户端在监测到tx3执行成功后,以NFT3的哈希ID(HashIDNFT3)、第一地址Addr1作为第六证明算法Prove6()的公开输入,以第一私钥p1、随机数r1作为第六证明算法Prove6()的私密输入,生成第十证明信息prove10:
Prove6(HashIDNFT4、Addr1,p1、r1)→prove10;
打包生成包括第一哈希ID(HashIDNFT4)、第一地址Addr1、第一证明信息prove1的匿名公开交易tx4并发送至区块链网络。
在步骤S17中,区块链节点执行tx4:
在步骤S171中,验证对应的第二NFT隐私购买交易tx3是否执行成功:否,则tx4执行失败;
在步骤S173中,将HashIDNFT4、Addr1和prove10输入第六零知识证明电路的验证算法进行验证:
Verify6(HashIDNFT4、Addr1,prove10)→Yes/No;
当第六验证算法Verify6()的输出结果为No时,验证失败,tx4执行失败;
当步骤S171-S173的各项验证全部通过时,执行步骤S175,使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将NFT4的所有者更新为第七哈希ID(HashIDNFT4_new)。此时,用户甲的身份随着Addr1在区块链上的公开而公开,最终完成了NFT4的匿名交易。
上述实施例通过在区块链上配置第一零知识证明电路,保障了卖方可以匿名出售;通过由卖家用户端生成可根据第二零知识证明电路验证的用于匿名收款的第一可花费支票和用于不匿名收款的第二可花费支票,使得买家可以通过择一支付来选择是否揭露卖家的身份;通过配置验证买方提供的新的哈希ID合法性的第三零知识证明电路,保障了买方可以匿名购买;通过配置第四、五零知识证明电路,并在其中设计了特定的加密数额,保障了交易过程中除了交易金额外的收付费账户、花费金额、找零金额等信息完全隐私;通过配置第六零知识证明电路以在买家选择揭露卖家身份时,由卖家通过可验证的方式公开身份;最终实现了在NFT交易中在买家选择不揭露卖家身份时保持卖家身份隐私、在买家选择揭露卖家身份时公开卖家身份。
图6为本发明一实施例提供的另一种NFT半隐私交易方法的流程图。图6所示的方法可配合图1-5所示的方法执行。
如图6所示,在本实施例中,本发明还提供一种适用于卖方的用户端的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
S21:根据第一零知识证明电路的第一证明算法生成第一证明信息;其中,第一证明算法的公开输入包括待出售的第一NFT的第一哈希ID,第一证明算法的私密输入包括第一NFT的所有者的第一地址和第一私钥;
S22:根据第二零知识证明电路的第二证明算法生成第二证明信息;其中,生成第二证明信息的公开输入包括用于匿名收款的未生效的第一可花费支票的第二哈希ID和第一收款数额,私密输入包括第一地址;
S23:根据第二零知识证明电路的第二证明算法生成第三证明信息;其中,生成第三证明信息的公开输入包括用于不匿名收款的未生效的第二可花费支票的第三哈希ID和第二收款数额,私密输入包括第一地址;
S24:打包生成包括第一哈希ID、第一证明信息、第二哈希ID、第一收款数额、第二证明信息、第三哈希ID、第二收款数额和第三证明信息的NFT半隐私出售交易并发送至区块链网络,以供区块链节点执行:
将第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
将第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
将第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
任一项验证失败,则NFT半隐私出售交易执行失败;
各项验证通过,则将第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
S25:响应于第二NFT隐私购买交易执行成功,根据第六零知识证明电路的第六证明算法生成第十证明信息;其中,第六证明算法的公开输入包括第一哈希ID和第一地址,第六证明算法的私密输入包括第一私钥;
S26:打包生成包括第一哈希ID、第一地址、第十证明信息的匿名公开交易并发送至区块链网络,以供区块链节点执行:
验证第二NFT隐私购买交易是否执行成功;
将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID。
其中,区块链节点还配置用于响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行第一NFT隐私购买交易:
将第一NFT的未生效的第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第三可花费支票的第五哈希ID、第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第四可花费支票的第六哈希ID、第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
区块链节点还配置用于响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行第二NFT隐私购买交易:
将第一NFT的未生效的第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第五可花费支票的第八哈希ID、第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第六可花费支票的第九哈希ID、第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
图6所示方法的交易原理可参照图1-5所示的方法,具体过程不再赘述。
图7为本发明一实施例提供的又一种NFT半隐私交易方法的流程图。图7所示的方法可配合图1-6所示的方法执行。
如图7所示,在本实施例中,本发明还提供一种适用于买方的用户端的NFT半隐私交易方法,区块链部署有NFT交易合约,NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,该方法包括:
响应于当前用户选择卖方匿名收款:
S31:根据第三零知识证明电路的第三证明算法生成第四证明信息;其中,生成第四证明信息的公开输入包括所购买的第一NFT的未生效的第四哈希ID,私密输入包括买方的第二地址;
S33:根据第四零知识证明电路的第四证明算法生成第五证明信息;其中,生成第五证明信息的公开输入包括第一加密数额,私密输入包括用于付款的已生效的第三可花费支票的第五哈希ID、买方的第二地址和第二私钥、第三可花费支票的数额;
S35:根据第五零知识证明电路的第五证明算法生成第六证明信息;其中,生成第六证明信息的公开输入包括第二加密数额,私密输入包括用于找零的未生效的第四可花费支票的第六哈希ID、第二地址、第四可花费支票的数额;
S37:打包生成包括第四哈希ID、第四证明信息、第一加密数额、第五证明信息、第二加密数额、第六证明信息的第一NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将第四哈希ID和第四证明信息输入第三零知识证明电路的验证算法进行验证;
将第一加密数额和第五证明信息输入第四零知识证明电路的验证算法进行验证;
将第二加密数额和第六证明信息输入第五零知识证明电路的验证算法进行验证;
验证第一加密数额与第二加密数额之差是否等于第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则第一NFT隐私购买交易执行失败;
各项验证通过,则使第三可花费支票失效、使第一可花费支票和第四可花费支票生效,并将第一NFT的所有者更新为第四哈希ID;
响应于当前用户选择卖方不匿名收款:
S32:根据第三零知识证明电路的第三证明算法生成第七证明信息;其中,生成第七证明信息的公开输入包括所购买的第一NFT的未生效的第七哈希ID,私密输入包括买方的第二地址;
S34:根据第四零知识证明电路的第四证明算法生成第八证明信息;其中,生成第八证明信息的公开输入包括第三加密数额,私密输入包括用于付款的已生效的第五可花费支票的第八哈希ID、买方的第二地址和第二私钥、第五可花费支票的数额;
S36:根据第五零知识证明电路的第五证明算法生成第九证明信息;其中,生成第九证明信息的公开输入包括第四加密数额,私密输入包括用于找零的未生效的第六可花费支票的第九哈希ID、第二地址、第六可花费支票的数额;
S38:打包生成包括第七哈希ID、第七证明信息、第三加密数额、第八证明信息、第四加密数额、第九证明信息的第二NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将第七哈希ID和第七证明信息输入第三零知识证明电路的验证算法进行验证;
将第三加密数额和第八证明信息输入第四零知识证明电路的验证算法进行验证;
将第四加密数额和第九证明信息输入第五零知识证明电路的验证算法进行验证;
验证第三加密数额与第四加密数额之差是否等于第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易。
其中,第一NFT的半隐私出售订单由区块链节点执行NFT半隐私出售交易,通过以下各项验证时记录到区块链上:
将第一NFT的第一哈希ID和第一证明信息输入第一零知识证明电路的验证算法进行验证;
将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入第二零知识证明电路的验证算法进行验证;
将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入第二零知识证明电路的验证算法进行验证;
区块链节点还用于执行匿名公开交易:
验证第二NFT隐私购买交易是否执行成功;
将第一哈希ID、第一地址和第十证明信息输入第六零知识证明电路的验证算法进行验证;
各项验证通过,则使第五可花费支票失效、使第二可花费支票和第六可花费支票生效,并将第一NFT的所有者更新为第七哈希ID;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为第三可花费支票的数额,amount2为第四花费支票的数额,amount3为第五可花费支票的数额,amount4为第六可花费支票的数额,ra、rb为随机数,G为第一椭圆曲线基点,H为第二椭圆曲线基点。
图7所示方法的交易原理同样可参照图1-5所示的方法,具体过程不再赘述。
图8为本发明一实施例提供的一种计算机设备的结构示意图。
如图8所示,作为另一方面,本申请还提供了一种计算机设备,包括一个或多个中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有设备800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (5)
1.一种NFT半隐私交易方法,其特征在于,区块链部署有NFT交易合约,所述NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,所述方法适用于区块链节点,所述方法包括:
执行NFT半隐私出售交易:
将待出售的第一NFT的第一哈希ID和第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入所述第二零知识证明电路的验证算法进行验证;
任一项验证失败,则所述NFT半隐私出售交易执行失败;
各项验证通过,则将所述第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行所述第一NFT隐私购买交易:
将所述第一NFT的未生效的第四哈希ID和第四证明信息输入所述第三零知识证明电路的验证算法进行验证;
将第一加密数额和第五证明信息输入所述第四零知识证明电路的验证算法进行验证;
将第二加密数额和第六证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第一NFT隐私购买交易执行失败;
各项验证通过,则使所述第三可花费支票失效、使所述第一可花费支票和所述第四可花费支票生效,并将所述第一NFT的所有者更新为所述第四哈希ID;
响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行所述第二NFT隐私购买交易:
将所述第一NFT的未生效的第七哈希ID和第七证明信息输入所述第三零知识证明电路的验证算法进行验证;
将第三加密数额和第八证明信息输入所述第四零知识证明电路的验证算法进行验证;
将第四加密数额和第九证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第三加密数额与所述第四加密数额之差是否等于所述第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
执行所述匿名公开交易:
验证所述第二NFT隐私购买交易是否执行成功;
将所述第一哈希ID、第一地址和第十证明信息输入所述第六零知识证明电路的验证算法进行验证;
各项验证通过,则使所述第五可花费支票失效、使所述第二可花费支票和所述第六可花费支票生效,并将所述第一NFT的所有者更新为所述第七哈希ID;
其中,第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为所述第三可花费支票的数额,amount2为所述第四花费支票的数额,amount3为所述第五可花费支票的数额,amount4为所述第六可花费支票的数额,ra、rb为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
2.一种NFT半隐私交易方法,其特征在于,区块链部署有NFT交易合约,所述NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,所述方法适用于卖方的用户端,所述方法包括:
根据所述第一零知识证明电路的第一证明算法生成第一证明信息;其中,所述第一证明算法的公开输入包括待出售的第一NFT的第一哈希ID,所述第一证明算法的私密输入包括所述第一NFT的所有者的第一地址和第一私钥;
根据所述第二零知识证明电路的第二证明算法生成第二证明信息;其中,生成所述第二证明信息的公开输入包括用于匿名收款的未生效的第一可花费支票的第二哈希ID和第一收款数额,私密输入包括所述第一地址;
根据所述第二零知识证明电路的第二证明算法生成第三证明信息;其中,生成所述第三证明信息的公开输入包括用于不匿名收款的未生效的第二可花费支票的第三哈希ID和第二收款数额,私密输入包括所述第一地址;
打包生成包括所述第一哈希ID、所述第一证明信息、所述第二哈希ID、所述第一收款数额、所述第二证明信息、所述第三哈希ID、所述第二收款数额和所述第三证明信息的NFT半隐私出售交易并发送至区块链网络,以供区块链节点执行:
将所述第一哈希ID和所述第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将所述第二哈希ID、所述第一收款数额和所述第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
将所述第三哈希ID、所述第二收款数额和所述第三证明信息输入所述第二零知识证明电路的验证算法进行验证;
任一项验证失败,则所述NFT半隐私出售交易执行失败;
各项验证通过,则将所述第一NFT的半隐私出售订单记录到区块链上,以供买方的设备获取;
响应于第二NFT隐私购买交易执行成功,根据所述第六零知识证明电路的第六证明算法生成第十证明信息;其中,所述第六证明算法的公开输入包括所述第一哈希ID和所述第一地址,所述第六证明算法的私密输入包括所述第一私钥;
打包生成包括所述第一哈希ID、所述第一地址、所述第十证明信息的匿名公开交易并发送至区块链网络,以供区块链节点执行:
验证所述第二NFT隐私购买交易是否执行成功;
将所述第一哈希ID、第一地址和第十证明信息输入所述第六零知识证明电路的验证算法进行验证;
各项验证通过,则使所述第五可花费支票失效、使所述第二可花费支票和所述第六可花费支票生效,并将所述第一NFT的所有者更新为所述第七哈希ID;
其中,区块链节点还配置用于响应于打包选择卖方匿名收款的第一NFT隐私购买交易,执行所述第一NFT隐私购买交易:
将所述第一NFT的未生效的第四哈希ID和第四证明信息输入所述第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第三可花费支票的第五哈希ID、第一加密数额和第五证明信息输入所述第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第四可花费支票的第六哈希ID、第二加密数额和第六证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第一NFT隐私购买交易执行失败;
各项验证通过,则使所述第三可花费支票失效、使所述第一可花费支票和所述第四可花费支票生效,并将所述第一NFT的所有者更新为所述第四哈希ID;
区块链节点还配置用于响应于打包选择卖方不匿名收款的第二NFT隐私购买交易,执行所述第二NFT隐私购买交易:
将所述第一NFT的未生效的第七哈希ID和第七证明信息输入所述第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第五可花费支票的第八哈希ID、第三加密数额和第八证明信息输入所述第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第六可花费支票的第九哈希ID、第四加密数额和第九证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第三加密数额与所述第四加密数额之差是否等于所述第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为所述第三可花费支票的数额,amount2为所述第四花费支票的数额,amount3为所述第五可花费支票的数额,amount4为所述第六可花费支票的数额,ra、rb为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
3.一种NFT半隐私交易方法,其特征在于,区块链部署有NFT交易合约,所述NFT交易合约配置有用于验证匿名的卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路、用于验证不匿名的卖方是否所交易的NFT的所有者的第六零知识证明电路,所述方法适用于买方的用户端,所述方法包括:
响应于当前用户选择卖方匿名收款:
根据所述第三零知识证明电路的第三证明算法生成第四证明信息;其中,生成所述第四证明信息的公开输入包括所购买的第一NFT的未生效的第四哈希ID,私密输入包括买方的第二地址;
根据所述第四零知识证明电路的第四证明算法生成第五证明信息;其中,生成所述第五证明信息的公开输入包括第一加密数额,私密输入包括用于付款的已生效的第三可花费支票的第五哈希ID、买方的第二地址和第二私钥、所述第三可花费支票的数额;
根据所述第五零知识证明电路的第五证明算法生成第六证明信息;其中,生成所述第六证明信息的公开输入包括第二加密数额,私密输入包括用于找零的未生效的第四可花费支票的第六哈希ID、所述第二地址、所述第四可花费支票的数额;
打包生成包括所述第四哈希ID、所述第四证明信息、所述第一加密数额、所述第五证明信息、所述第二加密数额、所述第六证明信息的第一NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将所述第四哈希ID和所述第四证明信息输入所述第三零知识证明电路的验证算法进行验证;
将所述第一加密数额和所述第五证明信息输入所述第四零知识证明电路的验证算法进行验证;
将所述第二加密数额和所述第六证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述第一收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第一NFT隐私购买交易执行失败;
各项验证通过,则使所述第三可花费支票失效、使所述第一可花费支票和所述第四可花费支票生效,并将所述第一NFT的所有者更新为所述第四哈希ID;
响应于当前用户选择卖方不匿名收款:
根据所述第三零知识证明电路的第三证明算法生成第七证明信息;其中,生成所述第七证明信息的公开输入包括所购买的第一NFT的未生效的第七哈希ID,私密输入包括买方的第二地址;
根据所述第四零知识证明电路的第四证明算法生成第八证明信息;其中,生成所述第八证明信息的公开输入包括第三加密数额,私密输入包括用于付款的已生效的第五可花费支票的第八哈希ID、买方的第二地址和第二私钥、所述第五可花费支票的数额;
根据所述第五零知识证明电路的第五证明算法生成第九证明信息;其中,生成所述第九证明信息的公开输入包括第四加密数额,私密输入包括用于找零的未生效的第六可花费支票的第九哈希ID、所述第二地址、所述第六可花费支票的数额;
打包生成包括所述第七哈希ID、所述第七证明信息、所述第三加密数额、所述第八证明信息、所述第四加密数额、所述第九证明信息的第二NFT隐私购买交易并发送至区块链网络,以供区块链节点执行:
将所述第七哈希ID和所述第七证明信息输入所述第三零知识证明电路的验证算法进行验证;
将所述第三加密数额和所述第八证明信息输入所述第四零知识证明电路的验证算法进行验证;
将所述第四加密数额和所述第九证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第三加密数额与所述第四加密数额之差是否等于所述第二收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述第二NFT隐私购买交易执行失败;
各项验证通过,则等待执行匿名公开交易;
其中,所述第一NFT的半隐私出售订单由区块链节点执行NFT半隐私出售交易,通过以下各项验证时记录到区块链上:
将所述第一NFT的第一哈希ID和第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将用于匿名收款的未生效的第一可花费支票的第二哈希ID、第一收款数额和第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
将用于不匿名收款的未生效的第二可花费支票的第三哈希ID、第二收款数额和第三证明信息输入所述第二零知识证明电路的验证算法进行验证;
区块链节点还用于执行所述匿名公开交易:
验证所述第二NFT隐私购买交易是否执行成功;
将所述第一哈希ID、第一地址和第十证明信息输入所述第六零知识证明电路的验证算法进行验证;
各项验证通过,则使所述第五可花费支票失效、使所述第二可花费支票和所述第六可花费支票生效,并将所述第一NFT的所有者更新为所述第七哈希ID;
第一加密数额E1=amount1*G+ra*H;
第二加密数额E2=amount2*G+ra*H;
第三加密数额E3=amount3*G+rb*H;
第四加密数额E4=amount4*G+rb*H;
amount1为所述第三可花费支票的数额,amount2为所述第四花费支票的数额,amount3为所述第五可花费支票的数额,amount4为所述第六可花费支票的数额,ra、rb为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
4.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-3中任一项所述的方法。
5.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370549.4A CN114615083B (zh) | 2022-04-10 | 2022-04-10 | Nft半隐私交易方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210370549.4A CN114615083B (zh) | 2022-04-10 | 2022-04-10 | Nft半隐私交易方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114615083A true CN114615083A (zh) | 2022-06-10 |
CN114615083B CN114615083B (zh) | 2024-02-06 |
Family
ID=81868865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210370549.4A Active CN114615083B (zh) | 2022-04-10 | 2022-04-10 | Nft半隐私交易方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114615083B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102742211A (zh) * | 2009-01-30 | 2012-10-17 | 奥马尔科网络解决方案有限公司 | 与多功能认证系统相关的改进 |
CN112968881A (zh) * | 2021-02-01 | 2021-06-15 | 杭州复杂美科技有限公司 | 区块链匿名投票方法、计算机设备和存储介质 |
US20220058734A1 (en) * | 2020-08-20 | 2022-02-24 | Mark Walter Vick | System and method for secure anonymous payment processing of virtual assets or services |
-
2022
- 2022-04-10 CN CN202210370549.4A patent/CN114615083B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102742211A (zh) * | 2009-01-30 | 2012-10-17 | 奥马尔科网络解决方案有限公司 | 与多功能认证系统相关的改进 |
US20220058734A1 (en) * | 2020-08-20 | 2022-02-24 | Mark Walter Vick | System and method for secure anonymous payment processing of virtual assets or services |
CN112968881A (zh) * | 2021-02-01 | 2021-06-15 | 杭州复杂美科技有限公司 | 区块链匿名投票方法、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
王子钰;刘建伟;张宗洋;喻辉;: "基于聚合签名与加密交易的全匿名区块链", 计算机研究与发展 * |
Also Published As
Publication number | Publication date |
---|---|
CN114615083B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11244313B2 (en) | Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT) | |
US11488176B2 (en) | Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT) | |
US11880809B2 (en) | Blockchain cross-chain non-fungible token exchange | |
US20230042977A1 (en) | Encrypting a portion of a block of an exchange item transactions chain | |
US20180189753A1 (en) | Infrastructure for obligation management and validation | |
JP7254701B2 (ja) | ブロックチェーン上に格納されたユーザ関連データを生成し及び抽出するコンピュータにより実装されるシステム及び方法 | |
JP7173976B2 (ja) | コンピュータにより実現される方法およびシステム | |
US20180197186A1 (en) | Managing chain-of-ownership for art using cryptocurrency blockchain | |
US20070233611A1 (en) | Method and system to verify a transaction | |
US20180197159A1 (en) | Managing chain-of-ownership for art using cryptocurrency blockchain | |
US20200320490A1 (en) | Method and system for conducting a transaction using private blockchain | |
US20240005730A1 (en) | Blockchain-based smart contract instant lottery ticket | |
GB2413651A (en) | Networked electronic trading system | |
US20230062776A1 (en) | Supplemental Digital Content Access Control using Nonfungible Tokens (NFTs) | |
US20230108983A1 (en) | Digital Content Control Based on Nonfungible Tokens | |
KR102437601B1 (ko) | 고유 코드와 매칭된 nft를 기반으로 한 제품 거래 시스템 및 이를 이용한 제품 거래 방법 | |
US20200045538A1 (en) | Techniques for determining authenticity of an item | |
CN107239994A (zh) | 订单处理方法、装置、计算机设备及计算机可读存储介质 | |
CN114742654A (zh) | 基于联盟链的数字资产流转方法、系统、电子装置和介质 | |
KR100968941B1 (ko) | Otp를 이용한 금융거래 시스템 | |
CN113592478A (zh) | 数字商品交易方法、计算机设备和存储介质 | |
CN109493198A (zh) | 服务评价管理方法、装置、系统及评价服务器 | |
KR20200012394A (ko) | 블록체인을 활용한 실물상품 및 디지털 상품 보증 거래 시스템과 그 방법 | |
US20200242573A1 (en) | Cryptographic transactions supporting real world requirements | |
JP7340336B2 (ja) | 仮想通貨流通システム |
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 |