Virtual asset transaction method and apparatus, electronic device, and readable storage medium

CN116433237BActive Publication Date: 2026-10-20NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310180789.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-20
Publication Date
2026-10-20
Estimated Expiration
2043-02-20

AI Technical Summary

Technical Problem

[0004]本申请提供一种虚拟资产交易方法、装置、电子设备及可读存储介质,旨在解决现有的方法交易多签钱包中存储的虚拟资产时较为繁琐的技术问题

Benefits of technology

[0019]综上所述,本申请实施例提供的虚拟资产交易方法,包括:获取待交易的交易订单信息,以及各所述交易订单信息对应的交易签名信息,其中,所述交易订单信息包括资产管理者账户,所述交易订单信息对应的交易签名信息基于所述交易订单信息,以及所述交易订单信息对应的交易发起账户生成;对于每个所述交易订单信息,基于每个所述交易订单信息对所述交易签名进行验签,得到每个所述交易订单信息对应的交易发起账户;基于每个所述交易订单信息对应的交易发起账户和每个所述交易订单信息对应的资产管理者账户,筛选得到多签钱包订单信息,其中,所述多签钱包订单信息对应的资产管理者账户关联有至少两个预设发起账户;对于每个多签钱包订单信息,将所述资产管理者账户关联的预设发起账户与所述交易发起账户进行匹配,得到各所述多签钱包订单信息中匹配成功的目标订单信息;基于所述目标订单信息进行虚拟资产交易。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116433237B_ABST
    Figure CN116433237B_ABST
Patent Text Reader

Abstract

The application discloses a virtual asset transaction method and device, electronic equipment and readable storage medium, comprising: obtaining transaction order information and transaction signature information corresponding to each transaction order information; for each transaction order information, based on each transaction order information, the transaction signature is verified, and the transaction initiator account corresponding to each transaction order information is obtained; based on the transaction initiator account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, the multi-signature wallet order information is screened; for each multi-signature wallet order information, the preset initiator account associated with the asset manager account is matched with the transaction initiator account, and the target order information matched successfully in each multi-signature wallet order information is obtained; based on the target order information, the virtual asset transaction is carried out. The method ensures the safety of virtual assets, and improves the transaction speed and liquidity of virtual assets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of virtual asset trading technology, specifically to a virtual asset trading method, apparatus, electronic device, and readable storage medium. Background Technology

[0002] With the development of technology, virtual assets are gradually gaining consumer acceptance in addition to physical goods. The trading of virtual assets typically requires the use of a virtual asset trading platform. After merchants list their virtual assets on the platform, consumers can place orders to purchase them.

[0003] However, due to technical limitations, current virtual asset trading methods cannot realize the trading of virtual assets stored in multisignature wallets. Therefore, when trading virtual assets stored in multisignature wallets, offline transactions and confirmations are required, making the transaction process rather cumbersome. Summary of the Invention

[0004] This application provides a method, apparatus, electronic device, and readable storage medium for trading virtual assets, aiming to solve the cumbersome technical problems of existing methods for trading virtual assets stored in multisignature wallets.

[0005] Firstly, this application provides a method for trading virtual assets, including:

[0006] Obtain transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information;

[0007] For each transaction order information, the transaction signature is verified based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information;

[0008] Based on the transaction initiating account and the asset manager account corresponding to each transaction order information, multisignature wallet order information is obtained by filtering. The asset manager account corresponding to the multisignature wallet order information is associated with at least two preset initiating accounts.

[0009] For each multisignature wallet order information, the preset initiating account associated with the asset manager account is matched with the transaction initiating account to obtain the target order information that is successfully matched in each multisignature wallet order information;

[0010] Virtual asset transactions are conducted based on the target order information.

[0011] Secondly, this application provides a virtual asset trading device, comprising:

[0012] The acquisition unit is used to acquire transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information;

[0013] The signature verification unit is used to verify the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information.

[0014] The filtering unit is used to filter multisignature wallet order information based on the transaction initiating account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multisignature wallet order information is associated with at least two preset initiating accounts;

[0015] The matching unit is used to match the preset initiating account associated with the asset manager account with the transaction initiating account for each multisignature wallet order information, so as to obtain the target order information that is successfully matched in each multisignature wallet order information;

[0016] A transaction unit is used to conduct virtual asset transactions based on the target order information.

[0017] Thirdly, this application also provides an electronic device, which includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the processor calls the computer program in the memory, it executes the steps in any of the virtual asset trading methods provided in this application.

[0018] Fourthly, this application also provides a readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the virtual asset trading methods provided in this application.

[0019] In summary, the virtual asset trading method provided in this application includes: obtaining transaction order information to be traded and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information; for each transaction order information, verifying the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information; filtering multi-signature wallet order information based on the transaction initiating account and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multi-signature wallet order information is associated with at least two preset initiating accounts; for each multi-signature wallet order information, matching the preset initiating accounts associated with the asset manager account with the transaction initiating accounts to obtain the target order information that is successfully matched in each multi-signature wallet order information; and performing virtual asset trading based on the target order information.

[0020] As can be seen, the virtual asset trading method provided in this application can determine whether the transaction order information is a multisignature wallet order information initiated by the multisignature wallet contract based on the transaction initiating account and asset manager account obtained through signature verification. Based on the preset initiating account and transaction initiating account associated with the asset manager account, it verifies whether the transaction initiating account of the multisignature wallet order information is the asset manager of the virtual asset. Only after the verification is passed will the virtual asset transaction be carried out. On the one hand, this ensures the security of virtual assets and prevents non-asset managers from selling virtual assets. On the other hand, it enables the trading of virtual assets stored in the multisignature wallet on the virtual asset trading platform, thereby improving the transaction speed and liquidity of virtual assets. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of this application, 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0022] Figure 1 This is a schematic diagram illustrating an application scenario of the virtual asset trading method provided in the embodiments of this application;

[0023] Figure 2 This is a schematic diagram of a scenario for existing virtual asset trading methods;

[0024] Figure 3 This is a schematic diagram of a virtual asset trading system provided in the embodiments of this application;

[0025] Figure 4 This is a flowchart illustrating a virtual asset trading method provided in the embodiments of this application;

[0026] Figure 5 This is a flowchart illustrating a process for obtaining multisignature wallet order information provided in an embodiment of this application;

[0027] Figure 6 This is a schematic diagram of a process for conducting virtual asset transactions provided in the embodiments of this application;

[0028] Figure 7 This is another schematic diagram of a process for conducting virtual asset transactions provided in the embodiments of this application;

