CN116961876A - 用于区块链的虚拟资源管理方法、装置、设备及存储介质 - Google Patents
用于区块链的虚拟资源管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116961876A CN116961876A CN202310918260.6A CN202310918260A CN116961876A CN 116961876 A CN116961876 A CN 116961876A CN 202310918260 A CN202310918260 A CN 202310918260A CN 116961876 A CN116961876 A CN 116961876A
- Authority
- CN
- China
- Prior art keywords
- node
- virtual resource
- resource
- information
- credential information
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012546 transfer Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 37
- 238000005266 casting Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种用于区块链的虚拟资源管理方法、装置、设备及存储介质,涉及区块链技术领域。该方法包括:接收区块链中的第二节点发送的凭证信息,凭证信息是第二节点获取第三节点提供的虚拟资源的凭证;基于凭证信息,调用去中心化身份DID合约来注册虚拟资源的第一DID以及第一DID文档;第一DID文档中包含虚拟资源的属性信息;建立虚拟资源的资源标识与第一DID之间的对应关系。该方案能够提高虚拟资源的属性信息的存储和查询效率。
Description
技术领域
本申请实施例涉及区块链技术领域,特别涉及一种用于区块链的虚拟资源管理方法、装置、设备及存储介质。
背景技术
随着区块链技术的不断发展,基于区块链的虚拟资源的生成、流转等应用也越来越广泛。
在相关技术中,区块链***中的虚拟资源通常由智能合约进行管理,比如,以非同质化通证(Non-Fungible Token,NFT)合约铸造或流转的虚拟资源为例,NFT合约为某个用户铸造了虚拟资源,或者,将某个虚拟资源转移给该用户之后,建立该用户与该虚拟资源的标识之间的对应关系,作为虚拟资源的归属记录,该虚拟资源的资源信息(比如属性等详细信息)存储在区块链***之外的去中心化存储平台中。
在上述方案中,区块链***中的智能合约生成虚拟资源时,需要将资源信息存储到外部的去中心化存储平台,用户在查看或展示虚拟资源时,也需要向去中心化存储平台进行查询,导致虚拟资源的资源信息的存储和查询效率较低。
发明内容
本申请实施例提供了一种用于区块链的虚拟资源管理方法、装置、设备及存储介质,可以提高虚拟资源的资源信息的存储和查询效率,该技术方案如下。
一方面,提供了一种用于区块链的虚拟资源管理方法,所述方法由所述区块链中的第一节点执行,所述方法包括:
接收所述区块链中的第二节点发送的凭证信息,所述凭证信息由所述区块链中的第三节点颁发给所述第二节点,且所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档;所述第一DID文档中包含所述虚拟资源的属性信息;
建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程。
另一方面,提供了一种用于区块链的虚拟资源管理方法,所述方法由所述区块链中的第二节点执行,所述方法包括:
接收所述区块链中的第三节点颁发的凭证信息,所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
另一方面,提供了一种用于区块链的虚拟资源管理方法,所述方法由所述区块链中的第三节点执行,所述方法包括:
生成凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
向所述第二节点发送所述凭证信息,以便所述第二节点向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
另一方面,提供了一种用于区块链的虚拟资源管理方法,所述方法由区块链第一节点、第二节点和第三节点交互执行,所述方法包括:
所述第三节点生成凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
所述第三节点向所述第二节点发送所述凭证信息;
所述第二节点向所述第一节点发送所述凭证信息;
所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
又一方面,提供了一种用于区块链的虚拟资源管理装置,所述装置包括:
凭证信息接收模块,用于接收所述区块链中的第二节点发送的凭证信息,所述凭证信息由所述区块链中的第三节点颁发给所述第二节点,且所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
DID合约注册模块,用于基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档;所述第一DID文档中包含所述虚拟资源的属性信息;
对应关系建立模块,用于建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程。
又一方面,提供了一种用于区块链的虚拟资源管理装置,所述装置包括:
凭证信息接收模块,用于接收所述区块链中的第三节点颁发的凭证信息,所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块,用于向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
又一方面,提供了一种用于区块链的虚拟资源管理装置,所述装置包括:
凭证信息生成模块,用于生成凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块,用于向所述第二节点发送所述凭证信息,以便所述第二节点向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现上述的用于区块链的虚拟资源管理方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现上述的用于区块链的虚拟资源管理方法。
又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述用于区块链的虚拟资源管理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:第三节点向第二节点提供虚拟资源时,向第二节点发送凭证信息,其中包含虚拟资源的属性信息以及虚拟资源的资源标识,然后第二节点将凭证信息发送给第一节点,由第一节点通过资源合约,调用DID合约来注册虚拟资源的第一DID以及包含虚拟资源的属性信息的第一DID文档,再建立虚拟资源的资源标识与第一DID之间的对应关系,从而完成第二节点获取虚拟资源的过程,由于上述第一DID文档由DID合约进行存储和管理,因此,不需要将虚拟资源的属性信息再存储到区块链***之外的其它存储平台,后续区块链***中的节点或者其它智能合约查询该虚拟资源的属性信息时,只需要查询该第一DID文档即可,不需要向区块链***之外的其它存储平台进行查询,从而能够提高虚拟资源的属性信息的存储和查询效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本申请实施例提供的分布式***应用于区块链***的一个可选的结构示意图;
图2是本申请实施例提供的区块结构一个可选的示意图;
图3是本申请涉及的一种数字藏品发行的代码示意图;
图4是本申请涉及的一种数字藏品转移的代码示意图;
图5是本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图;
图6是本申请实施例涉及的虚拟资源的管理过程的框架图;
图7是本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图;
图8是本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图;
图9是本申请实施例涉及的虚拟资源的管理过程的框架图;
图10是本申请涉及的一种基于DID的数字藏品发行框架图;
图11是本申请涉及的用户的DID文档的代码示意图;
图12是本申请涉及的VC字符串的代码;
图13是本申请涉及的虚拟藏品的DID文档的代码示意图;
图14本申请涉及的一种基于DID的数字藏品转移框架图;
图15是本申请涉及的VC字符串的代码示意图;
图16是本申请一实施例示出的用于区块链的虚拟资源管理装置的方框图;
图17是本申请一实施例示出的用于区块链的虚拟资源管理装置的方框图;
图18是本申请一实施例示出的用于区块链的虚拟资源管理装置的方框图;
图19是本申请一示例性实施例示出的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和有点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于理解,下面对本申请涉及的几个名词进行解释。
1、区块链:区块链就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个***中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链***中被称为节点,它们为整个区块链***提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
区块链***是指由多个区块链节点之间相互建立连接组成的区块链网络***。
具体比如,本申请实施例涉及的区块链***可以由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成。
参见图1,图1是本申请实施例提供的区块链***100的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点网络,点对点协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在区块链***中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作***层和应用层。
参见图1示出的区块链***中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链***中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易,也就是将当前交易的交易记录发送给区块链***中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链***中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,指能够自动执行合约条款的计算机程序,具有事件驱动、价值转移、自动执行等特性,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。也就是说,智能合约是存储在区块链上的程序,在满足预先确定的条件时会运行这些程序。智能合约通常用于自动执行协议,以便所有参与者都可以立即确定结果,而无需任何中间人参与,也不会浪费时间。智能合约还可以自动完成工作流程,在满足条件时触发下一个操作。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链***中节点提交的记录数据。
参见图2,图2是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
2、数字藏品和ERC721:数字藏品是一种数字化资产,即使用区块链技术,对特定的作品、艺术品和商品等生成数字凭证编码,确定权益归属,并在保护其数字版权的基础上,实现数字化发行、购买、收藏和使用。而ERC721协议是针对NFT数字资产的第一个标准。目前,大多数数字藏品的发行和转移方案,均是基于ERC721来开展的。
3、去中心化身份(Decentralized Identifier,DID):去中心化身份(DID)是一种可验证的、去中心化的数字身份形式。DID可以为任何实体创建,包括一个组织、个人,甚至一个设备。DID旨在由用户控制,存储在一个去中心化的架构中,如点对点网络或分布式账本,而不是一个中心化的登记簿。
4、可验证凭证(Verifiable Credentials,VC):可验证凭证VC是由第三方用户、机构组织、企业等签发给某个具体对象的身份证明、能力证明、权限说明或报告等。
随着区块链技术的发展,数字藏品的相关应用发展迅速,解决了数字版权确权难,流转低效等问题。目前数字藏品可以基于ERC721协议来开展,实现一个智能合约,主要包括发行和转移。
请参考图3,其示出了一种数字藏品发行的代码示意图。如图3所示,发行的主要代码核心在于利用代码部分301(也就是图3中“_owners[tokenId]=to”这一行代码),将指定tokenId的数字藏品,分配给某个用户to,以tokenId为key,to为value,存储到一个Map结构中,后续通过查询,则可以知道该tokenId对应的数字藏品归属于用户to。而ERC721合约本身一般不存储数字藏品的其他信息,关于这部分信息一般存储于其他中心化服务器或者去中心化的存储平台,例如星际文件***(Inter Planetary File System,IPFS)。
请参考图4,其示出了一种数字藏品转移的代码示意图。如图4所示,转移的主要代码的核心如下:
首先利用代码部分401(也就是图4中“require(ERC721.ownerOf(tokenId)==from,"ERC721:transfer fromincorrect owner");”这部分代码),先检查tokenId对应的数字藏品是否属于用户from,之后利用代码部分402(也就是图4中的“_balances[from]-=1;_balances[to]+=1;”这部分代码),将各自NFT的数量一个+1,一个-1,最后使用代码部分403(也就是图4中“_owners[tokenId]=to;”这部分代码),将指定tokenId的数字藏品,分配给某个用户to,完成数字藏品的转移。
以上便是一种基于ERC721的数字藏品发行和转移技术,利用区块链解决了数字版权确权难,流转低效等问题。上述的流程中,不管是发行,还是转移,都只需要用户发起交易,即可改变链上数据的状态,进而完成指定操作。然而,上述方案存在以下问题:
1)对NFT本身属性的数据表现能力不强:上述ERC721只是实时记录了每个NFT的归属者,并没有记录关于NFT本身的一些信息,例如:创作者,NFT的图片、或者描述等,而是把这些信息存储到区块链***外部,例如外部的中心化服务,或者去中心化的存储平台IPFS,NFT的归属记录和NFT本身的信息并不存储在同一个地方,增强了割裂感,同时ERC721的合约也无法很好的表示NFT本身的属性,对NFT本身属性的数据标识能力不强。
2)无法快速获取NFT的流转记录:上述ERC721只是实时记录了每个NFT的归属者,用户只是通过合约随时查询到当前某个tokenId的数字藏品属于谁,但是无法快速NFT的所有流转记录,或者无法证明自己曾经拥有过某个NFT。用户往往需要遍历跟这个数字藏品有关的所有交易,筛选出一系列交易来找出某个tokenId的流转记录,或者用某一笔转移交易,来证明自己曾经拥有某个NFT,这不便于NFT流转记录的溯源。
请参考图5,其示出了本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图。为了便于说明,仅以各步骤执行主体为节点介绍说明。上述节点可以包括第一节点、第二节点和第三节点,该方法由第一节点、第二节点和第三节点交互执行,该方法可以包括如下几个步骤:
步骤510:第三节点生成凭证信息,凭证信息是第二节点获取第三节点提供的虚拟资源的凭证,凭证信息中包含虚拟资源的属性信息以及虚拟资源的资源标识。
上述虚拟资源可以是区块链***中的数据对象,该数据对象由区块链***中的一个节点所拥有,且该数据对象的所有权允许在区块链***中的节点之间转移。
比如,上述虚拟资源可以实现为NFT,比如,上述虚拟资源可以是区块链***中的数字藏品,或者,上述虚拟资源也可以是数字藏品之外的其它资源,比如数字卡券、虚拟宠物、虚拟道具、虚拟建筑等等。
也就是说,基于虚拟资源的NFT表现形式,上述虚拟资源可以有不同的名称或表现形态。本申请各个实施例对于上述虚拟资源的名称或表现形态不做限定。
在本申请实施例中,第三节点可以是有权限在区块链***中触发生成(也可以称为“铸造”或者“发行”)虚拟资源的节点,比如某个虚拟资源的发行机构的节点,或者,第三节点可以是当前拥有上述虚拟资源,且有权将该虚拟资源转出的节点,比如某个持有虚拟资源的机构或用户的节点。
上述第二节点可以是区块链***中,获取第三节点触发生成或转移的虚拟资源的节点,比如某个获取虚拟资源的机构或用户的节点。
上述第三节点和第二节点均可以实现为计算机设备,比如个人电脑、服务器设备等等。
上述虚拟资源的属性信息可以包括虚拟资源的形态数据、关联的对象数据、关联的时间数据等等。
比如虚拟资源的形态数据可以包括图片数据、视频数据、音频数据、模型和贴图数据等等。
上述虚拟资源关联的对象数据可以包括虚拟资源的作者、鉴定者或鉴定机构、评估者或评估机构等等。
上述虚拟资源关联的时间数据可以包括虚拟资源的生成时间、有效时间等等。
上述虚拟资源的资源标识可以是区块链***中唯一表示该虚拟资源的标识,比如,该虚拟资源的资源标识可以是虚拟资源的TokenID或者其它类型的ID。
上述凭证信息由第三节点颁发给第二节点,以表示第三节点允许第二节点获取上述虚拟资源。
步骤520:第三节点向第二节点发送凭证信息。
其中,第三节点生成上述凭证信息后,即可以将该凭证信息发送给第二节点,以便第二节点能够根据该凭证信息获取虚拟资源的所有权。
步骤530:第二节点向第一节点发送凭证信息。
在一种可能的实现方式中,上述第一节点可以是执行资源合约的节点。
上述资源合约可以是对虚拟资源的生成、转移等行为进行管理的智能合约。
比如,上述资源合约可以是NFT合约,或者,该资源合约也可以是其它的智能合约。
在一些实施例中,上述第一节点与第二节点可以实现为同一个计算机设备,或者说,第一节点和第二节点运行在同一个计算机设备上;此时,上述第二节点向第一节点发送凭证信息,可以是指第二节点向第一节点中的资源合约发送凭证信息;比如,第二节点接收到上述凭证信息后,可以在本地调用资源合约,以向资源合约发送上述凭证信息。
在另一些实施例中,上述第一节点和第二节点可以实现为不同的计算机设备,或者说,第一节点和第二节点运行在不同的计算机设备上;此时,上述第二节点向第一节点发送凭证信息,可以是指第二节点向第一节点发送获取资源的请求,该请求中包含上述凭证信息,第一节点接收到上述请求后,可以调用资源合约,将凭证信息传递给资源合约。
步骤540:第一节点基于凭证信息调用DID合约来注册虚拟资源的第一DID以及第一DID文档,并建立虚拟资源的资源标识与第一DID之间的对应关系,以完成第二节点获取虚拟资源的过程,第一DID文档中包含虚拟资源的属性信息。
在一些实施例中,第一节点中的资源合约可以基于凭证信息调用DID合约,以注册上述第一DID以及第一DID文档。
其中,DID合约也称为DID智能合约,在本申请实施例中,DID合约可以为某个对象(可以是区块链***中的某个节点,也可以是某个虚拟资源或者其它数据对象)分配DID,并生成与该DID对应的DID文档。
在一些实施例中,上述DID文档由DID合约生成、存储和管理,比如,区块链***中的节点或者其它智能合约可以调用DID合约,以便DID合约能够生成节点或者其它智能合约所需要的DID以及DID文档,DID合约可以将生成DID返回给调用DID合约的节点或者其它智能合约,节点或者其它智能合约后续可以通过该DID向DID合约查询对应的DID文档,该节点或者其它智能合约还可以继续调用DID合约,以对上述DID文档进行管理(比如修改其中的部分内容)。
在本申请实施例中,上述资源合约接收到凭证信息后,可以调用DID合约,以向DID合约来注册虚拟资源的第一DID以及与该第一DID对应的第一DID文档,并且,将虚拟资源的属性信息写入上述第一DID文档。
其中,上述的虚拟资源的第一DID以及第一DID文档,也可以称为凭证信息的第一DID以及第一DID文档。
通常情况下,一个凭证信息可以唯一对应一个DID以及DID文档,也就是说,虚拟资源在生成或者每一次转移时,对应有一个凭证信息,每个凭证信息可以对应一个DID以及DID文档。
也就是说,对于同一个虚拟资源,在该虚拟资源的生成以及流转时,可以生成多个凭证信息,每个凭证信息对应一个DID,每个DID对应一个DID文档,其中一个DID对应虚拟资源的生成过程或者一次流转过程。
DID合约根据凭证信息生成第一DID和第一DID文档后,可以将第一DID返回给资源合约,资源合约建立虚拟资源的资源标识与第一DID之间的对应关系,以便后续第二节点或者其它节点对虚拟资源的DID文档进行查询。
其中,上述虚拟资源的资源标识与第一DID之间的对应关系可以按照表格的形式存储,比如,上述虚拟资源的资源标识与第一DID之间的对应关系可以存储在一个资源标识-DID的索引表中,作为该索引表中的一个索引项,可选的,该索引表可以保存在区块链中;或者,上述虚拟资源的资源标识与第一DID之间的对应关系可以按照文件形式存储,比如,可以将虚拟资源的资源标识与第一DID单独存储到一个对应关系文件中。
请参考图6,其示出了本申请实施例涉及的虚拟资源的管理过程的框架图。以该虚拟资源是某个虚拟藏品为例,如图6所示,在第三节点向第二节点提供虚拟藏品的场景下,第三节点生成对应的凭证信息61,其中包含虚拟藏品的属性信息61a以及虚拟藏品的TokenID 61b,虚拟藏品的属性信息可以包括藏品编号,藏品类型,藏品创作者名称等信息;并将凭证信息61发送(或称为颁发)给第二节点;第二节点向第一节点发送该凭证信息61;第一节点通过资源合约,调用DID合约来注册该虚拟藏品的第一DID 62,以及第一DID文档63,其中,第一DID文档63中包含虚拟藏品的属性信息61a,然后,DID合约将第一DID62返回给第一节点,由第一节点建立虚拟藏品的TokenID 61b与第一DID 62的对应关系64。
综上所述,本申请实施例所示的方案中,第三节点向第二节点提供虚拟资源时,向第二节点发送凭证信息,其中包含虚拟资源的属性信息以及虚拟资源的资源标识,然后第二节点将凭证信息发送给第一节点,由第一节点通过资源合约,调用DID合约来注册虚拟资源的第一DID以及包含虚拟资源的属性信息的第一DID文档,再建立虚拟资源的资源标识与第一DID之间的对应关系,从而完成第二节点获取虚拟资源的过程,由于上述第一DID文档由DID合约进行存储和管理,因此,不需要将虚拟资源的属性信息再存储到区块链***之外的其它存储平台,后续区块链***中的节点或者其它智能合约查询该虚拟资源的属性信息时,只需要查询该第一DID文档即可,不需要向区块链***之外的其它存储平台进行查询,从而能够提高虚拟资源的属性信息的存储和查询效率。
在一些实施例中,上述凭证信息中还包括以下信息中的至少一种:
作为资源控制方的第二节点的DID、作为资源发行方的第三节点的DID、第三节点的签名信息以及第一状态信息;
其中,第一状态信息用于指示第二节点获取虚拟资源的方式;
上述第一DID文档中还包含以下信息中的至少一种:作为资源控制方的第二节点的DID、第一DID、虚拟资源的资源标识以及第一状态信息。
在本申请实施例中,在凭证信息,以及DID文件中,可以包含虚拟资源的状态信息,具体来说,该状态信息可以是凭证信息或DID文件中的一个指定字段中的字段值,比如,可以是状态(status)字段中的状态值。
基于上述图5所示实施例公开的方案,在本申请实施例中,上述凭证信息中还可以包含虚拟资源的属性信息以及虚拟资源的资源标识之外的其它信息;比如,上述凭证信息中还可以包含第二节点的DID,以指示本次虚拟资源的获取者(也就是本次虚拟资源获取过程执行后,虚拟资源的资源控制方)为第二节点;再比如,上述凭证信息中还可以包含第三节点的DID,以指示本次虚拟资源的提供者(或者说本次虚拟资源获取过程中,虚拟资源的资源发行方/提供方);再比如,上述凭证信息中还可以包含第三节点的签名信息,以便对该凭证信息的真实性进行校验;再比如,上述凭证信息中还可以包含第一状态信息,以便后续第一节点能够准确的获知第二节点获取该虚拟资源的方式(比如首次铸造或者从第三节点转移),从而使得第一节点后续能够准确的调用DID合约创建对应的DID文件,使得第二节点获取到该虚拟资源。
相应的,上述作为资源控制方的第二节点的DID、第一DID、虚拟资源的资源标识以及第一状态信息,也可以写入到第一DID文档中,以便后续能够通过第一DID或者虚拟资源的资源标识查询第一DID文档,以便查看该虚拟资源的拥有者和本次的虚拟资源的获取方式。
可选的,除了上述虚拟资源的属性信息、资源标识、作为资源控制方的第二节点的DID、作为资源发行方的第三节点的DID、第三节点的签名信息以及第一状态信息之外,上述凭证信息中也可以包含其它信息,比如,凭证信息的有效期限(例如虚拟资源获取的截止时间或起止时间)等等。本申请实施例对于除了上述虚拟资源的属性信息、资源标识之外,上述凭证信息中包含的其它信息的类型不做限定。
相应的,除了上述虚拟资源的属性信息、作为资源控制方的第二节点的DID、第一DID、虚拟资源的资源标识以及第一状态信息之外,上述第一DID文档中也可以包含其它信息,比如,第一DID文档的生成时间等等。本申请实施例对于除了上述虚拟资源的属性信息之外,上述第一DID文档中包含的其它信息的类型不做限定。
在本申请实施例中,凭证信息中还可以包含资源控制方的DID、资源发行方的DID、签名信息、第一状态信息等其他信息,从而使得第一节点可以根据凭证信息准确的识别出虚拟资源的获取方式和拥有者,进而能够进行相关的校验,保证能够准确的将虚拟资源与该虚拟资源的拥有者进行绑定,从而保证虚拟资源获取的准确性;同时,第一DID文档中也还可以包含资源控制方的DID、第一状态信息等其他信息,从而使得该第一DID文档能够准确的指示虚拟资源的拥有者和获取方式,扩展DID文档能够指示的信息。
可选的,上述作为资源控制方的第二节点的DID、第一DID、虚拟资源的资源标识以及第一状态信息中至少一种,也可以保存在第一DID文档之外,并对应该第一DID文档进行存储。
在一些实施例中,第二节点可以通过以下方式确定虚拟资源是否已经获取成功:
1)第二节点再次向资源合约发送上述凭证信息(也就是根据凭证信息再次请求资源合约为第二节点获取上述虚拟资源),如果该虚拟资源已经被第二节点获取成功,则资源合约可以返回已经获取结束的响应;
2)第二节点向DID合约或者资源合约查询与资源标识对应的DID文档,如果查询到存在控制者的DID为第二节点的DID的文档,则可以认为虚拟资源已经获取成功;
3)在上述虚拟资源的获取方式是铸造新资源的情况下,第二节点可以在请求获取资源前后各调用一次资源合约,查询该第三节点已经铸造/授权其它节点铸造的虚拟资源的数量变化,通过该数量变化来确定虚拟资源是否铸造成功,这种情况需要确保没有其它节点在请求铸造同类的虚拟资源。
此外,上述第二节点在获取到上述虚拟资源后,可以通过以下方式查看虚拟资源的DID文档:
1)在调用资源合约(比如NFT合约)结束后,NFT合约会返回NFT的tokenId和DID标识(即上述第一DID)给第二节点,然后第二节点可以根据DID标识调用DID合约,就可以查询到对应的DID文档(即上述第一DID文档);
2)如果第二节点只有虚拟资源的资源标识(tokenId),则可以通过NFT合约先查到第一DID标识,再根据第一DID标识调用DID合约,即可以查询到对应的第一DID文档。
在上述图5所示实施例公开的方案中,上述凭证信息还可以用于第一节点对第二节点获取上述虚拟资源的行为进行鉴权,也就是说,第一节点可以通过对上述凭证信息进行校验,来确定第二节点是否能够从第三节点获取到上述虚拟资源。
基于上述图5所示的实施例,请参考图7,其示出了本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图。在图5所示的实施例的基础上,上述步骤540可以替换为以下步骤540a和步骤540b。
步骤540a:对凭证信息进行校验。
其中,上述对凭证信息进行校验的过程,可以由资源合约(比如NFT合约)来执行。
在一些实施例中,在第二节点获取虚拟资源的方式为铸造新资源的情况下,对凭证信息进行校验,包括通过以下至少一种方式进行校验:
1)校验第三节点是否具有铸造资源的权限。
在本申请实施例中,区块链***中的各个节点并不都具有虚拟资源的铸造(或者说发行)的权限,对此,在第二节点获取虚拟资源的方式为铸造新资源的情况下,资源合约可以先校验第三节点是否具有铸造资源的权限。
比如,第二节点接收到第三节点发送的凭证信息,并确认获取虚拟资源的方式为铸造新资源(比如,通过凭证信息中的第一状态信息确定,或者,通过凭证信息之外的其它信息确认),此时可以向第一节点中的资源合约发送资源获取请求,该资源获取请求用于请求资源合约为第二节点铸造虚拟资源,并且,将该凭证信息一并发送给资源合约,或者,将凭证信息携带在资源获取请求中发送给资源合约。资源合约接收到该资源获取请求后,根据资源获取请求确定第二节点请求铸造新的虚拟资源,此时,资源合约可以校验第三节点是否具有铸造资源的权限。
比如,资源合约可以从凭证信息中提取第三节点的DID,根据第三节点的DID查询该第三节点的权限信息(该权限信息可以预先由资源合约存储或维护,或者,也可以由其它智能合约或节点存储或维护),以确定该第三节点是否具有铸造资源的权限。
2)校验第三节点已铸造的资源是否达到上限。
在一些实施例中,资源合约中可以存储或维护第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限,在接收到第二节点发送的凭证信息后,确定第三节点已经铸造/已授权铸造的虚拟资源/同类虚拟资源的数量,并与上述第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限进行比较,以校验第三节点已铸造的资源是否达到上限。
在一些实施例中,上述第三节点已经铸造/已授权铸造的虚拟资源/同类虚拟资源的数量,可以由虚拟资源的资源标识来指示,比如,第三节点为虚拟资源分配TokenID时,可以按照铸造顺序为虚拟资源分配TokenID,该TokenID的数值可以指示当前要铸造的虚拟资源是第三节点铸造/授权铸造的虚拟资源(或某一类虚拟资源)中的第几个虚拟资源,此时,资源合约可以从凭证信息中获取当前要铸造的虚拟资源的TokenID,并将该TokenID与第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限进行比较,如果该TokenID不大于第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限,即可以确定第三节点已铸造的资源未达到上限,否则,认为第三节点已铸造的资源已达到上限。
在另一些实施例中,上述第三节点已经铸造/已授权铸造的虚拟资源/同类虚拟资源的数量,也可以由资源合约进行维护,也就是说,第三节点每次铸造或者授权其他节点铸造一个虚拟资源后,资源合约将第三节点已经铸造/已授权铸造的虚拟资源(或某一类虚拟资源)的数量+1,本次接收到第二节点发送的凭证信息后,可以查询第三节点已经铸造/已授权铸造的虚拟资源(或某一类虚拟资源)的数量,并与第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限进行比较,以校验第三节点已铸造的资源是否达到上限。
在另一些实施例中,智能合约可以为第三节点维护一个指示信息(比如一个标签信息/状态信息),以指示第三节点已铸造的资源是否达到上限;第三节点每次铸造或者授权其他节点铸造一个虚拟资源后,资源合约将第三节点已经铸造/已授权铸造的虚拟资源(或某一类虚拟资源)的数量+1,并与第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限进行比较,如果第三节点已经铸造/已授权铸造的虚拟资源(或某一类虚拟资源)的数量小于第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限,则将该指示信息保持为第一指示值,如果第三节点已经铸造/已授权铸造的虚拟资源(或某一类虚拟资源)的数量达到第三节点被允许铸造的虚拟资源(或某一类虚拟资源)的数量上限,则将该指示信息修改为第二指示值;本次接收到第二节点发送的凭证信息后,可以查询该指示信息,如果该指示信息为第一指示值,则确定第三节点已铸造的资源未达到上限,否则,认为第三节点已铸造的资源已达到上限。
3)在凭证信息中包含第二节点的DID和第三节点的DID的情况下,调用DID合约校验第二节点的DID和第三节点的DID是否正确。
在一些实施例中,资源合约可以调用DID合约,查询该DID合约已注册的DID中是否存在上述第二节点的DID和第三节点的DID,如果是,则确认第二节点的DID和第三节点的DID正确。
4)在凭证信息中包含第一状态信息的情况下,校验第一状态信息指示的第二节点获取虚拟资源的方式是否为铸造新资源。
在一些实施例中,在资源合约接收到的资源获取请求指示铸造虚拟资源的情况下,资源合约可以进一步提取凭证信息中的第一状态信息,并校验该第一状态信息是否指示第二节点获取虚拟资源的方式为铸造新资源。比如,资源合约可以校验该第一状态信息的信息值是否为铸造新资源对应的信息值。
5)在凭证信息中包含第三节点的签名信息的情况下,调用DID合约获取第三节点的公钥,并通过第三节点的公钥校验第三节点的签名信息是否正确。
在一些实施例中,上述签名信息可以由第三节点通过该第三节点的私钥,对该凭证信息中,除了签名信息之外的全部或者部分的其它信息的哈希值进行加密后生成,该签名信息可以通过第三节点的公钥进行解密;资源合约接收到第二节点发送的凭证信息后,可以向DID合约获取第三节点的公钥(也可以向第三节点,或者区块链中的其它节点获取),通过该第三节点的公钥对签名信息进行解密,同时,还对凭证信息中除了签名信息之外的全部或者部分的其它信息进行哈希计算得到哈希值,然后将解密的结果与计算得到的哈希值进行比较,如果两者一致,则确定第三节点的签名信息正确,否则认为第三节点的签名信息不正确。
上述实施例提供一种在新铸造虚拟资源的情况下,基于DID和签名信息对凭证信息进行校验的方案,借助于DID合约提供的DID机制,将凭证校验和虚拟资源的DID注册过程统一在资源合约与DID合约之间完成,从而简化了凭证校验的逻辑复杂度。
在一些实施例中,在第二节点获取虚拟资源的方式为转移已有资源的情况下,对凭证信息进行校验,包括通过以下至少一种方式进行校验:
1)校验第三节点是否拥有虚拟资源。
在一些实施例中,资源合约可以向DID合约查询与资源标识对应的第二DID文档,其中,该第二DID文档中包含作为资源控制方的第三节点的DID,且第二DID文档中的第二状态信息用于指示第三节点获取虚拟资源的方式为铸造新资源或者转移已有资源。如果资源合约查询到了该第二DID文档,则说明第三节点当前拥有虚拟资源,否则,认为第三节点当前不拥有上述虚拟资源。
2)在凭证信息中包含第二节点的DID和第三节点的DID的情况下,调用DID合约校验第二节点的DID和第三节点的DID是否正确。
3)在凭证信息中包含第一状态信息的情况下,校验第一状态信息指示的第二节点获取虚拟资源的方式是否为转移已有资源。
在一些实施例中,在资源合约接收到的资源获取请求指示转移已有资源的情况下,资源合约可以进一步提取凭证信息中的第一状态信息,并校验该第一状态信息是否指示第二节点获取虚拟资源的方式为转移已有资源。比如,资源合约可以校验该第一状态信息的信息值是否为转移已有资源对应的信息值。
4)在凭证信息中包含第三节点的签名信息的情况下,调用DID合约获取第三节点的公钥,并通过第三节点的公钥校验第三节点的签名信息是否正确。
上述实施例提供一种在转移已有虚拟资源的情况下,基于DID和签名信息对凭证信息进行校验的方案,借助于DID合约提供的DID机制,将凭证校验和虚拟资源的DID注册过程统一在资源合约与DID合约之间完成,从而简化了凭证校验的逻辑复杂度。
步骤540b:响应于对凭证信息校验通过,调用DID合约来注册第一DID以及第一DID文档。
在本申请实施例所示的方案中,第一节点还可以在调用DID合约来注册第一DID和第一DID文档之前,先对凭证信息进行校验,并在校验通过后执行调用DID合约来注册第一DID和第一DID文档的步骤,保证了第二节点获取虚拟资源的安全性和准确性。
基于上述图5或图7所示的实施例,请参考图8,其示出了本申请一个实施例提供的用于区块链的虚拟资源管理方法的流程图。在图5所示的实施例的基础上,该方法还可以包含步骤550和步骤560。
步骤550:查询与资源标识对应的第二DID文档,第二DID文档中包含作为资源控制方的第三节点的DID,且第二DID文档中的第二状态信息用于指示第三节点获取虚拟资源的方式为铸造新资源或者转移已有资源。
在本申请实施例中,在上述虚拟资源是第三节点已经拥有的资源,且在第二节点获取虚拟资源的过程中,该虚拟资源由第三节点转移给第二节点的情况下,对应上述虚拟资源应当已经存在一个第二DID文档,且该第二DID文档中的资源控制方的DID是第三节点的DID,同时,该第二DID文档中的第二状态信息表示第三节点获取虚拟资源的方式为铸造新资源或者转移已有资源,也就是说,通过该第二DID文档,可以确认当前第三节点拥有该虚拟资源,并且该虚拟资源是可以转出给其它节点的。
其中,上述第二DID文档包含的信息的类型,可以与第一DID文档包含的信息的类型相同。
步骤560:调用DID合约将第二DID文档中的第二状态信息修改为指示虚拟资源已被转移。
在本申请实施例中,第一节点在调用DID合约来注册第一DID和第一DID文档的过程中,或者,第一节点在调用DID合约来注册第一DID和第一DID文档完成后,可以将第二DID文档中的第二状态信息修改为指示虚拟资源已被转移,表示该虚拟资源已经从第三节点转移给第二节点,之后,第三节点没有将该虚拟资源再转移给其它节点的权限。
可选的,第一节点还可以调用DID合约,在第二DID文档中添加其他信息,比如,添加该虚拟资源被转移的时间信息。
在本申请实施例中,当虚拟资源从一个节点转移给另一个节点之后,可以将该节点拥有的,与该虚拟资源对应的DID文档中的状态信息修改为已被转移,后续,通过该DID文档对应的DID或者虚拟资源的资源标识,还可以查询到该DID文档,以证明该节点拥有过该虚拟资源。在上述过程中,不需要遍历所有与该虚拟资源相关的交易,从而极大的简化了该虚拟资源的流转的溯源效率。
请参考图9,其示出了本申请实施例涉及的虚拟资源的管理过程的框架图。以该虚拟资源是某个虚拟藏品为例,如图9所示,在第三节点向第二节点提供虚拟藏品的场景下,第三节点生成对应的凭证信息91,其中包含虚拟藏品的属性信息91a、虚拟藏品的TokenID91b、作为资源控制方的第二节点的DID 91c、作为资源发行方的第三节点的DID 91d、第三节点的签名信息91e以及第一状态信息91f;并将凭证信息91发送(或称为颁发)给第二节点;第二节点向第一节点发送资源获取请求,该资源获取请求用于请求新铸造虚拟资源/转移已有的虚拟资源,资源获取请求中包含该凭证信息91;第一节点首先校验该凭证信息91,若通过校验,第一节点再通过资源合约,调用DID合约来注册该虚拟藏品的第一DID 92,以及第一DID文档93,其中,第一DID文档93中包含虚拟藏品的属性信息91a、虚拟藏品的TokenID 91b、作为资源控制方的第二节点的DID91c、第三节点的签名信息91e以及第一状态信息91f,然后,DID合约将第一DID 92返回给第一节点,由第一节点建立虚拟藏品的TokenID 91b与第一DID 92的对应关系94。
基于上述图5至图8所示的方案,可以实现一种基于DID的数字藏品发行和转移的技术。DID标识可以为任何实体创建,包括一个组织、个人,甚至一个设备,而JSON格式的DID文档则记录了对应实体的具体内容,其数据的表现能力强,本方案利用DID来表示一个用户或者一个NFT,增强对NFT本身属性的数据表示能力。此外,本方案还利用DID用户签发凭证(VC)来表明用户想要发行或者转移一个NFT,之后将VC发送至链上合约,在验证VC成功,由合约改变DID文档的属性,或者生成新的DID,表示合约的转移或发行。此外,用户可以将这些VC在链上进行存储,后续可用于证明自己曾经拥有过某个NFT或者发行过某个NFT。
上述基于DID的数字藏品发行和转移方案,可以包括两个部分,其内容可以如下所示:
(一)基于DID的数字藏品发行技术
请参考图10,其示出了本申请涉及的一种基于DID的数字藏品发行框架图,该发行过程如图10所示,主要包括以下几个组件和步骤:
发行机构C 1001:发行数字藏品的一些权威机构或者平台。在本技术中,发行机构将会给用于颁发铸造NFT的VC。
用户A 1002:数字藏品的收藏者或者玩家,利用VC在链上铸造///发行///藏品。
NFT合约1003:利用一个map将某个tokenId的数字藏品映射到某个DID标识。
DID合约1004:用于创建DID标识和DID文档,每个DID可用于标识一个用户,也可以标识一个物品。
发行(铸造)一个数字藏品的主要步骤如下所示:
步骤1,注册用户DID。
发行机构C和用户A各自提供一个私钥PriKey_C,PriKey_A,并调用DID合约,注册一个DID标识和相应的DID文档,DID合约接收到私钥后,会计算得到一个DID文档,用户的DID文档的代码示意图可以如图11所示。
其中公钥字段publicKey是从私钥推导出来的,而id字段是did标识,其计算方法(私钥推导公钥过程)如下所示:
DID标识:id=keccak256(publicKey)[12:]
而这个DID标识即为用户或者发行机构在链上的地址,用各自的私钥推导出公钥后,利用keccak256哈希函数计算得到一个32字节的字符串,然后取后20个字节作为did标识。
此外,DID文档(json格式)还有一个controller字段,代表该DID文档的控制者,显然,用户DID文档的控制者为自身,即跟id字段一样。至此,发行机构C和用户A,均有一个用户地址,Addr_C和Addr_A,且分别对应一个DID文档。
步骤2,颁发铸造NFT(将数字项目写入区块链的过程)的VC。
发行机构C查询NFT合约,获取当前已经发行的数量N,确认是否已经全部发行完,若还可发行,则取:
NewTokenId=N+1
之后,准备以下JSON字符串VC_json,其中tokenId=NewTokenId,status为“minted”代表这是一次铸造动作,nft字段代表NFT有三个属性a,b,c,代表数藏自身的属性,例如可以用来标识这个数藏的作家是谁等等,可以无限扩展无限个字段,加强对NFT本身属性的数字表达能力,发行者issuer=Addr_C,controller=Addr_A,该VC字符串的代码可以如图12所示。
之后,权威机构对VC_json进行哈希,然后用自身的私钥PriKey_C对其进行非对称加密,即签名,生成的签名补充到VC_json中的signature字段,构成最后的VC,给到用户A。
步骤3,VC上链铸造NFT。
用户A将VC发送给NFT合约,合约会做以下几个校验:
①Issuer(发行者)对应Addr_C是否拥有铸造NFT的权限;
②调用NFT合约,检查tokenId是否为已发行总量+1,是否超发;
③调用DID合约检查issuer和controller是否已经注册did标识和文档;
④status状态是否为minted;
⑤调用DID合约获取issuer,即权威机构Addr_C的公钥PublicKey_C,验证签名是否正确:Verify(signature,PublicKey_C)。
步骤4,铸造NFT的DID标识和文档。
若步骤3的校验成功,则调用DID合约创建一个DID标识和文档,虚拟藏品的DID文档的代码示意图可以如图13所示。
其中,将DID用来标识一个NFT物品时,无需存储公私要对应信息,因为verificationMethod字段中publicKey字段为空。此外,会在DID文档,存储NFT的相关属性,例如tokenid,状态status,已经nft本身的其他属性,a,b,c等等。此外,controller字段为用户A的DID标识,即Addr_A。所有这些字段的信息,均由步骤3的NFT合约校验成功后,将这些字段透传给DID合约,调用DID合约。成功调用DID合约后,DID合约会放回NFT DID标识,即图中的id字段。
步骤5,存储NFT的tokenId和DID标识:NFT合约收到来自DID合约的NFT DID标识,即id字段会,会使用一个map结构,tokenId为key,id为value,记录下来:
Map[tokenId]=id
至此,完成了一个DID的数字藏品的发行,其中NFT只负责VC的校验,和DID标识的存储,而关于NFT本身属性的记录,则以JSON形式存在DID合约的DID文档中,可以快速方便的扩展,加强对NFT本身属性的数据标识能力。此外,当一个用户想要证明自己曾经铸造过某个NFT,则可以出示发行机构为其颁发的VC,以及对应的NFT的did标识和did文档,将确认相应的status状态,则可完成证明,而无需去遍历链上的所有交易,以找出自己曾经发起的铸造NFT的交易,来完成证明。
(二)基于DID数字藏品转移技术
请参考图14,其示出了本申请涉及的一种基于DID的数字藏品转移框架图,其流程如图14所示,主要包括以下几个组件和步骤:
用户A 1401:发行数字藏品的一些权威机构或者平台。在本技术中,发行机构将会给用于颁发铸造NFT的VC。
用户B 1402:数字藏品的收藏者或者玩家,利用VC在链上铸造///发行///藏品。
NFT合约1403:利用一个map将某个tokenId的数字藏品映射到某个DID标识。
DID合约1404:用于创建DID标识和DID文档,每个DID可用于标识一个用户,也可以标识一个物品。
步骤1,注册用户DID。
用户A和用户B各自提供一个私钥PriKey_A,PriKey_B,并调用DID合约,注册一个DID标识和相应的DID文档,其DID文档的公钥和DID标识的计算方法与第(一)部分的步骤1相同,因为用户A和用户B在链上的用户地址(DID标识)为Addr_A和Addr_B。
步骤2,颁发转移NFT的VC。
用户A首先调用NFT合约,查询指定tokenid对应的did标识,再调用DID合约,查看did标识对应的DID文档,确认其中的controller字段是否等于Addr_A,即确认这个tokenid对应的数藏是否属于自己。
之后,准备以下JSON字符串VC_json,其中tokenId=指定tokenid,status为“transfer”代表这是一次转移动作,发行者issuer=Addr_A,controller=Addr_B,该VC字符串的代码示意图可以如图15所示。
之后,用户A对VC_json进行哈希,然后用自身的私钥PriKey_A对其进行非对称加密,即签名,生成的签名补充到VC_json中的signature字段,构成最后的VC,给到用户B。
步骤3,VC上链转移NFT。
用户B将VC发送给NFT合约,合约会做以下几个校验:
①调用NFT合约,检查tokenId对应的DID文档是否存在,且其controller字段为Addr_A,且DID文档中的status状态为minted或者transfer;
②调用DID合约检查issuer和controller是否已经注册did标识和文档;
③VC的status状态是否为transfer;
④调用DID合约获取issuer,即权威机构Addr_A的公钥PublicKey_A,验证签名是否正确:Verify(signature,PublicKey_A)。
步骤4,铸造NFT的DID标识和文档。
若步骤3的校验成功,则调用DID合约创建并修改一些DID文档的信息,主要包括两个部分:
首先通过tokenId查看对应的DID文档token_D,并创建一个新的DID文档,且标识为id_new,其NFT相关属性复制源于token_D,并将其中的controller由Addr_A改为Addr_B,内容变更status设置为transfer(状态变更),代表这是一个有转移操作触发而产生的NFT,后续可以继续转移。
其次,将token_D的status状态设置为transferred,代表该NFT已经转移过,后续不可再转移。
步骤5,存储NFT的tokenId和DID标识。
NFT合约收到来自DID合约的新的NFT DID标识,即id_new,会使用一个map结构,tokenId为key,id为value,记录下来:
Map[tokenId]=id_new
至此,完成了一个DID的数字藏品的转移,其中NFT只负责VC的校验,和DID标识的存储,而关于NFT本身属性的记录,则以JSON形式存在DID合约的DID文档中,可以快速方便的扩展,加强对NFT本身属性的数据标识能力。
此外,当一个用户A或者用户B想要证明自己曾经用拥有过某个NFT,则可以出示颁发机构C或者用户A分别为其颁发的铸造VC和转移VC,以及对应的NFT的did标识和did文档,将确认相应的status状态,则可完成证明,而无需去遍历链上的所有交易,以找出自己曾经发起的铸造NFT的交易,来完成证明。同时,平台方或者用户可以在链上存储VC,以快速获取NFT的流转记录。
本申请提出了基于DID的数字藏品发行技术,通过DID文档,以JSON格式存储NFT自身的属性特征,可以无限扩展对NFT本身属性的记录,增强加强对NFT本身属性的数据标识能力。此外,基于颁发VC来完成一个NFT的发行,用户可以在链下存储VC,后续可以快捷得用于证明自己曾经拥有某些NFT,而无需去遍历链上的所有交易,以找出自己曾经发起的铸造NFT的交易,来完成证明。
本申请提出了基于DID的数字藏品转移技术,基于颁发VC来完成一个NFT的转移,使得链上的每一笔NFT转移在链上都间接地以VC在链下存储,后续可以直接用来证明某个用户曾经拥有某个NFT,或者曾经转移过某个NFT,或者曾经铸造转移过某个NFT,即可以快速获取某个NFT的流转记录,对NFT的流转进行溯源。
图16示出了本申请一示例性实施例示出的用于区块链的虚拟资源管理装置的方框图,该装置可以用于执行如图5、图7或图8所示方法中,由第一节点/资源合约执行的全部或部分步骤,该装置包括:
凭证信息接收模块1601,用于接收所述区块链中的第二节点发送的凭证信息,所述凭证信息由所述区块链中的第三节点颁发给所述第二节点,且所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
DID合约注册模块1602,用于基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档;所述第一DID文档中包含所述虚拟资源的属性信息;
对应关系建立模块1603,用于建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程。
在一些实施例中,所述凭证信息中还包括以下信息中的至少一种:
作为资源控制方的所述第二节点的DID、作为资源发行方的所述第三节点的DID、所述第三节点的签名信息以及第一状态信息;
其中,所述第一状态信息用于指示所述第二节点获取所述虚拟资源的方式;
所述第一DID文档中还包含以下信息中的至少一种:作为资源控制方的所述第二节点的DID、所述第一DID、虚拟资源的资源标识以及所述第一状态信息。
在一些实施例中,所述DID合约注册模块1602,用于,
对所述凭证信息进行校验;
响应于对所述凭证信息校验通过,调用DID合约来注册所述第一DID以及所述第一DID文档。
在一些实施例中,在所述第二节点获取所述虚拟资源的方式为铸造新资源的情况下,所述DID合约注册模块1602,用于通过以下至少一种方式进行校验:
校验所述第三节点是否具有铸造资源的权限;
校验所述第三节点已铸造的资源是否达到上限;
在所述凭证信息中包含所述第二节点的DID和所述第三节点的DID的情况下,调用DID合约校验所述第二节点的DID和所述第三节点的DID是否正确;
在所述凭证信息中包含所述第一状态信息的情况下,校验所述第一状态信息指示的所述第二节点获取所述虚拟资源的方式是否为铸造新资源;
在所述凭证信息中包含所述第三节点的签名信息的情况下,调用DID合约获取所述第三节点的公钥,并通过所述第三节点的公钥校验所述第三节点的签名信息是否正确。
在一些实施例中,在所述第二节点获取所述虚拟资源的方式为转移已有资源的情况下,所述DID合约注册模块1602,用于通过以下至少一种方式进行校验:
校验所述第三节点是否拥有所述虚拟资源;
在所述凭证信息中包含所述第二节点的DID和所述第三节点的DID的情况下,调用DID合约校验所述第二节点的DID和所述第三节点的DID是否正确;
在所述凭证信息中包含所述第一状态信息的情况下,校验所述第一状态信息指示的所述第二节点获取所述虚拟资源的方式是否为转移已有资源;
在所述凭证信息中包含所述第三节点的签名信息的情况下,调用DID合约获取所述第三节点的公钥,并通过所述第三节点的公钥校验所述第三节点的签名信息是否正确。
在一些实施例中,所述装置还包括:
文档查询模块,用于查询与所述资源标识对应的第二DID文档,所述第二DID文档中包含作为资源控制方的所述第三节点的DID,且所述第二DID文档中的第二状态信息用于指示所述第三节点获取所述虚拟资源的方式为铸造新资源或者转移已有资源;
状态修改模块,用于调用DID合约将所述第二DID文档中的所述第二状态信息修改为指示所述虚拟资源已被转移。
图17示出了本申请一示例性实施例示出的用于区块链的虚拟资源管理装置的方框图,该装置可以用于执行如图5、图7或图8所示方法中,由第二节点执行的全部或部分步骤,该装置包括:
凭证信息接收模块1701,用于接收所述区块链中的第三节点颁发的凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块1702,用于向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
图18示出了本申请一示例性实施例示出的用于区块链的虚拟资源管理装置的方框图,该装置可以用于执行如图5、图7或图8所示方法中,由第三节点执行的全部或部分步骤,该装置包括:
凭证信息生成模块1801,用于生成凭证信息,所述凭证信息是第二节点获取第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块1802,用于向所述第二节点发送所述凭证信息,以便所述第二节点向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
图19示出了本申请一示例性实施例示出的计算机设备1900的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。该计算机设备1900包括中央处理单元(Central Processing Unit,CPU)1901、包括随机存取存储器(RandomAccess Memory,RAM)1902和只读存储器(Read-Only Memory,ROM)1903的***存储器1904,以及连接***存储器1904和中央处理单元1901的***总线1905。该计算机设备1900还包括用于存储操作***1909、应用程序1910和其他程序模块1911的大容量存储设备1906。
该大容量存储设备1906通过连接到***总线1905的大容量存储控制器(未示出)连接到中央处理单元1901。该大容量存储设备1906及其相关联的计算机可读介质为计算机设备1900提供非易失性存储。也就是说,该大容量存储设备1906可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(ErasableProgrammable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的***存储器1904和大容量存储设备1906可以统称为存储器。
根据本公开的各种实施例,该计算机设备1900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1900可以通过连接在该***总线1905上的网络接口单元1907连接到网络1908,或者说,也可以使用网络接口单元1907来连接到其他类型的网络或远程计算机***(未示出)。
该存储器还包括至少一条计算机程序,该至少一条计算机程序存储于存储器中,中央处理单元1901通过执行该至少一条计算机程序来实现上述各个实施例所示的方法中的全部或者部分步骤。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述各个实施例所示的方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random AccessMemory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法中的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (15)
1.一种用于区块链的虚拟资源管理方法,其特征在于,所述方法由所述区块链中的第一节点执行,所述方法包括:
接收所述区块链中的第二节点发送的凭证信息,所述凭证信息由所述区块链中的第三节点颁发给所述第二节点,且所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档;所述第一DID文档中包含所述虚拟资源的属性信息;
建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程。
2.根据权利要求1所述的方法,其特征在于,所述凭证信息中还包括以下信息中的至少一种:
作为资源控制方的所述第二节点的DID、作为资源发行方的所述第三节点的DID、所述第三节点的签名信息以及第一状态信息;
其中,所述第一状态信息用于指示所述第二节点获取所述虚拟资源的方式;
所述第一DID文档中还包含以下信息中的至少一种:作为资源控制方的所述第二节点的DID、所述第一DID、虚拟资源的资源标识以及所述第一状态信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档,包括:
对所述凭证信息进行校验;
响应于对所述凭证信息校验通过,调用DID合约来注册所述第一DID以及所述第一DID文档。
4.根据权利要求3所述的方法,其特征在于,在所述第二节点获取所述虚拟资源的方式为铸造新资源的情况下,
所述对所述凭证信息进行校验,包括通过以下至少一种方式进行校验:
校验所述第三节点是否具有铸造资源的权限;
校验所述第三节点已铸造的资源是否达到上限;
在所述凭证信息中包含所述第二节点的DID和所述第三节点的DID的情况下,调用DID合约校验所述第二节点的DID和所述第三节点的DID是否正确;
在所述凭证信息中包含所述第一状态信息的情况下,校验所述第一状态信息指示的所述第二节点获取所述虚拟资源的方式是否为铸造新资源;
在所述凭证信息中包含所述第三节点的签名信息的情况下,调用DID合约获取所述第三节点的公钥,并通过所述第三节点的公钥校验所述第三节点的签名信息是否正确。
5.根据权利要求3所述的方法,其特征在于,在所述第二节点获取所述虚拟资源的方式为转移已有资源的情况下,
所述对所述凭证信息进行校验,包括通过以下至少一种方式进行校验:
校验所述第三节点是否拥有所述虚拟资源;
在所述凭证信息中包含所述第二节点的DID和所述第三节点的DID的情况下,调用DID合约校验所述第二节点的DID和所述第三节点的DID是否正确;
在所述凭证信息中包含所述第一状态信息的情况下,校验所述第一状态信息指示的所述第二节点获取所述虚拟资源的方式是否为转移已有资源;
在所述凭证信息中包含所述第三节点的签名信息的情况下,调用DID合约获取所述第三节点的公钥,并通过所述第三节点的公钥校验所述第三节点的签名信息是否正确。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
查询与所述资源标识对应的第二DID文档,所述第二DID文档中包含作为资源控制方的所述第三节点的DID,且所述第二DID文档中的第二状态信息用于指示所述第三节点获取所述虚拟资源的方式为铸造新资源或者转移已有资源;
调用DID合约将所述第二DID文档中的所述第二状态信息修改为指示所述虚拟资源已被转移。
7.一种用于区块链的虚拟资源管理方法,其特征在于,所述方法由所述区块链中的第二节点执行,所述方法包括:
接收所述区块链中的第三节点颁发的凭证信息,所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
8.一种用于区块链的虚拟资源管理方法,其特征在于,所述方法由所述区块链中的第三节点执行,所述方法包括:
生成凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
向所述第二节点发送所述凭证信息,以便所述第二节点向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
9.一种用于区块链的虚拟资源管理方法,其特征在于,所述方法由区块链第一节点、第二节点和第三节点交互执行,所述方法包括:
所述第三节点生成凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
所述第三节点向所述第二节点发送所述凭证信息;
所述第二节点向所述第一节点发送所述凭证信息;
所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
10.一种用于区块链的虚拟资源管理装置,其特征在于,所述装置包括:
凭证信息接收模块,用于接收所述区块链中的第二节点发送的凭证信息,所述凭证信息由所述区块链中的第三节点颁发给所述第二节点,且所述凭证信息是所述第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
DID合约注册模块,用于基于所述凭证信息,调用去中心化身份DID合约来注册所述虚拟资源的第一DID以及第一DID文档;所述第一DID文档中包含所述虚拟资源的属性信息;
对应关系建立模块,用于建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程。
11.一种用于区块链的虚拟资源管理装置,其特征在于,所述装置包括:
凭证信息接收模块,用于接收所述区块链中的第三节点颁发的凭证信息,所述凭证信息是第二节点获取所述第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块,用于向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
12.一种用于区块链的虚拟资源管理装置,其特征在于,所述装置包括:
凭证信息生成模块,用于生成凭证信息,所述凭证信息是第二节点获取第三节点提供的所述虚拟资源的凭证,所述凭证信息中包含所述虚拟资源的属性信息以及所述虚拟资源的资源标识;
凭证信息发送模块,用于向所述第二节点发送所述凭证信息,以便所述第二节点向第一节点发送所述凭证信息,以便所述第一节点基于所述凭证信息调用DID合约来注册所述虚拟资源的第一DID以及第一DID文档,并建立所述虚拟资源的资源标识与所述第一DID之间的对应关系,以完成所述第二节点获取所述虚拟资源的过程,所述第一DID文档中包含所述虚拟资源的属性信息。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至9任一所述的用于区块链的虚拟资源管理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至9任一所述的用于区块链的虚拟资源管理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机指令由计算机设备的处理器读取并执行,以实现如权利要求1至9任一所述的用于区块链的虚拟资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310918260.6A CN116961876A (zh) | 2023-07-24 | 2023-07-24 | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310918260.6A CN116961876A (zh) | 2023-07-24 | 2023-07-24 | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961876A true CN116961876A (zh) | 2023-10-27 |
Family
ID=88445824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310918260.6A Pending CN116961876A (zh) | 2023-07-24 | 2023-07-24 | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961876A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440004A (zh) * | 2023-12-19 | 2024-01-23 | 苏州元脑智能科技有限公司 | 一种资源存储***、方法、设备以及存储介质 |
-
2023
- 2023-07-24 CN CN202310918260.6A patent/CN116961876A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440004A (zh) * | 2023-12-19 | 2024-01-23 | 苏州元脑智能科技有限公司 | 一种资源存储***、方法、设备以及存储介质 |
CN117440004B (zh) * | 2023-12-19 | 2024-03-15 | 苏州元脑智能科技有限公司 | 一种资源存储***、方法、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531981B2 (en) | Digital contracts in blockchain environments | |
CN110620810B (zh) | 在区块链上的连续资产转移的非链接所有权 | |
CN112214797A (zh) | 数据处理方法、装置、设备、区块链***及存储介质 | |
CN113111387A (zh) | 基于区块链的金融资产多方共享交易元数据信息的方法、装置及*** | |
WO2022161181A1 (zh) | 基于区块链的数据处理的方法、装置及电子设备 | |
WO2020062972A1 (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN110599348B (zh) | 股权激励的方法、装置、设备及存储介质 | |
US20210042748A1 (en) | Blockchain-based secure resource management | |
CN112435006A (zh) | 一种应用区块链技术的专利全过程管理方法、***及设备 | |
CN111095863A (zh) | 在区块链网络上通信、存储和处理数据的基于区块链的***和方法 | |
CN113221191B (zh) | 基于区块链的数据存证方法、装置、设备和存储介质 | |
CN110889762A (zh) | 一种数据处理方法、设备及介质 | |
CN111612452A (zh) | 一种基于区块链的知识产权管理***及方法 | |
CN112418851A (zh) | 数字版权登记、交易、保护方法与*** | |
CN116961876A (zh) | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 | |
CN112862589A (zh) | 金融场景下的身份验证方法、装置和*** | |
CN116894732A (zh) | 数字资产管理方法、装置、***及可读存储介质 | |
CN116415972A (zh) | 基于nft和数字藏品的多账户支付管理方法及*** | |
CN116028982A (zh) | 基于非同质化通证的处理方法、装置及*** | |
CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
CN114553875B (zh) | 一种基于去中心化id与预言机的资产上链***及方法 | |
CN112837043B (zh) | 基于区块链的数据处理方法、装置及电子设备 | |
CN115828315A (zh) | 管理数据权属凭证的方法和装置及电子设备 | |
CN115601091A (zh) | 一种基于区块链的票据管理方法以及相关设备 | |
CN117955659A (zh) | 基于区块链的资源凭证处理方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |