CN114358948A - Nft原子交换方法、系统、计算机可读存储介质及终端设备 - Google Patents

Nft原子交换方法、系统、计算机可读存储介质及终端设备 Download PDF

Info

Publication number
CN114358948A
CN114358948A CN202210038211.9A CN202210038211A CN114358948A CN 114358948 A CN114358948 A CN 114358948A CN 202210038211 A CN202210038211 A CN 202210038211A CN 114358948 A CN114358948 A CN 114358948A
Authority
CN
China
Prior art keywords
nft
transaction
atomic exchange
atomic
exchange transaction
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
Application number
CN202210038211.9A
Other languages
English (en)
Inventor
林哲明
喻念
吴浩瑜
陈浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Boquan Hashi Technology Co ltd
Original Assignee
Fujian Boquan Hashi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Boquan Hashi Technology Co ltd filed Critical Fujian Boquan Hashi Technology Co ltd
Priority to CN202210038211.9A priority Critical patent/CN114358948A/zh
Publication of CN114358948A publication Critical patent/CN114358948A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及非同质化代币流通技术领域,具体公开了一种NFT原子交换方法、系统、计算机可读存储介质及终端设备,方法包括:NFT发货方构建NFT的最新原子交换交易;NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、最终原子交换交易中代表NFT的输出的默克尔证明发送给NFT购买方;NFT购买方在本地SPV进行该NFT的存在性验证、进行本地溯源;NFT购买方在确认该NFT的交易存在并且溯源成功后,在最新原子交换交易中填入输入和输出,并广播到全节点完成该NFT的最新原子交换交易。本发明保证了NFT交易的一致性,使得NFT交易可以不依赖任何可信第三方,且整个交易过程简单又高效。

Description