[0029] Figure 8 This is a schematic diagram of a scenario of the virtual asset trading method provided in the embodiments of this application;

[0030] Figure 9 This is a schematic diagram of the structure of one embodiment of the virtual asset trading device provided in this application;

[0031] Figure 10 This is a schematic diagram of an embodiment of the electronic device provided in this application. Detailed Implementation

[0032] 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 some embodiments of this application, and not all 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.

[0033] In the description of the embodiments of this application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, features defined with "first" and "second" may explicitly or implicitly include one or more of the stated features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0034] To enable any person skilled in the art to implement and use this application, the following description is provided. In this description, details are set forth for purposes of explanation. It should be understood that those skilled in the art will recognize that this application can be implemented without using these specific details. In other instances, well-known processes will not be described in detail to avoid obscuring the description of the embodiments of this application with unnecessary detail. Therefore, this application is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed in the embodiments of this application.

[0035] This application provides a method, apparatus, electronic device, and readable storage medium for virtual asset trading. The virtual asset trading apparatus can be integrated into an electronic device, which may be a server or a terminal, etc.

[0036] The execution entity of the virtual asset trading method in this application embodiment can be the virtual asset trading device provided in this application embodiment, or different types of electronic devices such as server equipment, physical host, or special effects production personnel equipment (User Equation, UE) that integrate the virtual asset trading device. The virtual asset trading device can be implemented in hardware or software. The UE can specifically be a terminal device such as a smartphone, tablet computer, laptop computer, handheld computer, desktop computer, or personal digital assistant (PDA).

[0037] The electronic device can operate independently or in a cluster.

[0038] See Figure 1 , Figure 1 This is a schematic diagram of a virtual asset trading system provided in an embodiment of this application. The virtual asset trading system may include an electronic device 100, which integrates a virtual asset trading device.

[0039] In addition, such as Figure 1 As shown, the virtual asset trading system may also include a storage device 200 for storing data, such as text data.

[0040] It should be noted that, Figure 1 The schematic diagram of the virtual asset trading system shown is merely an example. The virtual asset trading system and scenario described in this application are intended to more clearly illustrate the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. As those skilled in the art will know, with the evolution of virtual asset trading systems and the emergence of new business scenarios, the technical solutions provided in this invention are also applicable to similar technical problems.

[0041] The following describes the virtual asset trading method provided in this application. In this application, an electronic device is used as the execution subject. For simplicity and ease of description, this execution subject will be omitted in subsequent method embodiments. The virtual asset trading method includes: obtaining transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information; for each transaction order information, verifying the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information; filtering multi-signature wallet order information based on the transaction initiating account and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multi-signature wallet order information is associated with at least two preset initiating accounts; for each multi-signature wallet order information, matching the preset initiating accounts associated with the asset manager account with the transaction initiating accounts to obtain the target order information that is successfully matched in each multi-signature wallet order information; and performing virtual asset trading based on the target order information.

[0042] First, the application scenario of this application will be explained, but the following content should not be construed as an admission of prior art:

[0043] With the development of technology, virtual goods are gradually gaining consumer acceptance in addition to physical goods. For example, non-fungible tokens (NFTs), also known as digital collectibles, are highly sought after by consumers as a type of virtual commodity. NFT transactions typically require the use of virtual asset trading platforms. After merchants list NFTs on these platforms, consumers can place orders to purchase them. During the transaction process, to ensure security and considering the decentralized nature of blockchain, both merchants and consumers need to sign the NFT using their own blockchain addresses when listing it. The signed NFT order contains the NFT's asset address, i.e., the merchant's blockchain address. Normally, since NFTs are held by a single merchant, they are stored in the merchant's blockchain address. This merchant's blockchain address is their externally owned account, and the merchant uses this external account as the transaction initiation address to sign the order when listing the NFT. During a transaction, the virtual asset trading platform can verify the transaction initiation address of the NFT. Once it is confirmed that the blockchain address of the merchant initiating the transaction is the same as the asset address of the NFT in the order, the NFT transaction can be carried out based on the order.

