A method and apparatus for trading digital assets
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NETEASE (HANGZHOU) NETWORK CO LTD
- Filing Date
- 2022-06-21
- Publication Date
- 2026-05-26
AI Technical Summary
Existing digital asset trading methods have low security and pose a risk of digital assets being transferred due to the loss or leakage of the holder's private key.
A transaction token issuance and verification mechanism is introduced. The blockchain server receives encrypted transaction tokens from the issuer. The holder uses the plaintext transaction token to initiate a pre-transaction request. After the blockchain server verifies the tradable status of the digital asset, the transaction is conducted with the buyer.
It enables secure transactions of digital assets, prevents asset transfers due to lost or leaked private keys, and improves transaction security.
Smart Images

Figure CN115310978B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain technology, and more particularly to a method for trading digital assets. This application also relates to a digital asset trading device, electronic device, and computer-readable storage medium. Background Technology
[0002] Currently, in blockchain-based digital asset transactions, digital asset holders primarily complete transactions with buyers using their private keys. This means that anyone who obtains the holder's private key can complete a transaction. Therefore, existing digital asset transaction methods have low security and are susceptible to the risk of digital assets being transferred due to the loss or leakage of the holder's private key. Summary of the Invention
[0003] This application provides a method, apparatus, electronic device, and computer-readable storage medium for trading digital assets, in order to solve the problem that existing digital asset trading methods have low security and that digital assets can be transferred due to the loss or leakage of the holder's private key.
[0004] This application provides a method for trading digital assets, including:
[0005] The blockchain server receives the encrypted transaction token of the digital asset sent by the issuer; in response to the pre-transaction request of the digital asset sent by the holder using the plaintext transaction token of the digital asset, it verifies the tradable status of the digital asset.
[0006] The holder acquires the digital asset empowered by the blockchain server; sends the verification information of the digital asset to the issuer and receives the plaintext transaction token of the digital asset sent by the issuer; uses the plaintext transaction token of the digital asset to send a pre-transaction request of the digital asset to the blockchain server; and, in response to the blockchain server determining that the digital asset is in a tradable state, conducts a transaction of the digital asset with the buyer.
[0007] Upon receiving the verification information of the digital asset sent by the holder, the issuer verifies the validity of the verification information of the digital asset; upon verifying that the verification information of the digital asset is valid, the issuer sends the plaintext transaction token of the digital asset to the holder and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0008] The buyer responds to the blockchain server's confirmation that the digital asset is in a tradable state and then conducts a transaction with the holder of the digital asset.
[0009] This application also provides a method for trading digital assets, which is applied to a blockchain server. The blockchain server deploys multiple smart contracts, and the method includes:
[0010] Receive encrypted transaction tokens for digital assets sent by the issuer;
[0011] In response to a pre-transaction request for the digital asset sent by the holder using a plaintext transaction token of the digital asset, the tradable status of the digital asset is verified.
[0012] Optionally, the smart contract includes at least: a transaction contract and a transaction token contract; the transaction contract is used to execute transaction instructions for digital assets; the transaction token contract is used to store encrypted transaction tokens of the digital assets and verify the tradable status of the digital assets.
[0013] Optionally, verifying the tradable status of the digital asset includes:
[0014] In response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, query whether a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract;
[0015] In response to the fact that a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract, it is determined that the digital asset is in a tradable state.
[0016] This application also provides a method for trading digital assets, which is applied to the holder's end, and the method includes:
[0017] Acquire digital assets backed by a blockchain server;
[0018] Send the verification information of the digital asset to the issuer and receive the plaintext transaction token of the digital asset sent by the issuer.
[0019] Send a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset.
[0020] In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the buyer.
[0021] Optionally, sending the verification information of the digital asset to the issuer includes sending a verifiable statement of the digital asset to the issuer.
[0022] Optionally, sending the verification information of the digital asset to the issuer further includes sending the holder's digital signature to the issuer.
[0023] Optionally, receiving the plaintext transaction token of the digital asset sent by the issuer includes: receiving the plaintext transaction token of the digital asset and a transaction random number sent by the issuer.
[0024] Sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset includes: sending the pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset and the transaction random number.
[0025] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the buyer includes: sending the digital asset to the buyer.
[0026] This application also provides a method for trading digital assets, which is applied to the issuer side and includes:
[0027] In response to receiving verification information for digital assets sent by the holder, the validity of the verification information for the digital assets is verified.
[0028] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token of the digital asset is sent to the holder, and a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is sent to the blockchain server.
[0029] Optionally, the method further includes: in response to the holder acquiring the digital asset supported by the blockchain server, sending a verifiable declaration of the digital asset to the holder.
[0030] Optionally, the method further includes:
[0031] In response to the purchase amount of the digital asset paid by the buyer, the blockchain server verifies the tradable status of the digital asset and locks the digital asset.
[0032] In response to the holder sending the digital asset to the purchaser, the verifiable claim of the digital asset on the holder's end is revoked;
[0033] Send the purchase amount of the digital asset to the holder.
[0034] A verifiable claim about the digital asset is sent to the buyer.
[0035] Optionally, the step of verifying the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder includes: in response to receiving the verifiable declaration of the digital asset sent by the holder, verifying the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
[0036] Optionally, the step of verifying the validity of the digital asset verification information in response to receiving the digital asset verification information sent by the holder terminal further includes: in response to receiving the holder digital signature sent by the holder terminal, verifying the validity of the digital asset verification information based on the holder digital signature.
[0037] Optionally, in response to verifying that the verification information of the digital asset is valid, sending a plaintext transaction token of the digital asset to the holder and sending a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server includes:
[0038] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a transaction random number of the digital asset are sent to the holder.
[0039] Send to the blockchain server a plaintext transaction token of the digital asset and a ciphertext transaction token of the digital asset generated from the transaction random number.
[0040] This application also provides a method for trading digital assets, which is applied to the buyer's end, and the method includes:
[0041] In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the holder.
[0042] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the holder includes:
[0043] In response to the blockchain server determining that the digital asset is in a tradable state, the purchase amount of the digital asset is paid to the issuer.
[0044] Receive the digital assets sent by the holder.
[0045] This application embodiment also provides a digital asset trading device, which is applied to a blockchain server and includes: a receiving unit and a verification unit;
[0046] The receiving unit is used to receive encrypted transaction tokens of digital assets sent by the issuer.
[0047] The verification unit is used to verify the tradable status of the digital asset in response to a pre-trade request for the digital asset sent by the holder using the plaintext transaction token of the digital asset.
[0048] This application embodiment also provides a digital asset trading device, which is applied to the holder end. The device includes: an acquisition unit, a sending unit, a receiving unit, and a trading unit.
[0049] The acquisition unit is used to acquire digital assets supported by the blockchain server;
[0050] The sending unit is used to send the verification information of the digital asset to the issuer; it is also used to send a pre-transaction request of the digital asset to the blockchain server using the plaintext transaction token of the digital asset.
[0051] The receiving unit is used to receive the plaintext transaction token of the digital asset sent by the issuer.
[0052] The transaction unit is used to conduct a transaction of the digital asset with the buyer in response to the blockchain server determining that the digital asset is in a tradable state.
[0053] This application embodiment also provides a digital asset trading device, which is applied to the issuer end and includes: a receiving unit, a verification unit, and a sending unit;
[0054] The receiving unit is used to receive verification information of digital assets sent by the holder.
[0055] The verification unit is configured to verify the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder.
[0056] The issuing unit is configured to, in response to verifying that the verification information of the digital asset is valid, send the plaintext transaction token of the digital asset to the holder and send the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0057] This application embodiment also provides a digital asset trading device, which is applied to the buyer's end, and the device includes: a trading unit;
[0058] The transaction unit is used to conduct a transaction of the digital asset with the holder in response to the blockchain server determining that the digital asset is in a tradable state.
[0059] This application also provides an electronic device, including: a memory and a processor;
[0060] The memory is used to store one or more computer instructions;
[0061] The processor is configured to execute one or more computer instructions to implement the above method.
[0062] This application also provides a computer-readable storage medium storing one or more computer instructions that, when executed by a processor, perform the above-described method.
[0063] Compared with existing technologies, the digital asset trading method provided in this application includes: a blockchain server receiving a encrypted transaction token of a digital asset sent by an issuer; in response to a pre-transaction request for the digital asset sent by a holder using the plaintext transaction token, verifying the tradable status of the digital asset; the holder acquiring the digital asset empowered by the blockchain server; sending verification information of the digital asset to the issuer, and receiving the plaintext transaction token of the digital asset sent by the issuer; sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token; and responding to... The blockchain server determines that the digital asset is in a tradable state and conducts a transaction with the buyer. The issuer, upon receiving verification information for the digital asset from the holder, verifies the validity of the verification information. Upon verifying the verification information is valid, the issuer sends a plaintext transaction token for the digital asset to the holder and a ciphertext transaction token corresponding to the plaintext transaction token to the blockchain server. The buyer, upon the blockchain server determining that the digital asset is in a tradable state, conducts a transaction with the holder.
[0064] This method involves sending a plaintext transaction token for the digital asset to the holder and a corresponding ciphertext transaction token to the blockchain server. After the holder initiates a pre-transaction for the digital asset using the plaintext transaction token, the blockchain server verifies the validity of the pre-transaction. Only when the blockchain server finds the ciphertext transaction token corresponding to the plaintext transaction token can the digital asset be in a tradable state, allowing the holder and buyer to trade the digital asset. The digital asset trading method provided in this application creatively introduces a transaction token verification mechanism, achieving secure digital asset transactions and solving the problem of low security in existing digital asset transactions, where digital assets can be transferred due to the loss or leakage of the holder's private key. Attached Figure Description
[0065] Figure 1 This is a schematic diagram of an existing digital asset transaction provided in an embodiment of this application;
[0066] Figure 2 This is a flowchart of the digital asset trading method provided in the first embodiment of this application;
[0067] Figure 3 This is a signaling flowchart of the digital asset transaction method provided in the first embodiment of this application;
[0068] Figure 4 This is a signaling flowchart of another digital asset transaction method provided in the first embodiment of this application;
[0069] Figure 5 This is a signaling flowchart of the digital asset transaction method provided in the second embodiment of this application;
[0070] Figure 6 This is a signaling flowchart of the digital asset transaction method provided in the third embodiment of this application;
[0071] Figure 7 This is a signaling flowchart of the digital asset transaction method provided in the fourth embodiment of this application;
[0072] Figure 8 This is a signaling flowchart of the digital asset transaction method provided in the fifth embodiment of this application;
[0073] Figure 9 This is a schematic diagram of the structure of the digital asset trading device provided in the sixth embodiment of this application;
[0074] Figure 10 This is a schematic diagram of the structure of the digital asset trading device provided in the seventh embodiment of this application;
[0075] Figure 11 This is a schematic diagram of the structure of the digital asset trading device provided in the eighth embodiment of this application;
[0076] Figure 12 This is a schematic diagram of the structure of the digital asset trading device provided in the ninth embodiment of this application;
[0077] Figure 13 This is a schematic diagram of the structure of the digital asset trading system provided in the tenth embodiment of this application;
[0078] Figure 14 This is a schematic diagram of the structure of the electronic device provided in the eleventh embodiment of this application. Detailed Implementation
[0079] Many specific details are set forth in the following description to provide a full understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this application; therefore, this application is not limited to the specific embodiments disclosed below.
[0080] The following explanations of the technical terms used in the embodiments of this application are provided for ease of understanding.
[0081] A blockchain is a chain of blocks. Each block contains specific information, and these blocks are linked together in chronological order of their creation to form the blockchain. The blockchain is stored on servers, and as long as at least one server in the entire blockchain system is functioning correctly, the entire blockchain is secure. These servers are the nodes in the blockchain system, primarily providing storage and computation. Compared to traditional networks, blockchain features data that is difficult to tamper with and is decentralized, making the data recorded on the blockchain more authentic and reliable. Blockchain can be applied in numerous fields, including finance, the Internet of Things and logistics, public services, digital copyright, insurance, and philanthropy.
[0082] Tencent Cloud Decentralized Identity (TDID), based on blockchain, provides a mechanism for generating, holding, and verifying identity identifiers and verifiable claims. TDID can reliably represent various types of real-world identities and credentials on the internet in a cryptographically secure manner, protecting data privacy and allowing for machine verification by third parties. Distributed identities include not only people but also organizations and items. They do not rely on a centralized authority, are identities that cannot be taken away or deleted, and are carried by individuals, organizations, or items throughout their lives.
[0083] Decentralized Identifiers (DIDs) are digital identifiers composed of strings used to represent digital identities. They achieve global uniqueness without the need for a central registration authority and are characterized by being distributed, decentralized, verifiable, self-controllable, and reusable across blockchains. An entity can possess multiple distributed identities, each assigned a unique distributed digital identity identifier and an associated asymmetric key. Different identities are not linked, effectively preventing the aggregation of entity identity information. Entities can autonomously register, resolve, update, or revoke their distributed digital identities. The distributed digital identity identifier is resolved into a Distributed Digital Identity Document (DID Document), which includes the unique identifier of the distributed digital identity, a list of public keys, detailed public key information (e.g., holder, encryption algorithm, key status), and other attribute descriptions of the distributed digital identity holder.
[0084] A Verifiable Credential (VC) is a descriptive statement issued by a distributed digital identity entity (e.g., an issuer) to endorse certain attributes of another distributed digital identity entity (e.g., a holder), accompanied by its own digital signature, to prove the authenticity of these attributes. It can be understood as a type of digital certificate. Distributed digital identity entities (e.g., holders) can use verifiable VCs to prove to other entities (e.g., individuals, organizations, specific things) that certain attributes of theirs are trustworthy.
[0085] A verifiable presentation (VP) is data used by a verifiable claim holder to identify themselves to a verifier. Normally, the holder simply presents the full text of the verifiable claim. However, in some cases, for privacy reasons, the holder may not need to present the complete verifiable claim, but may choose to selectively disclose certain attributes, or even omit any attributes, only needing to prove a specific assertion. A verifiable presentation typically includes all or part of the attributes of the holder's verifiable claim, along with the holder's digital signature.
[0086] Smart contracts, a core technology of blockchain, are a set of computer protocols defined in digital form, designed to disseminate, verify, or execute contracts in an informational manner. They are contracts that use computer language instead of legal language to record terms, are automatically executed by computer systems, allow for trusted transactions without a third party, and are traceable and irreversible. If blockchain is a database, then smart contracts are the application layer that enables blockchain technology to be applied to real-world scenarios.
[0087] In a verifiable claim system for distributed digital identity, the following types of participants are included:
[0088] An issuer is an entity that owns user data and can issue verifiable claims, such as governments, banks, universities, and other institutions and organizations. Issuers can also revoke verifiable claims issued to users.
[0089] The holder, or user, applies for and receives a verifiable statement from the issuer. The holder can retain the verifiable statement and present it to the verifier when needed. The holder may also selectively present the verifiable statement to the verifier.
[0090] A verifier verifies a verifiable claim or expression presented by a holder, thereby providing some type of service to the holder who presented the claim or expression. A verifier can also register as an issuer if they issue their own verifiable claim.
[0091] A Verifiable Data Registry is a database used to maintain distributed digital identities and to store distributed digital identity documents.
[0092] Digital assets refer to non-monetary assets owned or controlled by an enterprise or individual, existing in electronic data form, held for sale in the ordinary course of business, or in the process of production. Any content stored digitally can be considered a digital asset, such as various digitized operational data, business processes, spreadsheets, text files, and audio files. The core of a digital asset can be digitized content, such as digital movies, digital photos, and online novels, or non-digital content, such as real estate, equity, and money.
[0093] Non-fungible tokens (NFTs) are indivisible, non-fungible, and unique. They can be linked to real-world goods, tokenizing items such as artwork, collectibles, and real estate, making them digital assets issued on the blockchain. NFTs possess both collectible and tradable attributes. Artists can use NFTs to create unique digital artworks. Each NFT has only one official owner and is protected by the Ethereum blockchain; no one can modify the ownership record of an NFT or copy and paste a new one from an existing one.
[0094] The following types of participants are included in digital asset trading systems:
[0095] A holder is the entity that creates digital assets and is the seller in a digital asset transaction.
[0096] An issuer is an entity that issues verifiable claims to holders. In a digital asset trading system, the issuer and verifier of a digital asset's verifiable claim can be the same entity.
[0097] Consumer: The entity that purchases digital assets; the buyer in a digital asset transaction.
[0098] A Verifiable Data Registry is a database used to maintain distributed digital identities, store distributed digital identities and related documents, and also store digital assets created by holders.
[0099] Currently, in digital asset transactions, the digital asset holder typically completes the transaction by sending a digital signature to the buyer using their private key.
[0100] Figure 1 This is a schematic diagram of an existing digital asset transaction provided in an embodiment of this application.
[0101] like Figure 1 As shown, the existing digital asset trading process includes:
[0102] First, holder 111 initiates a transfer of digital asset 121. The system performs a hash operation on digital asset 121 to obtain a digital digest 122 of the digital asset.
[0103] Second, the holder 111 enters the private key to encrypt the digital digest 122, forming the digital signature 123;
[0104] Third, the system merges digital asset 121 with digital signature 123 and sends it to buyer 112;
[0105] Fourth, the buyer 112 uses the public key to decrypt the received digital signature 123 to obtain the digital digest 124, and at the same time the system performs a hash operation on the received digital asset 121 to obtain the digital digest 125.
[0106] Fifth, compare digital digest 124 and digital digest 125. If they are the same, it means that digital asset 121 was transferred by holder 111 and has not been tampered with. Buyer 112 can then receive digital asset 121 and complete the transfer of digital asset 121 from holder 111 to buyer 112.
[0107] As can be seen from the above, anyone who obtains the private key of holder 111 can complete the transfer of digital asset 121.
[0108] Therefore, while existing digital asset trading methods have reduced the risks of transactions to some extent, there is still a risk that digital assets may be illegally transferred due to the loss, leakage, or theft of the holder's private key.
[0109] To address the problems existing in current digital asset transactions, this application provides a digital asset trading method that introduces a transaction token issuance and verification mechanism, thereby enabling secure digital asset transactions.
[0110] The following detailed description, in conjunction with specific embodiments and accompanying drawings, illustrates the digital asset trading method, apparatus, electronic device, and computer-readable storage medium described in this application.
[0111] The first embodiment of this application provides a method for trading digital assets, wherein the participants include: a blockchain server, a holder, an issuer, and a buyer.
[0112] Among them, the blockchain server can be a common digital identity cloud server or digital identity management website; the holder can be a mobile phone or computer used by the holder who creates or obtains digital assets; the issuer can be a mobile phone or computer used by the issuer who can issue and verify verifiable claims; and the buyer can be a mobile phone or computer used by the buyer who purchases digital assets.
[0113] Figure 2 This is a flowchart of the digital asset trading method provided in this embodiment.
[0114] like Figure 2 As shown, the digital asset trading method provided in this embodiment includes the following steps:
[0115] Step S201: The blockchain server receives the encrypted transaction token of the digital asset sent by the issuer; in response to the pre-transaction request of the digital asset sent by the holder using the plaintext transaction token of the digital asset, the server verifies the tradable status of the digital asset.
[0116] Step S202: The holder acquires the digital asset empowered by the blockchain server; sends the verification information of the digital asset to the issuer and receives the plaintext transaction token of the digital asset sent by the issuer; uses the plaintext transaction token of the digital asset to send a pre-transaction request of the digital asset to the blockchain server; and in response to the blockchain server determining that the digital asset is in a tradable state, conducts a transaction of the digital asset with the buyer.
[0117] In step S203, the issuer verifies the validity of the digital asset verification information sent by the holder upon receiving the verification information of the digital asset; in response to verifying that the verification information of the digital asset is valid, the issuer sends the plaintext transaction token of the digital asset to the holder and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0118] In step S204, the buyer responds to the blockchain server's confirmation that the digital asset is in a tradable state and then conducts a transaction of the digital asset with the holder.
[0119] Figure 3 This is a signaling flowchart of the digital asset transaction method provided in this embodiment, which is described below in conjunction with... Figure 3 The digital asset trading method described in this embodiment will be explained in detail.
[0120] like Figure 3 As shown, the steps of the digital asset trading method provided in this embodiment include:
[0121] Step S301: The holder obtains digital assets supported by the blockchain server.
[0122] The digital assets empowered by the blockchain server include digital assets created by the holder on the blockchain server, digital assets purchased by the holder on the blockchain server, and real-world assets owned by the holder, all of which are formed after being empowered by the blockchain server. The entity that acquires the digital asset is the holder of the digital asset. Each digital asset can only have one holder at a time. The holder of the digital asset changes only after a transaction is completed between the holder and the buyer, with the buyer becoming the new holder of the digital asset.
[0123] Step S302: The issuer issues a verifiable statement of the digital asset to the holder.
[0124] Once the issuer detects that the holder has acquired digital assets, the issuer will issue a verifiable statement of the digital assets to the holder. In other words, the issuer's issuance of a verifiable statement of the digital assets to the holder is an active action.
[0125] A verifiable claim mainly consists of three parts: metadata, the claim itself, and proof. The metadata primarily includes information such as the issuer, issuance date, expiration date, and claim type. The claim itself mainly includes information about the digital asset and its holder, such as the asset's identifier, the holder's distributed digital identity, and the holder's address information. The proof primarily includes the issuer's digital signature and the public key used to verify that signature.
[0126] A digital asset only belongs to a holder after the issuer issues a verifiable claim to the holder. Of course, if the holder acquired the digital asset through purchase, the issuer must first revoke the original holder's verifiable claim before issuing a verifiable claim to the new holder.
[0127] This step provides a method for the issuer to issue a verifiable claim for the digital asset to the holder after detecting that the holder has acquired it. The method described in this embodiment may further include: in response to the holder acquiring the digital asset and sending a request for a verifiable claim for the digital asset to the issuer, the issuer then issues the verifiable claim to the holder. That is, the issuer's issuance of the verifiable claim to the holder is not an active action; the holder must first send a request for a verifiable claim to the issuer before the issuer will send the verifiable claim.
[0128] In step S303, the holder sends the verification information of the digital asset to the issuer.
[0129] The verification information of the digital asset refers to the verifiable representation of the digital asset.
[0130] The verification information for digital assets provided in this embodiment includes: a verifiable statement for the digital asset. A verifiable statement for a digital asset is a verifiable credential issued by the issuer to the holder for the digital asset. The issuer can verify the verifiable statement for the digital asset sent by the holder, mainly including verifying the validity of the statement, such as whether the statement was issued by the issuer and whether it has exceeded its expiration date.
[0131] The verification information for digital assets provided in this embodiment also includes: the holder's digital signature. The holder's digital signature is a digital signature of the verifiable claim for the digital asset made by the holder. The system can perform a hash operation on the verifiable claim of the digital asset to obtain a hash value of the verifiable claim. The holder can then encrypt this hash value using their private key to obtain the digital signature of the verifiable claim for the digital asset.
[0132] In step S304, the issuer verifies the validity of the verification information of the digital asset and generates plaintext transaction tokens and ciphertext transaction tokens for the digital asset.
[0133] The plaintext transaction token is a tradable token sent by the issuer to the holder after verifying the verification information of the digital asset sent by the holder. The issuer can only initiate a pre-transaction of the digital asset through the plaintext transaction token. In this way, it can be ensured that if the holder's private key is lost, others will not be able to trade the digital asset through the obtained private key.
[0134] The encrypted transaction token is formed by the issuer hashing and encrypting the plaintext transaction token. Specifically, the hash algorithm is used to calculate the hash value of each piece of information in the plaintext transaction token, and the hash value is formed by the hash value to form the encrypted transaction token corresponding to the plaintext transaction token. In order to prevent users from reverse engineering, a random number can be added when calculating the hash value of each piece of information to improve the security of hash encryption.
[0135] In step S305, the issuer sends the plaintext transaction token to the holder and the encrypted transaction token to the blockchain server.
[0136] This embodiment provides an optional implementation method, namely: in response to the holder sending the verification information of the digital asset to the issuer, the issuer verifies the validity of the verification information of the digital asset; the issuer determines whether to issue the plaintext transaction token of the digital asset to the holder based on the validity verification result of the verification information of the digital asset.
[0137] This embodiment provides an optional implementation method for verifying the validity of the verifiable information of a digital asset when the verification information of the digital asset is a verifiable declaration of the digital asset. Specifically, in response to the holder sending the verifiable declaration of the digital asset to the issuer, the issuer verifies the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
[0138] The issuer compares its digital signature in the verifiable claim sent by the holder to determine whether the digital signature belongs to the issuer and matches the verifiable claim. If they match, the verifiable claim for the digital asset is valid; otherwise, it is invalid.
[0139] This embodiment provides an optional implementation method for verifying the validity of verifiable information of a digital asset when the verification information of the digital asset is a holder's digital signature. Specifically, in response to the holder sending the holder's digital signature to the issuer, the issuer verifies the validity of the verification information of the digital asset based on the holder's digital signature.
[0140] When the holder sends their digital signature to the issuer, they are essentially sending a combined statement of verification of the digital asset and the digital signature. Upon receiving the statement and signature, the issuer uses its public key to decrypt the received digital signature, obtaining a hash value. Simultaneously, the system performs a hash operation on the received statement of verification of the digital asset, obtaining another hash value. If the two hash values match, it indicates that the verification information for the digital asset was indeed sent from the holder to the issuer.
[0141] In summary, the issuer's verification of the issuer's digital signature in the verifiable statement of a digital asset can determine whether the verifiable statement it receives was issued by the issuer and whether the verifiable statement has been tampered with; the issuer's verification of the holder's digital signature can determine whether the verifiable statement it receives was sent by the holder.
[0142] Therefore, typically, the verification information for digital assets sent from the holder to the issuer includes both the verifiable claim of the digital asset and the holder's digital signature. However, the verification information sent from the holder to the issuer can also include only a portion of the verifiable claim, such as only the metadata or proof portion. This method verifies the validity of the verification information while reducing the amount of data in the communication process and lowering the verification workload.
[0143] The issuer can determine whether to send a plaintext transaction token for the digital asset to the holder by verifying the validity of the verification information. Specifically:
[0144] If the verification information of the digital asset is valid, the issuer will issue a plaintext transaction token of the digital asset to the holder.
[0145] If the verification information of the digital asset is invalid, the issuer will not issue the plaintext transaction token of the digital asset to the holder.
[0146] When the issuer sends a plaintext transaction token for a digital asset to the holder, it also sends a corresponding ciphertext transaction token to the blockchain server. To ensure that the ciphertext transaction token cannot be reverse-engineered, this embodiment provides an optional implementation method: in response to the holder sending verification information of the digital asset to the issuer, the issuer issues a plaintext transaction token and a transaction random number to the holder; the issuer then generates a ciphertext transaction token for the digital asset based on the plaintext transaction token and the transaction random number and stores it on the blockchain server.
[0147] Therefore, the encrypted transaction token is formed by adding a transaction random number while hashing the plaintext transaction token. Thus, when the issuer distributes the plaintext transaction token of the digital asset to the holder, it also sends the transaction random number along with it. In subsequent operations, the holder must possess both the plaintext transaction token and the transaction random number to initiate a pre-transaction for the digital asset.
[0148] Step S306: The holder uses the civilization transaction token of the digital asset to send a pre-transaction request for the digital asset to the blockchain server.
[0149] One possible implementation is that the holder uses the civilization transaction token of the digital asset and the transaction random number to send a pre-transaction request for the digital asset to the blockchain server.
[0150] Step S307: The blockchain server queries whether it stores a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, and verifies the tradable status of the digital asset.
[0151] The blockchain server is equipped with a transaction token contract, which is a computer protocol related to transaction tokens deployed on the blockchain server. It mainly provides operations such as storing encrypted transaction tokens of digital assets and verifying the tradable status of digital assets (i.e., pre-transaction validity verification).
[0152] The holder uses a plaintext transaction token of the digital asset to send a pre-transaction of the digital asset to the blockchain server. The transaction token contract deployed on the blockchain server will then actively perform a verification operation on the tradable status of the digital asset, that is, check whether the transaction token contract stores a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, specifically including:
[0153] If the transaction token contract finds a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, then the digital asset is in a tradable state.
[0154] If no encrypted transaction token corresponding to the plaintext transaction token of the digital asset is found in the transaction token contract, the digital asset is in a non-tradable state.
[0155] By verifying the matching between plaintext and ciphertext transaction tokens through the transaction token contract, transaction security is further guaranteed. In other words, if someone forges a plaintext transaction token, the transaction token contract will not be able to find a corresponding ciphertext transaction token, the pre-transaction of the digital asset will be invalid, and the digital asset will be in a non-tradable state.
[0156] As mentioned earlier, to further ensure that the encrypted transaction token cannot be reverse-engineered, the issuer sends a transaction random number to the holder along with the plaintext transaction token for the digital asset. The encrypted transaction token is formed by hashing and encrypting the plaintext transaction token while adding the transaction random number. The issuer encrypts and sends the plaintext transaction token and the transaction random number to the holder. For the holder to initiate a pre-trade of the digital asset, both the plaintext transaction token and the transaction random number are required. In other words, even if the plaintext transaction token is lost, the holder of the plaintext transaction token cannot initiate a pre-trade of the digital asset, and the digital asset cannot be made tradable.
[0157] The blockchain server also deploys transaction contracts, which are computer protocols related to the trading of digital assets deployed on the blockchain server. These contracts mainly provide operations such as mining, pre-trading, saving, locking, and transferring digital assets.
[0158] The transaction process for the digital assets is executed through a transaction contract deployed on the blockchain server. The transaction token contract deployed on the blockchain server ensures the secure transaction of the digital assets.
[0159] In step S308, in response to the digital asset being in a tradable state, the holder and the buyer conduct a transaction of the digital asset.
[0160] Once the blockchain server finds that it stores the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, it can change the transaction status of the digital asset to tradable.
[0161] When digital assets are in a tradable state, holders and buyers can trade them, including: the buyer paying the purchase amount of the digital assets to the holder, and the holder transferring the digital assets to the buyer.
[0162] The digital asset trading method provided in this embodiment also includes the following steps:
[0163] First, in response to the digital asset being in a tradable state, the buyer sends the purchase amount of the digital asset to the issuer.
[0164] By acting as an intermediary between issuers and holders in digital asset transactions, the issuer can provide security for the transactions of buyers.
[0165] Second, in response to the purchase amount of the digital asset sent by the buyer to the issuer, the issuer verifies the tradable status of the digital asset on the blockchain server and locks the digital asset.
[0166] Locking the digital asset means locking the digital asset for the buyer, so that when the buyer is trading the digital asset, no other buyer will buy it.
[0167] Third, in response to the digital asset being locked, the holder sends the digital asset to the buyer, and the issuer sends the purchase amount of the digital asset to the holder.
[0168] Once the holder and the buyer complete the transaction of digital assets, the digital assets belong to the buyer, who then becomes the new holder.
[0169] The digital asset trading method provided in this embodiment also includes the following steps:
[0170] First, in response to the holder sending the digital asset to the purchaser, the issuer revokes the holder's verifiable claim to the digital asset.
[0171] Second, in response to the issuer sending the purchase amount of the digital asset to the holder, the issuer issues a verifiable statement of the digital asset to the purchaser.
[0172] The digital asset trading method provided in this embodiment further includes: in response to the issuer's failure to lock the digital asset on the blockchain server, the issuer sends the purchase amount of the digital asset to the buyer.
[0173] The issuer's failure to lock the digital asset on the blockchain server may be due to the fact that, although the digital asset is in a tradable state, the issuer has already locked it for another buyer. Since a digital asset can only belong to one holder at a time, if it is already locked, it cannot be locked again. Because the issuer failed to lock the digital asset on the blockchain server, the buyer will not be able to obtain it, and the issuer will return the purchase price to the buyer. This method ensures that the digital asset can only have one buyer at a time, while also protecting the buyer's transaction security.
[0174] The digital asset trading method described in this embodiment also includes steps such as: the holder registering a distributed digital identity on the blockchain server, and the issuer registering a distributed digital identity on the blockchain server. Without registering a distributed digital identity, the holder cannot become a holder, and without registering a distributed digital identity, the issuer cannot become an issuer. Therefore, these steps are necessary and standard procedures in a blockchain system and will not be described in detail here.
[0175] Figure 4 This is a signaling flowchart of another digital asset transaction method provided in this embodiment, which is described below in conjunction with... Figure 4 The digital asset trading method described in this embodiment will be explained in detail.
[0176] like Figure 4 As shown, the steps of the digital asset trading method provided in this embodiment include:
[0177] Step S401: The holder obtains digital assets from the blockchain server.
[0178] The holder acquires digital assets on the blockchain server, including the holder creating digital assets on the blockchain server and the holder purchasing digital assets on the blockchain server.
[0179] In step S402, in response to the holder obtaining digital assets from the blockchain server, the issuer issues a verifiable statement of the digital assets to the holder.
[0180] The process of the issuer issuing a verifiable statement of the digital asset to the holder can be an active one. That is, when the issuer detects that the holder has acquired the digital asset on the blockchain service, the issuer issues a verifiable statement of the digital asset to the holder.
[0181] The process of the issuer issuing a verifiable declaration of the digital asset to the holder can also be a passive process. That is, after the holder obtains the digital asset from the blockchain service, he / she sends a request for a verifiable declaration of the digital asset to the issuer. In response to the request, the issuer issues a verifiable declaration of the digital asset to the holder.
[0182] Step S403: The holder sends the verification information of the digital asset to the issuer.
[0183] Verification information for digital assets refers to the verifiable representation of a digital asset. The verification information provided in this embodiment includes a verifiable declaration of the digital asset and the holder's digital signature. Of course, the verification information sent by the holder to the issuer may only include a portion of the verifiable declaration, such as the issuer's digital signature.
[0184] Step S404: In response to the holder sending the verification information of the digital asset to the issuer, the issuer verifies the validity of the verification information of the digital asset.
[0185] The issuer's verification of the validity of the verification information for digital assets can include verifying the issuer's digital signature in the verifiable claim and verifying the holder's digital signature. Successful verification renders the verification information for the digital asset valid. Specifically, the issuer's verification of the issuer's digital signature in the verifiable claim determines whether the received verifiable claim was issued by the issuer and whether it has been tampered with. The issuer's verification of the holder's digital signature determines whether the received verifiable claim was sent by the holder.
[0186] In step S405, in response to the verification information of the digital asset being valid, the issuer generates a plaintext transaction token for the digital asset and a ciphertext transaction token corresponding to the plaintext transaction token.
[0187] A ciphertext transaction token is a transaction token corresponding to a plaintext transaction token, and the two are mutually compatible. Since the issuer generates both a plaintext transaction token and its corresponding ciphertext transaction token after verifying the validity of the digital asset's verification information, the compatibility of these two tokens can verify whether the plaintext transaction token held by the holder is a valid transaction token issued by the issuer.
[0188] Ciphertext transaction tokens are typically generated through hash encryption, which encrypts both the plaintext transaction token and a transaction random number. Any slight alteration to the plaintext transaction token by anyone will prevent the generation of a matching ciphertext transaction token. The transaction random number further enhances the security of the hash encryption, making it impossible for anyone to deduce the plaintext transaction token from the ciphertext one.
[0189] Step S406: The issuer sends the plaintext transaction token of the digital asset to the holder and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0190] When the issuer issues a plaintext transaction token for digital assets to the holder, it also sends a transaction random number to the holder. The issuer then generates a ciphertext transaction token based on the plaintext transaction token and the transaction random number and stores it on the blockchain server. In fact, it stores the token in a transaction token contract deployed on the blockchain server.
[0191] Step S407: The holder uses the plaintext transaction token of the digital asset to send a pre-transaction request for the digital asset to the blockchain server.
[0192] A holder must possess both the plaintext transaction token and the transaction random number of the digital asset to initiate a pre-transaction for that digital asset. Initiating a pre-transaction for a digital asset only indicates that the holder wishes to trade that digital asset; it does not mean that the digital asset is already tradable.
[0193] Step S408: In response to the holder initiating a pre-transaction of the digital asset using the plaintext transaction token of the digital asset on the blockchain server, the blockchain server queries whether it stores a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, and verifies the tradable status of the digital asset.
[0194] The blockchain server has a transaction token contract. This contract can perform a verification operation on the tradable status of the digital asset, specifically, it checks whether the transaction token contract on the blockchain server stores a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset.
[0195] If the transaction token contract finds a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, then the digital asset is in a tradable state.
[0196] If no encrypted transaction token corresponding to the plaintext transaction token of the digital asset is found in the transaction token contract, the digital asset is in a non-tradable state.
[0197] In step S409, in response to the digital asset being in a tradable state, the buyer sends the purchase amount of the digital asset to the issuer.
[0198] The digital asset is in a tradable state. If a buyer wants to purchase the digital asset, the buyer needs to place an order and pay the purchase amount of the digital asset to the issuer.
[0199] In step S410, in response to the purchaser paying the purchase amount of the digital asset to the issuer, the issuer verifies the tradable status of the digital asset on the blockchain server and locks the digital asset.
[0200] After receiving the purchase amount of the digital asset from the buyer, the issuer will verify on the blockchain server whether the digital asset is in a tradable state. If it is, the issuer will lock the digital asset. Once the issuer has locked digital assets for one buyer, it cannot lock the same digital asset for other buyers.
[0201] In step S411, in response to the digital asset being in a locked state, the holder sends the digital asset to the buyer.
[0202] Once a digital asset is locked, it is in a locked state, meaning that the digital asset can be traded between the buyer and the holder, and the holder can transfer the digital asset to the buyer.
[0203] In step S412, in response to the holder transferring the digital asset to the purchaser, the issuer revokes the holder's verifiable claim to the digital asset.
[0204] Once the holder transfers the digital asset, the digital asset no longer belongs to the holder, and therefore the issuer will revoke the holder's verifiable claim regarding the digital asset.
[0205] In step S413, the issuer sends the purchase amount of the digital asset to the holder.
[0206] The issuer transfers the purchase amount of the digital assets paid in advance by the buyer to the holder, thus completing the entire transaction process for the digital assets.
[0207] In step S414, the issuer sends a verifiable statement of the digital asset to the buyer.
[0208] Once the buyer acquires the digital asset, they become the new holder of that digital asset. The issuer then needs to issue a verifiable statement regarding the digital asset to the new holder. At this point, the transfer of the digital asset between the buyer and holder is completed within the blockchain system, including: the transfer of the digital asset itself, the transfer of the purchase price, and the transfer of the verifiable statement.
[0209] The second embodiment of this application provides a method for trading digital assets, which is applied to a blockchain server. The blockchain server deploys multiple smart contracts, including at least a transaction contract and a transaction token contract; the transaction contract is used to execute transaction instructions for digital assets; the transaction token contract is used to store encrypted transaction tokens of the digital assets and verify the tradable status of the digital assets.
[0210] Figure 5 This is a signaling flowchart of the digital asset transaction method provided in this embodiment.
[0211] like Figure 5 As shown, the digital asset trading method provided in this embodiment includes the following steps:
[0212] Step S501: Receive the encrypted transaction token of the digital asset sent by the issuer.
[0213] Step S502: In response to the pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, verify the tradable status of the digital asset.
[0214] The verification of the tradable status of the digital asset includes:
[0215] First, in response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, query whether a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract.
[0216] Second, in response to the fact that the transaction token contract contains a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset, it is determined that the digital asset is in a tradable state.
[0217] The third embodiment of this application provides a method for trading digital assets, which is applied to the holder. Figure 6 This is a signaling flowchart of the digital asset transaction method provided in this embodiment.
[0218] like Figure 6 As shown, the digital asset trading method provided in this embodiment includes the following steps:
[0219] Step S601: Obtain digital assets supported by the blockchain server.
[0220] Step S602: Send the verification information of the digital asset to the issuer and receive the plaintext transaction token of the digital asset sent by the issuer.
[0221] Sending the verification information of the digital asset to the issuer includes sending a verifiable declaration of the digital asset to the issuer.
[0222] Sending the verification information of the digital asset to the issuer also includes sending the holder's digital signature to the issuer.
[0223] The step of receiving the plaintext transaction token of the digital asset sent by the issuer includes: receiving the plaintext transaction token of the digital asset and the transaction random number sent by the issuer.
[0224] Step S603: Send a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset.
[0225] Sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset includes: sending the pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset and the transaction random number.
[0226] Step S604: In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the buyer.
[0227] The step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the buyer includes: sending the digital asset to the buyer.
[0228] The fourth embodiment of this application provides a method for trading digital assets, which is applied to the issuer side. Figure 7 This is a signaling flowchart of the digital asset transaction method provided in this embodiment.
[0229] like Figure 7 As shown, the digital asset trading method provided in this embodiment includes the following steps:
[0230] Step S701: In response to receiving the verification information of the digital asset sent by the holder, verify the validity of the verification information of the digital asset.
[0231] The step of verifying the validity of the verification information of the digital asset in response to receiving verification information of the digital asset sent by the holder includes: in response to receiving a verifiable declaration of the digital asset sent by the holder, verifying the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
[0232] The step of responding to receiving verification information of digital assets sent by the holder and verifying the validity of the verification information of digital assets further includes: responding to receiving a holder's digital signature sent by the holder and verifying the validity of the verification information of digital assets based on the holder's digital signature.
[0233] In step S702, in response to verifying that the verification information of the digital asset is valid, a plaintext transaction token of the digital asset is sent to the holder, and a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is sent to the blockchain server.
[0234] In response to verifying that the verification information of the digital asset is valid, the system sends a plaintext transaction token of the digital asset to the holder and a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server, including:
[0235] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a transaction random number of the digital asset are sent to the holder.
[0236] Send to the blockchain server a plaintext transaction token of the digital asset and a ciphertext transaction token of the digital asset generated from the transaction random number.
[0237] The method further includes:
[0238] In response to the holder acquiring the digital asset backed by the blockchain server, a verifiable declaration of the digital asset is sent to the holder.
[0239] The method further includes:
[0240] In response to the purchase amount of the digital asset paid by the buyer, the blockchain server verifies the tradable status of the digital asset and locks the digital asset.
[0241] In response to the holder sending the digital asset to the purchaser, the verifiable claim of the digital asset on the holder's end is revoked;
[0242] Send the purchase amount of the digital asset to the holder.
[0243] A verifiable claim about the digital asset is sent to the buyer.
[0244] The fifth embodiment of this application provides a method for trading digital assets, which is applied to the buyer's end. Figure 8 This is a signaling flowchart of the digital asset transaction method provided in this embodiment.
[0245] like Figure 8 As shown, the digital asset trading method provided in this embodiment includes the following steps:
[0246] Step S801: In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the holder.
[0247] The step of responding to the blockchain server determining that the digital asset is in a tradable state and then trading the digital asset with the holder includes:
[0248] In response to the blockchain server determining that the digital asset is in a tradable state, the purchase amount of the digital asset is paid to the issuer.
[0249] Receive the digital assets sent by the holder.
[0250] The sixth embodiment of this application provides a digital asset trading device, which is applied to a blockchain server, and the blockchain server deploys multiple smart contracts. Figure 9 This is a schematic diagram of the structure of the digital asset trading device provided in this embodiment.
[0251] like Figure 9 As shown, the digital asset trading device provided in this embodiment includes: a receiving unit 901 and a verification unit 902;
[0252] The receiving unit 901 is used to receive encrypted transaction tokens of digital assets sent by the issuer.
[0253] The verification unit 902 is used to verify the tradable status of the digital asset in response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset.
[0254] Optionally, the smart contract includes at least: a transaction contract and a transaction token contract; the transaction contract is used to execute transaction instructions for digital assets; the transaction token contract is used to store encrypted transaction tokens of the digital assets and verify the tradable status of the digital assets.
[0255] Optionally, verifying the tradable status of the digital asset includes:
[0256] In response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, query whether a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract;
[0257] In response to the fact that a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract, it is determined that the digital asset is in a tradable state.
[0258] The seventh embodiment of this application provides a digital asset trading device, which is applied to the holder. Figure 10 This is a schematic diagram of the structure of the digital asset trading device provided in this embodiment.
[0259] like Figure 10 As shown, the digital asset trading device provided in this embodiment includes: an acquisition unit 1001, a sending unit 1002, a receiving unit 1003, and a trading unit 1004;
[0260] The acquisition unit 1001 is used to acquire digital assets supported by the blockchain server.
[0261] The sending unit 1002 is used to send the verification information of the digital asset to the issuer; it is also used to send the pre-transaction request of the digital asset to the blockchain server using the plaintext transaction token of the digital asset.
[0262] Optionally, sending the verification information of the digital asset to the issuer includes sending a verifiable statement of the digital asset to the issuer.
[0263] Optionally, sending the verification information of the digital asset to the issuer further includes sending the holder's digital signature to the issuer.
[0264] Optionally, sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset includes: sending the pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset and the transaction random number.
[0265] The receiving unit 1003 is used to receive the plaintext transaction token of the digital asset sent by the issuer.
[0266] Optionally, receiving the plaintext transaction token of the digital asset sent by the issuer includes: receiving the plaintext transaction token of the digital asset and a transaction random number sent by the issuer.
[0267] The transaction unit 1004 is used to conduct a transaction of the digital asset with the buyer in response to the blockchain server determining that the digital asset is in a tradable state.
[0268] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the buyer includes: sending the digital asset to the buyer.
[0269] The eighth embodiment of this application provides a digital asset trading device, which is applied to the issuer. Figure 11 This is a schematic diagram of the structure of the digital asset trading device provided in this embodiment.
[0270] like Figure 11 As shown, the digital asset trading device provided in this embodiment includes: a receiving unit 1101, a verification unit 1102, and a sending unit 1103;
[0271] The receiving unit 1101 is used to receive verification information of digital assets sent by the holder.
[0272] The verification unit 1102 is used to verify the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder.
[0273] The step of verifying the validity of the verification information of the digital asset in response to receiving verification information of the digital asset sent by the holder includes: in response to receiving a verifiable declaration of the digital asset sent by the holder, verifying the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
[0274] The step of verifying the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder terminal further includes: in response to receiving the holder's digital signature sent by the holder terminal, verifying the validity of the verification information of the digital asset based on the holder's digital signature.
[0275] The sending unit 1103 is configured to, in response to verifying that the verification information of the digital asset is valid, send the plaintext transaction token of the digital asset to the holder and send the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0276] Optionally, in response to verifying that the verification information of the digital asset is valid, sending a plaintext transaction token of the digital asset to the holder and sending a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server includes:
[0277] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a transaction random number of the digital asset are sent to the holder.
[0278] Send to the blockchain server a plaintext transaction token of the digital asset and a ciphertext transaction token of the digital asset generated from the transaction random number.
[0279] Optionally, the method further includes: in response to the holder acquiring the digital asset supported by the blockchain server, sending a verifiable declaration of the digital asset to the holder.
[0280] Optionally, the method further includes:
[0281] In response to the purchase amount of the digital asset paid by the buyer, the blockchain server verifies the tradable status of the digital asset and locks the digital asset.
[0282] In response to the holder sending the digital asset to the purchaser, the verifiable claim of the digital asset on the holder's end is revoked;
[0283] Send the purchase amount of the digital asset to the holder.
[0284] A verifiable claim about the digital asset is sent to the buyer.
[0285] The ninth embodiment of this application provides a digital asset trading device, which is applied to the buyer's end. Figure 12 This is a schematic diagram of the structure of the digital asset trading device provided in this embodiment.
[0286] like Figure 12 As shown, the digital asset trading device provided in this embodiment includes: a trading unit 1201;
[0287] The transaction unit 1201 is used to conduct a transaction of the digital asset with the holder in response to the blockchain server determining that the digital asset is in a tradable state.
[0288] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the holder includes:
[0289] In response to the blockchain server determining that the digital asset is in a tradable state, the purchase amount of the digital asset is paid to the issuer.
[0290] Receive the digital assets sent by the holder.
[0291] The tenth embodiment of this application provides a digital asset trading system. Figure 13 This is a schematic diagram of the structure of the digital asset trading system provided in this embodiment.
[0292] like Figure 13 As shown, the digital asset trading system provided in this embodiment includes: a blockchain server 1301, a holder terminal 1302, an issuer terminal 1303, and a buyer terminal 1304.
[0293] The blockchain server 1301 includes: a first receiving unit and a first verification unit; the blockchain server is used to receive encrypted transaction tokens of digital assets sent by the issuer; and in response to a pre-transaction request of the digital asset sent by the holder using the plaintext transaction token of the digital asset, to verify the tradable status of the digital asset.
[0294] The holder terminal 1302 includes: an acquisition unit, a first sending unit, a second receiving unit, and a first transaction unit; the holder terminal is used to acquire the digital asset empowered by the blockchain server; send verification information of the digital asset to the issuer terminal, and receive a plaintext transaction token of the digital asset sent by the issuer terminal; use the plaintext transaction token of the digital asset to send a pre-transaction request of the digital asset to the blockchain server; and in response to the blockchain server determining that the digital asset is in a tradable state, conduct a transaction of the digital asset with the buyer terminal.
[0295] The issuer terminal 1303 includes: a third receiving unit, a second verification unit, and a second sending unit; the issuer terminal is used to verify the validity of the verification information of the digital asset sent by the holder terminal in response to receiving the verification information of the digital asset; in response to verifying that the verification information of the digital asset is valid, the issuer terminal sends the plaintext transaction token of the digital asset to the holder terminal and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0296] The buyer terminal 1304 includes: a second transaction unit; the buyer terminal is used to conduct a transaction of the digital asset with the holder terminal in response to the blockchain server determining that the digital asset is in a tradable state.
[0297] The eleventh embodiment of this application provides an electronic device. Figure 14 This is a schematic diagram of the structure of the electronic device provided in this embodiment.
[0298] like Figure 14 As shown, the electronic device provided in this embodiment includes a memory 1401 and a processor 1402.
[0299] The memory 1401 is used to store computer instructions for executing digital asset transaction methods.
[0300] The processor 1402 is used to execute computer instructions stored in the memory 1401, and performs the following operations:
[0301] The blockchain server receives the encrypted transaction token of the digital asset sent by the issuer; in response to the pre-transaction request of the digital asset sent by the holder using the plaintext transaction token of the digital asset, it verifies the tradable status of the digital asset.
[0302] The holder acquires the digital asset empowered by the blockchain server; sends the verification information of the digital asset to the issuer and receives the plaintext transaction token of the digital asset sent by the issuer; uses the plaintext transaction token of the digital asset to send a pre-transaction request of the digital asset to the blockchain server; and, in response to the blockchain server determining that the digital asset is in a tradable state, conducts a transaction of the digital asset with the buyer.
[0303] Upon receiving the verification information of the digital asset sent by the holder, the issuer verifies the validity of the verification information of the digital asset; upon verifying that the verification information of the digital asset is valid, the issuer sends the plaintext transaction token of the digital asset to the holder and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server.
[0304] The buyer responds to the blockchain server's confirmation that the digital asset is in a tradable state and then conducts a transaction with the holder of the digital asset.
[0305] Alternatively, perform the following operation:
[0306] Receive encrypted transaction tokens for digital assets sent by the issuer;
[0307] In response to a pre-transaction request for the digital asset sent by the holder using a plaintext transaction token of the digital asset, the tradable status of the digital asset is verified.
[0308] Optionally, the smart contract includes at least: a transaction contract and a transaction token contract; the transaction contract is used to execute transaction instructions for digital assets; the transaction token contract is used to store encrypted transaction tokens of the digital assets and verify the tradable status of the digital assets.
[0309] Optionally, verifying the tradable status of the digital asset includes:
[0310] In response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, query whether a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract;
[0311] In response to the fact that a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract, it is determined that the digital asset is in a tradable state.
[0312] Alternatively, perform the following operation:
[0313] Acquire digital assets backed by a blockchain server;
[0314] Send the verification information of the digital asset to the issuer and receive the plaintext transaction token of the digital asset sent by the issuer.
[0315] Send a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset.
[0316] In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the buyer.
[0317] Optionally, sending the verification information of the digital asset to the issuer includes sending a verifiable statement of the digital asset to the issuer.
[0318] Optionally, sending the verification information of the digital asset to the issuer further includes sending the holder's digital signature to the issuer.
[0319] Optionally, receiving the plaintext transaction token of the digital asset sent by the issuer includes: receiving the plaintext transaction token of the digital asset and a transaction random number sent by the issuer.
[0320] Sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset includes: sending the pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset and the transaction random number.
[0321] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the buyer includes: sending the digital asset to the buyer.
[0322] Alternatively, perform the following operation:
[0323] In response to receiving verification information for digital assets sent by the holder, the validity of the verification information for the digital assets is verified.
[0324] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token of the digital asset is sent to the holder, and a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is sent to the blockchain server.
[0325] Optionally, the method further includes: in response to the holder acquiring the digital asset supported by the blockchain server, sending a verifiable declaration of the digital asset to the holder.
[0326] Optionally, the method further includes:
[0327] In response to the purchase amount of the digital asset paid by the buyer, the blockchain server verifies the tradable status of the digital asset and locks the digital asset.
[0328] In response to the holder sending the digital asset to the purchaser, the verifiable claim of the digital asset on the holder's end is revoked;
[0329] Send the purchase amount of the digital asset to the holder.
[0330] A verifiable claim about the digital asset is sent to the buyer.
[0331] Optionally, the step of verifying the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder includes: in response to receiving the verifiable declaration of the digital asset sent by the holder, verifying the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
[0332] Optionally, the step of verifying the validity of the digital asset verification information in response to receiving the digital asset verification information sent by the holder terminal further includes: in response to receiving the holder digital signature sent by the holder terminal, verifying the validity of the digital asset verification information based on the holder digital signature.
[0333] Optionally, in response to verifying that the verification information of the digital asset is valid, sending a plaintext transaction token of the digital asset to the holder and sending a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server includes:
[0334] In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a transaction random number of the digital asset are sent to the holder.
[0335] Send to the blockchain server a plaintext transaction token of the digital asset and a ciphertext transaction token of the digital asset generated from the transaction random number.
[0336] Alternatively, perform the following operation:
[0337] In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the holder.
[0338] Optionally, the step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the holder includes:
[0339] In response to the blockchain server determining that the digital asset is in a tradable state, the purchase amount of the digital asset is paid to the issuer.
[0340] Receive the digital assets sent by the holder.
[0341] The twelfth embodiment of this application provides a computer-readable storage medium, which includes computer instructions that, when executed by a processor, are used to implement the methods described in the first, second, third, fourth, or fifth embodiments of this application.
[0342] It should be noted that the relational terms such as "first" and "second" used in this document are only used to distinguish one entity or operation from another, and do not require or imply any actual relationship or order between these entities or operations. Furthermore, "including," "having," "containing," and other similar terms are synonymous, and the conclusion of any one or more items following any of the foregoing words is open-ended; none of the foregoing terms indicates that the one or more items have been exhaustively listed, or are limited to only one or more of the listed items.
[0343] When used herein, unless otherwise expressly stated, the term "or" includes all possible combinations except those that are impractical. For example, if expressed as a database may include A or B, then unless otherwise specified or impractical, it may include database A, or B, or A and B. As a second example, if expressed as a database may include A, B, or C, then unless otherwise specified or impractical, the database may include database A, or B, or C, or A and B, or A and C, or B and C, or A and B and C.
[0344] It is worth noting that the above embodiments can be implemented by hardware or software (program code), or a combination of hardware and software. If implemented by software, it can be stored in the above-described computer-readable medium. When executed by a processor, the software can perform the methods disclosed above. The computing units and other functional units described in this disclosure can be implemented by hardware or software, or a combination of hardware and software. Those skilled in the art will also understand that the above-described multiple modules / units can be combined into one module / unit, and each of the above-described modules / units can be further divided into multiple sub-modules / sub-units.
[0345] In the foregoing detailed description, embodiments have been described with reference to numerous specific details, which may vary depending on the implementation. Certain adaptations and modifications can be made to the embodiments. Other implementations will be readily apparent to those skilled in the art from the specific embodiments disclosed herein. This specification and examples are for illustrative purposes only, and the true scope and essence of this application are defined by the claims. The sequence of steps shown in the figures is also for illustrative purposes only and is not intended to limit to any particular step or order. Therefore, those skilled in the art will recognize that these steps can be performed in different orders when implementing the same method.
[0346] Exemplary embodiments are disclosed in the figures and detailed description of this application. However, many variations and modifications can be made to these embodiments. Accordingly, although specific terms are used, they are only general and descriptive and not for limiting purposes.
Claims
1. A method of trading of a digital asset, characterized in that, The method includes: The blockchain server receives a encrypted transaction token of a digital asset sent by the issuer; in response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, the server verifies the tradable status of the digital asset, wherein the encrypted transaction token is formed by the issuer hashing and encrypting the plaintext transaction token. The holder acquires the digital asset empowered by the blockchain server; sends the verification information of the digital asset to the issuer and receives the plaintext transaction token of the digital asset sent by the issuer; uses the plaintext transaction token of the digital asset to send a pre-transaction request of the digital asset to the blockchain server; and, in response to the blockchain server determining that the digital asset is in a tradable state, conducts a transaction of the digital asset with the buyer. In response to receiving the verification information of the digital asset sent by the holder, the issuer verifies the validity of the verification information of the digital asset; in response to verifying that the verification information of the digital asset is valid, the issuer generates a plaintext transaction token and a ciphertext transaction token of the digital asset, sends the plaintext transaction token of the digital asset to the holder, and sends the ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server. The buyer responds to the blockchain server's confirmation that the digital asset is in a tradable state and then conducts a transaction of the digital asset with the holder. The blockchain server verifies the tradable status of the digital asset by verifying the matching between the plaintext transaction token and the ciphertext transaction token.
2. A method of trading of a digital asset, characterized by, The method is applied to a blockchain server, where multiple smart contracts are deployed. The method includes: The system receives a ciphertext transaction token for a digital asset sent by the issuer. The ciphertext transaction token is formed by the issuer hashing and encrypting the plaintext transaction token for the digital asset. Both the plaintext transaction token and the ciphertext transaction token are generated by the issuer. In response to a pre-transaction request for the digital asset sent by the holder using a plaintext transaction token of the digital asset, verify the tradable status of the digital asset; The verification of the tradable status of the digital asset includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token.
3. The method of claim 2, wherein, The smart contract includes at least: a transaction contract and a transaction token contract; the transaction contract is used to execute transaction instructions for digital assets; the transaction token contract is used to store encrypted transaction tokens of the digital assets and verify the tradable status of the digital assets.
4. The method of claim 3, wherein, The verification of the tradable status of the digital asset includes: In response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset, query whether a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract; In response to the fact that a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset is stored in the transaction token contract, it is determined that the digital asset is in a tradable state.
5. A method of trading a digital asset, the method comprising: The method is applied to the holder end, and the method includes: Acquire digital assets backed by a blockchain server; Send the verification information of the digital asset to the issuer and receive the plaintext transaction token of the digital asset sent by the issuer. The plaintext transaction token of the digital asset is used to send a pre-transaction request for the digital asset to the blockchain server so that the blockchain server can verify the tradable status of the digital asset. In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the buyer. The blockchain server verifies the tradable status of the digital asset by: verifying the matching between the plaintext transaction token and the corresponding ciphertext transaction token, wherein the ciphertext transaction token is generated by the issuer after hashing and encrypting the plaintext transaction token and sending it to the blockchain server, and the plaintext transaction token and the ciphertext transaction token are generated by the issuer in response to verifying that the verification information of the digital asset is valid.
6. The method of claim 5, wherein, Sending the verification information of the digital asset to the issuer includes sending a verifiable declaration of the digital asset to the issuer.
7. The method according to claim 5, characterized in that, Sending the verification information of the digital asset to the issuer also includes sending the holder's digital signature to the issuer.
8. The method according to claim 5, characterized in that, The step of receiving the plaintext transaction token of the digital asset sent by the issuer includes: receiving the plaintext transaction token of the digital asset and a transaction random number sent by the issuer. Sending a pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset includes: sending the pre-transaction request for the digital asset to the blockchain server using the plaintext transaction token of the digital asset and the transaction random number.
9. The method according to claim 5, characterized in that, The step of responding to the blockchain server determining that the digital asset is in a tradable state and conducting a transaction of the digital asset with the buyer includes: sending the digital asset to the buyer.
10. A method for trading digital assets, characterized in that, The method is applied to the issuer side, and the method includes: In response to receiving verification information for digital assets sent by the holder, the validity of the verification information for the digital assets is verified. In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a ciphertext transaction token for the digital asset are generated. The ciphertext transaction token is formed by the issuer hashing and encrypting the plaintext transaction token. The issuer sends the plaintext transaction token of the digital asset to the holder and sends the corresponding ciphertext transaction token to the blockchain service. This allows the blockchain service to verify the tradable status of the digital asset in response to the pre-transaction request for the digital asset sent by the holder using the plaintext transaction token. The verification of the tradable status of the digital asset includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token.
11. The method according to claim 10, characterized in that, The method further includes: in response to the holder acquiring the digital asset supported by the blockchain server, sending a verifiable declaration of the digital asset to the holder.
12. The method according to claim 10, characterized in that, The method further includes: In response to the purchase amount of the digital asset paid by the buyer, the blockchain server verifies the tradable status of the digital asset and locks the digital asset. In response to the holder sending the digital asset to the purchaser, the verifiable claim of the digital asset on the holder's end is revoked; Send the purchase amount of the digital asset to the holder. A verifiable claim about the digital asset is sent to the buyer.
13. The method according to claim 10, characterized in that, The step of verifying the validity of the verification information of the digital asset in response to receiving verification information of the digital asset sent by the holder includes: in response to receiving a verifiable declaration of the digital asset sent by the holder, verifying the validity of the verification information of the digital asset based on the issuer's digital signature in the verifiable declaration of the digital asset.
14. The method according to claim 10, characterized in that, The step of responding to receiving verification information of digital assets sent by the holder and verifying the validity of the verification information of digital assets further includes: responding to receiving a holder's digital signature sent by the holder and verifying the validity of the verification information of digital assets based on the holder's digital signature.
15. The method according to claim 10, characterized in that, In response to verifying that the verification information of the digital asset is valid, the system sends a plaintext transaction token of the digital asset to the holder and a ciphertext transaction token corresponding to the plaintext transaction token of the digital asset to the blockchain server, including: In response to verifying that the verification information of the digital asset is valid, a plaintext transaction token and a transaction random number of the digital asset are sent to the holder. Send to the blockchain server a plaintext transaction token of the digital asset and a ciphertext transaction token of the digital asset generated from the transaction random number.
16. A method for trading digital assets, characterized in that, The method is applied to the buyer's end, and the method includes: In response to the blockchain server determining that the digital asset is in a tradable state, a transaction of the digital asset is conducted with the holder. The process by which the blockchain server determines that a digital asset is in a tradable state includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token of the digital asset, wherein the plaintext transaction token is generated by the issuer and sent to the holder, and the ciphertext transaction token is formed by the issuer hashing and encrypting the plaintext transaction token and then sending it to the blockchain server.
17. The method according to claim 16, characterized in that, The step of responding to the blockchain server determining that the digital asset is in a tradable state and then trading the digital asset with the holder includes: In response to the blockchain server determining that the digital asset is in a tradable state, the purchase amount of the digital asset is paid to the issuer. Receive the digital assets sent by the holder.
18. A digital asset trading device, characterized in that, The device is used in a blockchain server and includes: a receiving unit and a verification unit; The receiving unit is used to receive the encrypted transaction token of the digital asset sent by the issuer. The encrypted transaction token is formed by the issuer after hashing and encrypting the plaintext transaction token of the digital asset. Both the plaintext transaction token and the encrypted transaction token are generated by the issuer. The verification unit is used to verify the tradable status of the digital asset in response to a pre-transaction request for the digital asset sent by the holder using the plaintext transaction token of the digital asset. The verification of the tradable status of the digital asset includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token.
19. A digital asset trading device, characterized in that, The device is applied to the holder's end, and the device includes: an acquisition unit, a sending unit, a receiving unit, and a transaction unit; The acquisition unit is used to acquire digital assets supported by the blockchain server; The sending unit is used to send the verification information of the digital asset to the issuer; it is also used to send a pre-transaction request of the digital asset to the blockchain server using the plaintext transaction token of the digital asset, so that the blockchain server can verify the tradable status of the digital asset. The receiving unit is used to receive the plaintext transaction token of the digital asset sent by the issuer. The transaction unit is used to conduct a transaction of the digital asset with the buyer in response to the blockchain server determining that the digital asset is in a tradable state. The blockchain server verifies the tradable status of the digital asset by: verifying the matching between the plaintext transaction token and the corresponding ciphertext transaction token, wherein the ciphertext transaction token is generated by the issuer after hashing and encrypting the plaintext transaction token and sending it to the blockchain server, and the plaintext transaction token and the ciphertext transaction token are generated by the issuer in response to verifying that the verification information of the digital asset is valid.
20. A digital asset trading device, characterized in that, The device is applied to the issuer's end, and the device includes: a receiving unit, a verification unit, and a sending unit; The receiving unit is used to receive verification information of digital assets sent by the holder. The verification unit is configured to verify the validity of the verification information of the digital asset in response to receiving the verification information of the digital asset sent by the holder. The sending unit is configured to, in response to verifying that the verification information of the digital asset is valid, generate a plaintext transaction token and a ciphertext transaction token for the digital asset. The ciphertext transaction token is formed by the issuer end hashing and encrypting the plaintext transaction token. The unit sends the plaintext transaction token of the digital asset to the holder end and sends the corresponding ciphertext transaction token to the blockchain service end, so that the blockchain service can verify the tradable status of the digital asset in response to the pre-transaction request of the digital asset sent by the holder end using the plaintext transaction token of the digital asset. The verification of the tradable status of the digital asset includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token.
21. A digital asset trading device, characterized in that, The device is used on the buyer's end, and the device includes: a transaction unit; The transaction unit is used to conduct a transaction of the digital asset with the holder in response to the blockchain server determining that the digital asset is in a tradable state. The process by which the blockchain server determines that a digital asset is in a tradable state includes: verifying the matching between the plaintext transaction token and the ciphertext transaction token of the digital asset, wherein the plaintext transaction token is generated by the issuer and sent to the holder, and the ciphertext transaction token is formed by the issuer hashing and encrypting the plaintext transaction token and then sending it to the blockchain server.
22. An electronic device, characterized in that, include: Memory, processor; The memory is used to store one or more computer instructions; The processor is configured to execute one or more computer instructions to implement the method as described in any one of claims 1-17.
23. A computer-readable storage medium storing one or more computer instructions thereon, characterized in that, When this instruction is executed by the processor, it performs the method as described in any one of claims 1-17.