NFT原子交换方法、系统、计算机可读存储介质及终端设备
技术领域
本发明涉及非同质化代币流通技术领域,尤其涉及一种NFT原子交换方法、系统、计算机可读存储介质及终端设备。
背景技术
代币或加密代币(以区块链为背景)是各区块链上代表数字资产的独特虚拟代币。加密代币分为两大类,即同质化代币和非同质化代币。同质化代币是相同的,意味着一个代币具有与另一个代币完全相似的特征,只要它们被称为相同的名称即可;而非同质化的代币(NFT,Non-Fungible Token)是不同的,其具有不可分割、唯一性等特点,表示没有NFT具有与其他功能相似的功能。
非同质化代币(NFT)有以下特征:(1)标准化:NFT具有一些标准化功能,包括所有权、转让等。所有非同质化代币都有这些功能。任何开发人员都可以利用该功能来构建自己的NFT。(2)通用性:NFT是通用的,也就是说,任何想要使用NFT的应用都可以使用它。因为区块链是公开可访问的,而且每个人都可以阅读部署NFT的智能合约。(3)流动性:与加密资产相关的流动性市场非常庞大。人们可以根据自己的需求轻松地将它们换成现金或其他加密货币。因此,NFT具有很高的流动性。(4)不变性:区块链因不变性而闻名。NFT是通过智能合约实现的。这使得NFT不可变,即用户无法将其NFT更改为其他NFT。NFT的所有权将永久记录于区块链中,除非用户决定将其转让给其他用户。(5)可编程:NFT是通过智能合约实现的。NFT代币可被增强并包含其他复杂功能。
NFT多数运用于收藏品、游戏道具、证书等领域的交易之中。本发明旨在提供一种新型的NFT交易方案。
发明内容
针对现有技术中的技术问题,本发明提供一种NFT原子交换方法、系统、计算机可读存储介质及终端设备。
本发明的一种NFT原子交换方法,包括:
NFT发货方将代表一NFT的TxOut作为一个输入、NFT发货方可打开的锁定脚本及金额作为一个输出,构建该NFT的最新原子交换交易,其中,原子交换交易被限制为包括多个输入、两个输出;
NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、最终原子交换交易中代表NFT的输出的默克尔证明发送给NFT购买方;
NFT购买方通过最终原子交换交易的默克尔证明、区块头,在本地SPV进行该NFT的存在性验证,若验证通过,则交易存在;
NFT购买方通过该NFT的最新原子交换交易的输入,沿该NFT的原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源,若最终溯源结果符合预先发布的NFT-TxOut映射关系,则溯源成功;
NFT购买方在确认该NFT的交易存在并且溯源成功后,在该NFT的最新原子交换交易中填入输入和输出,并广播到全节点完成NFT的最新原子交换交易。
进一步的,方法还包括:
预先设定该NFT与UTXO中该NFT所代表的TxOut为一一映射关系,将其作为NFT-TxOut映射关系,并向公开渠道发布。
进一步的,公开渠道包括微博、发布会、博览会中的一种或多种。
进一步的,NFT发货方通过OP_PUSH_TX技术限制原子交换交易的输出为两个输出。
进一步的,NFT发货方构建该NFT的最新原子交换交易时,通过SIGHASH_flag中的SINGLE|ANYONECANPAY方式签署交易。
进一步的,若NFT购买方在确认NFT的交易不存在和/或溯源失败,结束交易。
本发明还提供一种NFT原子交换系统,系统采用上述的NFT原子交换方法,以实现NFT的原子交换交易。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的NFT原子交换方法。
本发明还提供一种终端设备,包括计算机可读存储介质,以及处理器,其中,
计算机可读存储介质,存储有计算机指令;
处理器,配置为运行计算机指令以使终端设备执行上述的NFT原子交换方法。
本发明的NFT原子交换方法、系统、计算机可读存储介质及终端设备,通过将原子交换交易限制为多个输入以及两个输出,由NFT发货方在构建最新原子交换交易时,填入一个输出及一个输入,其余的输入、输出由NFT购买方在本地验证交易的存在性并且溯源成功后,由NFT购买方填入,以完成原子交换交易。发明提供的NFT原子交换方法、系统、计算机可读存储介质及终端设备进行NFT的交易,交易结果只有成功与不成功两种结果,保证了交易的一致性;并且由于通过最终原子交换交易的默克尔证明、区块头即可在本地(离线状态下)完成NFT的存在性验证,通过NFT的最新原子交换交易的输入以及原始原子交换交易与最终原子交换交易之间的交易链条即可在本地(离线状态下)完成NFT的溯源,进而满足双方均离线的情况下完成NFT的交易,且整个交易过程简单又高效。同时,本发明提供的NFT原子交换方法中,NFT的交易是点对点的,不需要依赖任何可信第三方。此外,还通过在公开渠道发布预先设定的NFT与UTXO中该NFT所代表的TxOut为一一映射关系,便于用户获知NFT与UTXO中该NFT所代表的TxOut的对应关系。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例的一种NFT原子交换方法流程示意图;
图2为本发明实施例的一种限制交易输出个数的实现原理图;
图3为本发明实施例的一种通过SINGLE|ANYONECANPAY方式签署交易时的交易示意图;
图4为本发明实施例的一种NFT原子交换方法的实现原理图;
图5为本发明实施例的又一种NFT原子交换方法流程示意图;
图6为本发明实施例的一种向上溯源实现原理图;
图7为本发明实施例的一种终端设备的结构组成图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
在本发明的一实施例中,提供一种NFT原子交换方法,其中,原子交换中的“原子”一词代表了交易的一致性,即交易要么完全成功要么完全不成功。如果交易的任何一方在交易过程中放弃或未能按照预期执行,合约将被取消,资金将自动返还给其原所有者。
如图1所示,本实施例中提供的NFT原子交换方法,包括以下步骤:
步骤S10:NFT发货方将代表一NFT的TxOut作为一个输入、NFT发货方可打开的锁定脚本及金额作为一个输出,构建该NFT的最新原子交换交易。
其中,原子交换交易被限制为包括多个输入、两个输出。
本步骤中,代表一NFT的TxOut指的是NFT发货方所拥有的未经花费的交易输出。锁定脚本是可以由NFT发货方打开的脚本,例如锁定脚本可以写1+1=?(指预先设定的解锁逻辑),解锁脚本输入2,就完成了解锁,解锁后就可以拿走对应的这笔钱,进行花费。金额指NFT的卖出金额。
在一种实现方式中,NFT发货方可以通过OP_PUSH_TX技术限制原子交换交易的输出为两个输出,当然,本领域技术人员也可采取其他技术实现限制原子交换交易的输出为两个输出,本发明对此不作限制。当NFT发货方通过OP_PUSH_TX技术限制原子交换交易的输出为两个输出时,如图2所示,具体的实现方法为:
1、在交易1中的锁定脚本中定义解锁该交易1的逻辑为:a.验证交易原像;b.获取解锁脚本中的第一个交易输出和第二个交易输出;c.将两个交易输出拼接,并进行哈希;d.拿到交易原像的输出的哈希与交易输出拼接后的哈希进行比对;e.若比对通过,则该锁定脚本可以被解锁。注意:此处只表达实现逻辑,并不涉及具体操作码。
2、将交易2的原像和当前交易(交易2)的两个输出放在解锁脚本中,作为参数传入。
也即,交易2的解锁脚本,只要对比交易2的交易原像的哈希值与交易2的第一个交易输出、第二个交易输出拼接后的哈希值相同,则交易1的锁定脚本可以被解锁。
由于上述实现方式中,锁定脚本定义了:进行解锁,必须是交易的第一个交易输出和第二个交易输出拼接后的哈希,与交易原像的输出的哈希进行比对通过(也即哈希值相同),而比对通过,说明交易原像的输出仅包含第一个交易输出以及第二个交易输出(如果交易原像的输出仅包含一个交易输出,或者还包含第三个交易输出或者更多的交易输出,则不能满足比对通过的条件),因此即限定了原子交换交易的输出为两个输出。
进一步的,当NFT发货方构建该NFT的最新原子交换交易时,为了使NFT购买方可以在NFT发货方构建的该NFT的最新原子交换交易中添加输入、输出,进而完成原子交换交易,NFT发货方在构建该NFT的最新原子交换交易时可以通过SIGHASH_flag中的SINGLE|ANYONECANPAY方式签署交易。
通过SIGHASH_flag中的SINGLE|ANYONECANPAY方式签署交易,使得交易的构建者可以在确定一个输入和一个输出的情况下,要求其他人补全交易。
例如:交易构建者将自己的可打开的锁定脚本作为输出,输出为100单位,但是交易的输入只有1单位,这样由其他人在输入侧补全另外99单位,这样这笔交易才算完整。
签署交易即生成签名,用来在后续交易中,由交易处理商验证签名的正确性,从而确保交易安全。其中,签名是明文通过私钥加密生成的,而明文是由SIGHASH_flag确定的。SIGHASH_flag取不同的值,就对应不同的明文。
SIGHASH_flag,指签名哈希类型,虚拟货币签名具有指示交易数据的哪一部分包含在使用SIGHASH标志的私钥签名的哈希中的方式。SIGHASH标志是附加到签名的单个字节。
SIGHASH有三个标志:ALL、NONE、SINGLE,并且它们都可以与ANYONECANPAY进行结合,以达到相应的需求。
SIGHASH_ALL是以交易所有的输入和输出作为明文进行签名,也就意味着该交易自被签署之后就不能更改,如果改动就会导致后续交易时交易处理商验证不通过。
如果SIGHASH_flag签署为SIGHASH_ALL,意味着不能再追加新的输入和输出。
如果SIGHASH_flag签署为SIGHASH_NONE,意味着不能追加新的输入,但是可以追加输出。任何人都可以拿到这个交易,并把钱花给自己。
如果SIGHASH_flag签署为SIGHASH_SINGLE,意味着不能追加新的输入,并且同序列的输出不可更改。任何人都可以拿到这个交易,并把这笔钱的一部分花给自己。
而ANYONECANPAY的意思是任意人都可以支付,所有组合了ANYONECANPAY的SIGHASH_flag在输入侧都只签属自身的输入。
其中,SINGLE|ANYONECANPAY,表示只签属自身所在的输入以及同序列的输出。以图3为例,用户A填入1元输出并签署SINGLE|ANYONECANPAY,同序列的输出为C5元(表示支付给用户C5元);用户A将这笔交易发送给用户B,用户B追加8元输入并给用户D支付10元,然后将交易发给用户E;用户E追加7元输入,并支付给用户F1元。也即,用户B、用户E收到交易之后,不能修改用户A填入的输入及输出,只能在用户A填入的输入及输出的基础之上,填入自身的输入及输出,从而完成交易。
因此,在本实施例中,NFT发货方在构建NFT的最新原子交换交易时通过SIGHASH_flag中的SINGLE|ANYONECANPAY方式签署交易,能够保证后续在进行交易过程中,一方面使得NFT购买方能够在最新原子交换交易中填入输入及输出,补全整笔原子交换交易,另一方面能够确保NFT发货方所确定的一个输入和一个输出,不被篡改。
步骤S20:NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、最终原子交换交易中代表NFT的输出的默克尔证明发送给NFT购买方。
其中,此时该NFT的最新原子交换交易中仅包括NFT发货方填入的一个输入以及一个输出。
该NFT的交易次数越多,该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条越长,随着每次该NFT的原子交换交易的完成,该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条均会被更新(会加入新完成的原子交换交易,也即加入已完成的最新原子交换交易)。
应当可以理解的,只有已经出块的交易才有默克尔证明,最终原子交换交易中代表NFT的输出的默克尔证明,即指的是代表NFT的未花费交易输出的默克尔证明。
默克尔证明,可用于证明在一个很大字节数的区块中上千笔交易中的具体某一笔交易的存在。为了证明一个区块中包含了一个特定的交易,一个节点只要计算log2(N)32字节的哈希值,形成一条从特定交易到树根的认证路径或者默克尔证明。
本步骤中NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、最终原子交换交易的默克尔证明发送给NFT购买方后,进行步骤S30的操作。
步骤S30:NFT购买方通过最终原子交换交易的默克尔证明、区块头,在本地SPV进行NFT的存在性验证,判断是否验证通过,若验证通过,则交易存在,继续执行步骤S40,否则,验证不通过,交易不存在,执行步骤S60。
区块头是包含版本号、父区块头哈希值、默克尔根、时间戳、难度目标、Nonce值的80字节的数据结构。区块平均每10分钟产出一个,一年约产出约4.2M的区块头数据。SPV仅需要在本地更新区块头就可以快速验证SPV收到交易的存在性,而无需全节点的参与。
SPV又称“轻节点”、“用户节点”,存储与用户相关的公私钥、区块头、默克尔证明、UTXO等信息,具备一定的构建交易、转发交易的能力。
全节点又称“交易处理商”,保存所有用户相关的交易、所有区块头及默克尔证明、UTXO等信息,具备虚拟货币的生产、转发交易、检测双花等功能。
对于交易存在性的验证可在NFT发货方、NFT购买方均离线的情况下实现,在区块链中,区块的一点点变动就会导致区块头哈希的改变,使得区块头哈希不能对应于相应难度的要求,SPV可以在本地快速验证所接收的UTXO是否正确。离线支付的交易,可以在有转发条件的时候广播到全节点,由于离线支付仍具有一定的风险,离线支付的价值尺度应该很低,例如:小额支付。
NFT购买方通过接收到的默克尔证明以及区块头中的默克尔根进行交易存在性的验证,当根据默克尔证明计算得到的哈希值与默克尔根的哈希值相等时,即验证通过,交易存在,若不相等,则验证不通过,交易不存在。
步骤S40:NFT购买方通过NFT的最新原子交换交易的输入,沿该NFT的原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源,判断最终溯源结果是否符合预先发布的NFT-TxOut映射关系,若是,则溯源成功,执行步骤S50,否则,溯源不成功,执行步骤S60。
如图4所示,在获取到最新原子交换交易以及该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条后,通过该NFT的最新原子交换交易的输入,沿原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源。
具体的,沿原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源,指沿着交易链条依次从最终原子交换交易,溯源到原始原子交换交易的一个输出,将其作为最终溯源输出,获取最终溯源输出的TxOut作为最终溯源结果。若最终溯源输出的TxOut与预先发布的NFT-TxOut映射关系中NFT对应的Txout是相同的,则判定最终溯源结果符合预先发布的NFT-TxOut映射关系,溯源成功;若最终溯源输出的TxOut与预先发布的NFT-TxOut映射关系中NFT对应的Txout是不同的,则判定最终溯源结果不符合预先发布的NFT-TxOut映射关系,溯源失败。
其中,NFT-TxOut映射关系是预先设定的,也即,在步骤S10之前,如图5所示,原子交换方法还包括:
步骤S70:预先设定该NFT与UTXO中该NFT所代表的TxOut为一一映射关系,将其作为NFT-TxOut映射关系,并向公开渠道发布。
虚拟货币的交易由交易输入和交易输出组成,每一笔交易都要花费(spend)一笔输入,产生一笔输出(output),而其所产生的输出,就是“未花费过的交易输出”,也就是UTXO。
TxOut,指交易中的一个输出,由于在本实施例中,原子交换交易被限制为包括多个输入、两个输出,因此预先设定该NFT与UTXO中该NFT所代表的TxOut为一一映射关系,并在公开渠道公开,即能使公众获知该NFT具体对应原子交换交易中的哪一个输出。
在本实施例中,公开渠道可以是多样的,例如微博、发布会、博览会等。例如,可以通过开发布会将该NFT与UTXO中代表该NFT的TxOut一一对应(表明某NFT对应于TXID为XXXX的第x个输出)。
进一步的,在进行向上溯源时,如图6所示,当前原子交换交易的一输入通过哈希指针,溯源到前一原子交换交易的一个输出中(以当前原子交换交易为最新原子交换交易为例,前一原子交换交易即为交易链条中的最终原子交换交易)。
步骤S50:NFT购买方在确认该NFT的交易存在并且溯源成功后,在该NFT的最新原子交换交易中填入输入和输出,并广播到全节点完成该NFT的最新原子交换交易。
步骤S60:结束交易。
具体的,在本实施例中,步骤S30、步骤S40的执行顺序可以调换,既可以先执行步骤S30,再执行步骤S40,也可以先执行步骤S40,再执行步骤S30;或者步骤S30与步骤S40中的步骤同时执行,本领域技术人员可以根据实际需求自行设置,本发明对此不作限制。
本实施例中提供的NFT原子交换方法,将原子交换交易限制为多个输入以及两个输出,由NFT发货方在构建最新原子交换交易时,填入一个输出及一个输入,其余的输入、输出由NFT购买方在本地验证交易的存在性并且溯源成功后,由NFT购买方填入,以完成原子交换交易。采用本实施例提供的NFT原子交换方法,交易结果只有成功与不成功两种结果,保证了交易的一致性;并且由于通过最终原子交换交易的默克尔证明、区块头即可在本地(离线状态下)完成NFT的存在性验证,通过NFT的最新原子交换交易的输入以及原始原子交换交易与最终原子交换交易之间的交易链条即可在本地(离线状态下)完成NFT的溯源,进而满足双方均离线的情况下完成NFT的交易,且整个交易过程简单又高效。同时,本发明提供的NFT原子交换方法中,NFT的交易是点对点的,不需要依赖任何可信第三方。
在本发明的又一种实施例中,还提供一种NFT原子交换系统,系统采用如下步骤的NFT原子交换方法,以实现NFT的原子交换交易。
本实施例NFT原子交换方法包括:
步骤S10:NFT发货方将代表一NFT的TxOut作为一个输入、NFT发货方可打开的锁定脚本及金额作为一个输出,构建该NFT的最新原子交换交易。
步骤S20:NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、最终原子交换交易的默克尔证明发送给NFT购买方。
步骤S30:NFT购买方通过最终原子交换交易的默克尔证明、区块头,在本地SPV进行NFT的存在性验证,判断是否验证通过,若验证通过,则交易存在,继续执行步骤S40,否则,验证不通过,交易不存在,执行步骤S60。
步骤S40:NFT购买方通过NFT的最新原子交换交易的输入,沿原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源,判断最终溯源结果是否符合预先发布的NFT-TxOut映射关系,若是,则溯源成功,执行步骤S50,否则,溯源不成功,执行步骤S60。
步骤S50:NFT购买方在确认该NFT的交易存在并且溯源成功后,在最新原子交换交易中填入输入和输出,并广播到全节点完成该NFT的最新原子交换交易。
步骤S60:结束交易。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述NFT原子交换方法。
本发明还保护一种终端设备10,如图7所示,包括计算机可读存储介质101和处理器102,其中,计算机可读存储介质101,存储有计算机指令;处理器102,配置为运行计算机指令以使终端设备10执行上述NFT原子交换方法。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明的NFT原子交换方法、系统、计算机可读存储介质及终端设备,通过将原子交换交易限制为多个输入以及两个输出,由NFT发货方在构建最新原子交换交易时,填入一个输出及一个输入,其余的输入、输出由NFT购买方在本地验证交易的存在性并且溯源成功后,由NFT购买方填入,以完成原子交换交易。发明提供的NFT原子交换方法、系统、计算机可读存储介质及终端设备进行NFT的交易,交易结果只有成功与不成功两种结果,保证了交易的一致性;并且由于通过最终原子交换交易的默克尔证明、区块头即可在本地(离线状态下)完成NFT的存在性验证,通过NFT的最新原子交换交易的输入以及原始原子交换交易与最终原子交换交易之间的交易链条即可在本地(离线状态下)完成NFT的溯源,进而满足双方均离线的情况下完成NFT的交易,且整个交易过程简单又高效。同时,本发明提供的NFT原子交换方法中,NFT的交易是点对点的,不需要依赖任何可信第三方。此外,还通过在公开渠道发布预先设定的NFT与UTXO中该NFT所代表的TxOut为一一映射关系,便于用户获知NFT与UTXO中该NFT所代表的TxOut的对应关系。
以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。