[0044] However, in some cases, NFTs are not held by a single merchant but are stored in a multisigwallet contract, jointly held by the merchants managing the multisigwallet contract. After obtaining the consent of a majority of merchants, the NFT can be listed for trading. When an NFT is stored in a multisigwallet contract, because the multisigwallet contract is a smart contract, only the merchant managing the multisigwallet contract can sign the order using their corresponding external account as the transaction initiation address. The transaction initiation address verified by the virtual asset trading platform is also this external account. Understandably, in this transaction order, the NFT's asset address is the contract account of the multisigwallet contract. Since the NFT's asset address (the contract account of the multisigwallet contract) in the order is different from the transaction initiation address (the merchant's external account), the virtual asset trading platform cannot verify whether the transaction initiator is the NFT's asset manager, thus causing the NFT transaction to fail. Therefore, NFTs currently stored in multisignature wallet contracts cannot be traded through virtual asset trading platforms. NFT asset managers can only trade with users they know in real life, significantly reducing the speed and liquidity of NFT transactions. Furthermore, the method of directly transferring assets through offline confirmation prevents other consumers from directly obtaining the transaction price of NFTs, and makes it difficult for NFT asset managers to obtain royalties from virtual asset transactions. (Reference) Figure 2 , Figure 2 The diagram illustrates the transaction process for NFTs currently stored in multisignature wallet contracts.

[0045] For ease of understanding below, a virtual asset trading system that can be used to implement this method is provided here, for reference. Figure 3 The virtual asset trading system 300 includes a virtual asset trading platform 301 and a multi-signature wallet contract 302. The specific functions of the virtual asset trading platform 301 and the multi-signature wallet contract 302 will be explained in detail below.

[0046] Reference Figure 4 , Figure 4 This is a flowchart illustrating a virtual asset trading method provided in an embodiment of this application. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than that shown here. Specifically, the virtual asset trading method may include steps 401-405, and the virtual asset trading method is applied to a virtual asset trading platform, wherein:

[0047] 401. Obtain the transaction order information to be traded, and the transaction signature information corresponding to each of the transaction order information, wherein the transaction order information includes the asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information.

[0048] Transaction order information refers to NFT orders placed by consumers that are yet to be traded. It's important to note that this NFT order refers to the seller's order generated when the merchant lists the NFT. When a consumer places an order for this NFT, a buyer's order is generated, which will not be elaborated upon further below. When a consumer selects and places an NFT order on a virtual asset trading platform, the electronic device can use this NFT order as transaction order information, which includes information such as the NFT's asset address, the currency used in the exchange, and the listed price. For example, transaction order information can include all NFT orders that consumers have placed on the virtual asset trading platform but have not yet been traded.

[0049] The transaction signature information corresponding to the transaction order information can be the information obtained after the merchant signs the transaction order information based on the merchant's external account when listing the NFT.

[0050] For example, in Figure 3 In the virtual asset trading system 300, when a merchant lists an NFT, if the NFT is stored in a multi-signature wallet contract 302, the multi-signature wallet contract 302 can hash the transaction order information corresponding to the NFT to obtain the hash value corresponding to the transaction order information. Then, based on the merchant's external account, it signs the hash value using signature algorithms such as RSA digital signature algorithm, DSA digital signature algorithm, or ECDSA elliptic curve digital signature algorithm to obtain the transaction signature information corresponding to the transaction order information. The transaction order information and the corresponding transaction signature information are then sent to the virtual asset trading platform 301, where they are stored by the virtual asset trading contract 3011 of the virtual asset trading platform 301. However, when the NFT is a virtual asset held by an individual merchant, the node corresponding to that individual merchant (not in...) Figure 3 As shown in the diagram, the transaction order information corresponding to the NFT can be hashed, and subsequent signing and sending steps can be performed, which will not be elaborated on in detail.

[0051] The asset manager account refers to the asset address of the NFT. When the NFT corresponding to the transaction order information is held by a single merchant, the asset manager account in the transaction order information refers to the external account of that single merchant. When the NFT corresponding to the transaction order information is stored in a multi-signature wallet contract and is jointly held by the merchants managing the multi-signature wallet contract, the asset manager account in the transaction order information refers to the contract account of the multi-signature wallet contract.

[0052] The transaction initiating account refers to the address of the merchant who initiates the transaction order, i.e., the merchant's external account when signing the transaction order.

[0053] When a consumer places an order for an NFT on a virtual asset trading platform using a virtual wallet such as MetaMask, the virtual wallet sends the consumer's blockchain address, such as the virtual wallet's account, to the virtual asset trading platform. The virtual asset trading platform generates a buyer's order as described above based on the consumer's bid and signs the buyer's order based on the consumer's blockchain address, obtaining the signed buyer's order. Then, the virtual asset trading platform determines whether the consumer's bid matches the merchant's listed price. If the consumer's bid matches the merchant's listed price, the virtual asset trading platform merges the buyer's order and the NFT order, using the NFT order as the transaction order information, and obtains the transaction signature information corresponding to this transaction order information. That is, step 401, "obtaining the transaction order information to be traded, and the transaction signature information corresponding to each of the aforementioned transaction order information," includes:

[0054] (1.1) In response to a virtual asset purchase request, obtain the purchase bid corresponding to the virtual asset purchase request and the preset order information corresponding to the virtual asset purchase request.

[0055] The preset order information refers to the orders already listed on the virtual asset trading platform. The preset order information corresponding to a virtual asset purchase request refers to the orders placed by the consumer among the orders already listed on the virtual asset trading platform. For example, if a consumer selects the i-th to i+10th NFT orders from the M orders already listed on the virtual asset trading platform, then the preset order information corresponding to the virtual asset purchase request refers to the aforementioned i-th to i+10th NFT orders.

[0056] Purchase bid refers to the bid made by a consumer when placing a pre-defined order corresponding to a purchase request for virtual assets.

[0057] For example, when a consumer places an order for the first preset order on a virtual asset trading platform, the virtual asset trading platform will generate a buyer's order containing the first preset order information. The buyer's order may contain the consumer's blockchain address and the buyer's bid. The virtual asset trading platform may determine whether to use the first preset order information as the transaction order information based on the buyer's order. For details, please refer to step (1.2).

[0058] (1.2) If the purchase bid matches the order price in the preset order information, the preset order information is used as the transaction order information, and the transaction signature information corresponding to each transaction order information is obtained.

[0059] The order price is the price set by the merchant corresponding to the preset order information when listing the preset order.

[0060] For example, when the purchase bid is greater than or equal to the order price, it means that the consumer's bid meets the merchant's price requirements, and it can be determined that the purchase bid matches the order price. At this time, the virtual asset trading platform can match the buyer's order with the preset order information and use the preset order information as the transaction order information to be traded.

[0061] by Figure 3 Taking the virtual asset trading system 300 as an example, step 401 will be explained as follows:

[0062] When a consumer places an order for an NFT on a virtual asset trading platform 301 using a virtual wallet 203 such as MetaMask, the virtual wallet 203 sends the consumer's blockchain address to the virtual asset trading platform 301. The virtual asset trading platform 301 generates a buyer's order for the NFT based on the consumer's bid and signs the buyer's order based on the consumer's blockchain address. Then, the virtual asset trading platform 301 matches the buyer's order with the NFT order through the virtual asset trading contract 3011, determining whether the purchase bid is greater than or equal to the order price in the NFT order. If the purchase bid is greater than or equal to the order price, the buyer's order and the NFT order are stamped through the virtual asset trading contract 3011, and the NFT order is used as the transaction order information to obtain the transaction signature information corresponding to the transaction order information.

[0063] 402. For each of the transaction order information, the transaction signature is verified based on each of the transaction order information to obtain the transaction initiating account corresponding to each of the transaction order information.

[0064] Signature verification refers to verifying the address used when signing based on the information after the signature and the information before the signature.

[0065] by Figure 3Taking the virtual asset trading system 300 as an example, step 402 is explained as follows: When the virtual asset trading system 300 uses the same preset signature algorithm to obtain the transaction signature information corresponding to each transaction order information, the virtual asset trading platform 301 can verify the transaction signature corresponding to the transaction order information based on the preset signature algorithm and the transaction order information to obtain the transaction initiating account corresponding to the transaction order information. For example, when the preset signature algorithm is the ECDSA elliptic curve digital signature algorithm, the virtual asset trading platform 301 can call the Recover function corresponding to the ECDSA elliptic curve digital signature algorithm based on the preset interface function, input the transaction order information and the transaction signature information corresponding to the transaction order information into the Recover function corresponding to the ECDSA elliptic curve digital signature algorithm to obtain the transaction initiating account used for signing.

[0066] In other embodiments, Figure 3 The virtual asset trading system 300 can support multiple signature algorithms to improve the system's applicability. At this point, the step "For each transaction order information, verify the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information" includes:

[0067] For each transaction order information, the hash value corresponding to each transaction order information and the transaction signature are input into the signature algorithm corresponding to the transaction signature to obtain the transaction initiating account corresponding to each transaction order information.

[0068] To facilitate the use of Recover functions for different signature algorithms on virtual asset trading platforms, interface functions can be pre-defined within the platform, allowing calls to the Recover functions for different signature algorithms via these interface functions. For example, in... Figure 3 In the virtual asset trading platform 301, a verification qualification ownership contract 3012 can be preset. The virtual asset trading platform 301 can call the verification qualification ownership contract 3012 to execute step 402.

[0069] The interface and interface functions may include:

[0070] Interface ValidSelfSignature{

[0071] ValidSelfSignature(hash,signature)return(bytes4)

[0072] }

[0073] The interface function ValidSelfSignature() is used to call the Recover function corresponding to the signature algorithm.

[0074] To facilitate understanding, let's illustrate with an example: Suppose transaction order information includes order information A, order information B, and order information C. If order information A, order information B, and order information C are signed using the RSA digital signature algorithm, the DSA digital signature algorithm, or the ECDSA elliptic curve digital signature algorithm, respectively, resulting in transaction signature information A, transaction signature information B, and transaction signature information C, then during signature verification, the hash value corresponding to order information A and transaction signature information A can be input into the Recover function corresponding to the RSA digital signature algorithm to obtain the transaction initiating account corresponding to order information A. Similarly, the hash value corresponding to order information B and transaction signature information B can be input into the Recover function corresponding to the DSA digital signature algorithm to obtain the transaction initiating account corresponding to order information B. Finally, the hash value corresponding to order information C and transaction signature information C can be input into the Recover function corresponding to the ECDSA elliptic curve digital signature algorithm to obtain the transaction initiating account corresponding to order information C.

[0075] 403. Based on the transaction initiating account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, the multisignature wallet order information is obtained by filtering.

[0076] Multisignature wallet order information refers to the order information where virtual assets are stored in the multisignature wallet contract within each transaction order. The asset manager account corresponding to each multisignature wallet order is associated with at least two preset initiating accounts. These preset initiating accounts are the merchants managing the multisignature wallet contracts. After a listing request is initiated by the transaction initiating account, the multisignature wallet order information requires confirmation from at least N preset initiating accounts (excluding the transaction initiating account) before it can be initiated by the multisignature wallet contract and sent to the virtual asset trading platform for listing. In other words, the multisignature wallet order information is initiated only after confirmation from at least N preset initiating accounts associated with the asset manager account. Here, N refers to the preset confirmation threshold in the multisignature wallet contract. When at least N preset initiating accounts confirm, it can be considered that the listing request has received the consent of a majority of asset managers, and therefore the order can be initiated.

[0077] As explained in the background above, if an NFT is stored in a multisignature wallet, only the merchant managing the multisignature wallet can sign the order using their corresponding external account as the transaction initiation address when listing the NFT. In this transaction, the NFT's asset address is the multisignature wallet's contract account. If the NFT is held by a single merchant, the merchant will sign the order using their external account as the transaction initiation address, and the NFT's asset address will also be the merchant's external account. Therefore, it's possible to confirm whether the transaction order information is from a multisignature wallet by checking if the transaction initiation address and the NFT's asset address are the same.

[0078] by Figure 3 Taking the virtual asset trading system 300 as an example, the virtual asset trading platform 301 can compare the transaction initiating account corresponding to each transaction order information with the asset manager account corresponding to each transaction order information to determine whether they are the same. If they are different, the transaction order information is treated as multi-signature wallet order information, and the steps after step 403 are executed. If they are the same, it is determined that the virtual asset corresponding to the transaction order information is held by a single merchant, and the virtual asset transaction can be directly executed based on the transaction order information.

[0079] 404. For each multisignature wallet order information, the preset initiating account associated with the asset manager account is matched with the transaction initiating account to obtain the target order information that is successfully matched in each multisignature wallet order information.

[0080] Target order information refers to multi-signature wallet order information that has been confirmed by the virtual asset trading platform and determined that the transaction initiator is the asset manager of the NFT.

[0081] Although step 403 has obtained the multisignature wallet order information from each transaction order information, it is still not possible to confirm whether the transaction initiator is one of the merchants managing the multisignature wallet contract. Therefore, for each multisignature wallet order information, it is necessary to match the transaction initiator account obtained from the signature verification in step 402 with the merchant managing the multisignature wallet contract. If the transaction initiator account is one of the merchants managing the multisignature wallet contract, it is determined that the preset initiator account associated with the asset manager account is successfully matched with the transaction initiator account, and the multisignature wallet order information is used as the target order information that can be traded.

[0082] by Figure 3 The following description uses a virtual asset trading system 300 as an example. In some embodiments, before executing step 404, the virtual asset trading platform 301 can obtain in advance from the multisignature wallet contract 302 the preset initiating accounts associated with the asset manager account corresponding to the multisignature wallet order information, that is, the external accounts of each merchant managing the multisignature wallet contract 302. Figure 3 For ease of explanation, only one multi-signature wallet contract 302 is shown (and will not be described in detail below), and it is stored in the verification qualification ownership contract 3012. When step 404 is executed, for each multi-signature wallet order information, the virtual asset trading platform 301 calls the verification qualification ownership contract 3012 to match the pre-obtained preset initiating account with the transaction initiating account to obtain the successfully matched target order information, and returns the target order information to the virtual asset trading contract 3011.

[0083] 405. Conduct virtual asset transactions based on the target order information.

[0084] After receiving the target order information, the virtual asset trading platform can execute the virtual asset transaction corresponding to the target order information. For example, in Figure 3 In the virtual asset trading system 300, after obtaining the target order information, the virtual asset trading contract 3011 can conduct virtual asset trading based on the target order information.

[0085] In summary, the virtual asset trading method provided in this application includes: obtaining transaction order information to be traded and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information; for each transaction order information, verifying the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information; filtering multi-signature wallet order information based on the transaction initiating account and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multi-signature wallet order information is associated with at least two preset initiating accounts; for each multi-signature wallet order information, matching the preset initiating accounts associated with the asset manager account with the transaction initiating accounts to obtain the target order information that is successfully matched in each multi-signature wallet order information; and performing virtual asset trading based on the target order information.

[0086] As can be seen, the virtual asset trading method provided in this application can determine whether the transaction order information is a multisignature wallet order information initiated by the multisignature wallet contract based on the transaction initiating account and asset manager account obtained through signature verification. Based on the preset initiating account and transaction initiating account associated with the asset manager account, it verifies whether the transaction initiating account of the multisignature wallet order information is the asset manager of the virtual asset. Only after the verification is passed will the virtual asset transaction be carried out. On the one hand, this ensures the security of virtual assets and prevents non-asset managers from selling virtual assets. On the other hand, it enables the trading of virtual assets stored in the multisignature wallet on the virtual asset trading platform, thereby improving the transaction speed and liquidity of virtual assets.

[0087] While step 403 provides a method for filtering multisignature wallet order information, this method does not consider the scenario where the transaction initiating account and the asset manager account are different external accounts, i.e., a non-asset manager falsely listing NFTs held by a single merchant. Given the low barriers to entry for NFT creation and listing, this situation can easily lead to a large number of false listings generating fake order information being misjudged as multisignature wallet order information, affecting the normal execution of virtual asset transactions.

[0088] To address the aforementioned issues, this application also provides a method for filtering multisignature wallet order information based on a preset account type determination function. (Reference) Figure 5 At this point, the step "based on the transaction initiating account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, filter to obtain multi-signature wallet order information" includes:

[0089] 501. For each transaction order, if the transaction initiating account and the asset manager account are not the same, the asset manager account is input into a preset account type judgment function to obtain the account type of the asset manager account.

[0090] When the transaction initiating account and the asset manager account are different, the following two situations exist:

[0091] 1. If the transaction initiating account is an external account and the asset manager account is a contract account, then the transaction order information can be determined to be multisignature wallet order information, and step 404 can be executed.

[0092] 2. If both the transaction initiating account and the asset manager account are external accounts, there may be cases of fake NFT listings. The virtual asset trading platform can issue an alert for such transaction order information.

[0093] As can be seen, virtual asset trading platforms only need to determine whether the asset manager's account is a contract account to filter and obtain multisignature wallet order information. Therefore, this method inputs the asset manager's account into a preset account type determination function to obtain the account type of the asset manager's account.

[0094] The account type determination function can be used to determine the account type of the asset manager's account. For example, the .isContract() function can be used as the default account type determination function. If the output of .isContract() is true, the contract account can be used as the account type of the asset manager's account. If the output of .isContract() is false, the external account can be used as the account type of the asset manager's account.

[0095] 502. If the account type is a contract account, then each transaction order information shall be set as a multisignature wallet order information.

[0096] If the account type is a contract account, it means that for this transaction order information, the transaction initiating account is an external account and the asset manager account is a contract account. Therefore, this transaction order information can be used as multisignature wallet order information and step 404 can be executed.

[0097] It should be noted that for steps 501-502, the asset manager account can also be entered into a preset account type judgment function first. If the account type of the asset manager account is a contract account, then it is determined whether the transaction initiating account and the asset manager account are the same. This application embodiment does not impose any restrictions on this.

[0098] Step 404 provides a method for matching transaction initiating accounts. However, this method requires the virtual asset trading platform to obtain the pre-set initiating accounts associated with the asset manager accounts corresponding to the multisignature wallet order information from the multisignature wallet contract in advance. This will occupy a large amount of storage space in the virtual asset trading platform and increase the operation and maintenance costs of the virtual asset trading platform.

[0099] To address the aforementioned issues, this application also provides a method that sends a query request to a multi-signature wallet contract, which then matches the transaction initiating account. This effectively reduces the operational costs of virtual asset trading platforms. (Reference) Figure 6 At this point, the step "For each multisignature wallet order information, match the preset initiating account associated with the asset manager account with the transaction initiating account to obtain the target order information that has been successfully matched in each multisignature wallet order information" includes:

[0100] 601. For each multisignature wallet order information, send a query request to the multisignature wallet contract corresponding to the asset manager account, and receive the target identifier sent by the multisignature wallet contract based on the query request.

[0101] The query request is used to trigger the multisignature wallet contract to query the preset account table stored in the multisignature wallet contract to determine whether the preset initiating accounts associated with the asset manager account include the transaction initiating account. The preset account table includes the preset initiating accounts associated with the asset manager account. The target identifier is an identifier generated by the multisignature wallet contract based on the judgment result.

[0102] by Figure 3 Taking the virtual asset trading system 300 as an example, step 601 will be explained as follows:

[0103] For each multisignature wallet order, the virtual asset trading platform 301 can call the verification qualification ownership contract 3012 to generate a query request based on the transaction initiating account obtained from the signature verification, and send the corresponding query request to the multisignature wallet contract 302 to trigger the multisignature wallet contract 302 to query the stored preset account table. If the transaction initiating account is one of the preset initiating accounts in the preset account table, the multisignature wallet contract 302 can use the verification pass identifier used to indicate successful matching as the target identifier and send the target identifier to the virtual asset trading platform 301. If the transaction initiating account is not one of the preset initiating accounts in the preset account table, the multisignature wallet contract 302 can use the verification failure identifier used to indicate failed matching as the target identifier and send the target identifier to the verification qualification ownership contract 3012 of the virtual asset trading platform 301.

[0104] Alternatively, in some embodiments, to prevent the transaction initiating account carried in the query request from being tampered with during the sending process, the qualification ownership contract 3012 can also generate a query request based on the multisignature wallet order information and the transaction signature information corresponding to the multisignature wallet order information, and send the corresponding query request to the multisignature wallet contract 302. The multisignature wallet contract 302 re-verifies the signature to obtain the transaction initiating account based on the multisignature wallet order information carried in the query request. At this time, the interface function can also be pre-set in the multisignature wallet contract, and the Recover function of different signature algorithms can be called through the interface function.

[0105] The interface and interface functions may include:

[0106] Interface ValidSelfSignature{

[0107] ValidSelfSignature(hash,signature)return(bytes4)

[0108] }

[0109] For details, please refer to the explanation above; further details will not be repeated here.

[0110] For example, a first field (i.e., verification pass identifier) ​​for indicating successful matching and a second field (i.e., verification failure identifier) ​​for indicating failed matching can be pre-set for the multisignature wallet contract 302. For example, the field "chenggong" can be used as the first field and the field "shibai" can be used as the second field. At the same time, a constant for indicating successful matching, such as VALIDSig, can be preset in the multisignature wallet contract 302. When the multisignature wallet contract 302 determines that the transaction initiating account is one of the preset initiating accounts in the preset account table, the multisignature wallet contract 302 assigns the first field or the second field to the constant according to the judgment result, uses the constant as the target identifier, and sends the target identifier to the verification qualification ownership contract 3012.

[0111] In some embodiments, to increase the complexity of the target identifier and ensure transaction security, when a match is successful, a target identifier representing a successful match can be generated based on the function name of the aforementioned interface function. This also prevents the identifier representing a successful match from being tampered with. For example, taking the interface function ValidSelfSignature(hash,signature) above as an example, when a match is successful, the interface function can be hashed, and its first four bytes can be extracted. The resulting hash value is assigned to the constant mentioned above, and the constant is used as the returned target identifier. For example, when a match is successful, the target identifier VALIDSig representing a successful match can be obtained by processing it in the following way:

[0112] VALIDSig=bytes4(keccak256("ValidSelfSignature(bytes32,bytes)")=0x8812d007.

[0113] Here, (bytes32, bytes) is the expression of (hash, signature) in the multisignature wallet contract.

[0114] When a match fails, the verification failure flag pre-set in the multisignature wallet contract can be sent to the virtual asset trading platform as the target flag. For example, the constant INVALIDSig = 0xffffffff can be pre-set, and if the match fails, INVALIDSig can be sent to the virtual asset trading platform as the target flag.

[0115] 602. For each of the multisignature wallet order information, if the target identifier is the same as the preset verification pass identifier, then each of the multisignature wallet order information is set as the target order information.

[0116] The preset verification pass flag is used to indicate a successful match. Administrators of the virtual asset trading system can set the verification pass flag in advance in the virtual asset trading platform. It should be noted that the verification pass flag in the virtual asset trading platform should be the same as the verification pass flag in the multisignature wallet contract.

[0117] Continue with Figure 3 Taking the virtual asset trading system 300 as an example, the virtual asset trading platform 301 also has a first field for indicating successful matching and a second field for indicating failed matching. If the virtual asset trading platform 301 compares and determines that the target identifier is the same as the first field, the multisignature wallet order information can be set as the target order information. If the virtual asset trading platform 301 compares and determines that the target identifier is the same as the second field, the multisignature wallet order information can be returned to the multisignature wallet contract 302 corresponding to the multisignature wallet order information to indicate that the transaction has failed.

[0118] 603. Conduct virtual asset transactions based on the target order information.

[0119] In some embodiments, to further enhance transaction security, the multisignature wallet contract can encrypt the target identifier obtained above, update the original target identifier with the encrypted target identifier, send the target identifier to the virtual asset trading platform, and have the virtual asset trading platform decrypt it. If the virtual asset trading platform compares the decrypted target identifier with a preset verification pass identifier and determines that the decrypted target identifier and the preset verification pass identifier are the same, then the multisignature wallet order information can be set as the target order information. For example, in... Figure 3 In the virtual asset trading system 300, the verification qualification ownership contract 3012 can be used for decryption. At this point, before the step "For each multisignature wallet order information, if the target identifier is the same as the verification pass identifier corresponding to the multisignature wallet contract, then set each multisignature wallet order information as the target order information", the following is also included:

[0120] For each multisignature wallet order information, the target identifier is decrypted using the decryption algorithm corresponding to the multisignature wallet contract, and the target identifier before decryption is updated with the decrypted target identifier.

[0121] For ease of understanding, this application also provides a method for trading virtual assets, see reference. Figure 7 The virtual asset trading method is applied to a multi-signature wallet contract. The asset manager account corresponding to the multi-signature wallet contract is associated with at least two preset initiating accounts. Each of the preset initiating accounts is stored in a preset account table in the multi-signature wallet contract. The virtual asset trading method includes:

[0122] 701. In response to a transaction request initiated by the first initiating account among the preset initiating accounts, based on the target order information carried in the transaction request and the first initiating account, generate transaction signature information corresponding to the target order information, and send a confirmation request to the second initiating account among the preset initiating accounts other than the first initiating account.

[0123] The first initiating account refers to the default initiating account that initiates the NFT order listing request, and the transaction request refers to the computer request initiated by the first initiating account to list the NFT order on the virtual asset trading platform.

[0124] To confirm whether the second initiating account, other than the first initiating account, agrees to list the NFT order, the multisignature wallet contract sends a confirmation request to each of the second initiating accounts.

[0125] 702. If at least N second initiating accounts send confirmation information based on confirmation requests, the target order information and the transaction signature information are sent to the preset virtual asset trading platform.

[0126] If at least N confirmation messages are received from second initiating accounts based on confirmation requests, it can be confirmed that the second initiating accounts other than the first initiating account agree to list the NFT order. At this time, the multisignature wallet contract can generate transaction signature information corresponding to the target order information based on the target order information carried in the transaction request and the first initiating account, using signature algorithms such as RSA digital signature algorithm, DSA digital signature algorithm or ECDSA elliptic curve digital signature algorithm.

[0127] For an explanation and description of the functions of a virtual asset trading platform, please refer to the above text and... Figure 3 The specifics will not be elaborated upon.

[0128] 703. In response to the query request sent by the virtual asset trading platform for the target order information, query the preset account table and determine whether the transaction initiating account corresponding to the query request is stored in the preset account table.

[0129] The query request can be referred to above. The query request is generated by the virtual asset trading platform based on the transaction initiating account obtained after signature verification, or it can be generated based on the multisignature wallet order information and the transaction signature information corresponding to the multisignature wallet order information. That is, the query request carries the target order information and the transaction signature information. The multisignature wallet contract obtains the transaction initiating account corresponding to the query request after verifying the transaction signature information based on the target order information.

[0130] 704. If the transaction initiating account is stored in the preset account table, a preset verification pass identifier is sent to the virtual asset trading platform so that the virtual asset trading platform can conduct virtual asset transactions based on the target order information.

[0131] To facilitate understanding, a specific example is provided below to illustrate the actual application process. (See reference below.) Figure 8 Users A, B, and C are the managers of the multisignature wallet contract.

[0132] (a) First, user A submits a transaction request. The multisignature wallet contract uses user A's external account as the transaction initiating account and signs the transaction based on the transaction initiating account and the target order information carried in the transaction request to obtain the transaction signature information corresponding to the target order information. It can be understood that the target order information includes the asset manager account, that is, the contract account of the multisignature wallet contract.

[0133] (b) Send confirmation requests to users B and C. If the number of confirmation messages sent by users B and C reaches the signature threshold N, the transaction is triggered, and the target order information and transaction signature information are sent to the virtual asset trading contract in the virtual asset trading platform.

[0134] (c) If consumer user D places an order for the target order information through a virtual wallet, the virtual asset transaction contract will match the buyer's order and the target order information generated after the virtual wallet is signed. If the match is successful, the transaction initiating account will be obtained through the qualification ownership contract. Based on the transaction initiating account and the asset manager account in the target order information, it will be determined whether the target order information is a multisignature wallet order information. After determining that the target order information is a multisignature wallet order information, the qualification ownership contract will generate a query request based on the target order information and the transaction signature information corresponding to the target order information, and send the query request to the multisignature wallet contract.

[0135] (d) The multisignature wallet contract verifies the signature based on the target order information and the corresponding transaction signature information to obtain the transaction initiating account, and determines whether the transaction initiating account is among users A, B, and C. If the transaction initiating account is determined to be among users A, B, and C, a target identifier indicating a successful match is returned to the qualification ownership contract. After receiving the target identifier, the qualification ownership contract determines whether the target identifier is the same as the preset verification pass identifier. If they are the same, the target order information is sent to the virtual asset trading contract, and the virtual asset trading contract conducts virtual asset trading based on the target order information.

[0136] To better implement the virtual asset trading method in the embodiments of this application, a virtual asset trading device is also provided in the embodiments of this application, such as... Figure 9 The diagram shown is a structural schematic of one embodiment of the virtual asset trading device in this application. The virtual asset trading device 900 includes:

[0137] The acquisition unit 901 is used to acquire transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information;

[0138] The signature verification unit 902 is used to verify the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information.

[0139] The filtering unit 903 is used to filter multisignature wallet order information based on the transaction initiating account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multisignature wallet order information is associated with at least two preset initiating accounts;

[0140] The matching unit 904 is used to match the preset initiating account associated with the asset manager account with the transaction initiating account for each multisignature wallet order information, so as to obtain the target order information that is successfully matched in each multisignature wallet order information;

[0141] The transaction unit 905 is used to conduct virtual asset transactions based on the target order information.

[0142] In one possible implementation of this application, the filtering unit 903 is further configured to:

[0143] For each transaction order, if the transaction initiating account and the asset manager account are not the same, the asset manager account is input into a preset account type judgment function to obtain the account type of the asset manager account;

[0144] If the account type is a contract account, then each transaction order information will be set as a multisignature wallet order information.

[0145] In one possible implementation of this application, the multisignature wallet order information is initiated after confirmation by at least N preset initiating accounts associated with the asset manager account.

[0146] In one possible implementation of this application, the signature verification unit 902 is further used for:

[0147] For each transaction order information, the hash value corresponding to each transaction order information and the transaction signature are input into the signature algorithm corresponding to the transaction signature to obtain the transaction initiating account corresponding to each transaction order information.

[0148] In one possible implementation of this application, the matching unit 904 is further configured to:

[0149] For each multisignature wallet order, a query request is sent to the multisignature wallet contract corresponding to the asset manager account, and a target identifier is received from the multisignature wallet contract based on the query request. The query request is used to trigger the multisignature wallet contract to query the preset account table stored in the multisignature wallet contract to determine whether the transaction initiating account is included in the preset initiating accounts associated with the asset manager account. The preset account table includes the preset initiating accounts associated with the asset manager account, and the target identifier is an identifier generated by the multisignature wallet contract based on the determination result.

[0150] For each multisignature wallet order information, if the target identifier is the same as the preset verification pass identifier, then each multisignature wallet order information is set as the target order information;

[0151] Virtual asset transactions are conducted based on the target order information.

[0152] In one possible implementation of this application, the matching unit 904 is further configured to:

[0153] For each multisignature wallet order information, the target identifier is decrypted using the decryption algorithm corresponding to the multisignature wallet contract, and the target identifier before decryption is updated with the decrypted target identifier.

[0154] In one possible implementation of this application, the acquiring unit 901 is further configured to:

[0155] In response to a virtual asset purchase request, obtain the purchase bid corresponding to the virtual asset purchase request and the preset order information corresponding to the virtual asset purchase request;

[0156] If the purchase bid matches the order price in the preset order information, then the preset order information is used as the transaction order information, and the transaction signature information corresponding to each transaction order information is obtained.

[0157] In practice, the above modules can be implemented as independent entities or combined in any way to be implemented as the same or several entities. For the specific implementation of the above modules, please refer to the previous method implementation examples, which will not be repeated here.

[0158] Since the virtual asset trading device can execute the steps in the virtual asset trading method in any embodiment, it can achieve the beneficial effects that the virtual asset trading method in any embodiment of this application can achieve, as detailed in the preceding description, and will not be repeated here.

[0159] Furthermore, to better implement the virtual asset trading method in the embodiments of this application, based on the virtual asset trading method, the embodiments of this application also provide an electronic device, see below. Figure 10 , Figure 10 This illustration shows a structural diagram of an electronic device according to an embodiment of this application. Specifically, the electronic device provided in this embodiment includes a processor 1001. The processor 1001 is used to execute a computer program stored in a memory 1002 to implement each step of the virtual asset trading method in any embodiment; or, the processor 1001 is used to execute a computer program stored in a memory 1002 to implement, for example... Figure 9 The functions of each module in the corresponding embodiment.

[0160] For example, a computer program may be divided into one or more modules / units, one or more of which are stored in memory 1002 and executed by processor 1001 to complete the embodiments of this application. One or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in a computer device.

[0161] The electronic device may include, but is not limited to, processor 1001 and memory 1002. Those skilled in the art will understand that the illustrations are merely examples of an electronic device and do not constitute a limitation on the electronic device. It may include more or fewer components than illustrated, or combine certain components, or use different components.

[0162] The processor 1001 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the electronic device, connecting various parts of the electronic device through various interfaces and lines.

[0163] The memory 1002 can be used to store computer programs and / or modules. The processor 1001 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 1002 and by calling the data stored in the memory 1002. The memory 1002 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device (such as audio data, video data, etc.). In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, RAM, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0164] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the virtual asset trading device, electronic device and its corresponding modules described above can be referred to the description of the virtual asset trading method in any embodiment, and will not be repeated here.

[0165] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by instructions, or by instructions controlling related hardware. These instructions can be stored in a readable storage medium and loaded and executed by a processor.

[0166] Therefore, embodiments of this application provide a readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the steps of the virtual asset trading method in any embodiment of this application. For specific operations, please refer to the description of the virtual asset trading method in any embodiment, which will not be repeated here.

[0167] The readable storage medium may include: read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0168] Since the instructions stored in the readable storage medium can execute the steps of the virtual asset trading method in any embodiment of this application, the beneficial effects that the virtual asset trading method in any embodiment of this application can achieve can be realized, as detailed in the preceding description, and will not be repeated here.

