Virtual asset transaction method and apparatus, electronic device, and readable storage medium
By generating crowdfunding proposal information and adding it to the holder key list, multiple users can jointly purchase NFT virtual assets, solving the problems of high-priced transactions and individual rights, and achieving the effect of joint control and use by multiple users.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-18
- Publication Date
- 2026-04-07
AI Technical Summary
In the current NFT virtual asset trading market, prices are too high, making trading impossible, and the rights can only be enjoyed by a single user.
By generating crowdfunding proposal information based on a preset contract account, identifying target buyers and depositing funds, and adding them to the holder key list, the virtual assets are set as assets of the contract account when the amount raised reaches the target crowdfunding amount, enabling multiple users to jointly purchase and control them.
It enables the crowdfunding purchase of high-priced NFT virtual assets, allowing multiple users to jointly enjoy the rights of use and transfer, thus solving the problems of individual users being unable to afford high prices and the individual enjoyment of rights.
Smart Images

Figure CN114820188B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of information processing, and in particular to a virtual asset transaction method and device, electronic equipment and a computer readable storage medium. BACKGROUND
[0002] NFT (Non-Fungible Token, non-fungible token) has the characteristics of non-divisibility, non-substitutability and uniqueness. All real-world objects can be converted into NFT tokens in the blockchain. Therefore, with the rapid development of blockchain technology in recent years, transactions based on NFT in the blockchain are also increasing.
[0003] Existing NFT virtual assets are often purchased and transferred by a single user through a private key transaction. However, the present application found in the actual application process that some NFT virtual assets are very expensive and cannot be purchased by a single user. At the same time, the rights and interests of NFT virtual assets after purchase are often owned by a single user, such as the virtual asset usage rights of NFT.
[0004] Therefore, the existing NFT virtual asset transaction has the problems of being unable to trade due to high prices and NFT virtual asset rights and interests being owned by a single user. SUMMARY
[0005] The embodiments of the present application provide a virtual asset transaction method, device, electronic equipment and computer readable storage medium, which can avoid the problems of the existing NFT virtual asset transaction, such as being unable to trade due to high prices and NFT virtual asset rights and interests being owned by a single user.
[0006] In a first aspect, the embodiments of the present application provide a virtual asset transaction method, comprising:
[0007] generating crowd funding proposal information of a target virtual asset based on a preset first contract account, wherein the crowd funding proposal information includes a target crowd funding amount of the target virtual asset;
[0008] determining a target purchaser who deposits funds for purchasing the target virtual asset into the first contract account based on the crowd funding proposal information;
[0009] adding a key of the target purchaser to a holder key list of the first contract account;
[0010] when the amount of funds raised in the first contract account reaches the target crowd funding amount, setting the target virtual asset as a virtual asset of the first contract account.
[0011] Secondly, embodiments of this application also provide a virtual asset trading device, comprising:
[0012] A generation unit is used to generate crowdfunding proposal information for a target virtual asset based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset;
[0013] The determining unit is used to determine, based on the crowdfunding proposal information, the target buyer who will deposit funds into the first contract account to purchase the target virtual asset;
[0014] The addition unit is used to add the target buyer's key to the holder key list of the first contract account;
[0015] A transaction unit is used to set the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount.
[0016] In some embodiments, the virtual asset trading device further includes a creation unit, which is specifically used for: Before generating crowdfunding proposal information for the target virtual asset based on a preset first contract account, the creation unit is used to:
[0017] 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;
[0018] A first contract account is generated based on the account creation request, wherein the holder key list of the first contract account contains the key corresponding to the first private key.
[0019] In some embodiments, after setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit is specifically used for:
[0020] Obtain the first transfer request for the target virtual asset from the second holder corresponding to any key in the holder key list;
[0021] Obtain the voting results of each holder corresponding to the holder key list regarding the first transfer request;
[0022] Based on the voting results, the amount agreed upon for the first transfer request is determined;
[0023] When the agreed amount meets the preset conditions, a sales proposal information for the target virtual asset is generated, wherein the sales proposal information includes the target sales amount of the target virtual asset.
[0024] In some embodiments, the raised amount includes the target investment amount of the target buyer, and after generating the sale proposal information of the target virtual asset when the agreed amount meets preset conditions, the transaction unit is specifically used for:
[0025] Based on the sales proposal information and the preset second contract account, the funds for the target sales amount are deposited into the first contract account;
[0026] The target virtual asset is transferred from the first contract account to the second contract account;
[0027] The amount of cash that the target buyer can withdraw from their account is determined based on the target crowdfunding amount, the target investment amount, and the target sales amount.
[0028] According to the withdrawal amount of the account, the funds of the target sales amount are withdrawn from the first contract account to the blockchain address of the target buyer.
[0029] In some embodiments, after setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit is specifically used for:
[0030] Based on a second transfer request for the target virtual asset from a third holder corresponding to any key in the holder key list, transfer request information for the target virtual asset is generated, wherein the transfer request information includes the transfer amount of the target virtual asset by the third holder;
[0031] Identify the transferee who deposits the transfer amount into the first contract account;
[0032] Add the key corresponding to the transferee's second private key to the holder's key list;
[0033] Remove the key corresponding to the third private key of the third holder from the list of holder keys.
[0034] In some embodiments, the virtual asset trading device further includes a usage unit. After setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the usage unit is specifically used for:
[0035] Obtain a request for the use of the target virtual asset from the fourth holder corresponding to any key in the holder key list, wherein the request carries a target verification credential after the fourth holder's declaration data is signed using the fourth holder's fourth private key;
[0036] Obtain the verification result of the target verification credential through the service provider of the target virtual asset;
[0037] When the verification result is successful, the service provider shall provide the fourth holder with the right to use the target virtual asset.
[0038] In some embodiments, the using unit is specifically used for:
[0039] Send the target verification credential to the service provider;
[0040] The service provider queries the pre-defined credential issuer to determine the validity of the target verification credential and obtains the verification result.
[0041] In some embodiments, the target buyers include multiple individuals, each with the same target investment amount. Before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit is specifically used for:
[0042] Determine the number of the target buyers;
[0043] When the number of target buyers reaches a preset number, it is determined that the amount raised has reached the target crowdfunding amount.
[0044] In some embodiments, the target buyers include multiple individuals, and before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit is specifically used for:
[0045] The target investment amounts of each target buyer are summed up to obtain the amount raised in the first contract account.
[0046] If the amount raised is greater than or equal to the target crowdfunding amount, then it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
[0047] In some embodiments, the determining unit is specifically used for:
[0048] Receive a purchase request from a potential buyer regarding the crowdfunding proposal information, wherein the purchase request carries the amount of funds the potential buyer will contribute to the target virtual asset.
[0049] Determine whether the amount already raised is less than the target crowdfunding amount;
[0050] If the amount raised is less than the target crowdfunding amount, then the funds of the intended buyer will be deposited into the first contract account, and the intended buyer will be identified as the target buyer.
[0051] Thirdly, embodiments of this application also provide an electronic device, including a memory storing multiple instructions; the processor loads instructions from the memory to execute steps in any of the virtual asset trading methods provided in embodiments of this application.
[0052] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute steps in any of the virtual asset trading methods provided in embodiments of this application.
[0053] This application embodiment determines the target buyer who will deposit funds into the first contract account to purchase the target virtual asset based on the crowdfunding proposal information of the target virtual asset generated from the preset first contract account. The target buyer's key is added to the holder key list of the first contract account. When the amount raised 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. At this point, the first contract account successfully purchases the target virtual asset and becomes the controller of the target virtual asset. On the one hand, since there can be multiple users (i.e., target buyers) depositing funds into the first contract account to purchase the target virtual asset, crowdfunding purchase of the target virtual asset can be realized. This avoids the problem of existing NFT virtual asset transactions being unable to trade due to excessively high prices. On the other hand, since the first contract account becomes the controller of the target virtual asset after successful purchase, and all target buyers whose keys have been added to the holder key list of the first contract account become holders of the first contract account, multiple holders can simultaneously enjoy the rights to use and transfer the target virtual asset. This avoids the problem that NFT virtual asset rights can only be enjoyed by a single user. As can be seen, the embodiments of this application solve the problems of existing NFT virtual asset transactions, such as the inability to trade due to excessively high prices, and the fact that NFT virtual asset rights can only be enjoyed by a single user. Attached Figure Description
[0054] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0055] Figure 1 This is a schematic flowchart of one embodiment of the virtual asset trading method provided in this application.
[0056] Figure 2 This is a schematic diagram of the interaction scenario of the VC system in the embodiments of this application;
[0057] Figure 3 This is a schematic diagram of an architecture for a blockchain smart contract used in implementing a virtual asset exchange, as described in this application embodiment.
[0058] Figure 4 This is a schematic diagram of a process for transferring a target virtual asset provided in the embodiments of this application;
[0059] Figure 5 This is another schematic diagram illustrating the process of transferring the target virtual asset provided in the embodiments of this application;
[0060] Figure 6 This is a schematic diagram illustrating a process for using the target virtual asset provided in this application embodiment;
[0061] Figure 7 This is a schematic diagram of the structure of the virtual asset trading device provided in the embodiments of this application;
[0062] Figure 8 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;
[0063] Figure 9 This is a schematic diagram of a virtual asset trading system provided in an embodiment of this application. Detailed Implementation
[0064] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. At the same time, in the description of the embodiments of this application, the terms "first," "second," etc., are only used to distinguish descriptions and should not be construed as indicating or implying relative importance. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of the described features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0065] This application provides a method, apparatus, electronic device, and computer-readable storage medium for virtual asset transactions.
[0066] Specifically, the virtual asset trading method in this application embodiment can be executed by an electronic device, which can be a terminal, a server, or other such device. The terminal can be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, touch screen, game console, or personal computer (PC), etc.; the server can be a single server or a server cluster composed of multiple servers.
[0067] For example, the electronic device can be a mobile terminal that can generate crowdfunding proposal information for a target virtual asset via a network based on a preset first contract account. The crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset. Based on the crowdfunding proposal information, a target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset. The key of the target buyer is added 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 a virtual asset of the first contract account.
[0068] Specifically, the virtual asset trading device can be integrated into an electronic device. In some embodiments, the virtual asset trading device can also be integrated into multiple electronic devices. For example, the virtual asset trading device can be integrated into multiple servers, with multiple servers implementing the virtual asset trading method of this application. Alternatively, the virtual asset trading device can be integrated into multiple terminals, with multiple terminals implementing the virtual asset trading method of this application.
[0069] In some embodiments, the server can also be implemented in the form of a terminal. For example, a personal computer can be set up as a server to integrate the virtual asset trading device, and the virtual asset trading method of this application can be implemented by the server set up by the personal computer.
[0070] The following sections provide detailed descriptions of each example. It should be noted that the sequence numbers of the following embodiments are not intended to limit the preferred order of the embodiments.
[0071] Reference Figure 1 and Figure 3 , Figure 1This is a flowchart illustrating a virtual asset trading method provided in this application embodiment. This application embodiment uses a blockchain-based smart contract for virtual asset trading as an example to illustrate the virtual asset trading method provided in this application embodiment. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order. For example, step 103 can be executed before step 104, or step 104 can be executed before step 102, or steps 103 and 104 can be executed simultaneously. In this embodiment, the virtual asset trading method includes steps 101-104, wherein:
[0072] 101. Generate crowdfunding proposal information for the target virtual asset based on the preset first contract account.
[0073] The crowdfunding proposal information may include the crowdfunding proposal number of the target virtual asset, the asset number of the target virtual asset, the sales contract address of the target virtual asset (i.e., the DID account to which the target virtual asset currently belongs, i.e., the DID account currently selling the target virtual asset), the target crowdfunding amount of the target virtual asset, the crowdfunding voting details of the crowdfunding proposal (currently empty), the purchase amount already raised for the target virtual asset (currently empty), and whether the crowdfunding proposal was successful (currently unsuccessful).
[0074] In this application embodiment, the first contract account is a DID account, which is a blockchain account. A blockchain account has three main elements: a private key, a public key, and an address. The private and public keys are components of asymmetric encryption algorithms in cryptography. As the names suggest, the public key can be made public, while the private key must be securely stored. The private key is generated from a random seed, and the public key is derived from the private key using an algorithm. Because public keys are too long, for simplicity and practicality, an "address" was introduced, which is derived from the public key. This derivation process is unidirectional and irreversible; that is, the address cannot derive the public key, and the public key cannot derive the private key.
[0075] Virtual assets can be NFT tokens on the blockchain that are converted from real-world items, such as virtual items in games. Each virtual asset corresponds to an asset number, such as asset number "10010".
[0076] The target virtual asset is the virtual asset that the first contract account needs to purchase.
[0077] To enable multiple users to simultaneously crowdfund the purchase of the same virtual asset, the holder of the first contract account in this embodiment can be multiple. Before step 101, a first contract account for purchasing the target virtual asset can be created. For example, creating the first contract account may specifically include the following steps a1~a2:
[0078] a1. Obtain the account creation request from the first holder.
[0079] The account creation request carries the blockchain address of the first holder, the key corresponding to the first holder's first private key, and other parameters.
[0080] In this context, the key corresponding to the first private key can be either the first private key itself or a key derived from it. For example, if the public key is derived from the first private key, then either the first private key can be used directly as the key corresponding to it, or the public key can be used as the key corresponding to the first private key. Similarly, the same principle applies to keys corresponding to the second and third private keys. For instance, the key corresponding to the second private key can be either used directly as the key corresponding to the second private key, or the public key can be used as the key corresponding to the second private key; similarly, the key corresponding to the third private key can be either used directly as the key corresponding to the third private key, or the public key can be used as the key corresponding to the third private key.
[0081] For example, the first contract account can be created in a Verifiable Credential (VC) system.
[0082] Decentralized Identifiers (DIDs) are decentralized, verifiable digital identifiers characterized by their distributed nature, self-control, and cross-chain reusability. Entities can independently register, resolve, update, or revoke DID accounts. A DID account is specifically resolved into a DID Document, which includes the DID account's unique identifier, a list of public keys and detailed information about the public keys (holder, encryption algorithm, key status, etc.), as well as other attribute descriptions of the DID account holder.
[0083] VC provides a specification to describe certain attributes of an entity, enabling evidence-based trust. A DID holder can use VC to prove to other entities (individuals, organizations, specific things, etc.) that certain attributes of their entity are trustworthy.
[0084] like Figure 2 As shown, Figure 2This is a schematic diagram of the interaction scenario of the VC system in this application embodiment. The VC system includes an issuer, a holder (i.e., a user), a verifier (i.e., a service provider), and a verifiable data registry. Wherein:
[0085] Issuers are entities that possess user data and can issue venture capital (VC) documents, such as governments, banks, universities, and other institutions and organizations.
[0086] A Holder is an entity that requests, receives, and holds VC from the issuer. Issued VC can be stored internally for future use, such as in a wallet. Holders can present their VC to validators for verification of their identity.
[0087] The Verifier receives and verifies the VC, thereby providing some type of service to the holder of the presented VC.
[0088] Identifier Registries are databases used to maintain DIDs, such as blockchains or distributed ledgers.
[0089] To better understand the transaction process of the virtual asset trading method in this application embodiment, the interaction process of the VC system will be introduced first. For example... Figure 2 As shown, the interaction process in the VC system mainly includes the following parts:
[0090] 1. Before applying for an Identity VC, the Holder registers a DID account with an identifier registry (such as a blockchain network). The DID account document includes the unique identifier of the DID account and the public key corresponding to the Holder's private key. (That is, the DID is registered and stored on the blockchain).
[0091] 2. Holders apply for identity VC from issuers (such as schools or other institutions or organizations).
[0092] 3. The issuer queries the holder's DID account registered with the identifier registry to verify the holder's user identity and validity, and to verify whether the holder's DID account is registered and valid.
[0093] 4. After the issuer verifies the holder's identity, it issues an identity VC to the holder, who then stores the identity VC locally.
[0094] 5. The holder provides the identity verification request to the verifier (such as a shopping website).
[0095] 6. The Verifier verifies the validity of the Holder and Issuer at the Identifier Registry (e.g., verifying whether the Holder is registered with the Identifier Registry and whether the Issuer is an identity issuer).
[0096] 7. After the Verifier verifies the Holder and Issuer, it determines the validity of the Holder and provides services to the Holder (such as allowing the Holder to shop on shopping websites).
[0097] The first holder refers to Holder, the holder who applies to the identifier registration authority to register the first contract account, specifically the blockchain account of Holder, the holder who applies to the identifier registration authority to register the first contract account.
[0098] The first private key refers to the private key of the first holder.
[0099] This article uses the example of the first contract account being a DID account, the holder key list of the first contract account being the public key list of the DID account, and the key corresponding to the first private key being the public key corresponding to the first private key.
[0100] For example, such as Figure 2 As shown, in step a1, the first holder sends an account creation request to the identifier registration authority in the VC system, which carries the first holder's blockchain address (e.g., "0x2c7536e3605d9c") and the public key corresponding to the first holder's first private key (e.g., "4e3b81af9c2234cad09d679ce6035ed139234").
[0101] a2. Generate a first contract account based on the account creation request, wherein the holder key list of the first contract account contains the key corresponding to the first private key.
[0102] Among them, the first contract account is the DID account registered by the first holder with the identifier registration authority.
[0103] The holder key list refers to the key list of the first contract account, used to associate and store the blockchain address of the holder of the first contract account with the key corresponding to the holder's private key. Specifically, the holder key list can be the public key list of the first contract account, used to associate and store the blockchain address of the holder of the first contract account with the public key corresponding to the holder's private key.
[0104] For example, such asFigure 2 As shown, after receiving the account creation request from the first holder, the identifier registration authority generates a new DID account (e.g., "did:crowdfunding: 0x8688f14154d2ab5E05229a7C3FB2393d02e68E06") and associates the public key corresponding to the first private key with the first holder's blockchain address in the public key list of the new DID account. The identifier registration authority stores the blockchain address of the new DID account and its public key list. Thus, the creation of the first contract account is completed, and this new DID account serves as the first contract account.
[0105] For example, such as Figure 3 As shown, in the blockchain smart contract architecture, the implementation of steps a1~a2 specifically includes the following execution steps:
[0106] 1. The user (i.e. the first holder) initiates a deployment contract transaction on the blockchain. The input parameters include the default controller of the new DID account (i.e. the blockchain address of the first holder), the default controller public key (i.e. the public key corresponding to the first holder's private key), and other parameters otherParams.
[0107] 2. Save the default controller's public key (i.e., the public key corresponding to the first holder's private key) to the new DID account's holder public key list. The first holder also needs to deposit funds into the first contract account to purchase the target virtual asset before the public key corresponding to the first holder's private key is added to the new DID account's holder public key list. The first holder is also the target buyer of the target virtual asset.
[0108] 4. Save the other data information otherParams of the DID document for the new DID account, and complete the creation of the new DID account (i.e., the first contract account).
[0109] Please refer to Figure 3 , Figure 3This is a schematic diagram of an architecture for a blockchain smart contract used in the virtual asset exchange in this application embodiment. After the first contract account is created, based on the blockchain smart contract, the user uses the first contract account to create a crowdfunding proposal for multiple holders to jointly purchase a virtual asset. For example, in step 101, the first holder can input information such as the sales contract address of the target virtual asset to be purchased (e.g., "0xF57B2c51dED3A29e6891aba85459d600256Cf317"), the target crowdfunding amount of the target virtual asset (e.g., "99"), and the asset number of the target virtual asset (e.g., "10010") based on the first contract account, thereby initiating a crowdfunding proposal for the target virtual asset. After the crowdfunding proposal is successfully initiated, a crowdfunding proposal number will be returned, thus obtaining crowdfunding proposal information including the crowdfunding proposal number, asset number, sales contract address, and target crowdfunding amount of the target virtual asset. For example, as shown... Figure 3 As shown, in the blockchain smart contract architecture, the implementation of step 101 specifically includes the following execution steps:
[0110] 1. The smart contract determines that the user who initiates the crowdfunding proposal must be a holder in the list of holders' public keys.
[0111] 2. Create a new unique proposal number.
[0112] 3. Create a new crowdfunding proposal. The crowdfunding proposal includes the crowdfunding proposal ID (proposalId), the target virtual asset's sales contract address (nftSellContract), the target crowdfunding amount for the target virtual asset (nftPrice), the target virtual asset's asset ID (nftCoinId), the crowdfunding voting details for the proposal (voteList, currently empty), the purchase amount already raised for the target virtual asset (hasFundAmount, currently empty), and whether the proposal was successful (ifSuccess, currently unsuccessful).
[0113] 4. Return the proposal number to the user.
[0114] 102. Based on the crowdfunding proposal information, identify the target buyer who will deposit funds into the first contract account to purchase the target virtual asset.
[0115] Among them, target buyers refer to users who participate in crowdfunding to purchase target virtual assets.
[0116] There are several ways to identify the target buyer in step 102, including, for example:
[0117] (1) Users who deposit funds into the first contract account to purchase the target virtual asset are directly identified as target buyers. In this case, step 102 may specifically include the following steps 1021A~1022A:
[0118] 1021A. Identify the intended purchaser who will deposit funds into the first contract account to purchase the target virtual asset, and the amount deposited by the intended purchaser into the first contract account.
[0119] 1022A. The intended purchaser who deposits funds into the first contract account to purchase the target virtual asset is identified as the target purchaser; and the amount deposited by the intended purchaser into the first contract account is taken as the target investment amount of the target purchaser for the target virtual asset.
[0120] (2) When it is detected that a potential buyer has deposited funds into the first contract account to purchase the target virtual asset, it is first checked whether the amount raised in the first contract account for purchasing the target virtual asset has reached the target crowdfunding amount; if the amount raised has not reached the target crowdfunding amount, the potential buyer is then identified as the target buyer. At this time, step 102 may specifically include the following steps 1021B~1023B:
[0121] 1021B. Receive purchase requests from potential buyers regarding the crowdfunding proposal information.
[0122] Among them, a potential buyer refers to a blockchain account that issues a request to purchase the target virtual asset.
[0123] The purchase request may include information such as the amount of funds the prospective buyer will contribute to the target virtual asset, the crowdfunding proposal number of the target virtual asset, the prospective buyer's blockchain address, and the prospective buyer's public key.
[0124] For example, after the crowdfunding proposal information for the target virtual asset is generated in step 101, each blockchain account can view the crowdfunding proposal information for the target virtual asset. After viewing the crowdfunding proposal information for the target virtual asset, a potential buyer can initiate a transaction to the first contract account, provided that the account wallet has sufficient funds and the account authorization contract can transfer assets. Specifically, the potential buyer enters information such as the crowdfunding proposal number of the target virtual asset, the potential buyer's blockchain address, the potential buyer's public key, and the potential buyer's investment amount, thereby initiating a purchase request for the target virtual asset.
[0125] 1022B. Determine whether the amount raised in the crowdfunding proposal is less than the target crowdfunding amount.
[0126] 1023B. If the amount raised is less than the target crowdfunding amount, the amount of funds contributed by the prospective buyer will be deposited into the first contract account, and the prospective buyer will be identified as the target buyer.
[0127] The amount raised refers to the amount already raised in the first contract account for the purchase of the target virtual asset.
[0128] For example, each time a target buyer is identified, the relevant information carried by the purchase request is saved to the crowdfunding proposal of the target virtual asset, and the target buyer's contribution amount is added to it as the raised amount in the first contract account. In step 1022B, it is directly detected whether the accumulated contribution amount of the target buyer is less than the target crowdfunding amount.
[0129] If the accumulated amount of funds contributed by the target buyers is less than the target crowdfunding amount, it can be determined that the amount raised is less than the target crowdfunding amount. In step 1023B, the prospective buyers can be directly identified as target buyers, and the funds contributed by the prospective buyers can be used as the target contribution amount of the target buyers and deposited into the first contract account.
[0130] If the total amount of funds raised by the target buyers is greater than or equal to the target crowdfunding amount, it can be determined that the amount raised is greater than or equal to the target crowdfunding amount, proving that the crowdfunding proposal has been successfully crowdfunded. No further processing is required, or a purchase failure notification message will be sent to the potential buyers.
[0131] 103. Add the target buyer's key to the holder key list of the first contract account.
[0132] The holder key list is a list used to store the keys of the target purchaser, specifically a list used to store the public keys of the holder of the first contract account.
[0133] For example, after identifying the target buyer, the target buyer's public key and blockchain address 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 thus becomes the controller of the first contract account, which facilitates the target buyer's subsequent use and transfer of the target virtual asset.
[0134] 104. 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.
[0135] Specifically, "the amount raised has reached the target crowdfunding amount" can mean that the amount raised is greater than or equal to the target crowdfunding amount.
[0136] For example, such as Figure 3 As shown, by calling the ERC721 or ERC1155 interface function in the blockchain's smart contract, the target virtual asset can be transferred to the first contract account, thereby setting the target virtual asset as the virtual asset of the first contract account.
[0137] By using crowdfunding proposal information for the target virtual asset generated based on a pre-defined first contract account, the target buyers who deposit funds into the first contract account to purchase the target virtual asset are identified. The key of the target buyer is added to the holder key list of the first contract account. When the amount raised in the first contract account reaches the target crowdfunding amount for the target virtual asset, the target virtual asset is set as the virtual asset of the first contract account. At this point, the first contract account successfully purchases the target virtual asset, and the first contract account becomes the controller of the target virtual asset. On the one hand, since there can be multiple users (i.e., target buyers) who deposit funds into the first contract account to purchase the target virtual asset, crowdfunding for the target virtual asset can be realized. This approach avoids the problem of existing NFT virtual asset transactions being unable to be traded due to excessively high prices. Furthermore, once the target virtual asset is successfully purchased by the first contract account, the first contract account becomes the controller of the target virtual asset. All target buyers whose keys have been added to the first contract account's holder key list also become holders of the first contract account. This allows one DID account to be controlled by multiple users, enabling multiple users to simultaneously enjoy the same virtual asset and its rights. Therefore, multiple holders can simultaneously enjoy the rights to use and transfer the target virtual asset, thus avoiding the problem that NFT virtual asset rights can only be enjoyed by a single user. Therefore, this application's embodiment solves the problems of existing NFT virtual asset transactions being unable to be traded due to excessively high prices and the problem that NFT virtual asset rights can only be enjoyed by a single user.
[0138] To determine whether the funds raised in the first contract account are sufficient to purchase the target virtual asset, and thus whether to proceed with the transaction to purchase the target virtual asset using the first contract account, the process may further include, prior to step 104: determining whether the funds raised in the first contract account have reached the target crowdfunding amount. There are various ways to "determine whether the funds raised in the first contract account have reached the target crowdfunding amount," including, for example:
[0139] (i) There are multiple target buyers, and the first contract account limits the amount each target buyer can purchase the same amount of the target virtual asset. In this case, it can be determined whether the amount raised has reached the target crowdfunding amount by checking whether the number of target buyers has reached a preset number. "Determining whether the amount raised in the first contract account has reached the target crowdfunding amount" can specifically include the following steps b1~b2:
[0140] b1. Determine the number of the target buyers.
[0141] b2. When the number of target buyers reaches a preset number, determine that the amount raised has reached the target crowdfunding amount.
[0142] For example, if the target crowdfunding amount for the target virtual asset is 99 yuan, and the first contract account restricts each target buyer to purchase only 33 yuan, then the preset number is 99 / 33=3 people. When the number of target buyers reaches 3, it can be directly determined that the amount raised has reached the target crowdfunding amount.
[0143] Since each target buyer purchases the same amount of the target virtual asset, the amount raised can be quickly determined by checking whether the number of target buyers has reached the preset number to confirm whether the target crowdfunding amount has been reached.
[0144] (ii) Regardless of whether the first contract account limits the amount of target virtual assets each target buyer can purchase, the target investment amounts of each target buyer are directly summed as the raised amount, and compared with the target crowdfunding amount to determine whether the raised amount has reached the target crowdfunding amount. At this point, "determining whether the raised amount in the first contract account has reached the target crowdfunding amount" can specifically include the following steps c1~c2:
[0145] c1. Add up the target investment amounts of each target buyer to obtain the amount raised in the first contract account.
[0146] c2. If the amount raised is greater than or equal to the target crowdfunding amount, then it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
[0147] For example, after generating the crowdfunding proposal information for the target virtual asset, the target buyers who deposit the target amount of funds for the target virtual asset into the first contract account are: blockchain accounts 1, 2, and 3. The funds deposited by blockchain accounts 1, 2, and 3 into the first contract account are 20 yuan, 30 yuan, and 49 yuan respectively. Assuming the target crowdfunding amount for the target virtual asset is 99 yuan, since the target amounts of each target buyer (i.e., blockchain accounts 1, 2, and 3) (20 yuan, 30 yuan, and 49 yuan respectively) are added together, the amount already raised in the first contract account (i.e., 99 yuan) equals the target crowdfunding amount of the target virtual asset; therefore, it can be determined that the amount already raised in the first contract account has reached the target crowdfunding amount.
[0148] For example, such as Figure 3As shown, in the blockchain smart contract architecture, the implementation of steps 102-104 specifically includes the following execution steps:
[0149] 1. Determine if the current crowdfunding proposal exists and is not yet closed. Retrieve the proposal details using the proposal ID (proposalId). If the details exist and are successful, continue.
[0150] 2. The system invokes the ERC20 interface within the blockchain's smart contract to transfer the target purchaser's intended investment amount to the first contract account. The ERC20 interface is used for cryptocurrency transactions.
[0151] 3. If the target buyer has not yet been added to the controller key list (controllerMap) of the first contract account, the target buyer's blockchain address and public key can be added to the controller key list, and the target buyer becomes the controller of the first contract account.
[0152] 4. Create a new user vote. The vote should include the crowdfunding proposal ID (proposalId), the target purchaser's target funding amount (fundAmount), and the target purchaser's blockchain address. Save the user vote to the crowdfunding proposal and add it to the amount already raised for the target virtual asset (hasFundAmount, i.e., the amount raised).
[0153] 5. Determine whether the amount raised has reached the upper limit. For example, for the asset number "10010" in the crowdfunding proposal above, has it raised more than the target crowdfunding amount of "99 yuan" for the target virtual asset?
[0154] 6. If the amount exceeds 99 yuan, the crowdfunding proposal will be successfully set, and the purchase interface of the sales contract address will be called to complete the crowdfunding purchase of the target virtual asset.
[0155] 7. The NFT contract will deduct the amount raised (99 yuan) from the first contract account and transfer the raised amount to the seller (other users / maybe DID account). The NFT contract's transfer interface will transfer the target virtual asset to the first contract account.
[0156] Furthermore, after the target virtual asset is acquired by the first contract account, the holder of the corresponding key in the first contract account's key list (hereinafter referred to as the "holder of the first contract account") can also transfer the target virtual asset. There are several ways for the holder of the first contract account to transfer the target virtual asset, including, for example:
[0157] (i) If one holder initiates a transfer transaction request, and multiple holders agree, all target virtual assets are transferred. In this case, if... Figure 4The "transfer operation of the target virtual asset" shown can specifically include the following steps 401-404, wherein:
[0158] 401. Obtain the first transfer request of the target virtual asset from the second holder corresponding to any key in the holder key list.
[0159] The first transfer request refers to the transfer request initiated by the second holder of the target virtual asset when the entire target virtual asset needs to be transferred.
[0160] The second holder refers to the holder who transfers the target virtual asset among the holders corresponding to the holder key list.
[0161] For example, any holder corresponding to the holder key list can initiate a transfer request to transfer the target virtual asset. Any holder (i.e., the second holder) inputs 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 target sales amount of the target virtual asset, and other transfer request information to initiate the first transfer request to transfer the target virtual asset.
[0162] For example, such as Figure 3 As shown, in the blockchain smart contract architecture, step 401 specifically includes the following execution steps:
[0163] 1. Determine if the original crowdfunding proposal exists.
[0164] 2. Determine that the initiator of the transfer transaction (i.e., the second holder) must be the corresponding holder in the holder key list (controllerMap).
[0165] 3. Create a new, incrementing, unique proposal number.
[0166] 4. Create a new sale proposal. The sale proposal includes: sale proposal number (lastProposalId), crowdfunding proposal number (crowdfundingProposalId), sale contract address (nftSellContract), target sale price (nftSellPrice), asset number (nftCoinId), a list of voting user addresses among the holders of the first contract account (voteAddressList, currently empty), the amount of agreed funds (hasAgreeUserCoinTotal, currently not 0), and whether the sale proposal was successful (ifSuccess, currently not successful).
[0167] 402. Obtain the voting results of each holder corresponding to the holder key list regarding the first transfer request.
[0168] The consent vote result is used to indicate whether each holder in the holder key list agrees to transfer the target virtual asset.
[0169] For example, the holders of the key list for the first contract account are: User A, User B, and User C. The voting results of each holder on the first transfer request are: User A agrees to transfer the target virtual asset, User B agrees to transfer the target virtual asset, and User C disagrees to transfer the target virtual asset.
[0170] 403. Based on the voting results, determine the amount of consent for the first transfer request.
[0171] The agreed amount refers to the total amount of funds contributed by the holders who agree to transfer the target virtual asset.
[0172] For example, the target crowdfunding amount for the first contract account to purchase the target virtual asset is 99 yuan. The holders corresponding to the key list are: user A, user B, and user C. The target investment amounts for users A, B, and C for the target virtual asset are 29 yuan, 50 yuan, and 20 yuan, respectively. If user A and user B agree to transfer the target virtual asset, and user C does not agree to transfer the target virtual asset, then the agreed amount for the first transfer request is 79 yuan.
[0173] 404. When the agreed amount meets the preset conditions, generate the sales proposal information for the target virtual asset.
[0174] The sales proposal information refers to the relevant information of the sales proposal of the target virtual asset. 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, the sales contract address of the target virtual asset, the asset number of the target virtual asset, and other information.
[0175] The preset conditions can be that the agreed amount is greater than or equal to half of the target crowdfunding amount, or that the agreed amount is greater than or equal to two-thirds of the target crowdfunding amount, etc. The specific settings can be set according to the actual business scenario requirements. There are no restrictions on the specific setting of the preset conditions here.
[0176] 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 for the first contract account to purchase the target virtual asset is 99 yuan and the agreed amount for the first transfer request is 79 yuan, then the agreed amount is greater than half of the target crowdfunding amount. Therefore, the second holder can input 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 target sales amount of the target virtual asset, etc., as the sales proposal information of the target virtual asset.
[0177] For example, taking the preset condition that the agreed amount is greater than or equal to half of the target crowdfunding amount as an example, such as... Figure 3 As shown, in the blockchain smart contract architecture, steps 402-404 specifically include the following execution steps:
[0178] 1. Determine that the initiator of the transfer transaction (i.e., the second holder) must be the corresponding holder in the holder key list (controllerMap).
[0179] 2. Obtain the target amount of funding from potential buyers by analyzing the content of the crowdfunding proposal.
[0180] 3. Save the blockchain address and agreed amount of the voting users among the holders of the first contract account into the sale proposal content. For example, if user B's target investment amount is "50 yuan", and user B votes, save the agreed amount "50".
[0181] 4. Determine if the agreed amount reaches half of the target crowdfunding amount. For example, if the target crowdfunding amount for the target virtual asset is 99 yuan and the agreed amount is 50 yuan, then the agreed amount is 50 yuan ≥ 99 / 2.
[0182] 5. If the agreed amount reaches half of the target crowdfunding amount, the sales proposal is successfully set.
[0183] 6. Call the selling interface of the selling contract address, enter the asset number of the target virtual asset to be sold, the target selling amount and other information, to consign the target virtual asset for sale and wait for users to purchase.
[0184] By obtaining the first transfer request of the target virtual asset from the second holder corresponding to any key in the holder key list, and obtaining the voting results of each holder in the holder key list on the first transfer request, the agreed amount of the first transfer request is determined; when the agreed amount meets the preset conditions, the sale proposal information of the target virtual asset is generated, which can realize that the target virtual asset can be transferred or sold by multiple holders.
[0185] Once the sale proposal information for the target virtual asset is generated, DID accounts other than the first contract account can purchase the target virtual asset. Furthermore, after other DID accounts successfully purchase the target virtual asset from the first contract account, each holder in the first contract account's key holder list can withdraw the funds obtained from the sale of the target virtual asset. That is, after step 404 generates the sale proposal information for the target virtual asset, the following steps d1~d4 can also be included:
[0186] d1. Based on the sales proposal information and the preset second contract account, deposit the funds of the target sales amount into the first contract account.
[0187] The second contract account is a DID account registered with the identifier registry.
[0188] The target selling amount refers to the selling price at which the target virtual asset is transferred from the first contract account to the second contract account.
[0189] The process of other DID accounts (such as the second contract account) purchasing the target virtual asset is similar to the process in steps 101 to 104 above (i.e., the process of the first contract account purchasing the target virtual asset). Please refer to the relevant instructions above. For the sake of simplicity, it will not be repeated here.
[0190] d2. Transfer the target virtual asset from the first contract account to the second contract account.
[0191] For example, the blockchain address to which the target virtual asset belongs is changed from the blockchain address of the first contract account to the blockchain address of the second contract account.
[0192] d3. Determine the amount of cash that the target buyer can withdraw from their account based on the target crowdfunding amount, the target investment amount, and the target sales amount.
[0193] The amount raised includes the target investment amount from the target buyers.
[0194] The 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.
[0195] For example, the target buyer can withdraw funds from the target sales amount according to their contribution ratio in the crowdfunding proposal. In this case, step d3 may specifically include: determining the target buyer's contribution ratio in the crowdfunding proposal based on the target crowdfunding amount and the target buyer's target contribution amount; and determining the withdrawal amount from the target buyer's account based on the target buyer's contribution ratio in the crowdfunding proposal and the target sales amount.
[0196] For example, the target crowdfunding amount for the first contract account to purchase a target virtual asset is 99 yuan. The holders of the key list (i.e., the target buyers) are user A, user B, and user C. The target contributions from users A, B, and C for the target virtual asset are 29 yuan, 50 yuan, and 20 yuan, respectively. First, the contribution ratios of the target buyers (users A, B, and C) in the crowdfunding proposal can be calculated as 29 / 99, 50 / 99, and 20 / 99, respectively. Assuming the target virtual asset is transferred from the first contract account to the second contract account for a target sale amount of 198 yuan, the withdrawal amounts from the accounts of the target buyers (users A, B, and C) are 58 yuan, 100 yuan, and 40 yuan, respectively.
[0197] d4. According to the withdrawal amount of the account, withdraw the funds of the target sales amount from the first contract account to the blockchain address of the target buyer.
[0198] For example, such as Figure 3 As shown, in the blockchain smart contract architecture, the implementation of steps d1 to d4 specifically includes the following execution steps:
[0199] 1. Determine that the initiator of the transfer transaction (i.e., the second holder) must be the corresponding holder in the holder key list (controllerMap).
[0200] 2. It is determined that the sale proposal must exist and have been successfully completed.
[0201] 3. Check the sales contract to see if the sale has been successful. This means that the holder of the target virtual asset will no longer be the first contract account.
[0202] 4. Obtain the target amount of funding from the target buyers by analyzing the crowdfunding proposal and calculate their contribution ratio.
[0203] 5. Calculate the withdrawal amount of the target buyer's account based on their investment ratio. For example, if the target selling price of the target virtual asset NFT is 199 yuan, the target investment amount of the target buyer (user B) during the crowdfunding purchase is 50 yuan, and the original crowdfunding amount for the target virtual asset NFT was 99 yuan, then user B will be able to withdraw 100.5 yuan.
[0204] 6. The first contract account will call the ERC20 interface to transfer the account withdrawal amount to the target buyer, and the target buyer will successfully withdraw the funds.
[0205] By determining the target crowdfunding amount, target investment amount, and target sales amount, the withdrawal amount for the target buyer's account is determined. Based on the withdrawal amount, the funds of the target sales amount are withdrawn from the first contract account to the target buyer's blockchain address, so that the target buyer can enjoy the sales withdrawal amount in proportion to the investment amount, thereby improving the fairness of the buying and selling of virtual assets.
[0206] (ii) A holder can initiate a transfer transaction request to transfer a portion of the target virtual asset owned by that holder without the consent of other holders. In this case, if... Figure 5 As shown, "transferring the target virtual asset" can specifically include the following steps 501-504, wherein:
[0207] 501. Based on the second transfer request of the target virtual asset by a third holder corresponding to any key in the holder key list, generate transfer request information for the target virtual asset.
[0208] In this context, a third holder refers to the holder among the holders in the holder key list who is transferring the target virtual asset. The difference between a second holder and a third holder is that a second holder applies to transfer all of the target virtual assets, while a third holder applies to transfer only a portion of their holdings in the target virtual assets.
[0209] The transfer request information may include the transfer amount of the target virtual asset by the third holder (i.e., the amount held by the third holder), 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 other information.
[0210] The second transfer request refers to a transfer request initiated by a third holder when the third holder needs to transfer the target virtual asset.
[0211] For example, in a blockchain smart contract architecture, a third-party holder initiates a second transfer request to transfer the target virtual asset by inputting transfer request information such as 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 third-party holder's holding amount, thereby generating a transfer proposal from the third-party holder. The transfer proposal from the third-party holder includes information such as the crowdfunding proposal number of the target virtual asset, the third-party holder's holding amount, the sales contract address of the target virtual asset, and the asset number of the target virtual asset. Thus, the transfer request information of the target virtual asset can be obtained.
[0212] 502. Determine the transferee who deposits the transfer amount into the first contract account.
[0213] The transferee refers to the blockchain account that acquires a portion of the target virtual assets held by a third party.
[0214] The method for determining the transferee in step 502 is similar to the method for determining the target buyer in step 102. For details, please refer to the relevant explanations above, which will not be repeated here.
[0215] 503. Add the key corresponding to the transferee's second private key to the holder's key list.
[0216] The implementation of step 503 is similar to that of step 103. For details, please refer to the relevant instructions above. It will not be repeated here.
[0217] 504. Remove the key corresponding to the third private key of the third holder from the holder's key list.
[0218] Among them, the third private key is the private key of the third holder.
[0219] By adding the key corresponding to the transferee's second private key to the holder's key list, the target virtual asset can be transferred only to the share enjoyed by a single user. This avoids the problem of some users wanting to sell the target virtual asset while others do not, thus ensuring the normal trading of users' virtual assets.
[0220] Furthermore, after the target virtual asset is acquired by the first contract account, the holder of the first contract account can also use the target virtual asset. For example, such as... Figure 6 As shown, "the holder of the first contract account performs usage operations on the target virtual asset," which may specifically include the following steps 601-603:
[0221] 601. Obtain the usage request of the target virtual asset from the fourth holder corresponding to any key in the holder key list.
[0222] The use request carries a target verification credential that is signed with the fourth holder's claim data using the fourth holder's fourth private key.
[0223] Specifically, the fourth holder's declaration data may 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.
[0224] The fourth holder refers to the holder among the holders in the holder key list who initiates a request to use the target virtual asset.
[0225] The fourth private key refers to the private key of the fourth holder.
[0226] The target verification credential refers to the verification credential obtained by signing the claim data of the fourth holder using the fourth private key.
[0227] For example, such as Figure 2 As shown, firstly, the fourth holder can use information such as the sales contract address and asset number of the target virtual asset as their claim data. They then sign this claim data using their fourth private key to obtain their target verification credential. Next, the fourth holder sends a usage request carrying the target verification credential to the service provider of the target virtual asset, requesting permission to use the asset. The service provider can then receive this usage request from the fourth holder.
[0228] 602. Obtain the verification result of the target verification credential through the service provider of the target virtual asset.
[0229] After receiving a usage request from a fourth holder, the service provider will verify the target authentication credentials to determine the authenticity and validity of the fourth holder's identity and the authenticity and validity of the target virtual assets, thus obtaining the verification result. For example... Figure 2 As shown, exemplarily, the process of verifying a target verification credential through a service provider of the target virtual asset may specifically include: sending the target verification credential to the service provider; and querying the validity of the target verification credential from a preset credential issuer through the service provider to obtain the verification result.
[0230] 603. When the verification result is successful, the service provider shall provide the fourth holder with the right to use the target virtual asset.
[0231] For example, such as Figure 3 As shown, in the blockchain smart contract architecture, the implementation of steps 601-603 specifically includes the following execution steps:
[0232] 1. The user corresponding to the holder key list (i.e., the fourth holder) can use their own private key to sign and generate a target verification credential for NFT ownership proof. Specifically, the asset ID (nffcoinId) of the target virtual asset, the contract address (nftContractAddr) of the target virtual asset, and the blockchain address of the first contract account are used as claim data. The fourth holder's private key (privateKey) is used to sign the claim data, ultimately generating a self-proving VC (i.e., target verification credential).
[0233] 2. The fourth holder presents the target verification certificate to the verifier (such as the game provider, shopping website, or other websites or applications that can use the target virtual asset).
[0234] 3. The verifier verifies the target verification credential, and the specific verification process can be as follows:
[0235] 3.1 Obtain the key of the fourth holder from the key list of holders of the first contract account.
[0236] 3.2. By obtaining the key of the fourth holder from the key holder list, verify whether the signature of the target verification credential is correct.
[0237] 3.3 If the signature of the aforementioned target verification credential 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.
[0238] 3.4 If the holder of the target virtual asset is the first contract account and the signature of the fourth holder is correct, then the fourth holder is the controller / holder of the target virtual asset, and the verification is successful.
[0239] 4. If the target verification certificate is successfully verified, the fourth holder can enjoy the right to use the target virtual asset from the verifier.
[0240] By obtaining the usage request of the target virtual asset from the fourth holder corresponding to any key in the holder key list; obtaining the verification result of the target verification certificate through the service provider of the target virtual asset; when the verification result is successful, providing the fourth holder with the right to use the target virtual asset through the service provider; since as long as the verification is successful, the holder corresponding to any key in the holder key list can enjoy the right to use the target virtual asset, the same virtual asset can be enjoyed by multiple users, avoiding the problem that the rights and interests of NFT virtual assets can only be enjoyed by a single user.
[0241] like Figure 9 As shown, in order to better implement the above methods, this embodiment of the invention also provides a virtual asset trading system, which includes a transaction management terminal, a user terminal, and a service provider.
[0242] Specifically, the transaction management terminal can be as follows: Figure 2 The identifier registration authority (such as a blockchain network) in the VC system shown.
[0243] Specifically, the user end can be as follows: Figure 2 The holder terminal in the VC system shown.
[0244] Specifically, the service provider can be, for example, Figure 2 The verifier terminal in the VC system shown.
[0245] Specifically, the transaction management terminal can be used to execute the following virtual asset trading methods applied to the transaction management terminal, which include:
[0246] The system receives crowdfunding proposal information for a target virtual asset sent by the user terminal. The crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset, a first contract account for purchasing the target virtual asset, and a target buyer who deposits funds into the first contract account for purchasing the target virtual asset.
[0247] Based on the crowdfunding proposal information, the target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset.
[0248] Add the target buyer's key to the holder key list of the first contract account;
[0249] 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.
[0250] Furthermore, the virtual asset trading method applied to the transaction management terminal specifically includes:
[0251] Receive an account creation request from the user terminal for 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;
[0252] 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 contains the key corresponding to the first private key.
[0253] Furthermore, the virtual asset trading method applied to the transaction management terminal specifically includes:
[0254] Receive a first transfer request sent by the user terminal, wherein the first transfer request is a transfer request for the target virtual asset by the second holder corresponding to any key in the holder key list;
[0255] In response to the first transfer request, obtain the voting results of each holder corresponding to the holder key list regarding the first transfer request;
[0256] Based on the voting results, the amount agreed upon for the first transfer request is determined;
[0257] When the agreed amount meets the preset conditions, a sales proposal information for the target virtual asset is generated, wherein the sales proposal information includes the target sales amount of the target virtual asset.
[0258] Furthermore, the amount raised includes the target investment amount of the target buyer, and the virtual asset trading method applied to the transaction management terminal specifically includes:
[0259] Receive the transfer information sent by the user terminal, wherein the transfer information includes the sales proposal information and a second contract account for depositing the target sales amount into the first contract account;
[0260] The target virtual asset is transferred from the first contract account to the second contract account;
[0261] The amount of cash that the target buyer can withdraw from their account is determined based on the target crowdfunding amount, the target investment amount, and the target sales amount.
[0262] According to the withdrawal amount of the account, the funds of the target sales amount are withdrawn from the first contract account to the blockchain address of the target buyer.
[0263] Furthermore, the virtual asset trading method applied to the transaction management terminal specifically includes:
[0264] The system receives a second transfer request sent by the user terminal, wherein the second transfer request carries transfer request information of the target virtual asset, and the second transfer request is a transfer request of the target virtual asset by a third holder corresponding to any key in the holder key list, and the transfer request information includes the transfer amount of the target virtual asset by the third holder;
[0265] In response to the second transfer request, determine the transferee of the funds to be deposited into the first contract account for the transfer amount;
[0266] Add the key corresponding to the transferee's second private key to the holder's key list;
[0267] Remove the key corresponding to the third private key of the third holder from the list of holder keys.
[0268] Furthermore, the target buyers include multiple ones, and each target buyer has the same target investment amount. The virtual asset trading method applied to the transaction management terminal specifically includes: determining the number of target buyers;
[0269] When the number of target buyers reaches a preset number, it is determined that the amount raised has reached the target crowdfunding amount.
[0270] Furthermore, the target buyers include multiple individuals, and the virtual asset trading method applied to the transaction management terminal specifically includes:
[0271] The target investment amounts of each target buyer are summed up to obtain the amount raised in the first contract account.
[0272] If the amount raised is greater than or equal to the target crowdfunding amount, then it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
[0273] Furthermore, the virtual asset trading method applied to the transaction management terminal specifically includes:
[0274] Receive a purchase request triggered by the user terminal in response to the crowdfunding proposal information, wherein the purchase request carries the amount of funds to be contributed by the interested buyer for the target virtual asset;
[0275] In response to the purchase request, determine whether the amount raised is less than the target crowdfunding amount;
[0276] If the amount raised is less than the target crowdfunding amount, then the funds of the intended buyer will be deposited into the first contract account, and the intended buyer will be identified as the target buyer.
[0277] Specifically, the user terminal can be used to execute the following virtual asset trading methods applied to the user terminal, which include:
[0278] Send 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 for purchasing the target virtual asset, and the target buyer who deposits funds into the first contract account for purchasing the target virtual asset;
[0279] The transaction management terminal receives first result information 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 holder key list of the first contract account;
[0280] When the amount raised in the first contract account reaches the target crowdfunding amount, the transaction management terminal receives a second result information, wherein the second result information is used to indicate that the target virtual asset has been set as the virtual asset of the first contract account.
[0281] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0282] A request to create an account for the first holder is sent 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 blockchain address of the first holder 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.
[0283] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0284] A first transfer request is sent to the transaction management terminal to trigger the transaction management terminal to obtain the consent voting results of each holder corresponding to the holder key list for the first transfer request; based on the consent voting results, the consent amount of the first transfer request is determined; when the consent amount meets the preset conditions, the sale proposal information of the target virtual asset is generated; wherein, the first transfer request is a transfer request of the target virtual asset by the second holder corresponding to any key in the holder key list; wherein, the sale proposal information includes the target sale amount of the target virtual asset.
[0285] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0286] Sending transfer information to the transaction management terminal triggers the transaction management terminal to transfer the target virtual asset from the first contract account to the second contract account; determining the withdrawal amount of the target buyer's account based on the target crowdfunding amount, the target investment amount, and the target sales amount; and withdrawing the funds of the target sales amount from the first contract account to the target buyer's blockchain address according to the account withdrawal amount; wherein, the transfer information includes the sales proposal information and the second contract account that deposited the funds of the target sales amount into the first contract account.
[0287] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0288] A second transfer request is sent to the transaction management terminal to trigger the transaction management terminal to determine the transferee of the funds deposited into the first contract account; the key corresponding to the transferee's second private key is added to the holder key list; the key corresponding to the third holder's third private key is deleted from the holder key list; wherein, the second transfer request carries transfer request information of the target virtual asset, the second transfer request is a transfer request of the target virtual asset by a third holder corresponding to any key in the holder key list, and the transfer request information includes the transfer amount of the target virtual asset by the third holder.
[0289] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0290] Send a request to the service provider for the use of the target virtual asset by the fourth holder corresponding to any key in the holder key list, wherein the use request carries a target verification credential after the fourth holder's declaration data is signed using the fourth holder's fourth private key;
[0291] When the verification result of the target verification credential is successful, the service provider, in response to the use request, provides the fourth holder with the right to use the target virtual asset.
[0292] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0293] The target verification credential is sent to the service provider to trigger the service provider to query the validity of the target verification credential from a preset credential issuer and obtain the verification result.
[0294] Furthermore, the target buyers include multiple individuals, each with the same target investment amount. This virtual asset trading method applied to the user end specifically includes:
[0295] The crowdfunding proposal information of the target virtual asset is sent 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, the amount raised is determined to have reached the target crowdfunding amount.
[0296] Furthermore, the target buyers include multiple individuals, and the virtual asset trading method applied to the user end specifically includes:
[0297] The crowdfunding proposal information of the target virtual asset is sent to the transaction management terminal to trigger the transaction management terminal to accumulate the target investment amount of each target buyer to obtain the amount raised in the first contract account; if the amount raised is greater than or equal to the target crowdfunding amount, it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
[0298] Furthermore, the virtual asset trading method applied to the user end specifically includes:
[0299] A purchase request triggered by the crowdfunding proposal information is sent to the transaction management terminal to trigger the transaction management terminal to determine whether the amount raised is less than the target crowdfunding amount; if the amount raised is less than the target crowdfunding amount, the funds of the intended buyer's contribution are deposited into the first contract account, and the intended buyer is identified as the target buyer; wherein, the purchase request carries the amount of the intended buyer's contribution to the target virtual asset.
[0300] Specifically, the detailed implementation of the virtual asset trading method applied to the transaction management terminal, the detailed implementation of the virtual asset trading method applied to the user terminal, and its beneficial effects can be found in the above description. Figures 1 to 6 The explanations regarding the virtual asset trading methods shown are omitted here for the sake of simplicity.
[0301] To better implement the above methods, this embodiment of the 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, server, or other such device.
[0302] The terminal can be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, personal computer, etc.; the server can be a single server or a server cluster composed of multiple servers.
[0303] For example, in this embodiment, the method of the present invention will be described in detail by taking the virtual asset trading device specifically integrated into a smartphone as an example.
[0304] For example, such as Figure 7 As shown, the virtual asset trading device may include:
[0305] The generation unit 701 is used to generate crowdfunding proposal information for a target virtual asset based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset.
[0306] The determining unit 702 is used to determine, based on the crowdfunding proposal information, the target buyer who will deposit funds into the first contract account to purchase the target virtual asset;
[0307] The addition unit 703 is used to add the target buyer's key to the holder key list of the first contract account;
[0308] Transaction unit 704 is used to set the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount.
[0309] In some embodiments, the virtual asset trading device further includes a creation unit (not shown in the figure), which is specifically used for: Before generating crowdfunding proposal information for the target virtual asset based on a preset first contract account, the creation unit is used for:
[0310] 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;
[0311] A first contract account is generated based on the account creation request, wherein the holder key list of the first contract account contains the key corresponding to the first private key.
[0312] In some embodiments, after setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit 704 is specifically used for:
[0313] Obtain the first transfer request for the target virtual asset from the second holder corresponding to any key in the holder key list;
[0314] Obtain the voting results of each holder corresponding to the holder key list regarding the first transfer request;
[0315] Based on the voting results, the amount agreed upon for the first transfer request is determined;
[0316] When the agreed amount meets the preset conditions, a sales proposal information for the target virtual asset is generated, wherein the sales proposal information includes the target sales amount of the target virtual asset.
[0317] In some embodiments, the raised amount includes the target investment amount of the target buyer, and after generating the sale proposal information of the target virtual asset when the agreed amount meets preset conditions, the transaction unit 704 is specifically used for:
[0318] Based on the sales proposal information and the preset second contract account, the funds for the target sales amount are deposited into the first contract account;
[0319] The target virtual asset is transferred from the first contract account to the second contract account;
[0320] The amount of cash that the target buyer can withdraw from their account is determined based on the target crowdfunding amount, the target investment amount, and the target sales amount.
[0321] According to the withdrawal amount of the account, the funds of the target sales amount are withdrawn from the first contract account to the blockchain address of the target buyer.
[0322] In some embodiments, after setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit 704 is specifically used for:
[0323] Based on a second transfer request for the target virtual asset from a third holder corresponding to any key in the holder key list, transfer request information for the target virtual asset is generated, wherein the transfer request information includes the transfer amount of the target virtual asset by the third holder;
[0324] Identify the transferee who deposits the transfer amount into the first contract account;
[0325] Add the key corresponding to the transferee's second private key to the holder's key list;
[0326] Remove the key corresponding to the third private key of the third holder from the list of holder keys.
[0327] In some embodiments, the virtual asset trading device further includes a usage unit (not shown in the figure). After setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the usage unit is specifically used for:
[0328] Obtain a request for the use of the target virtual asset from the fourth holder corresponding to any key in the holder key list, wherein the request carries a target verification credential after the fourth holder's declaration data is signed using the fourth holder's fourth private key;
[0329] Obtain the verification result of the target verification credential through the service provider of the target virtual asset;
[0330] When the verification result is successful, the service provider shall provide the fourth holder with the right to use the target virtual asset.
[0331] In some embodiments, the using unit is specifically used for:
[0332] Send the target verification credential to the service provider;
[0333] The service provider queries the pre-defined credential issuer to determine the validity of the target verification credential and obtains the verification result.
[0334] In some embodiments, the target buyers include multiple individuals, each with the same target investment amount. Before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit 704 is specifically used for:
[0335] Determine the number of the target buyers;
[0336] When the number of target buyers reaches a preset number, it is determined that the amount raised has reached the target crowdfunding amount.
[0337] In some embodiments, the target buyers include multiple individuals, and before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the transaction unit 704 is specifically used for:
[0338] The target investment amounts of each target buyer are summed up to obtain the amount raised in the first contract account.
[0339] If the amount raised is greater than or equal to the target crowdfunding amount, then it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
[0340] In some embodiments, the determining unit 702 is specifically used for:
[0341] Receive a purchase request from a potential buyer regarding the crowdfunding proposal information, wherein the purchase request carries the amount of funds the potential buyer will contribute to the target virtual asset.
[0342] Determine whether the amount already raised is less than the target crowdfunding amount;
[0343] If the amount raised is less than the target crowdfunding amount, then the funds of the intended buyer will be deposited into the first contract account, and the intended buyer will be identified as the target buyer.
[0344] As can be seen from the above, the virtual asset trading device of this embodiment can generate crowdfunding proposal information for a target virtual asset based on a preset first contract account by the generation unit 701, wherein the crowdfunding proposal information includes the target crowdfunding amount of the target virtual asset; the determining unit 702 determines the target buyer who will deposit funds into the first contract account to purchase the target virtual asset based on the crowdfunding proposal information; the adding unit 703 adds the key of the target buyer to the holder key list of the first contract account; and the trading unit 704 sets the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount. On the one hand, since multiple users (i.e., target buyers) can deposit funds into the first contract account to purchase the target virtual asset, crowdfunding for the purchase of the target virtual asset can be achieved. This avoids the problem of existing NFT virtual asset transactions being unable to trade due to excessively high 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 target buyers whose keys have been added to the first contract account's holder key list become holders of the first contract account. This allows multiple holders to simultaneously enjoy the rights to use and transfer the target virtual asset; thus, it avoids the problem that NFT virtual asset rights can only be enjoyed by a single user. Therefore, the embodiments of this application solve the problems of existing NFT virtual asset transactions being unable to trade due to excessively high prices and the problem of NFT virtual asset rights being only enjoyed by a single user.
[0345] Accordingly, this application also provides an electronic device, which can be a terminal, such as a smartphone, tablet computer, laptop computer, touch screen, game console, personal computer (PC), personal digital assistant (PDA), or other terminal device. Figure 8 As shown, Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device 800 includes a processor 801 with one or more processing cores, a memory 802 with one or more computer-readable storage media, and a computer program stored on the memory 802 and executable on the processor. The processor 801 and the memory 802 are electrically connected. Those skilled in the art will understand that the electronic device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0346] The processor 801 is the control center of the electronic device 800. It connects various parts of the electronic device 800 through various interfaces and lines. By running or loading software programs and / or modules stored in the memory 802, and calling data stored in the memory 802, it executes various functions of the electronic device 800 and processes data, thereby performing overall monitoring of the electronic device 800.
[0347] In this embodiment, the processor 801 in the electronic device 800 loads the instructions corresponding to the processes of one or more applications into the memory 802 according to the following steps, and the processor 801 runs the applications stored in the memory 802 to realize various functions:
[0348] Crowdfunding proposal information for the target virtual asset is generated based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset;
[0349] Based on the crowdfunding proposal information, the target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset.
[0350] Add the target buyer's key to the holder key list of the first contract account;
[0351] 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.
[0352] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0353] Optional, such as Figure 8 As shown, the electronic device 800 also includes: a touch display screen 803, a radio frequency circuit 804, an audio circuit 805, an input unit 806, and a power supply 807. The processor 801 is electrically connected to the touch display screen 803, the radio frequency circuit 804, the audio circuit 805, the input unit 806, and the power supply 807. Those skilled in the art will understand that... Figure 8 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0354] The touch display screen 803 can be used to display a graphical user interface (GUI) and receive operation commands generated by the user interacting with the GUI. The touch display screen 803 may include a display panel and a touch panel. The display panel can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces of the electronic device. These graphical user interfaces can be composed of graphics, text, icons, video, and any combination thereof. Optionally, the display panel can be configured using a liquid crystal display (LCD), organic light-emitting diode (OLED), or other similar technologies. The touch panel can be used to collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel), generate corresponding operation commands, and execute the corresponding program according to the operation commands. Optionally, the touch panel may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch location and the signal generated by the touch operation, transmitting the signal to the touch controller. The touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 801. It can also receive and execute commands from the processor 801. The touch panel can cover the display panel. When the touch panel detects a touch operation on or near it, it transmits the information to the processor 801 to determine the type of touch event. Subsequently, the processor 801 provides corresponding visual output on the display panel based on the type of touch event. In this embodiment, the touch panel and the display panel can be integrated into the touch display screen 803 to achieve input and output functions. However, in some embodiments, the touch panel and the touch display screen 803 can be implemented as two independent components to achieve input and output functions. That is, the touch display screen 803 can also be used as part of the input unit 806 to achieve input functions.
[0355] The radio frequency circuit 804 can be used to transmit and receive radio frequency signals to establish wireless communication with network devices or other electronic devices, and to transmit and receive signals with network devices or other electronic devices.
[0356] Audio circuit 805 can be used to provide an audio interface between a user and an electronic device via a speaker and a microphone. Audio circuit 805 can convert received audio data into electrical signals and transmit them to the speaker, where the speaker converts them into sound signals for output. Conversely, the microphone converts collected sound signals into electrical signals, which are then received by audio circuit 805, converted back into audio data, and then processed by processor 801 before being transmitted via radio frequency circuit 804 to, for example, another electronic device, or output to memory 802 for further processing. Audio circuit 805 may also include an earphone jack to provide communication between peripheral headphones and electronic devices.
[0357] The input unit 806 can be used to receive input numbers, characters, or user characteristic information (such as fingerprints, iris, facial information, etc.), and to generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control.
[0358] Power supply 807 is used to supply power to various components of electronic device 800. Optionally, power supply 807 can be logically connected to processor 801 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. Power supply 807 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0359] although Figure 8 As not shown in the diagram, the electronic device 800 may also include a camera, sensor, wireless fidelity module, Bluetooth module, etc., which will not be described in detail here.
[0360] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0361] As can be seen from the above, the electronic device provided in this embodiment can determine the target buyer who deposits funds into the first contract account to purchase the target virtual asset based on the crowdfunding proposal information of the target virtual asset generated by the preset first contract account; add the key of the target buyer to the holder key list of the first contract account; and when the amount raised in the first contract account reaches the target crowdfunding amount of the target virtual asset, set the target virtual asset 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. On the one hand, since the user who deposits funds into the first contract account to purchase the target virtual asset (i.e., the target buyer) There can be multiple buyers, thus enabling crowdfunding purchases of the target virtual asset. Therefore, the electronic device provided in this embodiment avoids the problem of existing NFT virtual asset transactions failing due to excessively high prices. Furthermore, 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 target buyers whose keys have been added to the first contract account's holder key list become holders of the first contract account. This allows multiple holders to simultaneously enjoy the rights to use and transfer the target virtual asset. Therefore, the electronic device provided in this embodiment avoids the problem that NFT virtual asset rights can only be enjoyed by a single user. It is evident that the electronic device provided in this embodiment solves the problems of existing NFT virtual asset transactions failing due to excessively high prices and the problem of NFT virtual asset rights being limited to a single user.
[0362] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0363] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of computer programs that can be loaded by a processor to execute the steps in any of the virtual asset trading methods provided in embodiments of this application. For example, the computer program can execute the following steps:
[0364] Crowdfunding proposal information for the target virtual asset is generated based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset;
[0365] Based on the crowdfunding proposal information, the target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset.
[0366] Add the target buyer's key to the holder key list of the first contract account;
[0367] 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.
[0368] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0369] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0370] Since the computer program stored in the computer-readable storage medium can execute the steps in any of the virtual asset trading methods provided in the embodiments of this application, the beneficial effects that any of the virtual asset trading methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.
[0371] The foregoing has provided a detailed description of a virtual asset trading method, apparatus, electronic device, and computer-readable storage medium provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for trading virtual assets, characterized in that, include: Crowdfunding proposal information for the target virtual asset is generated based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset; Based on the crowdfunding proposal information, the target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset. The target buyer's key is added to the holder key list of the first contract account, and the target buyer's blockchain address is associated and stored in the holder key list, so that the target buyer becomes one of the holders of the first contract account corresponding to the holder key list; 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, so that the holder of the first contract account can use, transfer all, or transfer part of the target virtual asset. In the case of a full transfer, the target virtual asset is transferred from the first contract account to the second contract account. In the case of a partial transfer, the key of the holder who initiated the partial transfer is deleted from the holder key list, and the key of the transferee is added to the holder key list, so that the target virtual asset can be partially transferred between the holder who initiated the partial transfer and the transferee, so that the target virtual asset owned by the holder who initiated the partial transfer is transferred to the transferee.
2. The virtual asset trading method as described in claim 1, characterized in that, Before generating the crowdfunding proposal information for the target virtual asset based on the preset first contract account, it also includes: 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 contains the key corresponding to the first private key.
3. The virtual asset trading method as described in claim 1, characterized in that, After setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the method further includes: Obtain the first transfer request for the target virtual asset from the second holder corresponding to any key in the holder key list; Obtain the voting results of each holder corresponding to the holder key list regarding the first transfer request; Based on the voting results, the amount agreed upon for the first transfer request is determined; When the agreed amount meets the preset conditions, a sales proposal information for the target virtual asset is generated, wherein the sales proposal information includes the target sales amount of the target virtual asset.
4. The virtual asset trading method as described in claim 3, characterized in that, The amount raised includes the target investment amount of the target buyer. After generating the sale proposal information for the target virtual asset when the agreed amount meets the preset conditions, the process further includes: Based on the sales proposal information and the preset second contract account, the funds for the target sales amount are deposited into the first contract account; The target virtual asset is transferred from the first contract account to the second contract account; The amount of cash that the target buyer can withdraw from their account is determined based on the target crowdfunding amount, the target investment amount, and the target sales amount. According to the withdrawal amount of the account, the funds of the target sales amount are withdrawn from the first contract account to the blockchain address of the target buyer.
5. The virtual asset trading method as described in claim 1, characterized in that, After setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the method further includes: Based on a second transfer request for the target virtual asset from a third holder corresponding to any key in the holder key list, transfer request information for the target virtual asset is generated, wherein the transfer request information includes the transfer amount of the target virtual asset by the third holder; Identify the transferee who deposits the transfer amount into the first contract account; Add the key corresponding to the transferee's second private key to the holder's key list; Remove the key corresponding to the third private key of the third holder from the list of holder keys.
6. The virtual asset trading method as described in claim 1, characterized in that, After setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the method further includes: Obtain a request for the use of the target virtual asset from the fourth holder corresponding to any key in the holder key list, wherein the request carries a target verification credential after the fourth holder's declaration data is signed using the fourth holder's fourth private key; Obtain the verification result of the target verification credential through the service provider of the target virtual asset; When the verification result is successful, the service provider shall provide the fourth holder with the right to use the target virtual asset.
7. The virtual asset trading method as described in claim 6, characterized in that, The step of obtaining the verification result of the target verification credential through the service provider of the target virtual asset includes: Send the target verification credential to the service provider; The service provider queries the pre-defined credential issuer to determine the validity of the target verification credential and obtains the verification result.
8. The virtual asset trading method as described in claim 1, characterized in that, The target buyers include multiple individuals, each with the same target investment amount. Before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the process further includes: Determine the number of the target buyers; When the number of target buyers reaches a preset number, it is determined that the amount raised has reached the target crowdfunding amount.
9. The virtual asset trading method as described in claim 1, characterized in that, The target buyers include multiple individuals. Before setting the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount, the process further includes: The target investment amounts of each target buyer are summed up to obtain the amount raised in the first contract account. If the amount raised is greater than or equal to the target crowdfunding amount, then it is determined that the amount raised in the first contract account has reached the target crowdfunding amount.
10. The virtual asset trading method as described in any one of claims 1-9, characterized in that, The step of determining the target buyer who will deposit funds into the first contract account to purchase the target virtual asset based on the crowdfunding proposal information includes: Receive a purchase request from a potential buyer regarding the crowdfunding proposal information, wherein the purchase request carries the amount of funds the potential buyer will contribute to the target virtual asset. Determine whether the amount already raised is less than the target crowdfunding amount; If the amount raised is less than the target crowdfunding amount, then the funds of the intended buyer will be deposited into the first contract account, and the intended buyer will be identified as the target buyer.
11. A method for trading virtual assets, characterized in that, A transaction management terminal applied to a virtual trading asset system, the virtual trading asset system including the transaction management terminal and a user terminal, the method comprising: The system receives crowdfunding proposal information for a target virtual asset sent by the user terminal. The crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset, a first contract account for purchasing the target virtual asset, and a target buyer who deposits funds into the first contract account for purchasing the target virtual asset. Based on the crowdfunding proposal information, the target buyer is identified who will deposit funds into the first contract account to purchase the target virtual asset. The target buyer's key is added to the holder key list of the first contract account, and the target buyer's blockchain address is associated and stored in the holder key list, so that the target buyer becomes one of the holders of the first contract account corresponding to the holder key list; 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, so that the holder of the first contract account can use, transfer all, or transfer part of the target virtual asset. In the case of a full transfer, the target virtual asset is transferred from the first contract account to the second contract account. In the case of a partial transfer, the key of the holder who initiated the partial transfer is deleted from the holder key list, and the key of the transferee is added to the holder key list, so that the target virtual asset can be partially transferred between the holder who initiated the partial transfer and the transferee, so that the target virtual asset owned by the holder who initiated the partial transfer is transferred to the transferee.
12. A method for trading virtual assets, characterized in that, A user terminal applied to a virtual trading asset system, the virtual trading asset system including a trading management terminal and the user terminal, the method comprising: Send 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 for purchasing the target virtual asset, and the target buyer who deposits funds into the first contract account for purchasing the target virtual asset; The transaction management terminal receives first result information based on the crowdfunding proposal information. The first result information indicates that the target buyer's key has been added to the holder key list of the first contract account, and that the target buyer's blockchain address has been associated and stored in the holder key list, so that the target buyer becomes one of the holders of the first contract account corresponding to the holder key list. When the amount raised in the first contract account reaches the target crowdfunding amount, the transaction management terminal receives a second result information. This second result information indicates that the target virtual asset has been set as a virtual asset of the first contract account, allowing the holder of the first contract account to use, transfer all, or partially transfer the target virtual asset. In the case of a full transfer, the target virtual asset is transferred from the first contract account to the second contract account. In the case of a partial transfer, the key of the holder initiating the partial transfer is removed from the holder key list, and the key of the transferee is added to the holder key list. This enables a partial transfer of the target virtual asset between the holder initiating the partial transfer and the transferee, allowing the holder who initiated the partial transfer to transfer the target virtual asset to the transferee.
13. The virtual asset trading method as described in claim 12, characterized in that, The virtual asset trading system also includes a service provider. After receiving the second result information from the transaction management terminal when the amount raised in the first contract account reaches the target crowdfunding amount, the system further includes: Send a request to the service provider for the use of the target virtual asset by the fourth holder corresponding to any key in the holder key list, wherein the use request carries a target verification credential after the fourth holder's declaration data is signed using the fourth holder's fourth private key; When the verification result of the target verification credential is successful, the service provider, in response to the use request, provides the fourth holder with the right to use the target virtual asset.
14. A virtual asset trading device, characterized in that, include: A generation unit is used to generate crowdfunding proposal information for a target virtual asset based on a preset first contract account, wherein the crowdfunding proposal information includes the target crowdfunding amount for the target virtual asset; The determining unit is used to determine, based on the crowdfunding proposal information, the target buyer who will deposit funds into the first contract account to purchase the target virtual asset; The addition unit is used to add the key of the target buyer to the holder key list of the first contract account, and to associate and store the blockchain address of the target buyer in the holder key list, so that the target buyer becomes one of the holders of the first contract account corresponding to the holder key list; The transaction unit is used to set the target virtual asset as the virtual asset of the first contract account when the amount raised in the first contract account reaches the target crowdfunding amount. This allows the holder of the first contract account to use, transfer all, or partially transfer the target virtual asset. In the case of a full transfer, the target virtual asset is transferred from the first contract account to the second contract account. In the case of a partial transfer, the key of the holder initiating the partial transfer is removed from the holder key list, and the key of the transferee is added to the holder key list. This enables a partial transfer of the target virtual asset between the holder initiating the partial transfer and the transferee, allowing the holder who initiated the partial transfer to transfer the target virtual asset to the transferee.
15. An electronic device, characterized in that, The method includes a processor and a memory, the memory storing multiple instructions; the processor loads instructions from the memory to execute the steps in the virtual asset trading method as described in any one of claims 1 to 13.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to execute the steps of the virtual asset trading method according to any one of claims 1 to 13.
Citation Information
Patent Citations
Blockchain-based crowdfunding information processing method, apparatus, storage medium, and electronic device
CN108513669A
Joint account creation method, system and device based on blockchain, and storage medium
CN112330449A
Digital asset processing method and device, equipment and storage medium
CN113743921A
Carbon emission permit trading method based on NFT
CN114358768A