Claims (9)

1.一种NFT原子交换方法,其特征在于,方法包括:
NFT发货方将代表一NFT的TxOut作为一个输入、NFT发货方可打开的锁定脚本及金额作为一个输出,构建该NFT的最新原子交换交易,其中,原子交换交易被限制为包括多个输入、两个输出;
NFT发货方将该NFT的最新原子交换交易、该NFT对应的原始原子交换交易与最终原子交换交易之间的交易链条、所述最终原子交换交易中代表NFT的输出的默克尔证明发送给NFT购买方;
NFT购买方通过所述最终原子交换交易的默克尔证明、区块头,在本地SPV进行该NFT的存在性验证,若验证通过,则交易存在;
NFT购买方通过该NFT的最新原子交换交易的输入,沿该NFT的原始原子交换交易与最终原子交换交易之间的交易链条向上进行本地溯源,若最终溯源结果符合预先发布的NFT-TxOut映射关系,则溯源成功;
NFT购买方在确认该NFT的交易存在并且溯源成功后,在该NFT的最新原子交换交易中填入输入和输出,并广播到全节点完成该NFT的最新原子交换交易。
2.根据权利要求1所述的NFT原子交换方法,其特征在于,所述方法还包括:
预先设定该NFT与UTXO中该NFT所代表的TxOut为一一映射关系,将其作为NFT-TxOut映射关系,并向公开渠道发布。
3.根据权利要求2所述的NFT原子交换方法,其特征在于,所述公开渠道包括微博、发布会、博览会中的一种或多种。
4.根据权利要求1所述的NFT原子交换方法,其特征在于,NFT发货方通过OP_PUSH_TX技术限制原子交换交易的输出为两个输出。
5.根据权利要求1所述的NFT原子交换方法,其特征在于,NFT发货方构建该NFT的最新原子交换交易时,通过SIGHASH_flag中的SINGLE|ANYONECANPAY方式签署交易。
6.根据权利要求1所述的NFT原子交换方法,其特征在于,若NFT购买方在确认该NFT的交易不存在和/或溯源失败,结束交易。
7.一种NFT原子交换系统,其特征在于,所述系统采用如权利要求1-6任一项所述的NFT原子交换方法,以实现NFT的原子交换交易。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的NFT原子交换方法。
9.一种终端设备,其特征在于,包括计算机可读存储介质,以及处理器,其中,
计算机可读存储介质,存储有计算机指令;
处理器,配置为运行计算机指令以使终端设备执行如权利要求1至6任一项所述的NFT原子交换方法。
CN202210038211.9A 2022-01-13 2022-01-13 Nft原子交换方法、系统、计算机可读存储介质及终端设备 Pending CN114358948A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210038211.9A CN114358948A (zh) 2022-01-13 2022-01-13 Nft原子交换方法、系统、计算机可读存储介质及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210038211.9A CN114358948A (zh) 2022-01-13 2022-01-13 Nft原子交换方法、系统、计算机可读存储介质及终端设备