[0169] The foregoing has provided a detailed description of a virtual asset trading method, apparatus, storage medium, and electronic device 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: Obtain transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information; For each transaction order information, the transaction signature is verified based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information; Based on the transaction initiating account and the asset manager account corresponding to each transaction order information, multisignature wallet order information is obtained by filtering. The asset manager account corresponding to the multisignature wallet order information is associated with at least two preset initiating accounts. For each multisignature wallet order information, the preset initiating account associated with the asset manager account is matched with the transaction initiating account to obtain the target order information that is successfully matched in each multisignature wallet order information; Conduct virtual asset transactions based on the target order information; Specifically, for each multisignature wallet order information, the preset initiating account associated with the asset manager account is matched with the transaction initiating account to obtain the successfully matched target order information in each multisignature wallet order information, including: For each multisignature wallet order, a query request is sent to the multisignature wallet contract corresponding to the asset manager account, and a target identifier is received from the multisignature wallet contract based on the query request. The query request is used to trigger the multisignature wallet contract to query the preset account table stored in the multisignature wallet contract to determine whether the transaction initiating account is included in the preset initiating accounts associated with the asset manager account. The preset account table includes the preset initiating accounts associated with the asset manager account, and the target identifier is an identifier generated by the multisignature wallet contract based on the determination result. For each multisignature wallet order information, if the target identifier is the same as the preset verification pass identifier, then each multisignature wallet order information is set as the target order information; Virtual asset transactions are conducted based on the target order information.

