1.一种NFT隐私交易方法,其特征在于,区块链部署有NFT隐私交易合约,所述NFT隐私交易合约配置有用于验证卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路,所述方法适用于区块链节点,所述方法包括:执行NFT匿名出售交易:
将待出售的第一NFT的第一哈希ID和第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将待收款的未生效的第一可花费支票的第二哈希ID、收款数额和第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
任一项验证失败,则所述NFT匿名出售交易执行失败;
各项验证通过,则将所述第一NFT的匿名出售订单记录到区块链上,以供买方的设备获取;
执行NFT匿名购买交易:
将所述第一NFT的未生效的第三哈希ID和第三证明信息输入所述第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第二可花费支票的第四哈希ID、第一加密数额和第四证明信息输入所述第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第三可花费支票的第五哈希ID、第二加密数额和第五证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述NFT匿名购买交易执行失败;
各项验证通过,则使所述第二可花费支票失效、使所述第一可花费支票和所述第三可花费支票生效,并将所述第一NFT的所有者更新为所述第三哈希ID;
其中,第一加密数额E1=amount1*G+r*H;
第二加密数额E2=amount2*G+r*H;
amount1为所述第二可花费支票的数额,amount2所述第三花费支票的数额,r为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
2.一种NFT隐私交易方法,其特征在于,区块链部署有NFT隐私交易合约,所述NFT隐私交易合约配置有用于验证卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路,所述方法适用于卖方的用户端,所述方法包括:根据所述第一零知识证明电路的第一证明算法生成第一证明信息;其中,所述第一证明算法的公开输入包括待出售的第一NFT的第一哈希ID,所述第一证明算法的私密输入包括所述第一NFT的所有者的第一地址和第一私钥;
根据所述第二零知识证明电路的第二证明算法生成第二证明信息;其中,所述第二证明算法的公开输入包括待收款的未生效的第一可花费支票的第二哈希ID和收款数额,所述第二证明算法的私密输入包括所述第一地址;
打包生成包括所述第一哈希ID、所述第一证明信息、所述第二哈希ID、所述收款数额和所述第二证明信息的NFT匿名出售交易并发送至区块链网络,以供区块链节点执行:将所述第一哈希ID和所述第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将所述第二哈希ID、所述收款数额和所述第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
任一项验证失败,则所述NFT匿名出售交易执行失败;
各项验证通过,则将所述第一NFT的匿名出售订单记录到区块链上,以供买方的设备获取;
其中,区块链节点还配置用于执行NFT匿名购买交易:
将所述第一NFT的第三哈希ID和第三证明信息输入所述第三零知识证明电路的验证算法进行验证;
将用于付款的已生效的第二可花费支票的第四哈希ID、第一加密数额和第四证明信息输入所述第四零知识证明电路的验证算法进行验证;
将用于找零的未生效的第三可花费支票的第五哈希ID、第二加密数额和第五证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述NFT匿名购买交易执行失败;
各项验证通过,则使所述第二可花费支票失效、使所述第一可花费支票和所述第三可花费支票生效,并将所述第一NFT的所有者更新为所述第三哈希ID;
第一加密数额E1=amount1*G+r*H;
第二加密数额E2=amount2*G+r*H;
amount1为所述第二可花费支票的数额,amount2所述第三花费支票的数额,r为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
3.一种NFT隐私交易方法,其特征在于,区块链部署有NFT隐私交易合约,所述NFT隐私交易合约配置有用于验证卖方是否所交易的NFT的所有者的第一零知识证明电路、用于验证待收款的未生效的可花费支票的合法性的第二零知识证明电路、用于验证买方提交的所交易的NFT的未生效的新的哈希ID的合法性的第三零知识证明电路、用于验证买方所使用的已生效的可花费支票的合法性的第四零知识证明电路、用于验证买方提交的未生效的找零的可花费支票的合法性的第五零知识证明电路,所述方法适用于买方的用户端,所述方法包括:根据所述第三零知识证明电路的第三证明算法生成第三证明信息;其中,所述第三证明算法的公开输入包括所购买的第一NFT的未生效的第三哈希ID,所述第三证明算法的私密输入包括买方的第二地址;
根据所述第四零知识证明电路的第四证明算法生成第四证明信息;其中,所述第四证明算法的公开输入包括第一加密数额,所述第四证明算法的私密输入包括用于付款的已生效的第二可花费支票的第四哈希ID、买方的第二地址和第二私钥、所述第二可花费支票的数额;
根据所述第五零知识证明电路的第五证明算法生成第五证明信息;其中,所述第五证明算法的公开输入包括用于找零的未生效的第三可花费支票的第五哈希ID和第二加密数额,所述第五证明算法的私密输入包括所述第二地址、所述第三可花费支票的数额;
打包生成包括所述第三哈希ID、所述第三证明信息、所述第四哈希ID、所述第一加密数额、所述第四证明信息、所述第五哈希ID、所述第二加密数额、所述第五证明信息的NFT匿名购买交易并发送至区块链网络,以供区块链节点执行:将所述第三哈希ID和所述第三证明信息输入所述第三零知识证明电路的验证算法进行验证;
将所述第四哈希ID、所述第一加密数额和所述第四证明信息输入所述第四零知识证明电路的验证算法进行验证;
将所述第五哈希ID、所述第二加密数额和所述第五证明信息输入所述第五零知识证明电路的验证算法进行验证;
验证所述第一加密数额与所述第二加密数额之差是否等于所述收款数额与第一椭圆基点的乘积;
任一项验证失败,则所述NFT匿名购买交易执行失败;
各项验证通过,则使所述第二可花费支票失效、使第一可花费支票和所述第三可花费支票生效,并将所述第一NFT的所有者更新为所述第三哈希ID;
其中,所述第一NFT的匿名出售订单由区块链节点执行NFT匿名出售交易,通过以下各项验证时记录到区块链上:将所述第一NFT的第一哈希ID和第一证明信息输入所述第一零知识证明电路的验证算法进行验证;
将待收款的未生效的第一可花费支票的第二哈希ID、收款数额和第二证明信息输入所述第二零知识证明电路的验证算法进行验证;
第一加密数额E1=amountl*G+r*H;
第二加密数额E2=amount2*G+r*H;
amount1为所述第二可花费支票的数额,amount2所述第三花费支票的数额,r为随机数,G为所述第一椭圆曲线基点,H为第二椭圆曲线基点。
4.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1‑3中任一项所述的方法。
5.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1‑3中任一项所述的方法。