Publications (1)

Publication Number Publication Date
CN114358948A true CN114358948A (zh) 2022-04-15

Family

ID=81110004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210038211.9A Pending CN114358948A (zh) 2022-01-13 2022-01-13 Nft原子交换方法、系统、计算机可读存储介质及终端设备

Country Status (1)

Country Link
CN (1) CN114358948A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11538028B1 (en) * 2022-06-22 2022-12-27 Alexei Dulub Implementing non-fungible tokens using bitcoin

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11538028B1 (en) * 2022-06-22 2022-12-27 Alexei Dulub Implementing non-fungible tokens using bitcoin

Similar Documents

Publication Publication Date Title
CN110121727B (zh) 一种为智能合同提供经证实、可审计和不可变输入的方法和系统
US20220084013A1 (en) Identity management, smart contract generator, and blockchain mediating system, and related methods
CN113537984A (zh) 基于区块链的内容验证方法及装置、电子设备
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
KR20210128456A (ko) 블록체인 네트워크를 통한 이전을 구현하는 컴퓨터 구현 시스템 및 방법
US11133936B1 (en) Methods and systems for introducing self-contained intent functionality into decentralized computer networks
CN113988857A (zh) Nft交易方法、交易系统、计算机可读存储介质及终端设备
US20220278841A1 (en) Methods and systems for distributed cryptographically secured data validation
US11870654B2 (en) Methods and systems for introducing self-contained intent functionality into decentralized computer networks
US20230291561A1 (en) Blockchain tokens
CN111915308A (zh) 一种区块链网络的交易处理方法及区块链网络
CN114358948A (zh) Nft原子交换方法、系统、计算机可读存储介质及终端设备
CN115619395A (zh) 基于区块链的数据处理方法及相关设备
CN116938523A (zh) 区块链系统、运行方法、电子设备和存储介质
CN114900334B (zh) Nft权限控制方法、系统、计算机可读存储介质及终端设备
US20230119035A1 (en) Platform services verification
KR20220056036A (ko) 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치
US20230121349A1 (en) Method for securing private structured databases within a public blockchain
US20230093411A1 (en) Synchronising event streams
EP4107689A1 (en) Platform services verification
CN117010890A (zh) 基于区块链的交易处理方法、相关装置及介质和程序产品
CN114817952A (zh) Nft隐私竞拍方法、计算机设备和存储介质
CN117614601A (zh) 实现二层网络卷叠的方法、二层网络和证明器
CN116541874A (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