2. The virtual asset trading method according to claim 1, characterized in that, The process of filtering multisignature wallet order information based on the transaction initiating account and the asset manager account corresponding to each transaction order information includes: For each transaction order, if the transaction initiating account and the asset manager account are not the same, the asset manager account is input into a preset account type judgment function to obtain the account type of the asset manager account; If the account type is a contract account, then each transaction order information will be set as a multisignature wallet order information.

3. The virtual asset trading method according to claim 1, characterized in that, The multisignature wallet order information is initiated after confirmation by at least N preset initiating accounts associated with the asset manager account.

4. The virtual asset trading method according to claim 1, characterized in that, For each of the transaction order information, the transaction signature is verified based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information, including: For each transaction order information, the hash value corresponding to each transaction order information and the transaction signature are input into the signature algorithm corresponding to the transaction signature to obtain the transaction initiating account corresponding to each transaction order information.

5. The virtual asset trading method according to claim 1, characterized in that, Before setting each multisignature wallet order as the target order information if the target identifier is the same as the verification pass identifier corresponding to the multisignature wallet contract, the method further includes: For each multisignature wallet order information, the target identifier is decrypted using the decryption algorithm corresponding to the multisignature wallet contract, and the target identifier before decryption is updated with the decrypted target identifier.

6. The virtual asset trading method according to any one of claims 1-5, characterized in that, The step of obtaining the transaction order information to be traded, and the transaction signature information corresponding to each transaction order information, includes: In response to a virtual asset purchase request, obtain the purchase bid corresponding to the virtual asset purchase request and the preset order information corresponding to the virtual asset purchase request; If the purchase bid matches the order price in the preset order information, then the preset order information is used as the transaction order information, and the transaction signature information corresponding to each transaction order information is obtained.

