








技术领域technical field
本发明涉及信息处理技术领域,具体涉及一种虚拟资产交易方法、装置、电子设备和计算机可读存储介质。The present invention relates to the technical field of information processing, in particular to a virtual asset transaction method, device, electronic device and computer-readable storage medium.
背景技术Background technique
NFT(Non-Fungible Token,非同质化代币),通常是指开发者在以太坊平台上根据如ERC721或ERC1155等标准/协议所发行的代币,它的特性为不可分割、不可替代、独一无二的,简单来说,采用如ERC721或ERC1155等标准/协议而发行的代币就叫做NFT。一切现实中的物品都可转化区块链中的NFT代币,因此随着近年来区块链技术的快速发展,基于区块链中的NFT进行的交易也越来越多。NFT (Non-Fungible Token, non-fungible token), usually refers to the tokens issued by developers on the Ethereum platform according to standards/protocols such as ERC721 or ERC1155. Its characteristics are indivisible, irreplaceable, Unique, simply put, tokens issued using standards/protocols such as ERC721 or ERC1155 are called NFTs. All real objects can be converted into NFT tokens in the blockchain. Therefore, with the rapid development of blockchain technology in recent years, more and more transactions are conducted based on NFTs in the blockchain.
现有NFT虚拟资产,往往是由单个用户通过私钥交易进行购买及转让的。但是,本申请实施例的发明人在实际应用过程中发现:有些NFT虚拟资产往往售价非常昂贵,单个用户无法承受资金购买;同时NFT虚拟资产购买后的权益也往往只能单个用户所有,如NFT的虚拟资产使用权等。Existing NFT virtual assets are often purchased and transferred by a single user through private key transactions. However, the inventor of the embodiment of the present application found in the actual application process that some NFT virtual assets are often very expensive, and a single user cannot afford to buy them with funds; at the same time, the rights and interests of NFT virtual assets after purchase are often only owned by a single user, such as The right to use NFT virtual assets, etc.
可见,现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。It can be seen that the existing NFT virtual asset transactions have problems that they cannot be traded due to excessively high prices, and that NFT virtual asset rights and interests can only be enjoyed by a single user.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供一种虚拟资产交易方法、装置、电子设备和计算机可读存储介质,可以避免现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。Embodiments of the present invention provide a virtual asset transaction method, device, electronic device, and computer-readable storage medium, which can avoid existing NFT virtual asset transactions that cannot be traded due to excessively high prices, and that NFT virtual asset rights and interests can only be used by a single user enjoyment of the problem.
第一方面,本申请实施例提供一种虚拟资产交易方法,包括:In a first aspect, the embodiments of the present application provide a virtual asset transaction method, including:
基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;Generate crowdfunding proposal information of the target virtual asset based on the preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset;
基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;determining, based on the crowdfunding proposal information, a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;adding the target buyer's key to the holder key list of the first contract account;
当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。When the raised amount in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the virtual asset of the first contract account.
第二方面,本申请实施例还提供一种虚拟资产交易装置,包括:In a second aspect, the embodiments of the present application further provide a virtual asset trading device, including:
生成单元,用于基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;a generating unit, configured to generate crowdfunding proposal information of the target virtual asset based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset;
确定单元,用于基于所述众筹提案信息,确定向所述第一合约账号用于存入购买所述目标虚拟资产的资金的目标购买者;a determining unit, configured to determine, based on the crowdfunding proposal information, a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
加入单元,用于将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;an adding unit, configured to add the key of the target purchaser to the holder key list of the first contract account;
交易单元,用于当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。A transaction unit, configured to set the target virtual asset as the virtual asset of the first contract account when the raised amount in the first contract account reaches the target crowdfunding amount.
在一些实施例中,所述虚拟资产交易装置还包括创建单元,所述基于预设的第一合约账号生成目标虚拟资产的众筹提案信息之前,所述创建单元具体用于:In some embodiments, the virtual asset trading device further includes a creation unit, and before the crowdfunding proposal information of the target virtual asset is generated based on the preset first contract account, the creation unit is specifically configured to:
获取第一持有者的账号创建请求,其中,所述账号创建请求携带有所述第一持有者的区块链地址、所述第一持有者的第一私钥对应的密钥;Obtain the account creation request of the first holder, wherein the account creation request carries the blockchain address of the first holder and the key corresponding to the first private key of the first holder;
基于所述账号创建请求生成第一合约账号,其中,所述第一合约账号的持有者密钥列表中包含所述第一私钥对应的密钥。A first contract account is generated based on the account creation request, wherein the holder key list of the first contract account includes the key corresponding to the first private key.
在一些实施例中于,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述交易单元具体用于:In some embodiments, after the target virtual asset is set as the virtual asset of the first contract account when the raised amount in the first contract account reaches the target crowdfunding amount, the The transaction unit is specifically used for:
获取所述持有者密钥列表中任一密钥对应的第二持有者对所述目标虚拟资产的第一转让请求;obtaining the first transfer request of the target virtual asset from the second holder corresponding to any key in the holder key list;
获取所述持有者密钥列表对应的各持有者对所述第一转让请求的同意投票结果;Obtain the consent voting result of each holder corresponding to the holder key list for the first transfer request;
基于所述同意投票结果,确定所述第一转让请求的同意金额;determining an agreed amount of the first transfer request based on the result of the consent vote;
当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息,其中,所述售卖提案信息包括所述目标虚拟资产的目标售卖金额。When the agreed amount meets a preset condition, generate sale proposal information of the target virtual asset, wherein the sale proposal information includes a target sale amount of the target virtual asset.
在一些实施例中,所述已筹集金额包括所述目标购买者的目标出资金额,所述当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息之后,所述交易单元具体用于:In some embodiments, the raised amount includes a target contribution amount of the target purchaser, and when the agreed amount meets a preset condition, after generating the sales proposal information of the target virtual asset, the transaction The unit is specifically used for:
基于所述售卖提案信息和预设的第二合约账号,向所述第一合约账号存入所述目标售卖金额的资金;Based on the sale proposal information and the preset second contract account, deposit the funds of the target sale amount into the first contract account;
将所述目标虚拟资产由所述第一合约账号转让至所述第二合约账号;transferring the target virtual asset from the first contract account to the second contract account;
根据所述目标众筹金额、所述目标出资金额和所述目标售卖金额,确定所述目标购买者的账号提现金额;According to the target crowdfunding amount, the target funding amount, and the target selling amount, determine the cash-out amount of the target buyer's account;
按照所述账号提现金额,将所述目标售卖金额的资金由所述第一合约账号提现至所述目标购买者的区块链地址。According to the withdrawal amount of the account, the funds of the target sale amount are withdrawn from the first contract account to the blockchain address of the target buyer.
在一些实施例中,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述交易单元具体用于:In some embodiments, when the amount raised in the first contract account reaches the target crowdfunding amount, after setting the target virtual asset as the virtual asset of the first contract account, the The transaction unit is specifically used for:
基于所述持有者密钥列表中任一密钥对应的第三持有者对所述目标虚拟资产的第二转让请求,生成所述目标虚拟资产的转让请求信息,其中,所述转让请求信息包括所述第三持有者对所述目标虚拟资产的转让金额;Based on the second transfer request of the target virtual asset by the third holder corresponding to any key in the holder key list, the transfer request information of the target virtual asset is generated, wherein the transfer request The information includes the transfer amount of the target virtual asset by the third holder;
确定向所述第一合约账号存入所述转让金额的资金的受让者;determining the transferee of the funds deposited to the first contract account for the transfer amount;
将所述受让者的第二私钥对应的密钥加入所述持有者密钥列表中;adding the key corresponding to the transferee's second private key to the holder key list;
将所述第三持有者的第三私钥对应的密钥从所述持有者密钥列表中删除。The key corresponding to the third private key of the third holder is deleted from the holder key list.
在一些实施例中,所述虚拟资产交易装置还包括使用单元,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述使用单元具体用于:In some embodiments, the virtual asset trading device further includes a use unit, which sets the target virtual asset as the target crowdfunding amount when the raised amount in the first contract account reaches the target crowdfunding amount. After the virtual assets of the first contract account, the use unit is specifically used for:
获取所述持有者密钥列表任一密钥对应的第四持有者对所述目标虚拟资产的使用请求,其中,所述使用请求携带有采用所述第四持有者的第四私钥对所述第四持有者的声明数据进行签名后的目标验证凭证;Obtain the use request of the target virtual asset by the fourth holder corresponding to any key in the holder key list, wherein the use request carries the fourth private key of the fourth holder. The target verification certificate after the key signs the claim data of the fourth holder;
通过所述目标虚拟资产的服务提供方,获取所述目标验证凭证的验证结果;Obtain the verification result of the target verification credential through the service provider of the target virtual asset;
当所述验证结果为验证通过时,通过所述服务提供方向所述第四持有者提供所述目标虚拟资产的使用权益。When the verification result is that the verification is passed, the fourth holder is provided with the right to use the target virtual asset through the service provider.
在一些实施例中,所述使用单元具体用于:In some embodiments, the using unit is specifically used for:
向所述服务提供方发送所述目标验证凭证;sending the target authentication credential to the service provider;
通过所述服务提供方,向预设的凭证发行者查询所述目标验证凭证的有效性,得到所述验证结果。Through the service provider, query the preset certificate issuer for the validity of the target verification certificate to obtain the verification result.
在一些实施例中,所述目标购买者包括多个,每个所述目标购买者的目标出资金额相同,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之前,所述交易单元具体用于:In some embodiments, the target purchaser includes a plurality of target purchasers, and each target purchaser has the same target contribution amount, and when the raised amount in the first contract account reaches the target crowdfunding amount , before setting the target virtual asset as the virtual asset of the first contract account, the transaction unit is specifically used for:
确定所述目标购买者的数量;determining the number of said target buyers;
当所述目标购买者的数量达到预设数量时,确定所述已筹集金额达到所述目标众筹金额。When the number of target buyers reaches a preset number, it is determined that the raised amount reaches the target crowdfunding amount.
在一些实施例中,所述目标购买者包括多个,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之前,所述交易单元具体用于:In some embodiments, the target purchaser includes multiple, and when the amount raised in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the first target virtual asset Before the virtual assets of the contract account, the transaction unit is specifically used for:
将各所述目标购买者的目标出资金额累加,得到所述第一合约账号内的已筹集金额;Accumulate the target contribution amount of each of the target buyers to obtain the raised amount in the first contract account;
若所述已筹集金额大于或等于所述目标众筹金额,则确定所述第一合约账号内的已筹集金额达到所述目标众筹金额。If the raised amount is greater than or equal to the target crowdfunding amount, it is determined that the raised amount in the first contract account reaches the target crowdfunding amount.
在一些实施例中,所述确定单元具体用于:In some embodiments, the determining unit is specifically configured to:
接收意向购买者针对所述众筹提案信息的购买请求,其中,所述购买请求携带有所述意向购买者对所述目标虚拟资产的出资金额;receiving a purchase request from an intended purchaser for the crowdfunding proposal information, wherein the purchase request carries the amount of the intended purchaser's contribution to the target virtual asset;
确定所述已筹集金额是否小于所述目标众筹金额;determining whether the raised amount is less than the target crowdfunding amount;
若所述已筹集金额小于所述目标众筹金额,则将所述意向购买者的出资金额的资金存入所述第一合约账号,并将所述意向购买者确定为所述目标购买者。If the raised amount is less than the target crowdfunding amount, the intended purchaser's contribution amount is deposited into the first contract account, and the intended purchaser is determined as the target purchaser.
第三方面,本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种虚拟资产交易方法中的步骤。In a third aspect, the embodiments of the present application further provide an electronic device, including a memory that stores multiple instructions; the processor loads the instructions from the memory to execute any virtual asset transaction provided by the embodiments of the present application steps in the method.
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种虚拟资产交易方法中的步骤。In a fourth aspect, embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the instructions provided by the embodiments of the present application. The steps in any of the virtual asset trading methods.
本申请实施例通过基于预设第一合约账号生成的目标虚拟资产的众筹提案信息,确定向第一合约账号存入用于购买目标虚拟资产的资金的目标购买者;将目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;并在第一合约账号内的已筹集金额达到目标虚拟资产的目标众筹金额时,将目标虚拟资产设置为第一合约账号的虚拟资产,此时第一合约账号成功购买目标虚拟资产,第一合约账号成为目标虚拟资产的控制者;一方面,由于向第一合约账号存入用于购买目标虚拟资产的资金的用户(即目标购买者)可以有多个,因此可以实现目标虚拟资产进行众筹购买;由此,可以避免现有NFT虚拟资产交易存在由于价格过高而导致无法交易的问题;另一方面,由于目标虚拟资产被第一合约账号成功购买后,第一合约账号成为目标虚拟资产的控制者,而所有密钥已加入第一合约账号的持有者密钥列表中的目标购买者,都成为第一合约账号的持有者,因此使得多个持有者可以同时享有目标虚拟资产的使用、转让等权益;由此,可以避免NFT虚拟资产权益只能单个用户享有的问题。可见,本申请实施例解决了现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。This embodiment of the present application determines the target purchaser who deposits the funds for purchasing the target virtual asset into the first contract account based on the crowdfunding proposal information of the target virtual asset generated based on the preset first contract account; The key is added to the holder key list of the first contract account; and when the raised amount in the first contract account reaches the target crowdfunding amount of the target virtual asset, the target virtual asset is set as the Virtual asset, at this time, the first contract account successfully purchases the target virtual asset, and the first contract account becomes the controller of the target virtual asset; There can be multiple target buyers), so crowdfunding purchase of target virtual assets can be realized; thus, the problem of inability to trade due to excessively high prices in existing NFT virtual asset transactions can be avoided; After the asset is successfully purchased by the first contract account, the first contract account becomes the controller of the target virtual asset, and all target purchasers whose keys have been added to the first contract account's holder key list become the first contract The holder of the account, so that multiple holders can simultaneously enjoy the rights and interests of the use and transfer of the target virtual asset; thus, it can avoid the problem that the rights and interests of NFT virtual assets can only be enjoyed by a single user. It can be seen that the embodiments of the present application solve the problems that existing NFT virtual asset transactions cannot be traded due to excessively high prices, and that NFT virtual asset rights and interests can only be enjoyed by a single user.
附图说明Description of drawings
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained from these drawings without creative effort.
图1是本申请实施例提供的虚拟资产交易方法的一种实施例流程示意图;FIG. 1 is a schematic flowchart of an embodiment of a virtual asset transaction method provided by an embodiment of the present application;
图2是本申请实施例中VC系统交互的场景示意图;FIG. 2 is a schematic diagram of a scenario of VC system interaction in an embodiment of the present application;
图3是本申请实施例中实现虚拟资产交易所采用的区块链智能合约的一种架构示意图;FIG. 3 is a schematic diagram of the architecture of the blockchain smart contract used to realize virtual asset exchange in the embodiment of the present application;
图4是本申请实施例中提供的目标虚拟资产进行转让的一种流程示意图;FIG. 4 is a schematic flowchart of the transfer of the target virtual asset provided in the embodiment of the present application;
图5是本申请实施例中提供的目标虚拟资产进行转让的另一种流程示意图;FIG. 5 is another schematic flowchart of the transfer of the target virtual asset provided in the embodiment of the present application;
图6是本申请实施例中提供的目标虚拟资产进行使用的一种流程示意图;FIG. 6 is a schematic flowchart of the use of the target virtual asset provided in the embodiment of the present application;
图7是本申请实施例提供的虚拟资产交易装置的结构示意图;7 is a schematic structural diagram of a virtual asset transaction device provided by an embodiment of the present application;
图8是本申请实施例提供的电子设备的结构示意图;8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application;
图9是本申请实施例提供的虚拟交易资产系统的一种示意图。FIG. 9 is a schematic diagram of a virtual transaction asset system provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。同时,在本申请实施例的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application. Meanwhile, in the description of the embodiments of the present application, the terms "first", "second" and the like are only used to distinguish the description, and cannot be understood as indicating or implying relative importance. Thus, features defined as "first", "second" may expressly or implicitly include one or more of said features. In the description of the embodiments of the present application, "plurality" means two or more, unless otherwise expressly and specifically defined.
本申请实施例提供一种虚拟资产交易方法、装置、电子设备和计算机可读存储介质。Embodiments of the present application provide a virtual asset transaction method, apparatus, electronic device, and computer-readable storage medium.
具体地,本申请实施例虚拟资产交易方法可以由电子设备执行,其中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、触控屏幕、游戏机、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。Specifically, the virtual asset transaction method in this embodiment of the present application may be executed by an electronic device, where the electronic device may be a terminal, a server, or other devices. The terminal may be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a touch screen, a game console, or a personal computer (Personal Computer, PC) and other devices; the server may be a single server, or may be composed of multiple servers server cluster.
例如,该电子设备可以是移动终端,该移动终端可以通过网络基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。For example, the electronic device may be a mobile terminal, and the mobile terminal may generate crowdfunding proposal information of the target virtual asset based on a preset first contract account through the network, wherein the crowdfunding proposal information includes the target of the target virtual asset Crowdfunding amount; based on the crowdfunding proposal information, determine the target purchaser who deposits the funds used to purchase the target virtual asset to the first contract account; add the key of the target purchaser to the first contract account In the holder key list of a contract account; when the raised amount in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the virtual asset of the first contract account .
其中,该虚拟资产交易装置具体可以集成在电子设备中,在一些实施例中,该虚拟资产交易装置还可以集成在多个电子设备中,比如,虚拟资产交易装置可以集成在多个服务器中,由多个服务器来实现本申请的虚拟资产交易方法。又如,虚拟资产交易装置可以集成在多个终端中,由多个终端来实现本申请的虚拟资产交易方法。Wherein, the virtual asset trading device can be specifically integrated in an electronic device. In some embodiments, the virtual asset trading device can also be integrated in multiple electronic devices. For example, the virtual asset trading device can be integrated in multiple servers. The virtual asset transaction method of the present application is implemented by a plurality of servers. For another example, the virtual asset trading device may be integrated into multiple terminals, and the virtual asset trading method of the present application may be implemented by multiple terminals.
在一些实施例中,服务器也可以以终端的形式来实现,比如,可以将个人电脑设置为服务器来集成该虚拟资产交易装置,由个人电脑设置成的服务器来实现本申请的虚拟资产交易方法。In some embodiments, the server can also be implemented in the form of a terminal. For example, a personal computer can be set as a server to integrate the virtual asset trading device, and a server set as a personal computer can implement the virtual asset trading method of the present application.
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。Each of them will be described in detail below. It should be noted that the serial numbers of the following embodiments are not intended to limit the preferred order of the embodiments.
参照图1和图3,图1是本申请实施例提供的虚拟资产交易方法的一种流程示意图,本申请实施例中以虚拟资产交易基于区块链的智能合约为例,说明本申请实施例中提供的虚拟资产交易方法。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,可以先执行步骤103再执行步骤104,或者先执行步骤104再执行步骤102,又或者步骤103和步骤104同时执行。在本实施例中,该虚拟资产交易方法包括步骤101~104,其中:Referring to FIGS. 1 and 3, FIG. 1 is a schematic flowchart of a virtual asset transaction method provided by an embodiment of the present application. In the embodiment of the present application, a blockchain-based smart contract for virtual asset transaction is used as an example to illustrate the embodiment of the present application. The virtual asset trading methods provided in . It should be noted that although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be performed in an order different from that herein. For example, step 103 may be performed first and then step 104 may be performed, or step 104 may be performed first and then step 102 may be performed, or step 103 and step 104 may be performed simultaneously. In this embodiment, the virtual asset transaction method includes
101、基于预设的第一合约账号生成目标虚拟资产的众筹提案信息。101. Generate crowdfunding proposal information of the target virtual asset based on a preset first contract account.
其中,众筹提案信息可以包括目标虚拟资产的众筹提案编号、目标虚拟资产的资产编号、目标虚拟资产的售卖合约地址(即目标虚拟资产当前所属的DID账号,也即当前出售目标虚拟资产的DID账号)、目标虚拟资产的目标众筹金额、众筹提案的众筹投票详情(暂时为空)、目标虚拟资产已经筹集到的购买金额(暂时为空)、众筹提案是否成功(暂时为未成功)等信息。The crowdfunding proposal information may include the crowdfunding proposal number of the target virtual asset, the asset number of the target virtual asset, and the sales contract address of the target virtual asset (that is, the DID account to which the target virtual asset currently belongs, that is, the current selling target virtual asset). DID account), the target crowdfunding amount of the target virtual asset, the crowdfunding voting details of the crowdfunding proposal (temporarily empty), the purchase amount that the target virtual asset has raised (temporarily empty), whether the crowdfunding proposal is successful (temporarily empty) unsuccessful), etc.
其中,预设的第一合约账号是DID账号,本申请实施例中DID账号为区块链账户。区块链账户有着三大要素:私有密钥(private key,简称私钥)、公开密钥(public key,简称公钥)、地址。私钥、公钥是密码学里非对称加密算法的内容。顾名思义,公钥是可以公开的,而私钥则要进行安全保管。私钥是由随机种子生成的,公钥是将私钥通过算法推导出来。由于公钥太长,为了简便实用,就出现了“地址”,地址是公钥推导出来的。这些推导过程是单向不可逆的,即:地址不能推出公钥,公钥不能推出私钥。Wherein, the preset first contract account is a DID account, and in the embodiment of this application, the DID account is a blockchain account. A blockchain account has three elements: private key (private key, referred to as private key), public key (public key, referred to as public key), and address. Private key and public key are the contents of asymmetric encryption algorithms in cryptography. As the name implies, the public key can be made public, while the private key needs to be kept safe. The private key is generated from a random seed, and the public key is derived from the private key through an algorithm. Because the public key is too long, for simplicity and practicality, there is an "address", which is derived from the public key. These derivation processes are one-way and irreversible, that is: the address cannot deduce the public key, and the public key cannot deduce the private key.
其中,虚拟资产可以是现实中的物品转化成的区块链中的NFT代币,例如游戏虚拟道具转换成的区块链中的NFT代币。每个虚拟资产对应一个资产编号,如资产编号为“10010”。Among them, the virtual assets can be NFT tokens in the blockchain converted from real items, such as NFT tokens in the blockchain converted from game virtual items. Each virtual asset corresponds to an asset number, for example, the asset number is "10010".
其中,目标虚拟资产是第一合约账号需购买的虚拟资产。The target virtual asset is the virtual asset to be purchased by the first contract account.
为了使得多个用户可以同时众筹购买同一虚拟资产,本申请实施例中的第一合约账号的持有者可以有多个。在步骤101之前,还可以创建用于购买目标虚拟资产的第一合约账号,示例性地,创建第一合约账号具体可以包括如下步骤a1~a2:In order to enable multiple users to crowdfund and purchase the same virtual asset at the same time, there may be multiple holders of the first contract account in the embodiment of the present application. Before
a1、获取第一持有者的账号创建请求。a1. Obtain the account creation request of the first holder.
其中,所述账号创建请求携带有所述第一持有者的区块链地址、所述第一持有者的第一私钥对应的密钥、以及其他参数等信息。The account creation request carries information such as the blockchain address of the first holder, the key corresponding to the first private key of the first holder, and other parameters.
其中,第一私钥对应的密钥可以是第一私钥,也可以是由第一私钥推到得到的密钥,比如第一私钥推导得到公钥,即可以将第一私钥直接作为第一私钥对应的密钥、也可以将第一私钥对应的公钥作为第一私钥对应的密钥。同理,后文中,如第二私钥对应的密钥、第三私钥对应的密钥等类推适用,例如,第二私钥对应的密钥可以将第二私钥直接作为第二私钥对应的密钥、也可以将第二私钥对应的公钥作为第二私钥对应的密钥;第三私钥对应的密钥可以将第三私钥直接作为第三私钥对应的密钥、也可以将第三私钥对应的公钥作为第三私钥对应的密钥。The key corresponding to the first private key may be the first private key, or may be a key derived from the first private key. For example, the public key can be derived from the first private key, that is, the first private key can be directly As the key corresponding to the first private key, the public key corresponding to the first private key may also be used as the key corresponding to the first private key. Similarly, in the following, the key corresponding to the second private key, the key corresponding to the third private key, etc. are applicable by analogy. For example, the key corresponding to the second private key can directly use the second private key as the second private key. The corresponding key, the public key corresponding to the second private key can also be used as the key corresponding to the second private key; the key corresponding to the third private key can directly use the third private key as the key corresponding to the third private key , The public key corresponding to the third private key may also be used as the key corresponding to the third private key.
示例性,可以在可验证声明(Verifiable Credential,VC)系统中创建第一合约账号。Exemplarily, the first contract account can be created in a Verifiable Credential (VC) system.
分布式身份标识(Decentralized Identifiers,DID)是一种去中心化的可验证的数字标识符,具有分布式、自主可控、跨链复用等特点。实体可自主完成DID账号的注册、解析、更新或者撤销操作。DID账号具体解析为DID Document,DID Document包括DID账号的唯一标识码,公钥列表和公钥的详细信息(持有者、加密算法、密钥状态等),以及DID账号的持有者的其他属性描述。Decentralized Identifiers (DID) is a decentralized and verifiable digital identifier with the characteristics of distributed, autonomous and controllable, and cross-chain reuse. The entity can independently complete the registration, analysis, update or cancellation of the DID account. The DID account is specifically parsed into a DID Document. The DID Document includes the unique identification code of the DID account, the public key list and the details of the public key (holder, encryption algorithm, key state, etc.), as well as other information about the holder of the DID account. Property description.
VC提供了一种规范来描述实体所具有的某些属性,实现基于证据的信任。DID持有者,可以通过VC向其他实体(个人、组织、具体事物等)证明自己的某些属性是可信的。VC provides a specification to describe certain attributes of an entity to achieve evidence-based trust. DID holders can prove to other entities (individuals, organizations, specific things, etc.) that certain attributes of themselves are credible through VC.
如图2所示,图2是本申请实施例中VC系统交互的场景示意图,该VC系统包括发行者(Issuer)、持有者(Holder,即用户)、验证者(Verifier,即服务提供方)、标识符注册机构(Verifiable Data Registry)。其中:As shown in FIG. 2, FIG. 2 is a schematic diagram of an interaction scenario of a VC system in an embodiment of the present application. The VC system includes an issuer (Issuer), a holder (Holder, that is, a user), and a verifier (Verifier, that is, a service provider) ), the identifier registry (Verifiable Data Registry). in:
发行者Issuer是拥有用户数据并能开具VC的实体,如政府、银行、大学等机构和组织。Issuer Issuer is an entity that owns user data and can issue VC, such as government, bank, university and other institutions and organizations.
持有者Holder是向发行者请求、收到、持有VC的实体;开具的VC可以自我保存,方便以后再次使用,例如保存在钱包里。持有者可以向验证者出示VC,以供验证者验证持有者的身份。Holder is the entity that requests, receives, and holds VC from the issuer; the issued VC can be saved by itself and used again later, for example, in a wallet. The holder can present the VC to the validator for the validator to verify the identity of the holder.
验证者Verifier接收VC并进行验证,由此可以提供给出示VC的持有者某种类型的服务。The Verifier Verifier receives the VC and verifies it, thereby providing some type of service to the holder presenting the VC.
标识符注册机构是用于维护DID的数据库,如某条区块链、分布式账本。An identifier registry is a database used to maintain DIDs, such as a blockchain or distributed ledger.
为了更好地理解本申请实施例虚拟资产交易方法的交易过程,先介绍VC系统的交互过程。如图2所示,在VC系统中,主要包括如下几部分交互过程:In order to better understand the transaction process of the virtual asset transaction method in the embodiment of the present application, the interaction process of the VC system is introduced first. As shown in Figure 2, in the VC system, the interaction process mainly includes the following parts:
1、持有者Holder在申请身份VC之前向标识符注册机构(如区块链网络)注册DID账号,该DID账号的文档包括DID账号的唯一标识码和持有者Holder私钥对应的公钥。(即在区块链注册并保存DID)。1. Before applying for the identity VC, Holder registers a DID account with an identifier registration agency (such as a blockchain network), and the DID account document includes the unique identification code of the DID account and the public key corresponding to the holder's private key. . (i.e. register and save the DID in the blockchain).
2、持有者Holder向发行者Issuer(如学校等机构或组织)申请身份VC。2. The Holder applies to the Issuer Issuer (such as a school or other institution or organization) for the identity VC.
3、发行者Issuer查询持有者Holder在标识符注册机构中注册的DID账号,以验证持有者Holder的用户身份的和有效性,并验证持有者Holder的DID账号是否注册、是否有效。3. Issuer Issuer queries the DID account number registered by Holder in the identifier registration agency to verify the user identity and validity of Holder, and to verify whether Holder's DID account is registered and valid.
4、发行者Issuer验证持有者Holder通过后,给持有者Holder发行一个身份VC,持有者Holder本地保存好身份VC。4. After the issuer Issuer verifies that the holder is passed, it issues an identity VC to the holder, and the holder saves the identity VC locally.
5、持有者Holder向验证者Verifier(如购物网站)提供身份VC请求验证。5. The holder Holder provides the identity VC to the verifier (such as a shopping website) to request verification.
6、验证者Verifier在标识符注册机构验证持有者Holder及发行者Issuer的有效性(如验证持有者Holder是不是在标识符注册机构注册,发行者Issuer是不是身份发行者)。6. The verifier Verifier verifies the validity of the holder and the issuer in the identifier registration authority (for example, verifying whether the holder is registered in the identifier registration authority and whether the issuer is the identity issuer).
7、验证者Verifier验证持有者Holder和发行者Issuer通过后,确定持有者Holder的有效性,验证者Verifier向持有者Holder提供服务(如持有者Holder可在购物网站购物)。7. After the verifier Verifier verifies the holder Holder and the issuer Issuer pass, it determines the validity of the holder Holder, and the verifier Verifier provides services to the holder Holder (for example, the holder Holder can shop on a shopping website).
其中,第一持有者是指向标识符注册机构申请注册第一合约账号的持有者Holder,具体是指向标识符注册机构申请注册第一合约账号的持有者Holder的区块链账户。Among them, the first holder refers to the holder Holder who points to the identifier registration institution to apply for the registration of the first contract account, and specifically refers to the blockchain account of the holder of the identifier registration institution to apply for the registration of the first contract account.
其中,第一私钥是指第一持有者的私钥。The first private key refers to the private key of the first holder.
本文中以第一合约账号是DID账号、第一合约账号的持有者密钥列表是DID账号的公钥列表、第一私钥对应的密钥是第一私钥对应的公钥为例进行说明。In this paper, the first contract account is a DID account, the holder's key list of the first contract account is the public key list of the DID account, and the key corresponding to the first private key is the public key corresponding to the first private key. illustrate.
示例性地,如图2所示,步骤a1中,第一持有者向VC系统中的标识符注册机构发送携带有第一持有者的区块链地址(如“0x2c7536e3605d9c”)、及第一持有者的第一私钥对应的公钥(如“4e3b81af9c2234cad09d679ce6035ed139234”)等信息的账号创建请求。Exemplarily, as shown in Fig. 2, in step a1, the first holder sends a blockchain address (such as "0x2c7536e3605d9c") carrying the first holder to the identifier registration authority in the VC system, and the first An account creation request for information such as the public key (such as "4e3b81af9c2234cad09d679ce6035ed139234") corresponding to the holder's first private key.
a2、基于所述账号创建请求生成第一合约账号,其中,所述第一合约账号的持有者密钥列表中包含所述第一私钥对应的密钥。a2. Generate a first contract account based on the account creation request, wherein the holder key list of the first contract account includes a key corresponding to the first private key.
其中,第一合约账号是第一持有者在标识符注册机构注册的DID账号。The first contract account number is the DID account number registered by the first holder in the identifier registration institution.
其中,持有者密钥列表是指第一合约账号的密钥列表,用于关联存储第一合约账号的持有者的区块链地址和第一合约账号的持有者私钥对应的密钥。其中,持有者密钥列表具体可以是第一合约账号的公钥列表,具体用于关联存储第一合约账号的持有者的区块链地址和第一合约账号的持有者私钥对应的公钥。The holder key list refers to the key list of the first contract account, which is used to associate and store the blockchain address of the holder of the first contract account and the password corresponding to the private key of the holder of the first contract account. key. The holder key list may specifically be a public key list of the first contract account, which is specifically used to associate and store the blockchain address of the holder of the first contract account and the private key of the holder of the first contract account. 's public key.
示例性地,如图2所示,标识符注册机构在接收到第一持有者发送的账号创建请求后,生成一个新DID账号(如“did:crowdfunding:0x8688f14154d2ab5E05229a7C3FB2393d02e68E06”),并将第一私钥对应的公钥和第一持有者的区块链地址关联存储至该新DID账号的公钥列表中;标识符注册机构中保存该新DID账号的区块链地址及其公钥列表;至此,完成第一合约账号的创建,该新DID账号作为第一合约账号。Exemplarily, as shown in Fig. 2, after receiving the account creation request sent by the first holder, the identifier registration authority generates a new DID account (such as "did: crowdfunding: 0x8688f14154d2ab5E05229a7C3FB2393d02e68E06"), and assigns the first private The public key corresponding to the key and the blockchain address of the first holder are associated and stored in the public key list of the new DID account; the identifier registration authority saves the blockchain address of the new DID account and its public key list; So far, the creation of the first contract account is completed, and the new DID account is used as the first contract account.
示例性地,如图3所示,在区块链智能合约架构中,步骤a1~a2的实现具体包括如下执行步骤:Exemplarily, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of steps a1 to a2 specifically includes the following execution steps:
1、用户(即第一持有者)对区块链发起部署合约交易,输入参数包括新DID账号的默认控制者controller(即第一持有者的区块链地址),默认控制者公钥publicKey(即第一持有者私钥对应的公钥),其他参数otherParams。1. The user (ie the first holder) initiates a deployment contract transaction on the blockchain. The input parameters include the default controller controller of the new DID account (ie the blockchain address of the first holder), the default controller public key publicKey (that is, the public key corresponding to the first holder's private key), other parameters otherParams.
2、保存默认控制者公钥publicKey(即第一持有者私钥对应的公钥)到新DID账号的持有者公钥列表中。其中,第一持有者同样需要向第一合约账号存入用于购买目标虚拟资产的资金,第一持有者的私钥对应的公钥才会添加到新DID账号的持有者公钥列表中,第一持有者同样是目标虚拟资产的目标购买者。2. Save the default controller's public key publicKey (that is, the public key corresponding to the first holder's private key) to the holder's public key list of the new DID account. Among them, the first holder also needs to deposit funds for the purchase of the target virtual asset into the first contract account, and the public key corresponding to the first holder's private key will be added to the holder's public key of the new DID account. In the list, the first holder is also the target buyer of the target virtual asset.
4、保存新DID账号的DID文档的其他数据信息otherParams,并完成新DID账号(即第一合约账号)的创建。4. Save other data information otherParams of the DID document of the new DID account, and complete the creation of the new DID account (ie, the first contract account).
请参照图3,图3是本申请实施例中实现虚拟资产交易所采用的区块链智能合约的一种架构示意图,在第一合约账号创建完成后,基于区块链智能合约,用户采用第一合约账号创建用于多个持有者共同购买一个虚拟资产的众筹提案。例如,此时,在步骤101中,可以通过第一持有者基于第一合约账号输入待购买的目标虚拟资产的售卖合约地址(如“0xF57B2c51dED3A29e6891aba85459d600256Cf317”)、目标虚拟资产的目标众筹金额(如“99ETH”)、目标虚拟资产的资产编号(如“10010”)等信息,从而发起对目标虚拟资产的众筹提案;众筹提案发起成功后,将返回一个众筹提案编号,从而得到包括目标虚拟资产的众筹提案编号、资产编号、售卖合约地址、目标众筹金额等众筹提案信息。示例性地,如图3所示,在区块链智能合约架构中,步骤101的实现具体包括如下执行步骤:Please refer to FIG. 3 . FIG. 3 is a schematic diagram of the architecture of the blockchain smart contract used to realize the virtual asset exchange in the embodiment of the present application. After the first contract account is created, based on the blockchain smart contract, the user adopts the first contract account. A contract account is created for crowdfunding proposals for multiple holders to jointly purchase a virtual asset. For example, at this time, in
1、智能合约判断众筹提案发起用户必须是持有者公钥列表中对应的持有者。1. The smart contract determines that the user who initiates the crowdfunding proposal must be the corresponding holder in the holder's public key list.
2、新建一个唯一提案编号。2. Create a unique proposal number.
3、新建一个众筹提案,众筹提案内容包括众筹提案编号(proposalId)、目标虚拟资产的售卖合约地址(nftSellContract)、目标虚拟资产的目标众筹金额(nftPrice)、目标虚拟资产的资产编号(nftCoinId)、众筹提案的众筹投票详情(voteList,暂时为空)、目标虚拟资产已经筹集到的购买金额(hasFundAmount,暂时为空)、提案是否成功(ifSuccess,暂时为未成功)。3. Create a new crowdfunding proposal. The content of the crowdfunding proposal includes the crowdfunding proposal ID (proposalId), the sale contract address of the target virtual asset (nftSellContract), the target crowdfunding amount of the target virtual asset (nftPrice), and the asset ID of the target virtual asset. (nftCoinId), crowdfunding voting details of the crowdfunding proposal (voteList, temporarily empty), the purchase amount that the target virtual asset has raised (hasFundAmount, temporarily empty), whether the proposal is successful (ifSuccess, temporarily unsuccessful).
4、返回提案编号给用户。4. Return the proposal number to the user.
102、基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者。102. Determine, based on the crowdfunding proposal information, a target purchaser who deposits funds for purchasing the target virtual asset into the first contract account.
其中,目标购买者是指参与众筹购买目标虚拟资产的用户。Among them, target buyers refer to users who participate in crowdfunding to purchase target virtual assets.
步骤102中确定目标购买者的方式有多种,示例性地,包括:There are many ways to determine the target buyer in step 102, for example, including:
(1)将向第一合约账号存入购买目标虚拟资产的资金的用户,直接确定为目标购买者。此时,步骤102具体可以包括如下步骤1021A~1022A:(1) The user who deposits the funds for purchasing the target virtual asset into the first contract account is directly determined as the target purchaser. At this time, step 102 may specifically include the following steps 1021A to 1022A:
1021A、确定向第一合约账号存入购买目标虚拟资产的资金的意向购买者、以及意向购买者在第一合约账号中的存入金额。1021A. Determine the intended purchaser who deposits funds for purchasing the target virtual asset into the first contract account, and the deposit amount of the intended purchaser in the first contract account.
1022A、将向第一合约账号存入购买目标虚拟资产的资金的意向购买者,确定为目标购买者;并将意向购买者在第一合约账号中的存入金额,作为目标购买者对目标虚拟资产的目标出资金额。1022A. Determine the intended purchaser who deposits funds to purchase the target virtual asset into the first contract account as the target purchaser; and use the amount deposited by the intended purchaser in the first contract account as the target purchaser's contribution to the target virtual asset. The target contribution amount of the asset.
(2)在检测到有意向购买者向第一合约账号存入购买目标虚拟资产的资金时,先检测第一合约账号中用于购买目标虚拟资产的已筹集金额是否已达到目标众筹金额;当已筹集金额未达到目标众筹金额时,再将意向购买者确定为目标购买者。此时,步骤102具体可以包括如下步骤1021B~1023B:(2) When detecting that the intentional buyer has deposited funds to purchase the target virtual asset into the first contract account, firstly detect whether the raised amount used to purchase the target virtual asset in the first contract account has reached the target crowdfunding amount; When the amount raised does not reach the target crowdfunding amount, the intended buyer is determined as the target buyer. At this time, step 102 may specifically include the following steps 1021B to 1023B:
1021B、接收意向购买者针对所述众筹提案信息的购买请求。1021B. Receive a purchase request from an intended purchaser for the crowdfunding proposal information.
其中,意向购买者是指发出购买目标虚拟资产请求的区块链账户。Among them, the intended purchaser refers to the blockchain account that sends out the request to purchase the target virtual asset.
其中,购买请求可以携带有意向购买者对目标虚拟资产的出资金额、目标虚拟资产的众筹提案编号、意向购买者的区块链地址、意向购买者的公钥等信息。The purchase request may carry information such as the amount of the intended purchaser's contribution to the target virtual asset, the crowdfunding proposal number of the target virtual asset, the intended purchaser's blockchain address, the intended purchaser's public key, and other information.
示例性地,在步骤101生成目标虚拟资产的众筹提案信息之后,各区块链账号可以查看到目标虚拟资产的众筹提案信息。意向购买者在查看到目标虚拟资产的众筹提案信息后,在确保账户钱包金额足够且账户授权合约能进行资产转移情况下,可以向第一合约账号发起交易;具体地,意向购买者输入目标虚拟资产的众筹提案编号、意向购买者的区块链地址、意向购买者的公钥、意向购买者的出资金额等信息,从而发起对目标虚拟资产的购买请求。Exemplarily, after generating the crowdfunding proposal information of the target virtual asset in
1022B、确定所述众筹提案的已筹集金额是否小于所述目标众筹金额。1022B. Determine whether the raised amount of the crowdfunding proposal is less than the target crowdfunding amount.
1023B、若所述已筹集金额小于所述目标众筹金额,则将所述意向购买者的出资金额存入所述第一合约账号,并将所述意向购买者确定为所述目标购买者。1023B. If the raised amount is less than the target crowdfunding amount, deposit the amount contributed by the intended purchaser into the first contract account, and determine the intended purchaser as the target purchaser.
其中,已筹集金额是指第一合约账号中针对目标虚拟资产已经筹集到的购买金额。Among them, the raised amount refers to the purchase amount that has been raised for the target virtual asset in the first contract account.
示例性地,每次确定目标购买者时,都会将购买请求的携带的相关信息保存到目标虚拟资产的众筹提案中,并累加目标购买者的出资金额,作为第一合约账号内的已筹集金额。步骤1022B中,直接检测已累加的目标购买者的出资金额是否小于目标众筹金额。Exemplarily, each time a target buyer is determined, the relevant information carried in the purchase request will be saved in the crowdfunding proposal of the target virtual asset, and the amount of the target buyer's contribution will be accumulated as the amount raised in the first contract account. amount. In step 1022B, it is directly detected whether the accumulated fund amount of the target purchaser is less than the target crowdfunding amount.
若已累加的目标购买者的出资金额小于目标众筹金额,则可以确定已筹集金额小于目标众筹金额,步骤1023B中可以直接将意向购买者确定为目标购买者,并将意向购买者的出资金额的资金作为目标购买者的目标出资金额的资金,存入第一合约账号。If the accumulated fund amount of the target purchaser is less than the target crowdfunding amount, it can be determined that the raised amount is less than the target crowdfunding amount. The funds of the amount are deposited into the first contract account as the funds of the target purchaser's target contribution amount.
若已累加的目标购买者的出资金额大于或等于目标众筹金额,则可以确定已筹集金额大于或等于目标众筹金额,证明众筹提案已经众筹完成,不作进一步处理或向意向购买者发送购买失败的提示信息。If the accumulated fund amount of the target buyer is greater than or equal to the target crowdfunding amount, it can be determined that the raised amount is greater than or equal to the target crowdfunding amount, which proves that the crowdfunding proposal has been crowdfunded, and no further processing or sending to the intended buyer is required. A notification message for failed purchases.
103、将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中。103. Add the key of the target purchaser to the holder key list of the first contract account.
其中,持有者密钥列表是用于存储目标购买者的密钥的列表,具体可以是用于存储第一合约账号的持有者的公钥的列表。Wherein, the holder key list is a list used to store the keys of the target purchaser, and specifically may be a list used to store the public keys of the holder of the first contract account.
示例性地,在确定目标购买者之后,可以将目标购买者的公钥和目标购买者的区块链地址关联存储至持有者密钥列表中。此时,目标购买者成为了持有者密钥列表对应的第一合约账号的持有者之一,目标购买者也就成为了第一合约账号的控制者,从而便于目标购买者后续对目标虚拟资产进行使用、转让等。Exemplarily, after the target buyer is determined, the public key of the target buyer and the blockchain address of the target buyer can be associated and stored in the holder key list. At this point, the target buyer becomes one of the holders of the first contract account corresponding to the holder key list, and the target buyer also becomes the controller of the first contract account, which facilitates the target buyer to follow up on the target Use, transfer, etc. of virtual assets.
104、当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。104. When the amount raised in the first contract account reaches the target crowdfunding amount, set the target virtual asset as the virtual asset of the first contract account.
其中,已筹集金额达到目标众筹金额可以具体可以是已筹集金额大于或等于目标众筹金额。Wherein, the raised amount reaching the target crowdfunding amount may specifically be that the raised amount is greater than or equal to the target crowdfunding amount.
示例性地,如图3所示,可以通过调用区块链的智能合约中的ERC721或ERC1155接口功能,实现将目标虚拟资产转移到第一合约账号,从而实现将目标虚拟资产设置第一合约账号的虚拟资产。Exemplarily, as shown in Figure 3, the target virtual asset can be transferred to the first contract account by calling the ERC721 or ERC1155 interface function in the smart contract of the blockchain, so that the target virtual asset can be set to the first contract account. virtual assets.
通过基于预设第一合约账号生成的目标虚拟资产的众筹提案信息,确定向第一合约账号存入用于购买目标虚拟资产的资金的目标购买者;将目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;并在第一合约账号内的已筹集金额达到目标虚拟资产的目标众筹金额时,将目标虚拟资产设置为第一合约账号的虚拟资产,此时第一合约账号成功购买目标虚拟资产,第一合约账号成为目标虚拟资产的控制者;一方面,由于向第一合约账号存入用于购买目标虚拟资产的资金的用户(即目标购买者)可以有多个,因此可以实现目标虚拟资产进行众筹购买;由此,可以避免现有NFT虚拟资产交易存在由于价格过高而导致无法交易的问题;另一方面,由于目标虚拟资产被第一合约账号成功购买后,第一合约账号成为目标虚拟资产的控制者,而所有密钥已加入第一合约账号的持有者密钥列表中的目标购买者,都成为第一合约账号的持有者,实现一个DID账号由多个用户控制,使得同一虚拟资产可以由多个用户同时享有,实现同一虚拟资产的权益可由多个用户享受;因此使得多个持有者可以同时享有目标虚拟资产的使用、转让等权益;由此,可以避免NFT虚拟资产权益只能单个用户享有的问题。可见,本申请实施例解决了现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。Through the crowdfunding proposal information of the target virtual asset generated based on the preset first contract account, determine the target buyer who deposits the funds for purchasing the target virtual asset into the first contract account; add the target buyer's key to the in the holder key list of the first contract account; and when the raised amount in the first contract account reaches the target crowdfunding amount of the target virtual asset, the target virtual asset is set as the virtual asset of the first contract account. When the first contract account successfully purchases the target virtual asset, the first contract account becomes the controller of the target virtual asset; There can be more than one, so the target virtual asset can be crowdfunded for purchase; thus, it can avoid the problem that the existing NFT virtual asset transaction cannot be traded due to the high price; on the other hand, since the target virtual asset is first After the contract account is successfully purchased, the first contract account becomes the controller of the target virtual asset, and all target buyers whose keys have been added to the first contract account's holder key list become holders of the first contract account One DID account is controlled by multiple users, so that the same virtual asset can be enjoyed by multiple users at the same time, and the rights and interests of the same virtual asset can be enjoyed by multiple users; therefore, multiple holders can enjoy the target virtual asset at the same time. Use, transfer and other rights; thus, it can avoid the problem that the rights and interests of NFT virtual assets can only be enjoyed by a single user. It can be seen that the embodiments of the present application solve the problems that existing NFT virtual asset transactions cannot be traded due to excessively high prices, and that NFT virtual asset rights and interests can only be enjoyed by a single user.
为了判定第一合约账号内的已筹集金额是否已经足以购买目标虚拟资产,以确定是否进行第一合约账号购买目标虚拟资产的交易。在步骤104之前还可以进一步包括:确定第一合约账号内的已筹集金额是否达到目标众筹金额。“确定第一合约账号内的已筹集金额是否达到目标众筹金额”的方式有多种,示例性地,包括:In order to determine whether the raised amount in the first contract account is sufficient to purchase the target virtual asset, it is determined whether to carry out the transaction of purchasing the target virtual asset by the first contract account. Before
(一)目标购买者包括多个,第一合约账号限制了每个目标购买者购买目标虚拟资产的金额相同。此时,可以通过检测目标购买者的数量是否达到预设数量来判定已筹集金额是否达到目标众筹金额,“确定第一合约账号内的已筹集金额是否达到目标众筹金额”具体可以包括如下步骤b1~b2:(1) There are multiple target buyers, and the first contract account restricts each target buyer to purchase the same amount of target virtual assets. At this time, it is possible to determine whether the raised amount reaches the target crowdfunding amount by detecting whether the number of target buyers reaches the preset amount. "Determining whether the raised amount in the first contract account reaches the target crowdfunding amount" may specifically include the following: Steps b1~b2:
b1、确定所述目标购买者的数量。b1. Determine the number of the target buyers.
b2、当所述目标购买者的数量达到预设数量时,确定所述已筹集金额达到所述目标众筹金额。b2. When the number of the target buyers reaches a preset number, determine that the raised amount reaches the target crowdfunding amount.
例如,目标虚拟资产的目标众筹金额为99元,第一合约账号限制了每个目标购买者只能购买33元,则预设数量为99/33=3人,当检测到目标购买者的数量达到3人时,可以直接确定已筹集金额达到目标众筹金额。For example, the target crowdfunding amount of the target virtual asset is 99 yuan, and the first contract account limits each target buyer to purchase only 33 yuan, then the preset number is 99/33=3 people. When the number reaches 3, it can be directly determined that the amount raised has reached the target crowdfunding amount.
由于每个目标购买者购买目标虚拟资产的金额相同,通过确定目标购买者的数量是否达到预设数量,来确定已筹集金额是否达到目标众筹金额,可以快速地确定已筹集金额是否达到目标众筹金额。Since each target buyer purchases the same amount of target virtual assets, by determining whether the number of target buyers reaches the preset number to determine whether the raised amount has reached the target crowdfunding amount, it is possible to quickly determine whether the raised amount has reached the target crowdfunding amount. amount raised.
(二)无论第一合约账号是否限制每个目标购买者购买目标虚拟资产的金额,直接将各目标购买者的目标出资金额累加作为已筹集金额,并与目标众筹金额进行对比,以确定已筹集金额是否达到目标众筹金额。此时,“确定第一合约账号内的已筹集金额是否达到目标众筹金额”具体可以包括如下步骤c1~c2:(2) Regardless of whether the first contract account limits the amount of target virtual assets purchased by each target buyer, directly accumulate the target amount of funds contributed by each target buyer as the amount raised, and compare it with the target crowdfunding amount to determine the amount of funds raised. Whether the amount raised reaches the target crowdfunding amount. At this time, "determining whether the raised amount in the first contract account reaches the target crowdfunding amount" may specifically include the following steps c1-c2:
c1、将各所述目标购买者的目标出资金额累加,得到所述第一合约账号内的已筹集金额。c1. Accumulate the target contribution amount of each target purchaser to obtain the raised amount in the first contract account.
c2、若所述已筹集金额大于或等于所述目标众筹金额,则确定所述第一合约账号内的已筹集金额达到所述目标众筹金额。c2. If the raised amount is greater than or equal to the target crowdfunding amount, determine that the raised amount in the first contract account reaches the target crowdfunding amount.
例如,在生成目标虚拟资产的众筹提案信息之后,向第一合约账号存入目标虚拟资产的目标出资金额的资金的目标购买者有:区块链账户1、2、3,区块链账户1、2、3分别向第一合约账号存入的资金分别为:20元、30元、49元。假设目标虚拟资产的目标众筹金额为99元,由于各目标购买者(即区块链账户1、2、3)的目标出资金额(分别为20元、30元、49元)累加,得到第一合约账号内的已筹集金额(即99元),等于目标虚拟资产的目标众筹金额99元;因此,可以确定第一合约账号内的已筹集金额达到目标众筹金额。For example, after the crowdfunding proposal information of the target virtual asset is generated, the target purchasers who deposit funds of the target fund amount of the target virtual asset into the first contract account are: blockchain account 1, 2, 3, blockchain account Funds 1, 2, and 3 deposited into the first contract account are: 20 yuan, 30 yuan, and 49 yuan respectively. Assuming that the target crowdfunding amount of the target virtual asset is 99 yuan, since the target investment amounts (respectively 20 yuan, 30 yuan, and 49 yuan) of each target buyer (ie, blockchain account 1, 2, and 3) are accumulated, the first The raised amount (ie, 99 yuan) in a contract account is equal to the target crowdfunding amount of the target virtual asset of 99 yuan; therefore, it can be determined that the raised amount in the first contract account reaches the target crowdfunding amount.
示例性地,如图3所示,在区块链智能合约架构中,步骤102~104的实现具体包括如下执行步骤:Exemplarily, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of steps 102 to 104 specifically includes the following execution steps:
1、判断当前的众筹提案存在,且未结束。通过众筹提案编号(proposalId)获取到提案详情,若详情存在且为成功,则继续。1. Determine that the current crowdfunding proposal exists and has not ended. Get the proposal details through the crowdfunding proposal ID (proposalId). If the details exist and are successful, continue.
2、调用区块链的智能合约中ERC20接口,转移目标购买者的目标出资金额的资金到第一合约账号内。其中,ERC20接口是用于进行虚拟货币交易的接口。2. Call the ERC20 interface in the smart contract of the blockchain to transfer the funds of the target purchaser's target contribution amount to the first contract account. Among them, the ERC20 interface is an interface used for virtual currency transactions.
3、若目标购买者尚未加入到第一合约账号的持有者密钥列表(controllerMap)中,则可将目标购买者区块链地址及公钥到持有者密钥列表,目标购买者成为第一合约账号的控制者。3. If the target buyer has not been added to the holder key list (controllerMap) of the first contract account, the target buyer's blockchain address and public key can be added to the holder key list, and the target buyer becomes The controller of the first contract account.
4、新建一个用户投票,投票内容包括,众筹提案编号(proposalId)、目标购买者的目标出资金额(fundAmount)、目标购买者的区块链地址。将用户投票保存到众筹提案内,并累加目标虚拟资产已经筹集到的购买金额(hasFundAmount,即已筹集金额)。4. Create a new user vote. The voting content includes the crowdfunding proposal ID (proposalId), the target purchaser's target fund amount (fundAmount), and the target purchaser's blockchain address. Save the user votes into the crowdfunding proposal, and accumulate the purchase amount (hasFundAmount, that is, the amount raised) that has been raised by the target virtual asset.
5、判断已筹集金额是否已经达到上线,例如上述众筹提案的资产编号“10010”,是否已经筹集到超过目标虚拟资产的目标众筹金额“99元”。5. Determine whether the raised amount has reached the online level, such as the asset number "10010" of the above-mentioned crowdfunding proposal, whether the target crowdfunding amount "99 yuan" that exceeds the target virtual asset has been raised.
6、若超过99元,则设置众筹提案成功,并调用售卖合约地址的购买接口,以完成目标虚拟资产的众筹购买。6. If it exceeds 99 yuan, the crowdfunding proposal is set up successfully, and the purchase interface of the sale contract address is called to complete the crowdfunding purchase of the target virtual asset.
7、NFT合约会扣减第一合约账号内的已筹集金额(99元),将已筹集金额转让给售卖人(其他用户/也可能是DID账号),NFT合约的转让接口将目标虚拟资产转让给第一合约账号。7. The NFT contract will deduct the raised amount (99 yuan) in the first contract account, and transfer the raised amount to the seller (other users/may be DID accounts), and the transfer interface of the NFT contract will transfer the target virtual asset. Give the first contract account.
进一步地,目标虚拟资产归属第一合约账号之后,对应密钥在第一合约账号的持有者密钥列表中的持有者(简称为“第一合约账号的持有者”)还可以对目标虚拟资产进行转让操作。其中,第一合约账号的持有者对目标虚拟资产进行转让操作的方式有多种,示例性地,包括:Further, after the target virtual asset belongs to the first contract account, the holder of the corresponding key in the holder key list of the first contract account (referred to as "the holder of the first contract account") can also The target virtual asset is transferred. There are various ways for the holder of the first contract account to transfer the target virtual asset, exemplarily including:
一)一个持有者发起转让交易的请求,多个持有者同意后,全部转让目标虚拟资产。此时,如图4所示“对目标虚拟资产进行转让操作”,具体可以包括如下步骤401~404,其中:1) A holder initiates a request for a transfer transaction, and after multiple holders agree, all the target virtual assets are transferred. At this time, as shown in FIG. 4 , “transferring the target virtual asset” may specifically include the following steps 401 to 404 , wherein:
401、获取所述持有者密钥列表中任一密钥对应的第二持有者对所述目标虚拟资产的第一转让请求。401. Obtain a first transfer request for the target virtual asset from a second holder corresponding to any key in the holder key list.
其中,第一转让请求是指在需对目标虚拟资产全部转让时,第二持有者对目标虚拟资产发起的转让请求。The first transfer request refers to a transfer request initiated by the second holder to the target virtual asset when all the target virtual assets need to be transferred.
其中,第二持有者是指持有者密钥列表对应的各持有者中,转让目标虚拟资产的持有者。The second holder refers to the holder of the transfer target virtual asset among the holders corresponding to the holder key list.
示例性地,持有者密钥列表对应的任一持有者都可以发起转让目标虚拟资产的转让请求,任一持有者(即第二持有者)输入目标虚拟资产的众筹提案编号、目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号、目标虚拟资产的目标售卖金额等转让请求信息,从而发起对目标虚拟资产进行转让的第一转让请求。Exemplarily, any holder corresponding to the holder key list can initiate a transfer request for transferring the target virtual asset, and any holder (ie, the second holder) inputs the crowdfunding proposal number of the target virtual asset. , the sale contract address of the target virtual asset, the asset number of the target virtual asset, the target sale amount of the target virtual asset and other transfer request information, so as to initiate a first transfer request for the transfer of the target virtual asset.
示例性地,如图3所示,在区块链智能合约架构中,步401的实现具体包括如下执行步骤:Exemplarily, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of step 401 specifically includes the following execution steps:
1、判断原先的众筹提案存在。1. Determine the existence of the original crowdfunding proposal.
2、判断转让交易发起者(即第二持有者)必须是持有者密钥列表(controllerMap)中对应的持有者。2. It is judged that the transfer transaction initiator (ie, the second holder) must be the corresponding holder in the holder key list (controllerMap).
3、新建一个递增的唯一提案编号。3. Create a new incremental unique proposal number.
4、新建一个售卖提案,售卖提案内容包括:售卖提案编号(lastProposalId)、众筹提案编号(crowdfundingProposalId)、售卖合约地址(nftSellContract)、目标售卖价格(nftSellPrice)、资产编号(nftCoinId)、第一合约账号的持有者中的投票用户地址列表(voteAddressList,暂时为空)、同意金额(hasAgreeUserCoinTotal,暂时未0),售卖提案是否成功(ifSuccess,暂时未成功)。4. Create a new sale proposal. The content of the sale proposal includes: sale proposal ID (lastProposalId), crowdfunding proposal ID (crowdfundingProposalId), sale contract address (nftSellContract), target sale price (nftSellPrice), asset ID (nftCoinId), first contract In the account holder, the voting user address list (voteAddressList, temporarily empty), the agreed amount (hasAgreeUserCoinTotal, temporarily not 0), and whether the sale proposal is successful (ifSuccess, temporarily unsuccessful).
402、获取所述持有者密钥列表对应的各持有者对所述第一转让请求的同意投票结果。402. Acquire a result of the approval voting for the first transfer request by each holder corresponding to the holder key list.
其中,同意投票结果用于指示持有者密钥列表对应的各持有者是否同意转让目标虚拟资产。The approval voting result is used to indicate whether each holder corresponding to the holder key list agrees to transfer the target virtual asset.
例如,第一合约账号的持有者密钥列表对应的持有者分别为:用户A、用户B和用户C,各持有者对第一转让请求的同意投票结果为:用户A同意转让目标虚拟资产、用户B同意转让目标虚拟资产、用户C不同意转让目标虚拟资产。For example, the holders corresponding to the holder key list of the first contract account are: User A, User B, and User C. The result of each holder's approval vote for the first transfer request is: User A agrees to the transfer target Virtual asset, user B agrees to transfer the target virtual asset, and user C does not agree to transfer the target virtual asset.
403、基于所述同意投票结果,确定所述第一转让请求的同意金额。403. Based on the result of the approval voting, determine the approval amount of the first transfer request.
其中,同意金额是指同意转让目标虚拟资产的持有者的出资金额的总和。Among them, the agreed amount refers to the sum of the contribution amount of the holders who agree to transfer the target virtual asset.
例如,第一合约账号众筹购买目标虚拟资产的目标众筹金额为99元,持有者密钥列表对应的持有者分别为:用户A、用户B和用户C,针对目标虚拟资产用户A、B、C目标出资金额分别为:29元、50元、20元,若A和用户B同意转让目标虚拟资产、用户C不同意转让目标虚拟资产,则第一转让请求的同意金额为79元。For example, the target crowdfunding amount of the target virtual asset purchased by the first contract account is 99 yuan, and the holders corresponding to the holder key list are: user A, user B and user C respectively. For the target virtual asset user A , B and C target capital contribution amounts are: 29 yuan, 50 yuan, and 20 yuan respectively. If A and user B agree to transfer the target virtual asset, and user C does not agree to transfer the target virtual asset, the agreed amount of the first transfer request is 79 yuan .
404、当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息。404. When the agreed amount meets a preset condition, generate sales proposal information of the target virtual asset.
其中,售卖提案信息是指目标虚拟资产的售卖提案的相关信息,所述售卖提案信息可以包括目标虚拟资产的售卖提案编号、目标虚拟资产的目标售卖金额、目标虚拟资产的众筹提案编号、目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号等信息。The sales proposal information refers to the relevant information of the sales proposal of the target virtual asset, and the sales proposal information may include the sales proposal number of the target virtual asset, the target sales amount of the target virtual asset, the crowdfunding proposal number of the target virtual asset, and the target virtual asset. Information such as the sales contract address of the virtual asset and the asset number of the target virtual asset.
其中,预设条件可以是同意金额大于或等于目标众筹金额的一半,或者是同意金额大于或等于目标众筹金额的三分之二等等,具体可以根据实际业务场景需求而设置,此处对预设条件的具体设置形式不做限制。Among them, the preset condition can be that the agreed amount is greater than or equal to half of the target crowdfunding amount, or the agreed amount is greater than or equal to two-thirds of the target crowdfunding amount, etc. The specific conditions can be set according to the actual business scenario requirements, here The specific setting form of the preset condition is not limited.
例如,预设条件为同意金额大于或等于目标众筹金额的一半,若第一合约账号众筹购买目标虚拟资产的目标众筹金额为99元、第一转让请求的同意金额为79元,则同意金额大于目标众筹金额的一半,因此可以将第二持有者输入目标虚拟资产的众筹提案编号、目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号、目标虚拟资产的目标售卖金额等信息,作为目标虚拟资产的售卖提案信息。For example, the preset condition is that the agreed amount is greater than or equal to half of the target crowdfunding amount. If the target crowdfunding amount of the first contract account to crowdfund the purchase of the target virtual asset is 99 yuan, and the agreed amount of the first transfer request is 79 yuan, then The agreed amount is greater than half of the target crowdfunding amount, so the second holder can enter the crowdfunding proposal number of the target virtual asset, the sales contract address of the target virtual asset, the asset number of the target virtual asset, and the target sales amount of the target virtual asset and other information, as the sales proposal information of the target virtual asset.
示例性地,以预设条件为同意金额大于或等于目标众筹金额的一半为例,如图3所示,在区块链智能合约架构中,步402~404的实现具体包括如下执行步骤:Exemplarily, taking the preset condition that the agreed amount is greater than or equal to half of the target crowdfunding amount as an example, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of steps 402 to 404 specifically includes the following execution steps:
1、判断转让交易发起者(即第二持有者)必须是持有者密钥列表(controllerMap)中对应的持有者。1. Determine that the transfer transaction initiator (ie, the second holder) must be the corresponding holder in the holder key list (controllerMap).
2、通过众筹提案内容,获取目标购买者的目标出资金额。2. Obtain the target investment amount of the target buyer through the content of the crowdfunding proposal.
3、保存第一合约账号的持有者中的投票用户的区块链地址、同意金额到售卖提案内容中。例如,用户B的目标出资金额为“50元”,若用户B投票,则保存已经同意的金额“50”。3. Save the blockchain address and agreed amount of the voting users among the holders of the first contract account to the content of the sale proposal. For example, user B's target contribution amount is "50 yuan", if user B votes, the agreed amount "50" will be saved.
4、判断同意金额是否达到目标众筹金额的一半。如,目标虚拟资产的目标众筹金额为99元,同意金额为50元,则判断同意金额50≥99/2。4. Determine whether the agreed amount reaches half of the target crowdfunding amount. For example, the target crowdfunding amount of the target virtual asset is 99 yuan, and the agreed amount is 50 yuan, then it is judged that the agreed amount is 50 ≥ 99/2.
5、若同意金额达到目标众筹金额的一半,设置售卖提案成功。5. If the agreed amount reaches half of the target crowdfunding amount, the sale proposal is set up successfully.
6、调用售卖合约地址的出售接口,输入售卖的目标虚拟资产的资产编号、目标售卖金额等信息,以寄售目标虚拟资产,等待用户购买。6. Call the sale interface of the sale contract address, enter the asset number of the target virtual asset to be sold, the target sale amount and other information to consign the target virtual asset and wait for the user to purchase it.
通过获取所述持有者密钥列表中任一密钥对应的第二持有者对目标虚拟资产的第一转让请求,并获取持有者密钥列表对应的各持有者对第一转让请求的同意投票结果,确定第一转让请求的同意金额;当同意金额符合预设条件时生成目标虚拟资产的售卖提案信息,可以实现目标虚拟资产可以由多个持有者进行转让或售卖。Obtain the first transfer request of the target virtual asset by the second holder corresponding to any key in the holder key list, and obtain the first transfer request of each holder corresponding to the holder key list The agreed voting result of the request determines the agreed amount of the first transfer request; when the agreed amount meets the preset conditions, the sales proposal information of the target virtual asset is generated, so that the target virtual asset can be transferred or sold by multiple holders.
当生成目标虚拟资产的售卖提案信息之后,除第一合约账号外的其他DID账号即可购买目标虚拟资产。此外,其他DID账号从第一合约账号购买目标虚拟资产成功后,第一合约账号的持有者密钥列表中各持有者还可以提现目标虚拟资产售卖后所得到的资金。即,步骤404生成目标虚拟资产的售卖提案信息之后,还可以包括如下步骤d1~d4:After the sales proposal information of the target virtual asset is generated, other DID accounts except the first contract account can purchase the target virtual asset. In addition, after other DID accounts successfully purchase the target virtual asset from the first contract account, each holder in the holder key list of the first contract account can also withdraw the funds obtained after the sale of the target virtual asset. That is, after generating the sales proposal information of the target virtual asset in
d1、基于所述售卖提案信息和预设的第二合约账号,向所述第一合约账号存入所述目标售卖金额的资金。d1. Based on the sale proposal information and the preset second contract account, deposit the funds of the target sale amount into the first contract account.
其中,第二合约账号是在标识符注册机构注册的DID账号。Wherein, the second contract account is the DID account registered with the identifier registration agency.
其中,目标售卖金额是指目标虚拟资产由第一合约账号转让给第二合约账号的出售价格。The target sale amount refers to the sale price of the target virtual asset transferred from the first contract account to the second contract account.
其他DID账号(如第二合约账号)购买目标虚拟资产的过程与上述步骤101~104的过程(即第一合约账号购买目标虚拟资产的过程)类似,可以参照上述的相关说明,为简化表述,此处不再赘述。The process of purchasing the target virtual asset by other DID accounts (such as the second contract account) is similar to the process of the
d2、将所述目标虚拟资产由所述第一合约账号转让至所述第二合约账号。d2. Transfer the target virtual asset from the first contract account to the second contract account.
示例性地,将目标虚拟资产所属的区块链地址由第一合约账号的区块链地址调整为第二合约账号的区块链地址。Exemplarily, the blockchain address to which the target virtual asset belongs is adjusted from the blockchain address of the first contract account to the blockchain address of the second contract account.
d3、根据所述目标众筹金额、所述目标出资金额和所述目标售卖金额,确定所述目标购买者的账号提现金额。d3. According to the target crowdfunding amount, the target funding amount, and the target selling amount, determine the cash withdrawal amount of the target buyer's account.
其中,已筹集金额包括目标购买者的目标出资金额。Among them, the raised amount includes the target investment amount of the target purchaser.
其中,账号提现金额是指目标虚拟资产由第一合约账号转让给第二合约账号之后,目标售卖金额中目标购买者可提现的金额。The account withdrawal amount refers to the amount that the target buyer can withdraw from the target sale amount after the target virtual asset is transferred from the first contract account to the second contract account.
示例性地,目标购买者可以按照众筹提案时的出资比例提现目标售卖金额的资金。此时,此时步骤d3具体可以包括:根据目标众筹金额和目标购买者的目标出资金额,确定目标购买者在众筹提案时的出资比例;根据目标购买者在众筹提案时的出资比例、目标售卖金额,确定目标购买者的账号提现金额。Exemplarily, the target buyer can withdraw funds of the target sale amount according to the capital contribution ratio at the time of the crowdfunding proposal. At this time, step d3 may specifically include: determining the investment ratio of the target buyer in the crowdfunding proposal according to the target crowdfunding amount and the target investment amount of the target buyer; according to the investment ratio of the target buyer in the crowdfunding proposal , Target sales amount, determine the withdrawal amount of the target buyer's account.
例如,第一合约账号众筹购买目标虚拟资产的目标众筹金额为99元,持有者密钥列表对应的持有者(即各目标购买者)分别为:用户A、用户B和用户C,针对目标虚拟资产用户A、B、C目标出资金额分别为:29元、50元、20元。首先,可以计算出目标购买者(用户A、B、C)在众筹提案时的出资比例分别为:29/99、50/99、20/99。假设目标虚拟资产由第一合约账号转让给第二合约账号的目标售卖金额为198,则目标购买者(用户A、B、C)的账号提现金额分别为:58元、100元、40元。For example, the target crowdfunding amount of the target virtual asset purchased by the first contract account is 99 yuan, and the holders corresponding to the holder key list (that is, each target buyer) are: user A, user B and user C respectively , for the target virtual asset users A, B, and C, the target contribution amounts are: 29 yuan, 50 yuan, and 20 yuan respectively. First, it can be calculated that the investment ratios of target buyers (users A, B, and C) in crowdfunding proposals are: 29/99, 50/99, and 20/99, respectively. Assuming that the target sales amount of the target virtual asset transferred from the first contract account to the second contract account is 198, the withdrawal amounts of the target buyers (users A, B, and C) are: RMB 58, RMB 100, and RMB 40, respectively.
d4、按照所述账号提现金额,将所述目标售卖金额的资金由所述第一合约账号提现至所述目标购买者的区块链地址。d4. According to the withdrawal amount of the account, withdraw the funds of the target sale amount from the first contract account to the blockchain address of the target buyer.
示例性地,如图3所示,在区块链智能合约架构中,步d1~d4的实现具体包括如下执行步骤:Exemplarily, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of steps d1 to d4 specifically includes the following execution steps:
1、判断转让交易发起者(即第二持有者)必须是持有者密钥列表(controllerMap)中对应的持有者。1. Determine that the transfer transaction initiator (ie, the second holder) must be the corresponding holder in the holder key list (controllerMap).
2、判断售卖提案必须是存在且已经成功。2. Judging that the sale proposal must exist and have been successful.
3、通过售卖合约查询售卖是否已经售卖成功,即目标虚拟资产的持有者将不再是第一合约账号。3. Check whether the sale has been successful through the sale contract, that is, the holder of the target virtual asset will no longer be the first contract account.
4、通过众筹提案内容,获取目标购买者的目标出资金额,并计算目标购买者的出资比例。4. Obtain the target investment amount of the target buyer through the content of the crowdfunding proposal, and calculate the investment ratio of the target buyer.
5、根据目标购买者的出资比例,换算目标购买者可提现的账号提现金额。例如,目标虚拟资产NFT的目标售卖价格为199元、目标购买者(用户B)在众筹购买时的目标出资金额为50元、目标虚拟资产NFT原先购买目标众筹金额为99元,则用户B将可提现100.5ETH。5. According to the investment ratio of the target buyer, convert the withdrawal amount of the account that the target buyer can withdraw. For example, the target selling price of the target virtual asset NFT is 199 yuan, the target purchaser (user B)’s target contribution amount during the crowdfunding purchase is 50 yuan, and the target virtual asset NFT’s original purchase target crowdfunding amount is 99 yuan, then the user B will be able to withdraw 100.5ETH.
6、第一合约账号将调用ERC20接口转让账号提现金额只目标购买者,目标购买者提现成功。6. The first contract account will call the ERC20 interface to transfer the withdrawal amount of the account only to the target buyer, and the target buyer withdraws successfully.
通过目标众筹金额、目标出资金额和目标售卖金额,确定目标购买者的账号提现金额,并按照账号提现金额,将目标售卖金额的资金由第一合约账号提现至目标购买者的区块链地址,使得目标购买者可以与出资金额等比例地享有售卖提现金额,提高了虚拟资产的买卖公平性。Determine the withdrawal amount of the target buyer's account through the target crowdfunding amount, target capital contribution amount and target sales amount, and according to the account withdrawal amount, withdraw the funds of the target sale amount from the first contract account to the target buyer's blockchain address , so that the target purchaser can enjoy the sale and withdrawal amount in proportion to the amount of the contribution, which improves the fairness of the sale and purchase of virtual assets.
二)一个持有者发起转让交易的请求,无需其他持有者同意,即可转让该持有者拥有的目标虚拟资产部分。此时,如图5所示,“对目标虚拟资产进行转让操作”,具体可以包括如下步骤501~504,其中:2) A holder initiates a request for a transfer transaction, and the part of the target virtual asset owned by the holder can be transferred without the consent of other holders. At this time, as shown in Fig. 5, "transferring the target virtual asset" may specifically include the following steps 501 to 504, wherein:
501、基于所述持有者密钥列表中任一密钥对应的第三持有者对所述目标虚拟资产的第二转让请求,生成所述目标虚拟资产的转让请求信息。501. Generate transfer request information of the target virtual asset based on a second transfer request of the target virtual asset by a third holder corresponding to any key in the holder key list.
其中,第三持有者是指持有者密钥列表对应的各持有者中,转让目标虚拟资产的持有者。第二持有者和第三持有者的区别在于:第二持有者是申请转让全部目标虚拟资产的持有者,第三持有者是申请转让其持有目标虚拟资产部分的持有者。The third holder refers to the holder of the transfer target virtual asset among the holders corresponding to the holder key list. The difference between the second holder and the third holder is: the second holder is the holder who applies for the transfer of all the target virtual assets, and the third holder is the holder who applies for the transfer of the part of the target virtual assets held by him By.
其中,所述转让请求信息可以包括第三持有者对目标虚拟资产的转让金额(即第三持有者的持有金额)、目标虚拟资产的众筹提案编号、目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号等信息。The transfer request information may include the transfer amount of the target virtual asset by the third holder (that is, the holding amount of the third holder), the crowdfunding proposal number of the target virtual asset, and the sales contract address of the target virtual asset , the asset number of the target virtual asset, etc.
其中,第二转让请求是指第三持有者在需对其持有的目标虚拟资产转让时,对目标虚拟资产发起的转让请求。Wherein, the second transfer request refers to the transfer request initiated by the third holder to the target virtual asset when the target virtual asset held by the third holder needs to be transferred.
示例性地,在区块链智能合约架构中,第三持有者通过输入目标虚拟资产的众筹提案编号、目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号、第三持有者的持有金额等转让请求信息,从而发起对目标虚拟资产进行转让的第二转让请求,从而生成第三持有者的转让提案。其中,第三持有者的持有金额的转让提案的内容包括:目标虚拟资产的众筹提案编号、第三持有者的持有金额目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号等信息。从而,可以得到目标虚拟资产的转让请求信息。Exemplarily, in the blockchain smart contract architecture, the third holder enters the crowdfunding proposal number of the target virtual asset, the sales contract address of the target virtual asset, the asset number of the target virtual asset, the third holder's Holding the transfer request information such as the amount, so as to initiate a second transfer request to transfer the target virtual asset, thereby generating a transfer proposal for the third holder. Among them, the content of the transfer proposal of the holding amount of the third holder includes: the crowdfunding proposal number of the target virtual asset, the holding amount of the third holder, the sales contract address of the target virtual asset, and the asset number of the target virtual asset and other information. Thus, the transfer request information of the target virtual asset can be obtained.
502、确定向所述第一合约账号存入所述转让金额的资金的受让者。502. Determine the transferee of the funds for depositing the transfer amount into the first contract account.
其中,受让者是指受让第三持有者所持有的目标虚拟资产部分的区块链账户。Among them, the transferee refers to the blockchain account of the target virtual asset part held by the transferee third holder.
步骤502中确定受让者的方式与步骤102中确定目标购买者的方式类似,具体可以参照上述相关说明,此处不再赘述。The manner of determining the transferee in
503、将所述受让者的第二私钥对应的密钥加入所述持有者密钥列表中。503. Add the key corresponding to the second private key of the transferee to the key list of the holder.
步骤503的实现与步骤103的实现类似,具体可以参照上述相关说明,此处不再赘述。The implementation of
504、将所述第三持有者的第三私钥对应的密钥从所述持有者密钥列表中删除。504. Delete the key corresponding to the third private key of the third holder from the holder key list.
其中,第三私钥第三持有者的私钥。Among them, the third private key is the private key of the third holder.
通过将受让者的第二私钥对应的密钥加入持有者密钥列表中,并将受让者的第二私钥对应的密钥加入持有者密钥列表中,可以使得目标虚拟资产只转让单个用户享受的份额,避免了一部分用户想要出售目标虚拟资产、一部分用户不想出售目标虚拟资产的问题,保证了用户的虚拟资产的正常交易。By adding the key corresponding to the transferee's second private key to the holder's key list, and adding the key corresponding to the transferee's second private key to the holder's key list, the target virtual Assets only transfer the share enjoyed by a single user, avoiding the problem that some users want to sell the target virtual assets, and some users do not want to sell the target virtual assets, and ensure the normal transaction of users' virtual assets.
进一步地,目标虚拟资产归属第一合约账号之后,第一合约账号的持有者还可以对目标虚拟资产进行使用操作。示例性地,如图6所示,“第一合约账号的持有者对目标虚拟资产进行使用操作”,具体可以包括如下步骤601~603:Further, after the target virtual asset belongs to the first contract account, the holder of the first contract account can also use the target virtual asset. Exemplarily, as shown in Figure 6, "the holder of the first contract account uses the target virtual asset", which may specifically include the following steps 601 to 603:
601、获取所述持有者密钥列表任一密钥对应的第四持有者对所述目标虚拟资产的使用请求。601. Obtain a request for use of the target virtual asset by a fourth holder corresponding to any key in the holder key list.
其中,所述使用请求携带有采用所述第四持有者的第四私钥对所述第四持有者的声明数据进行签名后的目标验证凭证。Wherein, the use request carries a target verification credential obtained by using the fourth private key of the fourth holder to sign the claim data of the fourth holder.
其中,第四持有者的声明数据具体可以包括目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号、第一合约账号等信息。The declaration data of the fourth holder may specifically include information such as the sales contract address of the target virtual asset, the asset number of the target virtual asset, and the first contract account number.
其中,第四持有者是指持有者密钥列表对应的各持有者中,发起对目标虚拟资产进行使用的请求的持有者。The fourth holder refers to the holder who initiates the request to use the target virtual asset among the holders corresponding to the holder key list.
其中,第四私钥是指第四持有者的私钥。The fourth private key refers to the private key of the fourth holder.
其中,目标验证凭证是指采用第四私钥对第四持有者的声明数据进行签名后所得到的验证凭证。The target verification credential refers to a verification credential obtained after the fourth private key is used to sign the claim data of the fourth holder.
示例性地,如图2所示,首先,第四持有者可以将目标虚拟资产的售卖合约地址、目标虚拟资产的资产编号等信息作为第四持有者的声明数据,采用第四私钥对第四持有者的声明数据进行签名,得到第四持有者的目标验证凭证。然后,第四持有者向目标虚拟资产的服务提供方发送携带有目标验证凭证的、对目标虚拟资产进行使用的使用请求。通过服务提供方,可以接收到第四持有者发送的使用请求。Exemplarily, as shown in Figure 2, first, the fourth holder can use the information such as the sales contract address of the target virtual asset, the asset number of the target virtual asset, etc. as the claim data of the fourth holder, and use the fourth private key. Sign the claim data of the fourth holder to obtain the target verification certificate of the fourth holder. Then, the fourth holder sends a use request to the service provider of the target virtual asset, which carries the target verification credential, and uses the target virtual asset. Through the service provider, the use request sent by the fourth holder may be received.
602、通过所述目标虚拟资产的服务提供方,获取所述目标验证凭证的验证结果。602. Obtain the verification result of the target verification credential through the service provider of the target virtual asset.
服务提供方在接收到第四持有者发送的使用请求后,会对目标验证凭证进行验证,以确定第四持有者的身份真实性和有效性、以及目标虚拟资产的真实性和有效性,得到验证结果。如图2所示,示例性地,通过目标虚拟资产的服务提供方验证目标验证凭证的过程,具体可以包括:向所述服务提供方发送所述目标验证凭证;通过所述服务提供方,向预设的凭证发行者查询所述目标验证凭证的有效性,得到所述验证结果。After receiving the use request sent by the fourth holder, the service provider will verify the target verification certificate to determine the authenticity and validity of the fourth holder's identity and the authenticity and validity of the target virtual asset , get the verification result. As shown in FIG. 2 , for example, the process of verifying the target verification credential by the service provider of the target virtual asset may specifically include: sending the target verification credential to the service provider; sending the target verification credential to the service provider; The preset certificate issuer queries the validity of the target verification certificate to obtain the verification result.
603、当所述验证结果为验证通过时,通过所述服务提供方向所述第四持有者提供所述目标虚拟资产的使用权益。603. When the verification result is that the verification is passed, provide the fourth holder with the right to use the target virtual asset through the service provider.
示例性地,如图3所示,在区块链智能合约架构中,步骤601~603的实现具体包括如下执行步骤:Exemplarily, as shown in Figure 3, in the blockchain smart contract architecture, the implementation of steps 601 to 603 specifically includes the following execution steps:
1、持有者密钥列表对应的用户(即第四持有者)可使用自己的私钥,签名生成一个NFT持有证明的目标验证凭证。具体地,将目标虚拟资产的资产编号(nffcoinId)、目标虚拟资产的合约地址(nftContractAddr),第一合约账号的区块链地址作为声明数据,使用第四持有者的私钥privateKey对声明数据进行签名,最终生成自证明的VC(即目标验证凭证)。1. The user corresponding to the holder's key list (that is, the fourth holder) can use his/her own private key to sign and generate a target verification certificate for the NFT holding certificate. Specifically, the asset number of the target virtual asset (nffcoinId), the contract address of the target virtual asset (nftContractAddr), and the blockchain address of the first contract account are used as the declaration data, and the privateKey of the fourth holder's private key is used to pair the declaration data. Sign, and finally generate a self-certified VC (that is, the target verification certificate).
2、第四持有者将目标验证凭证出示给验证者(如游戏方、购物网站)等能使用目标虚拟资产的网站或应用。2. The fourth holder presents the target verification certificate to the verifier (eg game party, shopping website) and other websites or applications that can use the target virtual asset.
3、验证者验证目标验证凭证,其验证流程具体可以如下:3. The verifier verifies the target verification certificate, and the verification process can be as follows:
3.1、从第一合约账号的持有者密钥列表获取第四持有者的密钥。3.1. Obtain the key of the fourth holder from the holder key list of the first contract account.
3.2、通过从持有者密钥列表获取第四持有者的密钥,验证目标验证凭证的签名是否正确。3.2. Verify whether the signature of the target verification certificate is correct by obtaining the key of the fourth holder from the holder key list.
3.3、若上述目标验证凭证的签名有效,验证者继续查询目标虚拟资产的合约地址(nftContractAddr),以查询目标虚拟资产的持有者是不是第一合约账号。3.3. If the signature of the above target verification certificate is valid, the verifier continues to query the contract address (nftContractAddr) of the target virtual asset to check whether the holder of the target virtual asset is the first contract account.
3.4、若目标虚拟资产的持有者是第一合约账号,且第四持有者的签名正确,则说明第四持有者是该目标虚拟资产的控制者/持有者,验证通过。3.4. If the holder of the target virtual asset is the first contract account, and the signature of the fourth holder is correct, it means that the fourth holder is the controller/holder of the target virtual asset, and the verification is passed.
4、若目标验证凭证验证通过,第四持有者即可在验证者处享受目标虚拟资产的使用权益。4. If the target verification certificate is verified, the fourth holder can enjoy the use rights of the target virtual asset at the verifier.
通过获取持有者密钥列表任一密钥对应的第四持有者对目标虚拟资产的使用请求;通过目标虚拟资产的服务提供方,获取目标验证凭证的验证结果;当验证结果为验证通过时,通过服务提供方向第四持有者提供目标虚拟资产的使用权益;由于只要验证通过,持有者密钥列表任一密钥对应的持有者都可以享受目标虚拟资产的使用权益,故使得同一虚拟资产可以由多个用户共同享受使用权益,避免了NFT虚拟资产权益只能单个用户享有的问题。Obtain the use request of the target virtual asset by the fourth holder corresponding to any key in the holder key list; obtain the verification result of the target verification credential through the service provider of the target virtual asset; when the verification result is the verification passed , the service provider provides the fourth holder with the right to use the target virtual asset; as long as the verification is passed, the holder corresponding to any key in the holder's key list can enjoy the right to use the target virtual asset, so The same virtual asset can be shared by multiple users to enjoy the rights and interests, avoiding the problem that the rights and interests of NFT virtual assets can only be enjoyed by a single user.
如图9所示,为了更好地实施以上方法,本发明实施例还提供一种虚拟资产交易系统,该虚拟资产交易系统包括交易管理端、用户端、服务提供方。As shown in FIG. 9 , in order to better implement the above method, an embodiment of the present invention further provides a virtual asset trading system. The virtual asset trading system includes a transaction management terminal, a user terminal, and a service provider.
其中,交易管理端具体可以是如图2所示VC系统中的标识符注册机构(如区块链网络)。Specifically, the transaction management terminal may be an identifier registration organization (such as a blockchain network) in the VC system as shown in FIG. 2 .
其中,用户端具体可以是如图2所示VC系统中的持有者终端。The user terminal may specifically be a holder terminal in the VC system as shown in FIG. 2 .
其中,服务提供方具体可以是如图2所示VC系统中的验证者终端。Specifically, the service provider may be the verifier terminal in the VC system as shown in FIG. 2 .
其中,交易管理端具体可以用于执行如下应用于交易管理端的虚拟资产交易方法,该应用于交易管理端的虚拟资产交易方法包括:The transaction management terminal can be specifically configured to execute the following virtual asset transaction method applied to the transaction management terminal. The virtual asset transaction method applied to the transaction management terminal includes:
接收所述用户端发送的目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额、用于购买所述目标虚拟资产的第一合约账号、以及向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;Receive the crowdfunding proposal information of the target virtual asset sent by the client, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset, the first contract account used to purchase the target virtual asset, and a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;determining, based on the crowdfunding proposal information, a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;adding the target buyer's key to the holder key list of the first contract account;
当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。When the amount raised in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the virtual asset of the first contract account.
进一步地,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the transaction management terminal specifically includes:
接收所述用户端发送的第一持有者的账号创建请求,其中,所述账号创建请求携带有所述第一持有者的区块链地址、所述第一持有者的第一私钥对应的密钥;Receive the account creation request of the first holder sent by the client, wherein the account creation request carries the blockchain address of the first holder and the first private key of the first holder. the key corresponding to the key;
响应于所述账号创建请求,基于所述账号创建请求生成第一合约账号,其中,所述第一合约账号的持有者密钥列表中包含所述第一私钥对应的密钥。In response to the account creation request, a first contract account is generated based on the account creation request, wherein the holder key list of the first contract account includes a key corresponding to the first private key.
进一步地,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the transaction management terminal specifically includes:
接收所述用户端发送的第一转让请求,其中,所述第一转让请求是所述持有者密钥列表中任一密钥对应的第二持有者对所述目标虚拟资产的转让请求;Receive a first transfer request sent by the client, wherein the first transfer request is a transfer request for the target virtual asset by a second holder corresponding to any key in the holder key list ;
响应于所述第一转让请求,获取所述持有者密钥列表对应的各持有者对所述第一转让请求的同意投票结果;In response to the first transfer request, obtain the result of the approval voting for the first transfer request by each holder corresponding to the holder key list;
基于所述同意投票结果,确定所述第一转让请求的同意金额;determining an agreed amount of the first transfer request based on the result of the consent vote;
当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息,其中,所述售卖提案信息包括所述目标虚拟资产的目标售卖金额。When the agreed amount meets the preset condition, generate sale proposal information of the target virtual asset, wherein the sale proposal information includes the target sale amount of the target virtual asset.
进一步地,所述已筹集金额包括所述目标购买者的目标出资金额,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the raised amount includes the target investment amount of the target purchaser, and the virtual asset transaction method applied to the transaction management terminal specifically includes:
接收所述用户端发送的受让信息,其中,所述受让信息包括所述售卖提案信息、以及向所述第一合约账号存入所述目标售卖金额的资金的第二合约账号;receiving the assignment information sent by the user terminal, wherein the assignment information includes the sale proposal information and the second contract account that deposits the funds of the target sale amount into the first contract account;
将所述目标虚拟资产由所述第一合约账号转让至所述第二合约账号;transferring the target virtual asset from the first contract account to the second contract account;
根据所述目标众筹金额、所述目标出资金额和所述目标售卖金额,确定所述目标购买者的账号提现金额;According to the target crowdfunding amount, the target funding amount, and the target selling amount, determine the cash-out amount of the target buyer's account;
按照所述账号提现金额,将所述目标售卖金额的资金由所述第一合约账号提现至所述目标购买者的区块链地址。According to the withdrawal amount of the account, the funds of the target sale amount are withdrawn from the first contract account to the blockchain address of the target buyer.
进一步地,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the transaction management terminal specifically includes:
接收所述用户端发送的第二转让请求,其中,所述第二转让请求携带有所述目标虚拟资产的转让请求信息,所述第二转让请求是所述持有者密钥列表中任一密钥对应的第三持有者对所述目标虚拟资产的转让请求,所述转让请求信息包括所述第三持有者对所述目标虚拟资产的转让金额;Receive a second transfer request sent by the client, wherein the second transfer request carries the transfer request information of the target virtual asset, and the second transfer request is any one of the holder's key list The transfer request of the target virtual asset by the third holder corresponding to the key, and the transfer request information includes the transfer amount of the target virtual asset by the third holder;
响应于所述第二转让请求,确定向所述第一合约账号存入所述转让金额的资金的受让者;In response to the second transfer request, determining the transferee of the funds for depositing the transfer amount into the first contract account;
将所述受让者的第二私钥对应的密钥加入所述持有者密钥列表中;adding the key corresponding to the transferee's second private key to the holder key list;
将所述第三持有者的第三私钥对应的密钥从所述持有者密钥列表中删除。The key corresponding to the third private key of the third holder is deleted from the holder key list.
进一步地,所述目标购买者包括多个,每个所述目标购买者的目标出资金额相同,该应用于交易管理端的虚拟资产交易方法具体包括:确定所述目标购买者的数量;Further, the target purchasers include a plurality of target purchasers, and the target capital contribution amount of each target purchaser is the same, and the virtual asset transaction method applied to the transaction management terminal specifically includes: determining the number of the target purchasers;
当所述目标购买者的数量达到预设数量时,确定所述已筹集金额达到所述目标众筹金额。When the number of target buyers reaches a preset number, it is determined that the raised amount reaches the target crowdfunding amount.
进一步地,所述目标购买者包括多个,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the target buyers include multiple, and the virtual asset transaction method applied to the transaction management terminal specifically includes:
将各所述目标购买者的目标出资金额累加,得到所述第一合约账号内的已筹集金额;Accumulate the target contribution amount of each of the target buyers to obtain the raised amount in the first contract account;
若所述已筹集金额大于或等于所述目标众筹金额,则确定所述第一合约账号内的已筹集金额达到所述目标众筹金额。If the raised amount is greater than or equal to the target crowdfunding amount, it is determined that the raised amount in the first contract account reaches the target crowdfunding amount.
进一步地,该应用于交易管理端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the transaction management terminal specifically includes:
接收所述用户端针对所述众筹提案信息触发的购买请求,其中,所述购买请求携带有意向购买者对所述目标虚拟资产的出资金额;receiving a purchase request triggered by the user terminal for the crowdfunding proposal information, wherein the purchase request carries the amount of the intended purchaser's contribution to the target virtual asset;
响应于所述购买请求,确定所述已筹集金额是否小于所述目标众筹金额;In response to the purchase request, determining whether the raised amount is less than the target crowdfunding amount;
若所述已筹集金额小于所述目标众筹金额,则将所述意向购买者的出资金额的资金存入所述第一合约账号,并将所述意向购买者确定为所述目标购买者。If the raised amount is less than the target crowdfunding amount, the intended purchaser's contribution amount is deposited into the first contract account, and the intended purchaser is determined as the target purchaser.
其中,用户端具体可以用于执行如下应用于用户端的虚拟资产交易方法,该应用于用户端的虚拟资产交易方法包括:Wherein, the user terminal can be specifically used to execute the following virtual asset transaction method applied to the user terminal, and the virtual asset transaction method applied to the user terminal includes:
向所述交易管理端发送目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额、用于购买所述目标虚拟资产的第一合约账号、以及向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;Send the crowdfunding proposal information of the target virtual asset to the transaction management terminal, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset, the first contract account used to purchase the target virtual asset, and a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
接收所述交易管理端基于所述众筹提案信息反馈的第一结果信息,其中,所述第一结果信息用于指示所述目标购买者的密钥已加入所述第一合约账号的持有者密钥列表中;Receive the first result information fed back by the transaction management terminal based on the crowdfunding proposal information, wherein the first result information is used to indicate that the key of the target buyer has been added to the possession of the first contract account in the list of user keys;
接收当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,所述交易管理端反馈的第二结果信息,其中,所述第二结果信息用于指示所述目标虚拟资产已设置为所述第一合约账号的虚拟资产。Receive second result information fed back by the transaction management end when the raised amount in the first contract account reaches the target crowdfunding amount, where the second result information is used to indicate the target virtual asset The virtual asset that has been set as the first contract account.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送第一持有者的账号创建请求,以触发所述交易管理端基于所述账号创建请求生成第一合约账号;其中,所述账号创建请求携带有所述第一持有者的区块链地址、所述第一持有者的第一私钥对应的密钥;其中,所述第一合约账号的持有者密钥列表中包含所述第一私钥对应的密钥。Send the account creation request of the first holder to the transaction management terminal to trigger the transaction management terminal to generate a first contract account based on the account creation request; wherein, the account creation request carries the first holder The owner's blockchain address and the key corresponding to the first private key of the first holder; wherein, the holder key list of the first contract account contains the key corresponding to the first private key key.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送第一转让请求,以触发所述交易管理端获取所述持有者密钥列表对应的各持有者对所述第一转让请求的同意投票结果;基于所述同意投票结果,确定所述第一转让请求的同意金额;当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息;其中,所述第一转让请求是所述持有者密钥列表中任一密钥对应的第二持有者对所述目标虚拟资产的转让请求;其中,所述售卖提案信息包括所述目标虚拟资产的目标售卖金额。Send a first transfer request to the transaction management terminal to trigger the transaction management terminal to obtain the approval voting result of each holder corresponding to the holder key list for the first transfer request; based on the consent As a result of the voting, determine the agreed amount of the first transfer request; when the agreed amount meets the preset conditions, generate sales proposal information of the target virtual asset; wherein, the first transfer request is the holder of the The transfer request of the target virtual asset by the second holder corresponding to any key in the key list; wherein, the sale proposal information includes the target sale amount of the target virtual asset.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送受让信息,以触发所述交易管理端将所述目标虚拟资产由所述第一合约账号转让至所述第二合约账号;根据所述目标众筹金额、所述目标出资金额和所述目标售卖金额,确定所述目标购买者的账号提现金额;按照所述账号提现金额,将所述目标售卖金额的资金由所述第一合约账号提现至所述目标购买者的区块链地址;其中,所述受让信息包括所述售卖提案信息、以及向所述第一合约账号存入所述目标售卖金额的资金的第二合约账号。Send assignment information to the transaction management terminal to trigger the transaction management terminal to transfer the target virtual asset from the first contract account to the second contract account; according to the target crowdfunding amount, the The target contribution amount and the target sales amount, determine the account withdrawal amount of the target buyer; according to the account withdrawal amount, the funds of the target sales amount are withdrawn from the first contract account to the target buyer The block chain address; wherein, the transfer information includes the sales proposal information and the second contract account that deposits the funds of the target sales amount into the first contract account.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送第二转让请求,以触发所述交易管理端确定向所述第一合约账号存入所述转让金额的资金的受让者;将所述受让者的第二私钥对应的密钥加入所述持有者密钥列表中;将所述第三持有者的第三私钥对应的密钥从所述持有者密钥列表中删除;其中,所述第二转让请求携带有所述目标虚拟资产的转让请求信息,所述第二转让请求是所述持有者密钥列表中任一密钥对应的第三持有者对所述目标虚拟资产的转让请求,所述转让请求信息包括所述第三持有者对所述目标虚拟资产的转让金额。Send a second transfer request to the transaction management terminal to trigger the transaction management terminal to determine the transferee who deposits the funds of the transfer amount into the first contract account; transfer the transferee's second private The key corresponding to the key is added to the holder key list; the key corresponding to the third private key of the third holder is deleted from the holder key list; The second transfer request carries the transfer request information of the target virtual asset, and the second transfer request is the transfer of the target virtual asset by a third holder corresponding to any key in the holder key list request, the transfer request information includes the transfer amount of the target virtual asset by the third holder.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述服务提供方发送所述持有者密钥列表任一密钥对应的第四持有者对所述目标虚拟资产的使用请求,其中,所述使用请求携带有采用所述第四持有者的第四私钥对所述第四持有者的声明数据进行签名后的目标验证凭证;Send a request for use of the target virtual asset by a fourth holder corresponding to any key in the holder key list to the service provider, wherein the use request carries the use of the fourth holder. The target verification certificate after the owner's fourth private key signs the claim data of the fourth holder;
接收当所述目标验证凭证的验证结果为验证通过时,所述服务提供方响应于所述使用请求向所述第四持有者提供的所述目标虚拟资产的使用权益。When the verification result of the target verification credential is that the verification is passed, the service provider provides the use rights of the target virtual asset to the fourth holder in response to the use request.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述服务提供方发送所述目标验证凭证,以触发所述服务提供方,向预设的凭证发行者查询所述目标验证凭证的有效性,得到所述验证结果。Sending the target verification credential to the service provider to trigger the service provider to inquire the validity of the target verification credential from a preset credential issuer to obtain the verification result.
进一步地,所述目标购买者包括多个,每个所述目标购买者的目标出资金额相同,该应用于用户端的虚拟资产交易方法具体包括:Further, the target purchasers include a plurality of target purchasers, and the target contribution amount of each target purchaser is the same, and the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送目标虚拟资产的众筹提案信息,以触发所述交易管理端确定所述目标购买者的数量;当所述目标购买者的数量达到预设数量时,确定所述已筹集金额达到所述目标众筹金额。Send the crowdfunding proposal information of the target virtual asset to the transaction management terminal to trigger the transaction management terminal to determine the number of target buyers; when the number of target buyers reaches a preset number, determine the The amount raised reaches the stated target crowdfunding amount.
进一步地,所述目标购买者包括多个,该应用于用户端的虚拟资产交易方法具体包括:Further, the target buyer includes multiple, and the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送目标虚拟资产的众筹提案信息,以触发所述交易管理端将各所述目标购买者的目标出资金额累加,得到所述第一合约账号内的已筹集金额;若所述已筹集金额大于或等于所述目标众筹金额,则确定所述第一合约账号内的已筹集金额达到所述目标众筹金额。Send the crowdfunding proposal information of the target virtual asset to the transaction management terminal, so as to trigger the transaction management terminal to accumulate the target capital contribution amount of each of the target buyers to obtain the raised amount in the first contract account; if If the raised amount is greater than or equal to the target crowdfunding amount, it is determined that the raised amount in the first contract account reaches the target crowdfunding amount.
进一步地,该应用于用户端的虚拟资产交易方法具体包括:Further, the virtual asset transaction method applied to the client specifically includes:
向所述交易管理端发送针对所述众筹提案信息触发的购买请求,以触发所述交易管理端确定所述已筹集金额是否小于所述目标众筹金额;若所述已筹集金额小于所述目标众筹金额,则将所述意向购买者的出资金额的资金存入所述第一合约账号,并将所述意向购买者确定为所述目标购买者;其中,所述购买请求携带有意向购买者对所述目标虚拟资产的出资金额。Send a purchase request triggered by the crowdfunding proposal information to the transaction management terminal to trigger the transaction management terminal to determine whether the raised amount is less than the target crowdfunding amount; if the raised amount is less than the target crowdfunding amount, deposit the funds of the intended purchaser's contribution amount into the first contract account, and determine the intended purchaser as the target purchaser; wherein, the purchase request carries the intended purchaser The purchaser's contribution amount to the target virtual asset.
具体地,该应用于交易管理端的虚拟资产交易方法的具体实现、该应用于用户端的虚拟资产交易方法的具体实现及有益效果,可以参考上述图1至图6所示的虚拟资产交易方法的相关说明,为简化表述,此处不再赘述。Specifically, for the specific implementation of the virtual asset transaction method applied to the transaction management terminal, and the specific implementation and beneficial effects of the virtual asset transaction method applied to the user terminal, reference may be made to the above-mentioned virtual asset transaction methods shown in FIG. 1 to FIG. 6 . Description, in order to simplify the description, details are not repeated here.
为了更好地实施以上方法,本发明实施例还提供一种虚拟资产交易装置,该虚拟资产交易装置具体可以集成在电子设备中,比如,计算机设备,该计算机设备可以为终端、服务器等设备。In order to better implement the above method, an embodiment of the present invention also provides a virtual asset trading device, which can be integrated into an electronic device, such as a computer device, which can be a terminal, a server, or other devices.
其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。The terminal may be a mobile phone, a tablet computer, an intelligent Bluetooth device, a notebook computer, a personal computer, etc.; the server may be a single server, or a server cluster composed of multiple servers.
比如,在本实施例中,将以虚拟资产交易装置具体集成在智能手机为例,对本发明实施例的方法进行详细说明。For example, in this embodiment, the method of the embodiment of the present invention will be described in detail by taking the example that the virtual asset transaction device is specifically integrated in a smart phone.
例如,如图7所示,该虚拟资产交易装置可以包括:For example, as shown in FIG. 7, the virtual asset trading device may include:
生成单元701,用于基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;A generating
确定单元702,用于基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;A determining
加入单元703,用于将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;an adding
交易单元704,用于当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。The
在一些实施例中,所述虚拟资产交易装置还包括创建单元(图中未示出),所述基于预设的第一合约账号生成目标虚拟资产的众筹提案信息之前,所述创建单元具体用于:In some embodiments, the virtual asset trading device further includes a creation unit (not shown in the figure), before the crowdfunding proposal information of the target virtual asset is generated based on the preset first contract account, the creation unit specifically Used for:
获取第一持有者的账号创建请求,其中,所述账号创建请求携带有所述第一持有者的区块链地址、所述第一持有者的第一私钥对应的密钥;Obtain the account creation request of the first holder, wherein the account creation request carries the blockchain address of the first holder and the key corresponding to the first private key of the first holder;
基于所述账号创建请求生成第一合约账号,其中,所述第一合约账号的持有者密钥列表中包含所述第一私钥对应的密钥。A first contract account is generated based on the account creation request, wherein the holder key list of the first contract account includes the key corresponding to the first private key.
在一些实施例中于,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述交易单元704具体用于:In some embodiments, after the target virtual asset is set as the virtual asset of the first contract account when the raised amount in the first contract account reaches the target crowdfunding amount, the The
获取所述持有者密钥列表中任一密钥对应的第二持有者对所述目标虚拟资产的第一转让请求;obtaining the first transfer request of the target virtual asset from the second holder corresponding to any key in the holder key list;
获取所述持有者密钥列表对应的各持有者对所述第一转让请求的同意投票结果;Obtain the consent voting result of each holder corresponding to the holder key list for the first transfer request;
基于所述同意投票结果,确定所述第一转让请求的同意金额;determining an agreed amount of the first transfer request based on the result of the consent vote;
当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息,其中,所述售卖提案信息包括所述目标虚拟资产的目标售卖金额。When the agreed amount meets the preset condition, generate sale proposal information of the target virtual asset, wherein the sale proposal information includes the target sale amount of the target virtual asset.
在一些实施例中,所述已筹集金额包括所述目标购买者的目标出资金额,所述当所述同意金额符合预设条件时,生成所述目标虚拟资产的售卖提案信息之后,所述交易单元704具体用于:In some embodiments, the raised amount includes a target contribution amount of the target purchaser, and when the agreed amount meets a preset condition, after generating the sales proposal information of the target virtual asset, the
基于所述售卖提案信息和预设的第二合约账号,向所述第一合约账号存入所述目标售卖金额的资金;Based on the sale proposal information and the preset second contract account, deposit the funds of the target sale amount into the first contract account;
将所述目标虚拟资产由所述第一合约账号转让至所述第二合约账号;transferring the target virtual asset from the first contract account to the second contract account;
根据所述目标众筹金额、所述目标出资金额和所述目标售卖金额,确定所述目标购买者的账号提现金额;According to the target crowdfunding amount, the target funding amount, and the target selling amount, determine the cash-out amount of the target buyer's account;
按照所述账号提现金额,将所述目标售卖金额的资金由所述第一合约账号提现至所述目标购买者的区块链地址。According to the withdrawal amount of the account, the funds of the target sale amount are withdrawn from the first contract account to the blockchain address of the target buyer.
在一些实施例中,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述交易单元704具体用于:In some embodiments, when the amount raised in the first contract account reaches the target crowdfunding amount, after setting the target virtual asset as the virtual asset of the first contract account, the The
基于所述持有者密钥列表中任一密钥对应的第三持有者对所述目标虚拟资产的第二转让请求,生成所述目标虚拟资产的转让请求信息,其中,所述转让请求信息包括所述第三持有者对所述目标虚拟资产的转让金额;Based on the second transfer request of the target virtual asset by the third holder corresponding to any key in the holder key list, the transfer request information of the target virtual asset is generated, wherein the transfer request The information includes the transfer amount of the target virtual asset by the third holder;
确定向所述第一合约账号存入所述转让金额的资金的受让者;determining the transferee of the funds deposited to the first contract account for the transfer amount;
将所述受让者的第二私钥对应的密钥加入所述持有者密钥列表中;adding the key corresponding to the transferee's second private key to the holder key list;
将所述第三持有者的第三私钥对应的密钥从所述持有者密钥列表中删除。The key corresponding to the third private key of the third holder is deleted from the holder key list.
在一些实施例中,所述虚拟资产交易装置还包括使用单元(图中未示出),所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之后,所述使用单元具体用于:In some embodiments, the virtual asset trading device further includes a use unit (not shown in the figure), and when the raised amount in the first contract account reaches the target crowdfunding amount, the After the target virtual asset is set as the virtual asset of the first contract account, the use unit is specifically used for:
获取所述持有者密钥列表任一密钥对应的第四持有者对所述目标虚拟资产的使用请求,其中,所述使用请求携带有采用所述第四持有者的第四私钥对所述第四持有者的声明数据进行签名后的目标验证凭证;Obtain the use request of the target virtual asset by the fourth holder corresponding to any key in the holder key list, wherein the use request carries the fourth private key of the fourth holder. The target verification certificate after the key signs the claim data of the fourth holder;
通过所述目标虚拟资产的服务提供方,获取所述目标验证凭证的验证结果;Obtain the verification result of the target verification credential through the service provider of the target virtual asset;
当所述验证结果为验证通过时,通过所述服务提供方向所述第四持有者提供所述目标虚拟资产的使用权益。When the verification result is that the verification is passed, the fourth holder is provided with the right to use the target virtual asset through the service provider.
在一些实施例中,所述使用单元具体用于:In some embodiments, the using unit is specifically used for:
向所述服务提供方发送所述目标验证凭证;sending the target authentication credential to the service provider;
通过所述服务提供方,向预设的凭证发行者查询所述目标验证凭证的有效性,得到所述验证结果。Through the service provider, query the preset certificate issuer for the validity of the target verification certificate to obtain the verification result.
在一些实施例中,所述目标购买者包括多个,每个所述目标购买者的目标出资金额相同,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之前,所述交易704单元具体用于:In some embodiments, the target purchaser includes a plurality of target purchasers, and each target purchaser has the same target contribution amount, and when the raised amount in the first contract account reaches the target crowdfunding amount , before setting the target virtual asset as the virtual asset of the first contract account, the
确定所述目标购买者的数量;determining the number of said target buyers;
当所述目标购买者的数量达到预设数量时,确定所述已筹集金额达到所述目标众筹金额。When the number of target buyers reaches a preset number, it is determined that the raised amount reaches the target crowdfunding amount.
在一些实施例中,所述目标购买者包括多个,所述当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产之前,所述交易单元704具体用于:In some embodiments, the target buyer includes multiple, and when the amount raised in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the first target virtual asset Before the virtual assets of the contract account, the
将各所述目标购买者的目标出资金额累加,得到所述第一合约账号内的已筹集金额;Accumulate the target contribution amount of each of the target buyers to obtain the raised amount in the first contract account;
若所述已筹集金额大于或等于所述目标众筹金额,则确定所述第一合约账号内的已筹集金额达到所述目标众筹金额。If the raised amount is greater than or equal to the target crowdfunding amount, it is determined that the raised amount in the first contract account reaches the target crowdfunding amount.
在一些实施例中,所述确定单元702具体用于:In some embodiments, the determining
接收意向购买者针对所述众筹提案信息的购买请求,其中,所述购买请求携带有所述意向购买者对所述目标虚拟资产的出资金额;receiving a purchase request from an intended purchaser for the crowdfunding proposal information, wherein the purchase request carries the amount of the intended purchaser's contribution to the target virtual asset;
确定所述已筹集金额是否小于所述目标众筹金额;determining whether the raised amount is less than the target crowdfunding amount;
若所述已筹集金额小于所述目标众筹金额,则将所述意向购买者的出资金额的资金存入所述第一合约账号,并将所述意向购买者确定为所述目标购买者。If the raised amount is less than the target crowdfunding amount, the intended purchaser's contribution amount is deposited into the first contract account, and the intended purchaser is determined as the target purchaser.
由上可知,本实施例的虚拟资产交易装置可以由生成单元701基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;由确定单元702基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;由加入单元703将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;由交易单元704当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。一方面,由于向第一合约账号存入用于购买目标虚拟资产的资金的用户(即目标购买者)可以有多个,因此可以实现目标虚拟资产进行众筹购买;由此,可以避免现有NFT虚拟资产交易存在由于价格过高而导致无法交易的问题;另一方面,由于目标虚拟资产被第一合约账号成功购买后,第一合约账号成为目标虚拟资产的控制者,而所有密钥已加入第一合约账号的持有者密钥列表中的目标购买者,都成为第一合约账号的持有者,因此使得多个持有者可以同时享有目标虚拟资产的使用、转让等权益;由此,可以避免NFT虚拟资产权益只能单个用户享有的问题。可见,本申请实施例解决了现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。As can be seen from the above, in the virtual asset trading device of this embodiment, the generating
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图8所示,图8为本申请实施例提供的电子设备的结构示意图。该电子设备800包括有一个或者一个以上处理核心的处理器801、有一个或一个以上计算机可读存储介质的存储器802及存储在存储器802上并可在处理器上运行的计算机程序。其中,处理器801与存储器802电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。Correspondingly, an embodiment of the present application further provides an electronic device, and the electronic device may be a terminal, and the terminal may be a smart phone, a tablet computer, a notebook computer, a touch screen, a game console, a personal computer (PC, Personal Computer), a personal computer Terminal equipment such as digital assistant (Personal Digital Assistant, PDA). As shown in FIG. 8 , FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. The
处理器801是电子设备800的控制中心,利用各种接口和线路连接整个电子设备800的各个部分,通过运行或加载存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备800的各种功能和处理数据,从而对电子设备800进行整体监控。The
在本申请实施例中,电子设备800中的处理器801会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能:In the embodiment of the present application, the
基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;Generate crowdfunding proposal information of the target virtual asset based on the preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset;
基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;determining, based on the crowdfunding proposal information, a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;adding the target buyer's key to the holder key list of the first contract account;
当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。When the amount raised in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the virtual asset of the first contract account.
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。For the specific implementation of the above operations, reference may be made to the foregoing embodiments, and details are not described herein again.
可选的,如图8所示,电子设备800还包括:触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807。其中,处理器801分别与触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807电性连接。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。Optionally, as shown in FIG. 8 , the
触控显示屏803可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏803可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器801,并能接收处理器801发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器801以确定触摸事件的类型,随后处理器801根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏803而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏803也可以作为输入单元806的一部分实现输入功能。The
射频电路804可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。The
音频电路805可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路805可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路805接收后转换为音频数据,再将音频数据输出处理器801处理后,经射频电路804以发送给比如另一电子设备,或者将音频数据输出至存储器802以便进一步处理。音频电路805还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。The
输入单元806可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。The
电源807用于给电子设备800的各个部件供电。可选的,电源807可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源807还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图8中未示出,电子设备800还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。Although not shown in FIG. 8 , the
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
由上可知,本实施例提供的电子设备,可以基于预设第一合约账号生成的目标虚拟资产的众筹提案信息,确定向第一合约账号存入用于购买目标虚拟资产的资金的目标购买者;将目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;并在第一合约账号内的已筹集金额达到目标虚拟资产的目标众筹金额时,将目标虚拟资产设置为第一合约账号的虚拟资产,此时第一合约账号成功购买目标虚拟资产,第一合约账号成为目标虚拟资产的控制者;一方面,由于向第一合约账号存入用于购买目标虚拟资产的资金的用户(即目标购买者)可以有多个,因此可以实现目标虚拟资产进行众筹购买;由此,本实施例提供的电子设备可以避免现有NFT虚拟资产交易存在由于价格过高而导致无法交易的问题;另一方面,由于目标虚拟资产被第一合约账号成功购买后,第一合约账号成为目标虚拟资产的控制者,而所有密钥已加入第一合约账号的持有者密钥列表中的目标购买者,都成为第一合约账号的持有者,因此使得多个持有者可以同时享有目标虚拟资产的使用、转让等权益;由此,本实施例提供的电子设备可以避免NFT虚拟资产权益只能单个用户享有的问题。可见,本实施例提供的电子设备解决了现有NFT虚拟资产交易存在由于价格过高而导致无法交易、以及NFT虚拟资产权益只能单个用户享有的问题。As can be seen from the above, the electronic device provided in this embodiment can determine the target purchase of the funds for purchasing the target virtual asset into the first contract account based on the crowdfunding proposal information of the target virtual asset generated by the preset first contract account. add the target buyer’s key to the holder key list of the first contract account; and when the raised amount in the first contract account reaches the target crowdfunding amount of the target virtual asset, the target virtual The asset is set as the virtual asset of the first contract account. At this time, the first contract account successfully purchases the target virtual asset, and the first contract account becomes the controller of the target virtual asset; There can be multiple users (ie target buyers) of funds for virtual assets, so crowdfunding purchases of target virtual assets can be realized; thus, the electronic device provided in this embodiment can avoid existing NFT virtual asset transactions due to excessive prices. On the other hand, after the target virtual asset is successfully purchased by the first contract account, the first contract account becomes the controller of the target virtual asset, and all keys have been added to the first contract account. The target buyers in the owner key list all become the holders of the first contract account, so that multiple holders can simultaneously enjoy the rights and interests of the target virtual asset, such as the use and transfer; The device can avoid the problem that NFT virtual asset rights can only be enjoyed by a single user. It can be seen that the electronic device provided in this embodiment solves the problems that existing NFT virtual asset transactions cannot be traded due to excessively high prices, and the NFT virtual asset rights and interests can only be enjoyed by a single user.
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructions, or by instructions that control relevant hardware, and the instructions can be stored in a computer-readable storage medium, and loaded and executed by the processor.
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟资产交易方法中的步骤。例如,该计算机程序可以执行如下步骤:To this end, the embodiments of the present application provide a computer-readable storage medium, in which a plurality of computer programs are stored, and the computer programs can be loaded by a processor to execute any of the virtual asset transaction methods provided by the embodiments of the present application. steps in . For example, the computer program may perform the following steps:
基于预设的第一合约账号生成目标虚拟资产的众筹提案信息,其中,所述众筹提案信息包括所述目标虚拟资产的目标众筹金额;Generate crowdfunding proposal information of the target virtual asset based on the preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset;
基于所述众筹提案信息,确定向所述第一合约账号存入用于购买所述目标虚拟资产的资金的目标购买者;determining, based on the crowdfunding proposal information, a target buyer who deposits funds for purchasing the target virtual asset into the first contract account;
将所述目标购买者的密钥加入所述第一合约账号的持有者密钥列表中;adding the target buyer's key to the holder key list of the first contract account;
当所述第一合约账号内的已筹集金额达到所述目标众筹金额时,将所述目标虚拟资产设置为所述第一合约账号的虚拟资产。When the amount raised in the first contract account reaches the target crowdfunding amount, the target virtual asset is set as the virtual asset of the first contract account.
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。For the specific implementation of the above operations, reference may be made to the foregoing embodiments, and details are not described herein again.
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。Wherein, the computer-readable storage medium may include: read only memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, and the like.
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种虚拟资产交易方法中的步骤,因此,可以实现本申请实施例所提供的任一种虚拟资产交易方法所能实现的有益效果,详见前面的实施例,在此不再赘述。Since the computer program stored in the computer-readable storage medium can execute the steps in any of the virtual asset transaction methods provided by the embodiments of the present application, any virtual assets provided by the embodiments of the present application can be realized For the beneficial effects that can be achieved by the transaction method, see the foregoing embodiments for details, which will not be repeated here.
以上对本申请实施例所提供的一种虚拟资产交易方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。A virtual asset transaction method, device, electronic device, and computer-readable storage medium provided by the embodiments of the present application are described in detail above. Specific examples are used in this article to illustrate the principles and implementations of the present application. The description of the example is only used to help understand the method of the present application and its core idea; meanwhile, for those skilled in the art, according to the idea of the present application, there will be changes in the specific embodiment and the scope of application. The contents of this specification should not be construed as limiting the application.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210406228.5ACN114820188A (en) | 2022-04-18 | 2022-04-18 | Virtual asset transaction method and device, electronic equipment and readable storage medium |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210406228.5ACN114820188A (en) | 2022-04-18 | 2022-04-18 | Virtual asset transaction method and device, electronic equipment and readable storage medium |
| Publication Number | Publication Date |
|---|---|
| CN114820188Atrue CN114820188A (en) | 2022-07-29 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210406228.5APendingCN114820188A (en) | 2022-04-18 | 2022-04-18 | Virtual asset transaction method and device, electronic equipment and readable storage medium |
| Country | Link |
|---|---|
| CN (1) | CN114820188A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116488822A (en)* | 2023-03-03 | 2023-07-25 | 广州玩胜网络科技有限公司 | Identification method and system for digital blind box subscription legal user |
| WO2024065753A1 (en)* | 2022-09-30 | 2024-04-04 | Supersymmetry Pte. Ltd. | Nft minting method and apparatus with digital certificate-based role authentication and nft role verifying method and apparatus |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108513669A (en)* | 2017-12-29 | 2018-09-07 | 深圳前海达闼云端智能科技有限公司 | Crowd funding information processing method and device based on block chain, storage medium and electronic equipment |
| CN112330449A (en)* | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | Block chain-based joint account creation method, system, device and storage medium |
| CN112330311A (en)* | 2020-11-16 | 2021-02-05 | 深圳壹账通智能科技有限公司 | Crowd funding joint account creation method and device based on block chain and storage medium |
| CN113743921A (en)* | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | Digital asset processing method, device, equipment and storage medium |
| CN114358768A (en)* | 2021-12-03 | 2022-04-15 | 浙江数秦科技有限公司 | A NFT-based carbon emission trading method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108513669A (en)* | 2017-12-29 | 2018-09-07 | 深圳前海达闼云端智能科技有限公司 | Crowd funding information processing method and device based on block chain, storage medium and electronic equipment |
| CN112330449A (en)* | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | Block chain-based joint account creation method, system, device and storage medium |
| CN112330311A (en)* | 2020-11-16 | 2021-02-05 | 深圳壹账通智能科技有限公司 | Crowd funding joint account creation method and device based on block chain and storage medium |
| CN113743921A (en)* | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | Digital asset processing method, device, equipment and storage medium |
| CN114358768A (en)* | 2021-12-03 | 2022-04-15 | 浙江数秦科技有限公司 | A NFT-based carbon emission trading method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024065753A1 (en)* | 2022-09-30 | 2024-04-04 | Supersymmetry Pte. Ltd. | Nft minting method and apparatus with digital certificate-based role authentication and nft role verifying method and apparatus |
| CN116488822A (en)* | 2023-03-03 | 2023-07-25 | 广州玩胜网络科技有限公司 | Identification method and system for digital blind box subscription legal user |
| CN116488822B (en)* | 2023-03-03 | 2023-12-12 | 广州玩胜网络科技有限公司 | Identification method and system for digital blind box subscription legal user |
| Publication | Publication Date | Title |
|---|---|---|
| US11488143B2 (en) | Resource transaction method, node, device and storage medium | |
| CN111373429B (en) | Secure offline transaction system using digital tokens and secure ledger database | |
| JP5430701B2 (en) | System and method for validating financial instruments | |
| CA2945703C (en) | Systems, apparatus and methods for improved authentication | |
| US20190325408A1 (en) | Devices, Systems, and Methods For Securing, Accessing and Transacting Cryptocurrency and Non-Crytptocurrency Assets | |
| US6938019B1 (en) | Method and apparatus for making secure electronic payments | |
| WO2020114266A1 (en) | Resource transfer method and apparatus, electronic device, and storage medium | |
| CN104169954A (en) | Systems and methods for secure offline payment transactions using portable computing devices | |
| JP2011508924A (en) | Approve credit and debit card transactions using location verification | |
| CN104200362A (en) | Payment processing method based on NFC smart card and mobile internet terminal | |
| WO2021098249A1 (en) | Digital credit certificate circulating method, terminal, and readable storage medium | |
| CN107004197A (en) | Modularized equipment payment system | |
| US20240152912A1 (en) | Authentication system and method | |
| US20240281802A1 (en) | Digital Currency-Based Payment Method, Platform and System, and Terminal | |
| TW202004632A (en) | Legal currency wallet and a cryptocurrency wallet service integration platform | |
| CN114820188A (en) | Virtual asset transaction method and device, electronic equipment and readable storage medium | |
| CN117813616A (en) | Self-organizing wallet combined payment card for payment card network and blockchain transactions | |
| CN115471226A (en) | Mobile payment method, device and system | |
| US20140358713A1 (en) | Method and system for bulk purchase negotiating using an ad hoc online group | |
| US10867326B2 (en) | Reputation system and method | |
| GB2632987A (en) | Point-to-point-based data processing method and system, computing device, and storage medium | |
| US20240314122A1 (en) | System and method for authenticating interactions with dynamically varying digital resources linked to resource distribution devices | |
| US20200327511A1 (en) | Multiple authentication method for digital asset transaction | |
| WO2020154576A1 (en) | Cryptographic transactions supporting real world requirements | |
| CN112712353B (en) | Digital currency zero-payment method, system and terminal |
| 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 |