7. A method for trading virtual assets, characterized in that, The virtual asset trading method is applied to a multi-signature wallet contract. The asset manager account corresponding to the multi-signature wallet contract is associated with at least two preset initiating accounts. Each of the preset initiating accounts is stored in a preset account table within the multi-signature wallet contract, including: In response to a transaction request initiated by the first initiating account among the preset initiating accounts, based on the target order information carried in the transaction request and the first initiating account, transaction signature information corresponding to the target order information is generated, and a confirmation request is sent to the second initiating account among the preset initiating accounts other than the first initiating account, wherein the target order information includes the asset manager account; If at least N confirmation messages are received from the second initiating accounts based on confirmation requests, the target order information and the transaction signature information will be sent to the preset virtual asset trading platform. In response to the query request sent by the virtual asset trading platform for the target order information, the system queries the preset account table to determine whether the transaction initiating account corresponding to the query request is stored in the preset account table. If the account initiating the transaction is stored in the preset account table, a preset verification pass identifier is sent to the virtual asset trading platform so that the virtual asset trading platform can conduct virtual asset transactions based on the target order information.

8. The virtual asset trading method according to claim 7, characterized in that, The query request carries the target order information and the transaction signature information. The multisignature wallet contract verifies the transaction signature information based on the target order information to obtain the transaction initiating account corresponding to the query request.

9. A virtual asset trading device, comprising: The acquisition unit is used to acquire transaction order information to be traded, and transaction signature information corresponding to each transaction order information, wherein the transaction order information includes an asset manager account, and the transaction signature information corresponding to the transaction order information is generated based on the transaction order information and the transaction initiating account corresponding to the transaction order information; The signature verification unit is used to verify the transaction signature based on each transaction order information to obtain the transaction initiating account corresponding to each transaction order information. The filtering unit is used to filter multisignature wallet order information based on the transaction initiating account corresponding to each transaction order information and the asset manager account corresponding to each transaction order information, wherein the asset manager account corresponding to the multisignature wallet order information is associated with at least two preset initiating accounts; The matching unit is used to match the preset initiating account associated with the asset manager account with the transaction initiating account for each multisignature wallet order information, so as to obtain the target order information that is successfully matched in each multisignature wallet order information; A transaction unit is used to conduct virtual asset transactions based on the target order information; The matching unit is further configured to send a query request to the multisignature wallet contract corresponding to the asset manager account for each multisignature wallet order information, and receive a target identifier sent by the multisignature wallet contract based on the query request. The query request triggers the multisignature wallet contract to query a preset account table stored in the multisignature wallet contract to determine whether the transaction initiating account is included among the preset initiating accounts associated with the asset manager account. The preset account table includes the preset initiating accounts associated with the asset manager account. The target identifier is an identifier generated by the multisignature wallet contract based on the determination result. For each multisignature wallet order information, if the target identifier is the same as a preset verification pass identifier, then each multisignature wallet order information is set as the target order information. Virtual asset transactions are then performed based on the target order information.

10. An electronic device, characterized in that, The electronic device includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the virtual asset trading method as described in any one of claims 1 to 8.

11. A readable storage medium, characterized in that, The readable storage medium stores a computer program that, when executed by a processor, implements the steps of the virtual asset trading method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Asset management method, electronic equipment and readable storage medium

    CN112950181A

  • Multi-signature transaction method, computer equipment and storage medium

    CN113205336A