WO2020233404A1 - 交易系统、方法以及交易系统中的节点 - Google Patents
交易系统、方法以及交易系统中的节点 Download PDFInfo
- Publication number
- WO2020233404A1 WO2020233404A1 PCT/CN2020/088800 CN2020088800W WO2020233404A1 WO 2020233404 A1 WO2020233404 A1 WO 2020233404A1 CN 2020088800 W CN2020088800 W CN 2020088800W WO 2020233404 A1 WO2020233404 A1 WO 2020233404A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transaction
- utxo
- node
- mortgage
- account
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Definitions
- This application relates to the technical field of e-commerce, and specifically to a transaction system, method, and nodes in the transaction system.
- intermediaries are often used as guarantees to allow both parties to the transaction to realize the transaction. For example, when shopping on the Internet, the buyer cannot trust the seller and cannot send money directly to the seller, and the seller cannot trust the buyer. If the buyer fails to pay, it will not ship first. Therefore, a certain e-commerce platform acts as the intermediary, and the buyer pays the e-commerce platform first. The seller sees that the buyer has paid, so he can deliver the goods to the buyer at ease, and the buyer confirms that the goods are correct after receiving the goods, and instructs the e-commerce platform to The payment is transferred to the seller.
- the e-commerce platform as a third-party transaction should have strong credit characteristics so that both buyers and sellers can give them full trust.
- higher requirements are put forward for the qualifications of the operating entities of the e-commerce platform.
- Large companies have a natural advantage over small and medium-sized enterprises or individuals in this regard, which leads to the monopoly of individual large companies in the e-commerce field. Conducive to the development of commodity economy.
- the embodiments of the present application provide a transaction system, method, and nodes in the transaction system, which express real e-commerce transactions by transferring funds on the blockchain, and use the characteristics of the blockchain to provide transaction guarantees instead of The transaction guarantee function of the traditional e-commerce platform. This reduces the qualification requirements for the operating entities of the e-commerce platform, which is conducive to more enterprises or individuals to develop e-commerce business and promote the prosperity and development of the commodity economy.
- this application provides a transaction system, including a buyer node, a seller node, a platform side node, and a miner node in a blockchain network;
- the platform side node is configured to generate a transaction after the buyer and the seller have reached a commodity transaction intention Serial number;
- the buyer node is configured to obtain the transaction serial number from the platform side node, generate a first mortgage account number according to the transaction serial number and the password preset by the buyer, and create a configuration that will be equivalent to the transaction commodity
- Digital currency is transferred from the buyer’s account to the first mortgage transaction of the first mortgage account, and the first mortgage transaction is broadcast on the blockchain network;
- the seller node is configured to obtain it from the platform side node
- the transaction serial number generates the first mortgage account number based on the transaction serial number and the preset password provided by the buyer after confirming the success of the commodity transaction, and creates a digital currency configured to be equivalent to the transaction commodity
- the first redemption transaction transferred from the first mortgage account to the seller account, and the first redemption
- the above-mentioned transaction system uses the transfer transaction on the blockchain to express the real e-commerce transaction, that is, after the buyer and the seller reach the transaction intention, the buyer uses the first mortgage transaction created by the buyer node to transfer its own assets (digital equivalent to the transaction commodity) Currency) is mortgaged to the temporary account on the blockchain (the first mortgage account). After the buyer confirms the success of the commodity transaction, the seller will redeem the mortgaged assets of the buyer from the temporary account through the first redemption transaction created by the seller node. After completing the transfer of assets from buyer to seller, this commodity transaction is completed.
- the first mortgage transaction and the first redemption transaction are both transfer transactions on the blockchain, that is, they will be recorded on the blockchain by the miner nodes competing for the bookkeeping right (if the transaction is legal).
- the blockchain has the characteristics of transparent accounting and non-tampering, it can provide guarantee for commodity transactions, replacing the transaction guarantee function of the traditional e-commerce platform.
- the platform side nodes operated by the e-commerce platform in the transaction system only need to assist the transaction
- the smooth progress (for example, generating a transaction serial number), without the need to provide credit guarantees for commodity transactions. Therefore, the qualification requirements for the operating entities of the e-commerce platform have been reduced, allowing more companies or individuals to participate in e-commerce, avoiding monopoly and promoting competition, which is conducive to the prosperity and development of the commodity economy.
- the blockchain also has the characteristics of automatic transaction processing, it is conducive to reducing manual services in the transaction process.
- the degree of automation of commodity transactions is higher and the transaction is easier to achieve, and the operating cost of the e-commerce platform is also reduced.
- the buyer node is further configured to set a first transaction duration when creating the first mortgage transaction; the miner node verifies the validity of the received first redemption transaction When the commodity trading period is not available, it is judged whether the commodity trading period has ended according to the trading benchmark time of the first mortgage transaction as the starting point of the commodity trading period and the first transaction duration, and after determining that the commodity trading period has ended
- the received first redemption transaction is determined to be illegal, and the first redemption transaction determined to be illegal will not be included in the set of transactions to be packaged configured to generate a block by the miner node;
- the The transaction benchmark for a transaction on the blockchain is when the transaction is included in the latest block transaction benchmark when the transaction set to be packaged is configured to generate a block, and the most recent block transaction benchmark is the zone
- the block transaction benchmark of a block on the blockchain is calculated based on the generation time of the block A moment, and the moment is positively correlated with the height
- a commodity transaction period is specified for commodity transactions by setting the first transaction duration, which limits the completion of commodity transactions within a limited time period, improves security, avoids waste of resources, and enhances the practicability of the transaction system.
- the transaction benchmark of a transaction can be defined as the latest block transaction benchmark when the transaction is included in the set of transactions to be packaged configured to generate the block
- the most recent block transaction reference time can be defined as the block transaction reference time of the block when the latest block transaction reference has been determined on the blockchain.
- the area of a block on the blockchain The block transaction benchmark time can be defined as a moment calculated based on the generation time of the block.
- the block transaction benchmark has the characteristics of unidirectional growth, that is, of the two adjacent blocks, the latter block (in the blockchain).
- the block transaction benchmark of the block with a larger height is always later than the block transaction benchmark of the previous block (a block with a smaller height in the blockchain).
- the unidirectional growth characteristic of the block transaction benchmark makes the judgment about the commodity transaction period (for example, whether the first redemption transaction mentioned above occurs before the end of the commodity transaction period) is certain.
- the block transaction reference time of a block on the blockchain is the generation time of M blocks on the blockchain with the block as the central block The average value, where M is a positive odd number greater than or equal to 3; the miner node is also configured to determine whether the generation time of the new block is (M-1) before the new block is generated when a new block is generated.
- the block transaction benchmark of )/2 blocks is greater than the block transaction benchmark of the (M-1)/2+1th block before the new block, if it is not greater than the The value of the block transaction benchmark of the (M-1)/2+1th block plus the preset duration is determined as the (M-1)/2th block before the new block
- the block generation time recorded in the block header of the new block is calculated and updated according to the determined block transaction benchmark.
- the above implementation provides a possible calculation method for the block transaction benchmark, that is, the average value of the generation time of several nearby blocks (including itself), where the generation time of the block can be recorded in the block header (such as the Bitcoin block, recorded in the timestamp field of the block header).
- the block transaction benchmark of the (M-1)/2th block before the new block can be calculated (the new block is used as the last block of the blockchain in the calculation), If the calculated block transaction benchmark does not meet the characteristics of unidirectional growth, the block transaction benchmark of the (M-1)/2+1th block before the new block is added with the preset duration as When the block transaction benchmark of the (M-1)/2th block before the new block meets the unidirectional growth characteristic, the generation time of the new block is reversed and updated. If the new block is subsequently accepted by the blockchain, when the block transaction benchmark is subsequently calculated based on the generation time of this block (for example, for verification of the commodity transaction period), the calculated block transaction benchmark will be maintained. Characteristics of growth.
- the buyer node or the seller node is further configured to create a first period adjustment transaction configured to set a second transaction period after obtaining information indicating the adjustment transaction
- the first term adjustment transaction is sent to the platform side node, wherein the second transaction duration characterization is configured to replace the first transaction duration as a basis for determining whether the first redemption transaction is legal;
- the platform side The node is further configured to broadcast the first deadline adjustment transaction on the blockchain network;
- the miner node is also configured to receive and verify the legality of the first deadline adjustment transaction from the blockchain network , And after determining that the first period adjustment transaction is legal, the first period adjustment transaction is included in the set of transactions to be packaged configured to generate blocks; the miner node verifies the received first period adjustment transaction In case of legality, judge whether the commodity transaction period has expired according to the transaction benchmark time of the first mortgage transaction and the first transaction duration, and after determining that the commodity transaction period has expired, the received The first maturity adjustment transaction is determined to be illegal, and the first maturity adjustment transaction that is determined to be illegal will not
- the buyer or seller node can also create a first-term adjustment transaction according to the user's instruction.
- the purpose of the first-term adjustment transaction is to set the second transaction duration.
- Digital currency can only do translation processing.
- the translation processing can be expressed as spending the original use in the first period adjustment transaction.
- UTXO is used as a mortgage, but a new equivalent UTXO is created as a substitute. After the translation, this asset still belongs to the first mortgage account.
- the length of the commodity trading period depends on the first transaction duration set when the first mortgage transaction is created. If the first maturity adjustment transaction is created, then the length of the commodity trading period will depend on thereafter In the second transaction duration, that is to say, in the subsequent transactions of the first period adjustment transaction, if it involves verification of the commodity transaction period (for example, verifying whether the first redemption transaction is legal), the length of the commodity transaction period will be the second The transaction duration shall prevail, and the first transaction duration shall no longer prevail. It needs to be pointed out that for the first period adjustment transaction itself, to verify whether it is legal or not, the duration of the first transaction shall prevail.
- the first-term adjustment transaction can be initiated when the buyer and the seller cannot complete the transaction on time. For example, the seller cannot deliver the goods on time for some reason. In order to avoid the end of the commodity trading period, the seller will create the first redemption. The return transaction will be judged to be illegal), the seller can create a first term adjustment transaction through the seller node to extend the commodity transaction period (ie, set a second transaction duration greater than the first transaction duration) to complete the transaction.
- the above is just an example, and the initiation of the first period adjustment transaction may also be due to other reasons.
- the first period adjustment transaction is not necessary. If the buyer and seller can complete the transaction within the normal commodity transaction period (for example, the period corresponding to the first transaction duration), the first period adjustment transaction may not be created.
- the buyer node or the seller node is further configured to send an arbitration request to the platform-side node after obtaining information indicating an application for arbitration; the platform-side node is also configured to After receiving the arbitration request, create an arbitration transaction, and when the arbitration transaction is a second time limit adjustment transaction configured to set a third transaction duration, the second time limit adjustment transaction is placed on the blockchain Broadcast on the network, wherein the third transaction duration characterization is configured to replace the previous transaction duration as a basis for determining whether the first redemption transaction is legal.
- the miner node is also configured to receive from the blockchain network And verify the legitimacy of the second period adjustment transaction, and after determining that the second period adjustment transaction is legal, include the second period adjustment transaction into the set of transactions to be packaged configured to generate a block; the miner node When verifying the legality of the received second term adjustment transaction, determine whether the commodity transaction period has expired according to the transaction benchmark of the first mortgage transaction and the last transaction duration, and determine whether the commodity transaction period has expired. After the commodity trading period has expired, the received second period adjustment transaction is determined to be illegal, and the second period adjustment transaction determined to be illegal will not be included by the miner node into the pending package configured to generate a block Transaction collection.
- the buyer or seller node can also apply for arbitration to the platform side node according to the user's instruction. For example, the two parties have a dispute and the platform side is hoped to intervene in the settlement, and so on.
- the platform party makes different arbitration results according to the content of the arbitration request, and the arbitration result is reflected by the arbitration transaction created by the platform side node.
- Arbitration transactions include second-term adjustment transactions.
- the purpose of second-term adjustment transactions is to set the third transaction duration.
- For the assets pledged by the buyer only translation processing can be performed. For example, when the transaction on the blockchain adopts the UXTO model , The translation processing can be expressed as spending the UTXO originally used as collateral in the second term adjustment transaction, but creating a new equivalent UTXO as a replacement. After the translation, the asset still belongs to the first mortgage account.
- the length of the commodity transaction period depends on the last transaction duration.
- the last transaction duration can be the first transaction duration, the second transaction duration or the third transaction duration set last time, among which,
- the third transaction duration set last time is the transaction duration set by the second-period adjustment exchange created before the second-period adjustment transaction created this time. Because the buyer and seller can apply for arbitration multiple times, the platform node may create multiple The second consecutive period adjustment transaction. If a second period adjustment transaction is created, the length of the commodity transaction period will depend on the third transaction duration set this time. It needs to be pointed out that for the second period adjustment transaction itself, to verify whether it is legal or not, the previous transaction duration shall prevail.
- the second-term adjustment transaction is not necessary. If the buyer and seller do not apply for arbitration, the platform-side node will not create a second-term adjustment transaction, and the arbitration-type transaction created by the platform-side node may not necessarily be a second-term adjustment transaction (for example, also It can be the first distribution transaction below).
- the platform-side node is further configured to broadcast the first distribution transaction on the blockchain network when the arbitration transaction is a first distribution transaction, wherein, The first distribution transaction is configured to distribute digital currency equivalent to the transaction commodity from the first mortgage account to at least one of the buyer account, the seller account, and the platform party account, and distribute it to the platform The digital currency of the party’s account is the arbitration fee charged by the platform party; the miner node is also configured to receive and verify the legality of the first distribution transaction from the blockchain network, and to determine the first distribution transaction After being legal, the first distribution transaction is included in the set of transactions to be packaged configured to generate a block; when the miner node verifies the legality of the received first distribution transaction, according to the first mortgage transaction Determine whether the commodity trading period has expired based on the transaction benchmark and the last transaction duration, and determine that the received first distribution transaction is illegal after determining that the commodity trading period has expired. The first distribution transaction will not be included in the set of transactions to be packaged configured to generate a block by the miner no
- the arbitration transaction created by the platform side node may also include the first distribution transaction.
- the purpose of the first distribution transaction is to transfer the mortgaged assets of the buyer in the first mortgage account between the buyer, the seller and the platform party. Allocate to reflect the results of the arbitration. For example, if the seller does not ship the goods, all the assets can be allocated to the buyer. For example, the buyer received the goods with certain defects, but it is acceptable, and the seller does not want to return the goods. You can allocate this asset to both parties in a certain proportion ,and many more. Among them, the platform party can also collect a certain amount of digital currency as an arbitration fee.
- the first distribution transaction is not necessary. If the buyer and seller do not apply for arbitration, the platform node will not create the first distribution transaction, and the arbitration transaction created by the platform node may not necessarily be the first distribution transaction (for example, the above The second term adjustment transaction).
- the buyer node is further configured to create a digital currency configured to transfer the digital currency equivalent to the transaction commodity from the first mortgage account to the buyer account after the end of the commodity trading period.
- a second redemption transaction and broadcast the second redemption transaction on the blockchain network; the miner node is also configured to receive and verify the second redemption transaction from the blockchain network After determining the legality of the second redemption transaction, the second redemption transaction is included in the set of transactions to be packaged configured to generate a block; the miner node verifies the received second redemption transaction When the redemption transaction is legal, it is determined whether the commodity trading period has expired according to the transaction benchmark time of the first mortgage transaction and the last transaction duration, and the receipt will be received after it is determined that the commodity trading period has not expired The second redemption transaction is determined to be illegal, and the second redemption transaction determined to be illegal will not be included in the set of transactions to be packaged configured to generate a block by the miner node.
- the buyer node can also create a second redemption transaction after the end of the commodity trading period to redeem the mortgaged assets from the first mortgage account. This is mainly for the seller who has not shipped the goods or although the goods are shipped but The buyer did not receive the goods during the commodity transaction period, so that the buyer can recover his own assets and avoid economic losses.
- the prerequisite for creating a second redemption transaction is that the assets mortgaged by the buyer are still stored in the first mortgage account and have not been redeemed by the seller or distributed by the platform. Therefore, the second redemption transaction is not necessary.
- the miner node is further configured to receive blocks generated by other miner nodes other than itself from the blockchain network, and verify the first included in the received block 1.
- the legality of a mortgage transaction and after determining that the first mortgage transaction is illegal, refuse to save the received block to the local blockchain, and configure to verify the received block
- the legality of the first redemption transaction and after determining that the first redemption transaction is illegal, refuse to save the received block in the local blockchain.
- the miner node in addition to verifying the legitimacy of the first mortgage transaction when the miner node receives the block, after receiving the block created by other miner nodes, it verifies the legitimacy of the first mortgage transaction included in it (if the area is Blocks are included in the first mortgage transaction).
- the processing methods for the first redemption transaction, the first period adjustment transaction, the second period adjustment transaction, the first distribution transaction and the second redemption transaction are similar.
- the buyer node is configured to use a hash algorithm to generate the private key of the first mortgage account according to the transaction serial number, the password, and the platform characteristic, and then according to the The private key generates a corresponding public key, and the first mortgage account number is determined according to the public key, wherein the platform characteristic character is a character string configured to identify the platform party.
- the transaction serial number, platform feature word, and private key generation algorithm may be public to the seller node, so the seller node can calculate the first mortgage account number as long as it obtains the password provided by the buyer.
- the buyer can also directly provide the calculated private key of the first mortgage account to the seller, and the seller node can directly use the private key to calculate the first mortgage account.
- the private key is usually longer and is prone to errors during transmission and copying. Therefore, it can be replaced with a password.
- configuring the platform side node to create the arbitration type transaction includes: the platform side node creates the arbitration type transaction by invoking a smart contract on the blockchain.
- arbitration transactions can be automatically created by smart contracts, that is, arbitration is automatically carried out through smart contracts. It has a higher degree of intelligence and a faster arbitration speed.
- the content of the smart contract can be written by the platform party, and the code is open source. Ensure that it is fair and open.
- the arbitration transaction can also be created by manually instructing the platform node to manually review the transaction process.
- the input of the first mortgage transaction includes the first unspent transaction output UTXO belonging to the buyer account; the output of the first mortgage transaction includes the output of the first mortgage account
- the second UTXO and the third UTXO belonging to the platform account the amount of the second UTXO is a digital currency equivalent to the transaction commodity, and the amount of the third UTXO is the transaction service fee charged by the platform.
- the service fee represents the sum of the fees charged by the platform party for providing services in the course of the commodity transaction, and the sum of the commission receivable from the bookkeeping miners of the subsequent transactions of the first mortgage transaction;
- the second locking script includes The public key of the platform party account, the public key of the buyer account, the public key of the seller account, the public key of the first mortgage account, the first mortgage operation parameter, and the first signature verification instruction,
- a signature verification instruction is configured to instruct the miner node to use the public key in the second locking script to verify whether the signature provided in the unlocking script for the second UTXO is correct;
- the first mortgage operation parameter includes: The transaction serial number, the maximum limit of the arbitration fee, the first transaction duration, and the maximum transaction duration that can be set for the first term adjustment transaction.
- the first UTXO can be one or more UTXOs belonging to the buyer's account, which belong to the assets that the buyer's account already owns before the commodity transaction, the second UTXO represents the assets pledged by the buyer, and the third UTXO represents the transaction service fee charged by the platform party. And the miner's handling fee prepaid for subsequent transactions of the first mortgage transaction.
- the content of the first mortgage operation parameter is some relevant information of the commodity transaction, which can be configured to verify the legality of the transaction during the commodity transaction, including the first transaction duration that characterizes the length of the commodity transaction period.
- the output of the first mortgage transaction further includes the fourth UTXO belonging to the account of the additional service provider, and the additional service provider refers to providing the buyer with the purchase price before reaching the intention of the commodity transaction.
- Merchants of additional services related to the commodity transaction are possible.
- the fourth UTXO represents the service fee charged by the additional service provider.
- the additional service provider here does not refer to the platform party or the miner, but refers to the buyer who provides certain additional services to the buyer in the process of reaching the transaction intention Merchants, there may be one or more such merchants, so the fourth UTXO may also be one or more UTXOs.
- the content of the additional service can be, but is not limited to helping to match transactions, providing price comparison information, and providing cloud computing hosting, etc.
- commodity transactions can also be conducted, and additional services are designed to enhance the convenience of transactions.
- the input of the first term adjustment transaction includes the second UTXO and the third UTXO;
- the unlocking script of the second UTXO includes the creation of the buyer node or the seller node
- the private key of its own account is used to sign the first time limit adjustment transaction
- the platform side node uses the private key of the platform side account after receiving the first time limit adjustment transaction.
- the key is the signature of the first maturity adjustment transaction;
- the output of the first maturity adjustment transaction includes the fifth UTXO belonging to the first mortgage account and the sixth UTXO belonging to the platform party account, the fifth UTXO
- the amount of is the digital currency equivalent to the transaction commodity, and the amount of the sixth UTXO is the difference between the third UTXO and the fee receivable from the accounting miner of the first term adjustment transaction;
- the lock script includes the public key of the platform party account, the public key of the buyer account, the public key of the seller account, the public key of the first mortgage account, the first period adjustment operation parameter, and the second signature verification instruction ,
- the second signature verification instruction is configured to instruct the miner node to use the public key in the fifth UTXO locking script to verify whether the signature provided in the unlocking script for the fifth UTXO is correct; the first deadline
- the adjustment operation parameters include: the transaction serial number, the maximum limit of the arbitration fee, and the second transaction duration.
- the first term adjustment transaction takes the UTXO output from the first mortgage transaction as input
- the fifth UTXO is the translation of the second UTXO in the first mortgage account
- the sixth UTXO represents the transaction service fee charged by the platform party and is the first
- the miner's handling fee prepaid for subsequent transactions of a one-term adjustment transaction is the third UTXO minus the miner's handling fee of the first-term adjustment transaction.
- the content of the first period adjustment operation parameter is some relevant information of the commodity transaction, which can be configured to verify the legality of the transaction during the commodity transaction, including the second transaction duration that characterizes the adjusted commodity transaction period length.
- the first time limit adjustment operation parameter further includes time limit adjustment description information
- the content of the time limit adjustment description information includes an explanation of the time limit adjustment by the party that created the first time limit adjustment transaction.
- the time limit adjustment description information can be written by the node of the party that created the first time limit adjustment transaction to explain the reason for the time limit adjustment, for example, the explanation of the reason for applying for the extension of the commodity trading period.
- the content of the period adjustment description information can also be used as a deposit certificate to restore the current situation of the transaction in the event of a dispute.
- the first time limit adjustment operation parameter further includes a degree of suspected fraud
- the content of the suspected degree of fraud includes a degree of suspected fraud of the party that created the first time limit adjustment transaction to the counterparty. Assessment.
- the degree of suspicion of fraud can be used as a basis for the platform party to make certain arbitration actions in the future, so as to realize the platform party's management and control of transaction fraud risks.
- the miner node is further configured to verify the first period adjustment transaction after determining that the received transaction is the first period adjustment transaction, and the verification items include: verification Whether the second UTXO and the fifth UTXO belong to the same account and the amounts of the two UTXOs are the same.
- the result of this verification is legal, otherwise the result of this verification Is illegal; when obtaining the most recent block transaction benchmark, verify whether the difference between the most recent block transaction benchmark and the transaction benchmark of the first mortgage transaction is less than the first transaction duration, if less than this item The result of the verification is legal, otherwise the result of this verification is illegal; verify that the maximum limit of the arbitration fee set in the first time limit adjustment operation parameter and the arbitration fee set in the first mortgage operation parameter Whether the maximum limit is the same, if they are the same, the result of this verification is legal, otherwise the result of this verification is illegal; verify whether the second transaction duration is not greater than the maximum transaction duration set in the first mortgage operation parameter , If not greater than, the result of this verification is legal, otherwise the result of this verification is illegal; verify whether the second transaction duration is less than the first transaction duration, if less than and in the unlocking script of the second UTXO If the private key of the seller’s account is included for the signature of the first
- an optional solution based on the implementation of the first term adjustment transaction under the UTXO model is provided and verified its legitimacy. This verification is executed when the miner node includes the first period adjustment transaction into the set of transactions to be packaged. It also needs to be executed before the miner node receives the block broadcast by other miner nodes and attempts to save it to the local blockchain.
- the input of the second period adjustment transaction includes a seventh UTXO and an eighth UTXO
- the output of the second period adjustment transaction includes a ninth UTXO belonging to the first mortgage account number and The tenth UTXO belonging to the platform account, wherein the seventh UTXO is the second UTXO and the eighth UTXO is the third UTXO, or the seventh UTXO is the fifth UTXO And the eighth UTXO is the sixth UTXO, or the seventh UTXO is the last ninth UTXO of the last second period adjustment transaction and the eighth UTXO is the last second period adjustment transaction.
- a tenth UTXO; the unlocking script of the seventh UTXO includes the signature of the first arbitration information by the buyer node or seller node using the private key of its own account when generating the arbitration request, and the platform node after receiving all After the arbitration request, the private key of the platform party’s account is used to sign the second time limit adjustment transaction, wherein the first arbitration information includes the transaction serial number and the seventh UTXO on the blockchain The position index in, the signature of the first arbitration information is carried in the arbitration request; the amount of the ninth UTXO is the digital currency equivalent to the transaction commodity, and the amount of the tenth UTXO is the first 8.
- the lock script of the ninth UTXO includes the public key of the platform party account, the public key of the buyer account, and the seller
- the public key of the account, the public key of the first mortgage account, the second time limit adjustment operation parameter and the second signature verification instruction, the second signature verification instruction is configured to instruct the miner node to use the ninth UTXO
- the public key in the locking script verifies whether the signature provided in the unlocking script of the ninth UTXO is correct
- the second time limit adjustment operation parameter includes: the transaction serial number, the maximum limit of the arbitration fee, and the The third transaction time.
- the current second maturity adjustment transaction takes the UTXO output from the first mortgage transaction, the UTXO output from the first maturity adjustment transaction, or the UTXO output from the last second maturity adjustment transaction as input.
- the ninth UTXO is for the seventh UTXO.
- the translation in the first mortgage account, the tenth UTXO represents the transaction service fee charged by the platform party and the miner's handling fee prepaid for the subsequent transaction of the second period adjustment transaction.
- the amount is the eighth UTXO minus the second period adjustment transaction miner Handling fee.
- the content of the second period adjustment operation parameter is some relevant information about the commodity transaction, which can be configured to verify the legality of the transaction during the commodity transaction, including the third transaction duration that characterizes the adjusted commodity transaction period length.
- the miner node is further configured to verify the second period adjustment transaction after determining that the received transaction is the second period adjustment transaction, and the verification items include: verification Whether the seventh UTXO and the ninth UTXO belong to the same account and whether the amounts of the two UTXOs are the same.
- the result of this verification is legal, otherwise the result of this verification Is illegal; when obtaining the most recent block transaction benchmark, verify whether the difference between the most recent block transaction benchmark and the transaction benchmark of the first mortgage transaction is less than the operating parameter in the locking script of the seventh UTXO If the transaction duration set in the second time limit is less than the length of the transaction, the result of this verification is legal, otherwise the result of this verification is illegal; verify that the maximum limit of the arbitration fee set in the second time limit adjustment operation parameter and the seventh Whether the maximum limit of the arbitration fee set in the operating parameters of the locking script is the same, if the same, the result of this verification is legal, otherwise the result of this verification is illegal; if the result of any of the above verification items If it is illegal, the second period adjustment transaction is an illegal transaction, and the miner node refuses to include the illegal second period adjustment transaction in the set of transactions to be packaged configured to generate a block.
- an optional solution based on the implementation of the second term adjustment transaction under the UTXO model is provided and verified its legitimacy. This verification will be executed when the miner node includes the second-period adjustment transaction into the set of transactions to be packaged. It also needs to be executed before the miner node receives the block broadcast by other miner nodes and attempts to save it to the local blockchain.
- the input of the first distribution transaction includes an eleventh UTXO and a twelfth UTXO, wherein the eleventh UTXO is the second UTXO and the twelfth UTXO Is the third UTXO, or, the eleventh UTXO is the fifth UTXO and the twelfth UTXO is the sixth UTXO, or, the eleventh UTXO is the ninth UTXO and The twelfth UTXO is the tenth UTXO; the unlocking script of the eleventh UTXO includes the signature of the second arbitration information using the private key of its own account when the buyer node or seller node generates the arbitration request, and After receiving the arbitration request, the platform-side node uses the private key of the platform-side account to sign the first distribution transaction, wherein the second arbitration information includes the transaction serial number and the first distribution transaction.
- the position index of the eleven UTXO in the blockchain, and the signature of the second arbitration information is carried in the arbitration request;
- the output of the first distribution transaction includes the thirteenth account belonging to the platform party UTXO and at least one of the following three UTXOs, the fourteenth UTXO belonging to the buyer’s account, the fifteenth UTXO belonging to the seller’s account, and the sixteenth UTXO belonging to the platform party’s account;
- the amount of the thirteen UTXO is the difference between the twelfth UTXO and the commission receivable of the accounting miner of the first distribution transaction, and the sum of the amount of the at least one UTXO is a digital currency equivalent to the transaction commodity.
- the first distribution transaction takes the UTXO output from the first mortgage transaction, the UTXO output from the first period adjustment transaction, or the UTXO output from the second period adjustment transaction as input.
- the thirteenth UTXO represents the transaction service fee charged by the platform party, and its amount It is the twelfth UTXO minus the miner fee for the second term adjustment transaction.
- the fourteenth UTXO, the fifteenth UTXO, and the sixteenth UTXO indicate the result of the distribution of the assets mortgaged by the buyer. At least one of these three UTXOs should exist .
- the miner node is further configured to verify the first distribution transaction after determining that the received transaction is the first distribution transaction, and the verification item includes: obtaining the For the most recent block transaction benchmark, verify whether the difference between the most recent block transaction benchmark and the transaction benchmark of the first mortgage transaction is less than the transaction duration set in the operating parameter in the lock script of the eleventh UTXO , If less than, the result of this verification is legal, otherwise the result of this verification is illegal; if the output of the first distribution transaction includes the sixteenth UTXO, verify whether the amount of the sixteenth UTXO is not greater than The maximum limit of the arbitration fee set in the operating parameters of the eleventh UTXO lock script, if it is not greater than, the result of this verification is legal, otherwise the result of this verification is illegal; if the above verification items are If the result of any item is illegal, the first distribution transaction is an illegal transaction, and the miner node refuses to include the illegal first distribution transaction into the set of transactions to be packaged configured to generate a block
- an optional solution based on the implementation of the first distribution transaction under the UTXO model and verifying its legitimacy is provided. This verification is performed when the miner node includes the first distribution transaction into the set of transactions to be packaged, and it also needs to be performed before the miner node receives the block broadcast by other miner nodes and attempts to save it to the local blockchain.
- the input of the first redemption transaction includes a seventeenth UTXO and an eighteenth UTXO, wherein the seventeenth UTXO is the second UTXO and the eighteenth UTXO UTXO is the third UTXO, or, the seventeenth UTXO is the fifth UTXO and the eighteenth UTXO is the sixth UTXO, or, the seventeenth UTXO is the ninth UTXO And the eighteenth UTXO is the tenth UTXO; the unlocking script of the seventeenth UTXO includes that the seller node uses the private key of the first mortgage account to exchange transactions when creating the first redemption transaction.
- the signature of the first redemption transaction; the output of the first redemption transaction includes the nineteenth UTXO belonging to the seller’s account and the twentieth UTXO belonging to the platform party’s account, and the amount of the nineteenth UTXO It is a digital currency equivalent to a trading commodity, and the amount of the twentieth UTXO is the difference between the eighteenth UTXO and the handling fee receivable by the miner of the first redemption transaction.
- the first redemption transaction takes the UTXO output from the first mortgage transaction, the UTXO output from the first term adjustment transaction, or the UTXO output from the second term adjustment transaction as input.
- the nineteenth UTXO represents the assets redeemed by the seller, and the twentieth UTXO represents the transaction service fee charged by the platform party, and its amount is the eighteenth UTXO minus the miner fee for the first redemption transaction.
- the input of the second redemption transaction includes a twenty-first UTXO and a twenty-second UTXO, wherein the twenty-first UTXO is the second UTXO and the The twenty-second UTXO is the third UTXO, or, the twenty-first UTXO is the fifth UTXO and the twenty-second UTXO is the sixth UTXO, or, the twenty-first UTXO UTXO is the ninth UTXO and the twenty-second UTXO is the tenth UTXO; the unlocking script of the twenty-first UTXO includes the use of the buyer node when creating the second redemption transaction
- the private key of the first mortgage account is the signature of the second redemption transaction;
- the output of the second redemption transaction includes the twenty-third UTXO belonging to the buyer account and the twenty-third UTXO belonging to the platform party account.
- UTXO the amount of the twenty-third UTXO is a digital currency equivalent to the transaction commodity
- the amount of the twenty-fourth UTXO is the accounting of the twenty-second UTXO and the second redemption transaction The difference in handling fees receivable by miners.
- the second point of redemption easy takes the UTXO output from the first mortgage transaction, the UTXO output from the first term adjustment transaction, or the UTXO output from the second term adjustment transaction as input.
- the twenty-third UTXO represents the assets redeemed by the buyer.
- Twenty-four UTXO represents the transaction service fee charged by the platform party, and its amount is the twenty-second UTXO minus the miner's fee for the second redemption transaction.
- the first redemption transaction and the second redemption transaction are both redemption transactions
- the input of the redemption transaction includes the twenty-fifth UTXO
- the The output of the redemption transaction includes the twenty-sixth UTXO
- the twenty-fifth UTXO of the first redemption transaction is the seventeenth UTXO and the second The sixteenth UTXO is the nineteenth UTXO
- the twenty-fifth UTXO of the second redemption transaction is the twenty-first UTXO
- the twenty-sixth UTXO of the second redemption transaction For the twenty-third UTXO, the miner node is further configured to verify the redemption transaction after determining that the received transaction is the redemption transaction, and the verification items include: obtaining the most recent transaction In the block transaction benchmark, verify whether the difference between the most recent block transaction benchmark and the transaction benchmark of the first mortgage transaction is less than the transaction duration set in the operating parameter in the lock script of the twenty-fifth UTXO; if Is less than the transaction duration
- an optional solution based on the implementation of redemption transactions (including the first redemption transaction and the second redemption transaction) under the UTXO model is provided and verified for its legitimacy. This verification is performed when the miner node includes the redemption transaction into the set of transactions to be packaged. It also needs to be performed before the miner node receives the block broadcast by other miner nodes and attempts to save it to the local blockchain.
- embodiments of the present application provide a transaction system, including a buyer node, a seller node, a platform side node, and a miner node in a blockchain network; the buyer node is configured to send a configuration instruction to the platform side node
- the platform-side node makes a mortgage request for digital currency mortgage
- the platform-side node is configured to generate a transaction serial number after the buyer and the seller have reached a commodity transaction intention, and after receiving the mortgage request, according to the transaction serial number
- the buyer’s preset password to generate a second mortgage account, create a second mortgage transaction configured to transfer digital currency equivalent to the transaction commodity from the first platform party’s proxy account to the second mortgage account, and combine the 2.
- the mortgage transaction is broadcast on the blockchain network, wherein the digital currency in the agent account of the first platform party is exchanged by the platform party node according to the legal currency paid by the buyer to the platform party; the seller node is configured as Obtain the transaction serial number from the platform side node, generate the second mortgage account number based on the transaction serial number and the preset password provided by the buyer after confirming the success of the commodity transaction, and create a configuration to The third redemption transaction in which the digital currency equivalent to the transaction commodity is transferred from the second mortgage account to the seller account, and the third redemption transaction is broadcast on the blockchain network; the miner node is configured as Receive and verify the legality of the second mortgage transaction from the blockchain network, and after determining that the second mortgage transaction is legal, incorporate the second mortgage transaction into the transaction to be packaged configured to generate a block Collection, and configured to receive and verify the third redemption transaction from the blockchain network, and include the third redemption transaction into the configuration generation area after determining that the third redemption transaction is legal The block's pending transaction collection.
- the buyer node does not directly transfer the digital currency from the buyer account to the second mortgage account, but after the buyer node sends a mortgage request to the platform node,
- the platform node transfers the digital currency from the first platform agent account to the second mortgage account.
- the digital currency paid by the first platform agent account is exchanged by the platform node based on the legal currency paid by the buyer to the platform. In essence, it can still be regarded as an asset mortgaged by the buyer.
- the buyer pays the fiat currency to the platform party there is no restriction. It can be paid by the buyer after the buyer and seller reach the transaction intention, or it can be paid in advance by the buyer at some point before the buyer and seller reach the transaction intention.
- the seller can also avoid directly holding digital currency in a similar way. For example, after the seller node sends a redemption request to the platform node, the platform node transfers the digital currency from the second mortgage account to The proxy account of the second platform party, and then the platform node converts the digital currency in the proxy account of the second platform party into legal currency to pay the seller.
- the embodiments of the present application provide a transaction system, including seller nodes, platform side nodes, and miner nodes in a blockchain network; the platform side nodes are configured to generate a transaction flow after the buyer and the seller reach a commodity transaction intention
- the seller node is configured to obtain the transaction serial number from the platform side node, generate a third mortgage account based on the transaction serial number and the password preset by the seller, and create a third mortgage account configured to be equivalent to the transaction commodity
- Digital currency is transferred from the seller’s account to the third mortgage transaction of the third mortgage account, and the third mortgage transaction is broadcast on the blockchain network;
- the seller node is also configured to be after the end of the commodity transaction period Create a fourth redemption transaction configured to transfer digital currency equivalent to the transaction commodity from the third mortgage account to the seller account, and broadcast the fourth redemption transaction on the blockchain network;
- the miner node is configured to receive and verify the legitimacy of the third mortgage transaction from the blockchain network, and include the third mortgage transaction in the configuration generation area after determining that the third mortgage transaction is legal
- the above-mentioned transaction system is mainly different in that the mortgager is the seller instead of the buyer.
- the platform party may charge the buyer a transaction service fee (for example, it can be included in the output of the first mortgage transaction), while in the third mortgage transaction, the platform party may charge the buyer for transaction services instead Fee (for example, it can be included in the output of the third mortgage transaction).
- the trading system is based on buyer mortgage trading system).
- the transaction process of the system can be as follows: first, the seller mortgages its own assets to the third mortgage account; then, the buyer pays the seller in legal currency; then, the seller sends the goods after receiving the legal currency, and the buyer receives the goods; finally, if the goods
- the trading period has ended, and the seller can redeem the previously mortgaged assets from the third mortgage account. If there is a dispute during the transaction, the platform party can also dispose of the assets in the third mortgage account.
- the buyer does not need to hold digital currency, only legal currency, and the seller can hold digital currency, but this does not violate the laws and regulations of the above-mentioned countries, which is beneficial to expand the applicable scenarios of the transaction system and enhance Its practicality.
- the seller node is further configured to set a fourth transaction duration when creating the third mortgage transaction; the miner node verifies the validity of the received fourth redemption transaction When it is necessary, it is judged whether the commodity trading period has ended according to the trading benchmark time of the third mortgage transaction as the starting point of the commodity trading period and the fourth transaction duration, and when it is determined that the commodity trading period has not yet ended Then the received fourth redemption transaction is determined to be illegal, and the fourth redemption transaction determined to be illegal will not be included by the miner node into the set of transactions to be packaged configured to generate a block.
- the transaction system further includes a buyer node, and the buyer node or the seller node is further configured to create a transaction configured to set a fifth transaction duration after obtaining information indicating adjustment of the transaction duration A third period adjustment transaction, and the third period adjustment transaction is sent to the platform side node, wherein the fifth transaction duration characterization is configured to replace the fourth transaction duration as determining the fourth redemption transaction Whether it is legal;
- the platform side node is also configured to broadcast the third term adjustment transaction on the blockchain network;
- the miner node is also configured to receive and verify the transaction from the blockchain network
- the legality of the third-term adjustment transaction is determined, and after the third-term adjustment transaction is determined to be legal, the third-term adjustment transaction is included in the set of transactions to be packaged configured to generate a block; the miner node is verifying and receiving When the legality of the transaction is adjusted for the third period, it is judged whether the commodity transaction period has ended according to the transaction benchmark time of the third mortgage transaction and the fourth transaction duration, and when the commodity transaction period is determined
- the buyer node or the seller node is further configured to send an arbitration request to the platform-side node after obtaining information indicating an application for arbitration; the platform-side node is also configured to After receiving the arbitration request, create an arbitration transaction, and when the arbitration transaction is a fourth time limit adjustment transaction configured to set a sixth transaction duration, the fourth time limit adjustment transaction is placed on the blockchain Broadcast on the network, where the sixth transaction duration characterization is configured to replace the previous transaction duration as a basis for determining whether the fourth redemption transaction is legal.
- the last transaction duration is the fourth transaction duration, otherwise the last transaction duration is the transaction duration set by the most recently created period adjustment transaction; the miner node is also configured to receive from the blockchain network And verify the legality of the fourth term adjustment transaction, and after determining that the fourth term adjustment transaction is legal, incorporate the fourth term adjustment transaction into the set of transactions to be packaged configured to generate blocks; the miner node When verifying the legitimacy of the received fourth-term adjustment transaction, determine whether the commodity transaction period has expired according to the transaction benchmark of the third mortgage transaction and the last transaction duration, and determine whether the commodity transaction period has expired. After the commodity trading period has expired, the received fourth-term adjustment transaction is determined to be illegal, and the fourth-term adjustment transaction that is determined to be illegal will not be included by the miner node into the pending package configured to generate a block Transaction collection.
- the platform-side node is further configured to broadcast the second distribution transaction on the blockchain network when the arbitration transaction is a second distribution transaction, wherein:
- the second allocation transaction is configured to allocate digital currency equivalent to the transaction commodity from the third mortgage account to the seller account and/or platform side account, and the digital currency allocated to the platform side account is configured to Compensation for part or all of the legal currency paid by the buyer to the seller during the commodity transaction;
- the miner node is also configured to receive and verify the legality of the second distribution transaction from the blockchain network, and After determining that the second distribution transaction is legal, the second distribution transaction is included in the set of transactions to be packaged configured to generate a block; when the miner node verifies the legality of the received second distribution transaction, according to Determine whether the commodity trading period has expired at the time of the transaction benchmark of the third mortgage transaction and the last trading duration, and determine that the received second distribution transaction is after it is determined that the commodity trading period has expired Illegal, the second distribution transaction determined to be illegal will not be included in the set of transactions to be packaged configured
- the transaction commodity includes digital assets and/or authorization to use digital assets.
- the digital asset can be digital music, software, e-book, electronic game or game props, etc.
- the object sold by the seller can be the digital asset itself, or the authorization to use the digital asset, for example, a certain electronic game
- the free version of (Digital Assets) can be downloaded at will, but this version can only try one game scene, and it needs to be decrypted with a decryption password (in practice, it may be called password, activation code or serial number) before you can continue to play the remaining
- a decryption password in practice, it may be called password, activation code or serial number
- the decryption code belongs to the use authorization of the electronic game.
- Digital assets and/or authorization for the use of digital assets is a relatively special kind of commodity.
- the cost of copying such commodities is almost zero. It is reasonable for the seller to mortgage a certain digital currency before selling (equivalent to a kind of Constraints), so the seller’s mortgage scheme can be applied; and for some physical goods, the seller may have spent a lot of money to purchase the goods. It may be difficult for the seller to mortgage a large amount of digital currency before selling, and it does not conform to the general merchant’s understanding of commodity transactions ( If you haven't sold something, you have to repost the money). At this time, it is more suitable for the buyer's mortgage plan.
- the authorization to use the digital asset includes a decryption password and/or a copyright control file provided by the seller.
- an embodiment of the present application provides a transaction method applied to a buyer node in a transaction system.
- the method includes: obtaining a transaction serial number of a commodity transaction from a platform side node of the transaction system; Generate a first mortgage account number and a password preset by the buyer, and create a first mortgage transaction configured to transfer digital currency equivalent to the transaction commodity from the buyer account to the first mortgage account; transfer the first mortgage transaction Broadcast on the blockchain network where the transaction system is deployed.
- the method further includes: setting a first transaction duration when creating the first mortgage transaction, the first transaction duration being configured by the miner node in the transaction system to determine Whether the commodity trading period starting from the transaction benchmark of the first mortgage transaction has ended; wherein, the transaction benchmark of a transaction on the blockchain is that the transaction is included in the pending block configured to generate When the most recent block transaction benchmark when packaging the transaction set, the most recent block transaction benchmark is the block transaction benchmark of the block when the most recent block transaction benchmark has been determined on the blockchain, the block The block transaction reference time of a block on the chain is a moment calculated according to the generation time of the block, and the moment is positively correlated with the height of the block in the blockchain.
- the method further includes: after obtaining the information indicating the adjustment transaction duration, creating a first term adjustment transaction configured to set a second transaction duration, the second transaction duration characterizing configuration being Replace the first transaction duration as a basis for determining whether the commodity transaction period has expired; send the first term adjustment transaction to the platform side node, and the platform side node will send the first term adjustment transaction Broadcast on the blockchain network.
- the method further includes: after the expiry of the commodity trading period, creating a second mortgage configured to transfer digital currency equivalent to the trading commodity from the first mortgage account to the buyer account Second redemption transaction: broadcasting the second redemption transaction on the blockchain network.
- an embodiment of the present application provides a transaction method applied to a seller node in a transaction system.
- the method includes: obtaining a transaction serial number of a commodity transaction from a platform side node of the transaction system;
- the account number and the preset password provided by the buyer after confirming the successful commodity transaction generate a first mortgage account, and create a first redemption configured to transfer digital currency equivalent to the transaction commodity from the first mortgage account to the seller account Transaction; broadcast the first redemption transaction on the blockchain network where the transaction system is deployed.
- the method further includes: after obtaining information indicating the adjustment transaction duration, creating a first term adjustment transaction configured to set a second transaction duration, the second transaction duration characterizing configuration being Replace the first transaction duration as a basis for determining whether the commodity transaction period has expired, wherein the first transaction duration is set by the buyer node in the transaction system when creating the first mortgage transaction;
- the first time limit adjustment transaction is sent to the platform side node, and the platform side node broadcasts the first time limit adjustment transaction on the blockchain network.
- an embodiment of the application provides a transaction method applied to a platform side node in a transaction system, the method comprising: receiving an arbitration request for a commodity transaction from a buyer node or seller node in the transaction system;
- the arbitration request creates an arbitration transaction, the arbitration transaction is a second term adjustment transaction configured to set a third transaction duration, or the arbitration transaction is configured to transfer a digital currency equivalent to the transaction commodity from the first
- a first allocation transaction in which a mortgage account is allocated to at least one of a buyer account, a seller account, and a platform party account, wherein the third transaction duration characterization is configured to replace the previous transaction duration as a determination of whether the commodity transaction period has ended
- the last transaction duration is the first transaction duration, otherwise the last transaction duration is the transaction duration set by the most recently created deadline adjustment transaction; Broadcast the arbitration transaction on the blockchain network where the transaction system is deployed.
- an embodiment of the present application provides a transaction method, which is applied to a miner node in a transaction system, and the method includes: receiving and verifying the legality of the first mortgage transaction from the blockchain network where the transaction system is deployed And after determining that the first mortgage transaction is legal, the first mortgage transaction is included in the set of transactions to be packaged configured to generate a block; the first redemption transaction is received and verified from the blockchain network Legality, and after determining that the first redemption transaction is legal, the first redemption transaction is included in the set of transactions to be packaged configured to generate a block.
- the verifying the legitimacy of the first redemption transaction includes: judging the first transaction duration according to the transaction benchmark of the first mortgage transaction that is the starting point of the commodity transaction period Whether the commodity trading period has ended, and after determining that the commodity trading period has ended, the received first redemption transaction is determined to be illegal, and the first redemption transaction determined to be illegal will not be
- the miner node is included in the set of transactions to be packaged configured to generate a block; wherein, the first transaction duration is set by the buyer node in the transaction system when the first mortgage transaction is created, and on the blockchain
- the transaction benchmark of a transaction is when the transaction is included in the latest block transaction benchmark when the set of transactions to be packaged is configured to generate a block, and the most recent block transaction benchmark is the most recent block on the blockchain.
- the block transaction benchmark of a block when the block transaction benchmark is determined, the block transaction benchmark of a block on the blockchain is a moment calculated based on the generation time of the block, and The time is positively correlated with the height of the block in the blockchain.
- the method further includes: receiving blocks generated by other miner nodes other than itself from the blockchain network; if the received block includes the first mortgage transaction , Verify the legitimacy of the included first mortgage transaction, and after determining that the first mortgage transaction is illegal, refuse to save the received block in the local blockchain; if the received block is If the first redemption transaction is included in the first redemption transaction, verify the legality of the included first redemption transaction, and after determining that the first redemption transaction is illegal, refuse to save the received block to the local area Block chain.
- an embodiment of the present application provides a transaction method applied to a platform side node in a transaction system.
- the method includes: generating a transaction serial number after a buyer and a seller have reached a commodity transaction intention;
- the node receives a mortgage request instructing to perform a digital currency mortgage; generates a second mortgage account according to the transaction serial number and the password preset by the buyer, and creates a configuration to transfer digital currency equivalent to the transaction commodity from the first platform party's agent account to The second mortgage transaction of the second mortgage account, wherein the digital currency in the agent account of the first platform party is exchanged by the platform party node according to the legal currency paid by the buyer to the platform party; and the second mortgage transaction Broadcast on the blockchain network where the transaction system is deployed.
- an embodiment of the present application provides a transaction method applied to a seller node in a transaction system.
- the method includes: obtaining a transaction serial number of a commodity transaction from a platform side node of the transaction system; Generate a third mortgage account number and a password preset by the seller, and create a third mortgage transaction configured to transfer digital currency equivalent to the transaction commodity from the seller's account to the third mortgage account;
- the fourth redemption transaction of the account, and the fourth redemption transaction is broadcast on the blockchain network.
- an embodiment of the present application provides a buyer node that is deployed in a blockchain network.
- the buyer node includes a memory and a processor.
- the memory stores computer program instructions, and the computer program instructions are When the processor reads and runs, it executes the steps of the method provided by the fourth aspect or any one of the possible implementation manners of the fourth aspect.
- the buyer node can be, but is not limited to, the SPV (Simplified Payment Verification) node in the blockchain network, or entrust other nodes in the blockchain to implement the same function (such as transaction initiation or signature confirmation, etc.) ) Browser client, etc.
- SPV Simple Payment Verification
- an embodiment of the present application provides a seller node that is deployed in a blockchain network.
- the seller node includes a memory and a processor.
- the memory stores computer program instructions, and the computer program instructions are When the processor reads and runs, it executes the steps of the method provided in the fifth aspect, the ninth aspect, or any one of the possible implementation manners of the two aspects.
- the seller node can be, but is not limited to, an SPV node in the blockchain network, or a browser client that entrusts other nodes in the blockchain to implement the same function (such as transaction initiation or signature confirmation, etc.), etc. .
- an embodiment of the present application provides a platform-side node, which is deployed in a blockchain network
- the platform-side node includes a memory and a processor
- computer program instructions are stored in the memory
- the computer program instructions When read and run by the processor, the steps of the method provided by the sixth aspect, the eighth aspect, or any one of the possible implementation manners of the two aspects are executed.
- the platform side node can be, but is not limited to, the SPV node in the blockchain, or a browser client that entrusts other nodes in the blockchain to implement the same function (such as transaction initiation or signature confirmation), and so on.
- an embodiment of the present application provides a miner node deployed in a blockchain network.
- the miner node includes a memory and a processor.
- the memory stores computer program instructions, and the computer program instructions are When the processor reads and runs, it executes the steps of the method provided by the seventh aspect or any one of the possible implementation manners of the seventh aspect.
- FIG. 1 shows a functional module diagram of a node provided by an embodiment of the present application
- Figure 2 shows a structural diagram of a transaction system provided by an embodiment of the present application
- FIG. 3 shows a flowchart of a transaction related to a buyer's mortgage provided by an embodiment of the application
- Figure 4 shows a transaction flow chart based on buyer mortgage provided by an embodiment of the present application
- FIG. 5 shows a schematic diagram of the stage division of the commodity transaction period provided by an embodiment of the present application
- FIG. 6 shows an interaction diagram of a transaction related to a mortgage of a seller provided by an embodiment of the present application
- Fig. 7 shows a transaction flow chart based on seller mortgage provided by an embodiment of the present application.
- the terms “include”, “include” or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device that includes a series of elements includes not only those elements, but also includes Other elements of, or also include elements inherent to this process, method, article or equipment. If there are no more restrictions, the element defined by the sentence “including a" does not exclude the existence of other same elements in the process, method, article, or equipment including the element.
- the intermediary In traditional e-commerce activities, as buyers and sellers cannot fully trust each other, the intermediary is often used to ensure that the two parties realize the transaction. For example, if a third-party e-commerce platform acts as an intermediary, the buyer pays the e-commerce platform first, and the seller sees that the buyer has paid, so he is assured to ship the goods to the buyer, and the buyer confirms that the goods are correct after receiving the goods, and instructs the e-commerce company The platform transfers the payment to the seller. Among them, the e-commerce platform should have strong credit characteristics so that both buyers and sellers can give them full trust. This places higher requirements on the qualifications of the operating entity of the e-commerce platform. In this respect, large enterprises are compared with SMEs or individuals. With natural advantages, it is prone to a monopoly in the field of e-commerce, which is not conducive to the development of commodity economy.
- the inventor has discovered through long-term research that the essence of the above-mentioned e-commerce transaction with intermediary guarantee is: the buyer first mortgages his own assets to a third-party e-commerce platform with strong credit characteristics to improve his own credit so that the transaction can be concluded.
- the buyer receives the goods successfully, the seller redeems the mortgaged assets of the other party from the e-commerce platform. So far, a transaction has been successfully completed. If the transaction is abnormal and the buyer wants to cancel the transaction (for example, did not receive the goods), the buyer can also redeem it by himself
- the mortgaged assets can avoid economic losses.
- the above transaction process includes both the mortgage of assets and the redemption of assets, so it can be called a commodity transaction based on the redemption method.
- the transaction system, method, and nodes in the transaction system provided by the embodiments of the application express commodity transactions based on the redemption method by means of transfer transactions on the blockchain, and use the transparent accounting, non-tampering, and decentralization of the blockchain Features such as transformation and automatic processing to improve the above-mentioned problems existing in the prior art.
- the embodiment of the present application provides a node 100, which is deployed in a blockchain network, and its functional module diagram is shown in FIG. 1.
- the node 100 includes a processor 110, a memory 120, and a network interface 130. These components are interconnected and communicate with each other through a communication bus 140 and/or other forms of connection mechanisms (not shown).
- the memory 120 includes one or more (only one is shown in the figure), which can be, but is not limited to, random access memory (Random Access Memory, RAM for short) and Read Only Memory (ROM for short) , Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electric Erasable Programmable Read-Only Memory , EEPROM for short) and so on.
- the processor 110 and other possible components can access the memory 120, read and/or write data therein.
- the processor 110 includes one or more (only one is shown in the figure), which may be an integrated circuit chip with signal processing capability.
- the above-mentioned processor 110 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a micro controller unit (Micro Controller Unit, MCU for short), a network processor (Network Processor, NP for short), or other conventional processing It can also be a dedicated processor, including Digital Signal Processor (DSP), Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array (FPGA) Or other programmable logic devices, discrete gates or transistor logic devices and discrete hardware components.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuits
- FPGA Field Programmable Gate Array
- the network interface 130 includes one or more (only one is shown in the figure), which is configured to communicate with other nodes in the blockchain network except the node 100.
- the network interface 130 can be an Ethernet interface or a mobile communication network
- the interface for example, the interface of a 3G, 4G, or 5G network, may also be another interface with the function of sending and receiving network data.
- One or more computer program instructions can be stored in the memory 120, and the processor 110 can read and run these computer program instructions to implement the steps of the transaction method provided in the embodiments of the present application and other desired functions.
- the structure shown in FIG. 1 is only for illustration, and the node may also include more or fewer components than that shown in FIG. 1, or have a different configuration from that shown in FIG. 1.
- the components shown in FIG. 1 can be implemented by hardware, software, or a combination thereof.
- the node 100 may be, but is not limited to, physical devices such as desktop computers, laptop computers, smart phones, smart wearable devices, or vehicle-mounted devices, and may also be virtual devices such as virtual machines.
- the node 100 is not necessarily a single device, but may also be a combination of multiple devices, such as a server cluster, and so on.
- FIG. 2 shows a schematic structural diagram of a transaction system 200 provided by an embodiment of the present application.
- the transaction system 200 includes a buyer node 210, a seller node 220, a platform side node 230, and a miner node 240 in the blockchain network 250.
- the blockchain network 250 refers to a network deployed with a blockchain, and the number of various nodes can be one or more (only one is shown in the figure), and these nodes can be implemented as the nodes in Figure 1 100.
- the hardware and software configurations can be different.
- the buyer node 210 can be a mobile terminal with low performance (such as processing and storage capabilities), and the miner node 240 can be a mobile terminal. Servers with higher performance requirements, etc.
- Figure 2 also shows the corresponding identities of various nodes in the transaction process (connected by dotted arrows with nodes), specifically: buyer node 210 corresponds to the buyer, for example, the buyer can use the buyer node 210 to purchase goods; the seller node 220 corresponds to the seller, for example, the buyer can use the seller node 220 to sell goods; the platform side node 230 corresponds to the platform side, for example, the platform side can use the platform side node 230 to provide commodity transaction intermediary services and assist buyers and sellers to complete the commodity transaction; miner node 240 Corresponding to miners, for example, miners can use miner nodes 240 to mine to record transactions.
- buyer node 210 corresponds to the buyer, for example, the buyer can use the buyer node 210 to purchase goods
- the seller node 220 corresponds to the seller, for example, the buyer can use the seller node 220 to sell goods
- the platform side node 230 corresponds to the platform side, for example, the platform side can use the platform side node
- the above-mentioned different nodes are not necessarily implemented as independent devices.
- the platform side node 230 also performs mining by itself, it can also be the miner node 240 at the same time.
- the blockchain network 250 may also contain nodes other than the above four types. That is, the nodes in the blockchain network 250 are not necessarily all nodes in the transaction system 200, and the transaction system 200 also It can contain nodes other than the above four types.
- FIG. 3 shows a flowchart of a transaction related to a mortgage of a buyer provided in an embodiment of the present application.
- the buyer mortgage refers to the way in which the buyer mortgages its own assets as a transaction guarantee during the commodity transaction.
- the buyer mortgage refers to the way in which the buyer mortgages its own assets as a transaction guarantee during the commodity transaction.
- the transaction methods of seller mortgage there are also the transaction methods of seller mortgage. The specific meaning of buyer mortgage or seller mortgage will be further elaborated later.
- Figure 3 shows the first mortgage transaction, the first redemption transaction, the first maturity adjustment transaction, the second maturity adjustment transaction, the first distribution transaction and the second redemption transaction in the buyer node and seller node.
- the above nodes can be in the same blockchain network, as shown in Figure 2.
- Figure 4 shows a transaction flow chart based on buyer mortgage provided by an embodiment of the present application.
- the steps in FIG. 4 can be understood in conjunction with FIG. 3, for example, the specific execution method of the "first mortgage transaction process" in step S202 is shown in FIG.
- the transaction process includes:
- Step S200 The buyer converts the legal currency into digital currency.
- commodity transactions are carried out based on digital currencies issued on the blockchain: for example, stable currencies such as USDT can be used, and stable currencies can be bound with legal currencies at a relatively fixed exchange ratio, so that the value of the commodity is not As for the large fluctuations during the transaction, the stable currency can be issued by the state or the company; for example, it can be a certain digital currency issued by the platform and used as a guarantee with its own credit.
- the digital currency is mainly used for bookkeeping rather than settlement and Have offline exchange channels (ie settlement).
- the buyer manages the buyer's account on the blockchain.
- step S200 Before a certain transaction, in order to ensure that the buyer's account has enough digital currency for the transaction, the buyer can exchange the required amount of digital currency with fiat currency and deposit it into the buyer's account. Of course, if there is enough digital currency in the balance of the buyer's account before a certain transaction is performed, step S200 may not be necessary.
- the buyer can exchange digital currency with the help of the platform party; in other implementations, the buyer can also exchange digital currency by themselves.
- the buyer can transfer the legal currency to the platform party through the buyer node (the buyer's transfer behavior can be performed on the buyer node), and the platform party will transfer the corresponding funds from the platform party account managed by it after receiving the transfer The amount of digital currency is given to the buyer's account (the platform's transfer behavior can be performed on the platform's node).
- Step S201 The buyer and seller reach a transaction intention.
- the so-called transaction intention can refer to the state where the buyer and the seller have made a transaction agreement but the transaction has not actually proceeded (for example, the buyer has already managed the transaction on the platform "Purchase" is confirmed on the website, but there is no payment status).
- the commodity transaction in this application has a wide coverage: for example, it can be the seller’s display of the product on the e-commerce platform, and the buyer independently purchases the product; it can be the buyer’s purchase request (such as the highest purchase price ), the seller puts forward sales requirements (such as the lowest selling price), and the e-commerce platform matches the transaction form; it can also be the buyer’s demand for the goods to be purchased on the e-commerce platform (such as the type, appearance, quality of the goods) And price description), the seller independently selects the appropriate goods for supply.
- the platform node After the buyer and seller reach the transaction intention, the platform node generates a serial number (for example, a character string) identifying the transaction for the commodity transaction, and the transaction serial number will be used in subsequent steps.
- a serial number for example, a character string
- Step S202 Execute the first mortgage transaction process.
- Step S202 includes steps S110 to S114, which are specifically as follows:
- Step S110 The buyer node obtains the transaction serial number from the platform side node.
- the buyer may actively request the transaction serial number from the platform node, or the platform node may push the transaction serial number to the buyer node after generating the transaction serial number.
- Step S111 The buyer node generates a first mortgage account.
- the first mortgage account number is a temporary account number used in this commodity transaction, and the account number is calculated from the transaction serial number obtained in step S110 and the password preset by the buyer.
- the password preset by the buyer can be stored in the buyer node in advance, or the buyer can be reminded to enter the password when step S111 is performed. If the buyer conducts multiple commodity transactions, the password used each time can be the same or different.
- the buyer node can generate the private key of the first mortgage account by using a hash algorithm according to the transaction serial number, the preset password, and the platform feature character information.
- the platform feature word (for example, it can be a character string) is configured to identify the platform party, and different e-commerce platforms can specify their own platform feature words.
- the buyer node can obtain the platform feature word from the platform side node when performing step S111, or save it locally after obtaining it at a certain time before. In subsequent commodity transactions, if the platform side’s platform feature word does not change, The buyer node can directly read the platform feature word locally when it needs to calculate the private key.
- the buyer node can first merge the above three pieces of information (for example, it can be spliced into a string), and then use the hash algorithm to calculate a hash value with the merged information as input, and use the hash value as the first
- the private key of the mortgage account For example, using the combined information as the input of the SHA256 algorithm, a 32-byte (256-bit) output, that is, a 32-byte private key, can be obtained.
- the specific hash algorithm used is not limited, for example, it may also be the SHA512 algorithm, and so on.
- the public key of the account can be derived using an elliptic curve algorithm (such as the ECC algorithm under the Secp256k1 standard). After the public key is determined, the first mortgage account can be calculated based on the public key.
- An existing hash algorithm that outputs 32 bytes of data and RIPEMD160 is also an existing hash algorithm that outputs 20 bytes of data.
- the public key hash can represent the account, but in order to enhance readability, the public key hash can be encoded with Base58 and converted into a string composed of numbers and letters, which is generally visible to users. Account).
- Base58 When the public key is used to calculate the first mortgage account in this application, a similar approach can be adopted.
- the buyer node After the buyer node generates the private key of the first mortgage account, the buyer node has actually obtained control of the first mortgage account (because the corresponding derivatives, such as public key, public key hash, or Base58 format account address All can be derived from the private key), so from the perspective of the buyer node, generating the private key is to create the first mortgage account, and other derivatives can be regarded as different manifestations of the first mortgage account under different uses.
- the corresponding derivatives such as public key, public key hash, or Base58 format account address All can be derived from the private key
- the platform feature word and the private key generation algorithm can be public, and the transaction serial number is also public to the parties related to the transaction (such as the platform party and the seller), so if the parties related to the transaction can
- the buyer can derive the private key of the first mortgage account by obtaining the password preset by the buyer, thereby gaining control over the first mortgage account.
- the derived private key can be used to authorize transactions related to the first mortgage account (authorization is Use the private key to sign the transaction) to redeem the digital currency in the first mortgage account. It needs to be pointed out that although the node that obtains the password can redeem the digital currency in the first mortgage account, it does not mean that the password must be possessed to control the digital currency in the first mortgage account.
- the digital currency in the first mortgage account is not obtained.
- the control of currency is subject to certain restrictions (for example, it can be restricted by a lock script, which will be explained later).
- the platform node does not know the password, it can create the first distribution transaction and allocate the number in the first mortgage account. currency.
- Step S112 The buyer node creates a first mortgage transaction.
- the first mortgage transaction is configured to transfer the digital currency equivalent to the transaction commodity from the buyer account to the first mortgage account generated in step S111.
- the above-mentioned digital currency equivalent to the transaction commodity is the transaction payment.
- the specific form of the first mortgage transaction is not limited. The following text will give a specific way to realize the first mortgage transaction when the digital currency on the blockchain adopts the UTXO model. Of course, if the digital currency on the blockchain adopts the account/balance model, the first mortgage transaction can also be implemented in different ways.
- Step S113 The buyer node broadcasts the first mortgage transaction on the blockchain network.
- Step S114 The miner node verifies the legality of the first mortgage transaction.
- the miner node After receiving the broadcasted first mortgage transaction, the miner node will verify the legality of the transaction. If the verification is legal, the first mortgage transaction will be included in the set of transactions to be packaged configured to generate a block.
- the blockchain does not necessarily have only the several transaction types shown in Figure 3, and there may also be other types of transactions (for example, transactions not used in the commodity transaction process in this application), so the above These transactions may also be included in the set of transactions to be packaged.
- the miner node will generate a new block based on the transaction set to be packaged and participate in the competition for bookkeeping rights , And write the new block into the local block chain after obtaining the right to book, so that the first mortgage transaction can be chained.
- step S114 If the verification in step S114 is illegal, the miner node will not include the first mortgage transaction into the set of transactions to be packaged configured to generate a block.
- Step S203 The seller delivers the goods and the buyer receives the goods.
- the seller can learn about this situation and complete the shipment. For example, after the buyer node creates the first mortgage transaction, it can notify the platform node that the buyer has paid, and the platform node can push a notification to the seller node to inform the seller that it can deliver the goods.
- the platform node can also wait for a period of time, for example, after inquiring that the first mortgage transaction has indeed been confirmed on the blockchain (for example, similar to the principle of confirming the transaction in 6 blocks in Bitcoin) before reporting to the seller Node push notifications.
- the specific delivery and receipt process is similar to the existing e-commerce transactions, and will not be explained in detail.
- Step S204 The buyer informs the seller of the preset password.
- step S111 If the buyer successfully receives the goods, he can inform the seller of the preset password used in step S111. According to the content described in step S111, if the seller obtains the password, the seller can obtain the control right of the first mortgage account, and the password will be The seller node is used in step S205.
- the method of informing the seller of the password can be through the platform.
- the buyer node first sends the password to the platform node, and the buyer node notifies the platform node that the buyer has successfully received the goods, and the platform node pushes the password to the seller node.
- the platform party in order to avoid the platform party from doing evil from it (for example, the platform party can control the assets pledged by the buyer in the first mortgage account after knowing the password, or the platform party will inform the seller of the password before the buyer confirms the receipt , So that the seller can control the first mortgage account in advance), and the buyer can also inform the seller of the password without using the platform, for example, by email, instant chat, phone, etc.
- Step S205 Execute the first redemption transaction process.
- Step S205 includes steps S120 to S124, which are specifically as follows:
- Step S120 The seller node receives the transaction serial number from the platform side node.
- Step S120 is similar to step S110 and will not be described in detail. It should be pointed out that step S120 can also be executed after the platform side node generates the transaction serial number and at a certain time before step S205.
- Step S121 The seller node generates a first mortgage account.
- the seller node can calculate the first mortgage account number by using the preset password obtained in step S204 and the transaction serial number obtained in step S120.
- the calculation process is the same as that of step S111, and the description will not be repeated.
- the buyer can also directly provide the calculated private key of the first mortgage account to the seller, and the seller node can directly use the private key to calculate the first mortgage account.
- the private key is usually longer and is prone to errors during transmission and copying. For example, a 32-byte private key is already relatively long. If it is encoded with Base58 for ease of writing, the length of the generated string can even exceed 44 characters. Translating the string is prone to errors, so the transaction shown in Figure 4 In the process, a password is used instead of the private key.
- the private key is generated first and then the first mortgage account is generated.
- the password is short or simple, it is easy to be cracked by brute force.
- the digital currency was illegally transferred. Therefore, some preventive measures can be taken in the specific implementation. The following are only two examples:
- a password with a certain length (such as 12 characters) or a certain degree of complexity (such as a mixture of upper and lower case letters, numbers, and punctuation).
- the TEE can be configured on the buyer node and the seller node, and the private key generation process of the first mortgage account described earlier can be in the TEE carried out.
- a special secure hardware environment such as a Trusted Execution Environment (TEE)
- the TEE can be configured on the buyer node and the seller node, and the private key generation process of the first mortgage account described earlier can be in the TEE carried out.
- the platform feature words can be stored inside the TEE and will no longer be disclosed to the outside of the TEE.
- the TEE of the same paragraph can be guaranteed Use the same platform feature word for the same e-commerce platform. At this time, even if the buyer's preset password is short, the efficiency of the cracking will be lower due to the limitation of the computing power of the TEE itself, and the password cracking ability will be stronger.
- Step S122 The seller node creates the first redemption transaction.
- the first redemption transaction is configured to transfer the digital currency equivalent to the transaction commodity from the first mortgage account generated in step S121 to the seller account.
- the seller account is an account on the blockchain managed by the buyer.
- the specific form of the first redemption transaction is not limited. The following text will give a specific way to realize the first redemption transaction when the digital currency on the blockchain adopts the UTXO model.
- Step S123 The buyer node broadcasts the first redemption transaction on the blockchain network.
- Step S124 The miner node verifies the legality of the first redemption transaction.
- the miner node After receiving the broadcasted first redemption transaction, the miner node will verify the legality of the transaction. If the verification is legal, the first redemption transaction will be included in the set of transactions to be packaged configured to generate a block.
- the miner node will generate a new block based on the set of transactions to be packaged and participate in the competition for bookkeeping rights. After obtaining the bookkeeping rights, the new block will be written to the local blockchain to make the first redemption Back to the transaction chain.
- step S124 If the verification in step S124 is illegal, the miner node will not include the first redemption transaction into the set of transactions to be packaged configured to generate blocks.
- Step S206 The seller converts the digital currency into legal currency.
- step S206 is optional. If the seller does not need to exchange legal currency, step S206 may not be executed.
- the flow of commodity transactions based on the redemption method is expressed by means of the first mortgage transaction and the first redemption transaction on the blockchain. If both the first mortgage transaction and the first redemption transaction are finally confirmed by the blockchain, the commodity transaction is completed.
- the blockchain has the characteristics of transparent accounting and non-tampering (transactions on the blockchain are open and transparent and difficult to tamper with), it can provide guarantees for commodity transactions, instead of traditional e-commerce platform transaction guarantees Function, the platform side node operated by the e-commerce platform in the transaction system only needs to assist the smooth progress of the transaction (for example, generate a transaction serial number), and does not need to provide credit guarantees for commodity transactions. Therefore, the qualification requirements for the operating entities of the e-commerce platform have been reduced, allowing more companies or individuals to participate in e-commerce, avoiding monopoly and promoting competition, which is conducive to the prosperity and development of the commodity economy.
- the blockchain also has the characteristics of automatic transaction processing, it is conducive to reducing manual services in the transaction process.
- the degree of automation of commodity transactions is higher and the transaction is easier to achieve, and the operating cost of the e-commerce platform is also reduced.
- the specific form of the above blockchain is not limited.
- it can be a public chain, a consortium chain, or a private chain, etc., which can be selected according to specific needs. For example, if you want to attract more users to participate in commodity transactions, you can choose the implementation of the public chain. If you want to speed up the transaction, you can choose the consortium chain or private chain implementation.
- the issue of transaction period is not mentioned, which means that according to the above implementation method, the seller can redeem the payment in the first mortgage account at any time after obtaining the password.
- a commodity transaction period is set for commodity transactions, and the operation of restricting the seller to redeem the payment should be made during the commodity transaction period, otherwise it will be invalid, so as to avoid the seller's delay in completing the transaction and cause related resource waste (for example, The platform node may maintain certain status for uncompleted commodity transactions) to enhance the security and practicability of the transaction system.
- the specific measures can be as follows:
- the buyer node sets the first transaction duration when creating the first mortgage transaction.
- the first transaction duration may be used as a part of the content of the first mortgage transaction.
- the first transaction duration represents the length of the commodity transaction period. After the first transaction duration is set, the commodity transaction period starts from the transaction benchmark time of the first mortgage transaction and ends after the first transaction duration.
- the transaction benchmark of a transaction on the blockchain can be defined as when the transaction is included in the latest block transaction benchmark when the transaction set to be packaged is configured to generate a block
- the most recent block transaction benchmark can be defined as
- the block transaction benchmark of the block when the block transaction benchmark has been determined recently on the blockchain the block transaction benchmark of a block on the blockchain can be defined as calculated based on the generation time of the block A moment, and the moment is positively correlated with the height of the block in the blockchain.
- the block transaction benchmark has a one-to-one correspondence with the block
- the block transaction benchmark has the characteristic of unidirectional growth, that is, of the two adjacent blocks, the latter block
- the block transaction reference time of the block with the larger height in the blockchain is always later than the block transaction reference time of the previous block (the block with the smaller height in the blockchain).
- the unidirectional growth characteristic of the block transaction benchmark makes the judgment about the commodity transaction period certain, so that the transfer authority of the transaction will not fluctuate between different blocks (especially adjacent blocks).
- the block header records the block generation time (for example, in the blockchain used by Bitcoin, the timestamp field is used to record), this time is only the local time of each miner node. It is not necessarily synchronized, so related protocols are not strict when verifying the generation time of a block.
- the Bitcoin protocol requires miner nodes to receive new blocks mined by other miner nodes. When the time is 2 hours in the future of the local time, or before the average generation time of the last 11 blocks, the miner node will not accept the new block received, which is not a very strict requirement. Therefore, it is not appropriate to directly use the block generation time as the block transaction benchmark.
- the following calculation methods can be used:
- the block transaction benchmark of a certain block is defined as the average of the generation time of M blocks with the block as the central block on the block chain, where M is a positive odd number greater than or equal to 3.
- M is a positive odd number greater than or equal to 3.
- the block transaction benchmark of 2+1 blocks that is, whether the block transaction benchmark always meets the characteristics of unidirectional growth
- the block transaction benchmark of 1 block plus the preset duration is determined as the block transaction benchmark of the (M-1)/2th block before the new block, it is based on the determined block transaction benchmark
- the specific value of the preset duration is not limited.
- the minimum unit is seconds
- the preset duration can be one second, so that even if the block generation time is only fine-tuned, Will not have any negative impact.
- miner node may temporarily fork the blockchain during the accounting process, according to the above calculation method, no matter which branch is finally approved, it will not affect the block transaction benchmark of each block The characteristic of unidirectional growth.
- the miner node when verifying the legitimacy of the first redemption transaction, can determine whether the commodity transaction period has expired according to the transaction benchmark of the first mortgage transaction and the first transaction duration. For example, it can be judged whether the latest block transaction benchmark (representing the current time) is still in the commodity trading period (when the miner node verifies the validity of the first redemption transaction). If it is not in the commodity trading period, it indicates that the commodity The trading period has ended, otherwise the commodity trading period has not yet ended. Of course, the definition of other judgment criteria is not ruled out.
- the miner node determines that the commodity transaction period has expired, the received first redemption transaction can be determined to be illegal, and the first redemption transaction determined to be illegal will not be included by the miner node into the package to be configured to generate a block Transaction collection. It should be pointed out that if the miner node determines that the commodity trading period has not expired, it may not be able to determine that the first redemption transaction is legal, because other verifications may be performed for the first redemption transaction (refer to the following content), so here only Explains the illegal situation.
- the above behavior of the miner node restricts the seller’s opportunity to create the first redemption transaction, that is, the seller should create the first redemption transaction before the end of the commodity trading period to transfer the payment from the first mortgage account, otherwise once the commodity trading period ends , The seller will not be able to redeem the payment.
- Step S207 Execute the first period adjustment transaction process.
- Step S207 includes steps S130 to S133, which are specifically as follows:
- Step S130 The buyer creates a first term adjustment transaction.
- the first-term adjustment transaction is configured to adjust the commodity transaction period.
- the second transaction duration can be set.
- the second transaction duration characterization is configured to replace the first transaction duration set in the first mortgage transaction as the new The length of the commodity trading period.
- the buyer can only transfer the assets mortgaged to the first mortgage account. After the translation, the asset still belongs to the first mortgage account, and the amount remains unchanged (because the first-term adjustment transaction The function does not involve the distribution of digital currency).
- the specific form of the first-term adjustment transaction is not limited. The following text will give a specific way to realize the first-term adjustment transaction when the digital currency on the blockchain adopts the UTXO model.
- both the buyer and seller have the right to instruct their respective nodes to create the first period adjustment transaction. For example, if the seller is unable to deliver the goods on time for some reason, in order to avoid the expiration of the commodity transaction period and make it impossible to redeem the payment, the seller can create the first period adjustment transaction through the seller node to extend the commodity transaction period (that is, set a period greater than the first transaction duration). The second transaction duration); the buyer cannot receive the goods on time for some reason.
- the buyer can create the first period adjustment transaction through the buyer node to extend the commodity trading period; the buyer has received normally However, the commodity trading period will expire for a long time. If the seller hopes to redeem the payment earlier, the seller can create the first term adjustment transaction through the seller node to shorten the commodity trading period.
- the creation of the first period adjustment transaction can also be for other reasons, which is not limited here. It should be pointed out that in Figure 3, for the sake of simplicity, only the case where the first period adjustment transaction is created by the buyer node is shown.
- the first period adjustment transaction is not necessary. If the buyer and seller can complete the transaction within the normal commodity transaction period (for example, the period corresponding to the first transaction duration), the first period adjustment transaction may not be created.
- Step S131 The buyer node sends the first period adjustment transaction to the platform side node.
- the first deadline adjustment transaction requires the platform party's authorization (authorization is to use the private key of the platform party's account to sign the transaction), so the buyer node needs to send the first deadline adjustment transaction to the platform party node.
- Step S132 the platform side node broadcasts the first period adjustment transaction on the blockchain network.
- Step S133 The miner node verifies the legality of the first period adjustment transaction.
- the miner node After the miner node receives the broadcasted first-term adjustment transaction, it will verify the legality of the transaction. If the verification is legal, the first-term adjustment transaction will be included in the set of transactions to be packaged configured to generate a block.
- the miner node will generate a new block based on the set of transactions to be packaged, and participate in the competition for the accounting right, and write the new block to the local blockchain after obtaining the accounting right, so that the first deadline Adjust the transaction chain.
- step S133 If the verification in step S133 is illegal, the miner node will not include the first period adjustment transaction into the set of transactions to be packaged configured to generate blocks.
- the verification of the legality of the transaction in step S133 includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the first mortgage transaction and the first transaction duration, and checking whether the commodity trading period has expired is determined
- the received first term adjustment transaction is determined to be illegal.
- the miner node determines whether the current block transaction benchmark (when the miner node verifies the legality of the first period adjustment transaction) is still in the commodity trading period. If it is not in the commodity trading period, it indicates that the commodity trading period has ended. Otherwise, the commodity trading period has not yet ended. If the miner node determines that the commodity trading period has expired, the received first term adjustment transaction may be determined to be illegal. It should be pointed out that if the miner node determines that the commodity trading period has not expired, it may not necessarily be able to determine that the first-term adjustment transaction is legal, because other verifications may be performed for the first-term adjustment transaction (refer to the following content).
- step S207 if the buyer and seller complete the transaction normally during the new commodity trading period, then continue to execute step S204 to step S206. It should be noted that when performing sub-step S124 of step S205, since the first deadline adjustment transaction has been included in the block link, the second transaction duration set therein has taken effect. At this time, the miner node is verifying whether the first redemption transaction When the restrictions on the commodity trading period are met, the second trading time shall be used instead of the first trading time.
- the first period adjustment can be limited to only one creation in the entire commodity transaction process, so as to prevent the buyer or seller from extending the commodity trading period arbitrarily, making it difficult to end the commodity transaction.
- it can be implemented by restricting the buyer node, seller node, platform side node or miner node.
- the first row in Figure 5 represents the normal trading of commodities, and the normal trading period is the first trading duration.
- the second line indicates that the first-term adjustment transaction was created during the original normal trading period, so that the normal trading period of the second line has not ended before the machine arbitration period, and the normal trading period of the second line plus the machine arbitration period
- the length of time is the second transaction time.
- Step S208 Execute the second period adjustment transaction process.
- Step S208 includes steps S140 to S143, which are specifically as follows:
- Step S140 The buyer node sends an arbitration request to the platform side node.
- step S141 If during the commodity trading period (here, the meaning of the commodity trading period will be explained in detail in step S141), the buyer and seller cannot complete the commodity transaction on schedule, both the buyer and seller have the right to instruct their respective nodes to send arbitration requests to the platform side nodes, and apply for the platform Party arbitrates commodity transactions.
- the first-term adjustment transaction can also be regarded as a simple arbitration (ie, machine arbitration), but its essence is to set a longer commodity trading period (here for the sake of simplicity, only commodity trading is discussed. Extension of the period), so that the buyer and seller have more time to complete the collection and delivery or negotiate to resolve disputes, but it does not mean that the buyer must be able to receive the goods normally during the new commodity transaction period, or the buyer and seller must be able to reach a settlement Agreement, at this time the buyer or seller can further apply to the platform for arbitration, and the platform can manually arbitrate to resolve the dispute.
- the arbitration request can also be sent for other reasons, which is not limited here.
- the buyer or seller can also directly apply to the platform for arbitration, not necessarily after the creation of the first deferred transaction. It should be pointed out that in Figure 3, for simplicity, only the case where the arbitration request is sent by the buyer node is shown.
- Step S141 the platform side node creates a second term adjustment transaction.
- the platform side node After the platform side node receives the arbitration request, it can be manually (for example, the platform side arbitrator) to make different arbitration results according to the content of the arbitration request, and then instruct the platform side node to create an arbitration transaction that reflects the arbitration result.
- the type of transaction may be the second period adjustment transaction or the first allocation transaction, that is, step S208 and step S209 cannot be performed at the same time.
- the buyer node or the seller node can send an arbitration request to the platform side node multiple times, and each time the arbitration request is received, the platform side node will create an arbitration transaction.
- the second term adjustment transaction can be created multiple times in a row, but the first distribution transaction can only be created once, and after the first distribution transaction is created, the platform node can no longer create arbitration transactions (because the first distribution transaction will allocate the first distribution transaction).
- the platform node can no longer create arbitration transactions (because the first distribution transaction will allocate the first distribution transaction).
- the second period adjustment transaction is configured to adjust the commodity transaction period.
- the third transaction duration can be set.
- the third transaction duration characterization is configured to replace the previous transaction duration set in the previous transaction as a new commodity The length of the trading period.
- the buyer's mortgage to the first mortgage account can only be processed in translation. After the translation, the asset still belongs to the first mortgage account and the amount remains unchanged.
- the process of a commodity transaction in the application is expressed by multiple transfer transactions on the blockchain. These transfer transactions form a chain of capital flow (for example, the output of the previous transaction is used as the next transaction. Enter), the digital currency equivalent to the transaction commodity is transferred from the buyer's account to the seller's account in the direction of the chain.
- the so-called last transaction mentioned above refers to the precursor transaction of the second period adjustment transaction in the chain.
- the last transaction duration is the first transaction duration (corresponding to Figure 4, step S208 is entered after the execution of steps S202 and S203); if the last transaction is the first period adjustment transaction, then The last transaction duration is the second transaction duration (corresponding to Figure 4, after step S207 is executed, step S208 is entered); if the previous transaction is the last second period adjustment transaction (according to the previous explanation, the platform node can continuously create multiple Second period adjustment transaction), the last transaction duration is the last third transaction duration (corresponding to FIG. 4, step S208 is entered again after step S208 is executed).
- the commodity transaction period in step S140 can be explained.
- the commodity transaction period refers to the commodity transaction period formed by the last transaction duration set in the last transaction.
- the specific form of the second term adjustment transaction is not limited.
- the following text will give a specific method for realizing the first term adjustment transaction when the digital currency on the blockchain adopts the UTXO model.
- the second-term adjustment transaction is not necessary. If neither buyer nor seller applies for arbitration, the platform node will not create a second-term adjustment transaction, and even if the platform node conducts arbitration, the created arbitration transaction may not necessarily be the second
- the term adjustment transaction may also be the first distribution transaction. It is understandable that although the second term adjustment transaction can be created multiple times in one transaction, it is created by the platform side, that is, the platform side controls whether the term adjustment is effective, so there is no need to worry about the transaction extension function being affected by both parties. Any party abused.
- Step S142 The platform node broadcasts the second term adjustment transaction on the blockchain network.
- Step S143 The miner node verifies the legality of the second period adjustment transaction.
- the miner node After receiving the broadcasted second-term adjustment transaction, the miner node will verify the legality of the transaction. If the verification is legal, the second-term adjustment transaction will be included in the set of transactions to be packaged configured to generate blocks.
- the miner node will generate a new block based on the set of transactions to be packaged and participate in the competition for bookkeeping rights. After obtaining the bookkeeping rights, the new block will be written to the local blockchain to make the second deadline Adjust the transaction chain.
- step S143 If the verification in step S143 is illegal, the miner node will not include the second term adjustment transaction into the set of transactions to be packaged configured to generate a block.
- the verification of the legality of the transaction in step S143 includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the first mortgage transaction and the last transaction duration, and checking whether the commodity trading period has expired is determined
- the received second term adjustment transaction is determined to be illegal.
- the miner node determines whether the latest block transaction benchmark (when the miner node verifies the legality of the second period adjustment transaction) is still in the commodity trading period. If it is not in the commodity trading period, it indicates that the commodity trading period has ended. Otherwise, the commodity trading period has not yet ended. If the miner node determines that the commodity trading period has ended, the received second term adjustment transaction may be determined to be illegal. It should be pointed out that if the miner node determines that the commodity trading period has not expired, it may not necessarily be able to determine that the second-term adjustment transaction is legal, because other verifications may be performed for the second-term adjustment transaction (refer to the following content).
- the third transaction duration set therein has not yet taken effect, so the judgment of the commodity transaction period is still based on the previous transaction duration. of. But if the second-term adjustment transaction created this time has been included in the block link, for example, the platform node creates a second-term adjustment transaction later, and the miner node verifies the legality of the next second-term adjustment transaction Time, you can use the third transaction duration set this time.
- step S208 if the buyer and seller normally complete the transaction during the new commodity transaction period, then continue to execute step S204 to step S206. It should be noted that when performing sub-step S124 of step S205, since the second term adjustment transaction has been included in the block chain, the third transaction duration set therein has taken effect. At this time, the miner node is verifying whether the first redemption transaction When it meets the restrictions on the commodity trading period, the third trading time shall be used instead of the previous trading time.
- Step S209 Execute the first distribution transaction process.
- Step S209 includes steps S150 to S153, which are specifically as follows:
- Step S150 The buyer node sends an arbitration request to the platform side node.
- Step S150 and step S140 are the same step, and the description will not be repeated.
- Step S151 the platform side node creates a first distribution transaction.
- the first distribution transaction is configured to distribute the digital currency equivalent to the transaction commodity from the first mortgage account to at least one of the buyer account, the seller account, and the platform party account to reflect the arbitration result. For example, when the platform party finds that the seller has not delivered the goods during arbitration, it can allocate all the payment in the first mortgage account to the buyer's account through the first distribution transaction. For example, the platform party finds that the goods received by the buyer have certain defects during the arbitration , But the buyer can still accept it, and the seller does not want to return the goods. Through the first distribution transaction, the payment in the first mortgage account can be distributed to the buyer and the seller in a certain proportion, and so on. Among them, the digital currency allocated to the account of the platform party can be configured to pay the arbitration fee charged by the platform. Of course, in some implementations, the platform party can also be exempted from arbitration fees (including exemption for each arbitration, or for some Exemption from arbitration).
- arbitration fees There can be different rules for arbitration fees. It can be agreed before the transaction, and the upper limit amount can be set. In some implementations, the arbitration fee can be more used to restrict the behavior of the seller, and its cost can be correlated with the seller's credit score. For example, the arbitration fee for a good seller is lower. In other implementations, the setting of arbitration fees can also be related to the physical cost paid by the seller. For example, the original production cost of the goods sold is very low (such as digital publications, which can be copied at will), and the arbitration fee can be set relatively high Some, for example, can be equal to the selling price, so if the seller is found to be fraudulent, the platform has the ability to confiscate all its sales proceeds.
- the previous transaction of the first distribution transaction can be the first mortgage transaction (corresponding to Figure 4, and proceed to step S209 after the execution of steps S202 and S203), or it can be the first term adjustment transaction (corresponding to Figure 4, executed in step S207) Then go to step S209), or it can be a second time limit adjustment transaction (corresponding to FIG. 4, go to step S209 after step S208 is executed).
- step S208 the first term adjustment transaction
- step S209 that is, platform side arbitration is required.
- the first term adjustment transaction is created (step S207), but the commodity transaction period is not successful. Extension (may be caused by node failure on the blockchain network, etc.), at this time the buyer or seller can apply to the platform for arbitration.
- the specific form of the first distribution transaction is not limited, and a specific way to realize the first distribution transaction when the digital currency on the blockchain adopts the UTXO model will be given later.
- the first distribution transaction is not necessary. If the buyer and seller do not apply for arbitration, the platform node will not create the first distribution transaction, and the arbitration transaction created by the platform node may not necessarily be the first distribution transaction, but can also be the second distribution transaction. Time adjustment transaction.
- Step S152 The platform side node broadcasts the first distribution transaction on the blockchain network.
- Step S153 The miner node verifies the legality of the first distribution transaction.
- the miner node After the miner node receives the broadcasted first distribution transaction, it will verify the legality of the transaction. If the verification is legal, the first distribution transaction will be included in the set of transactions to be packaged configured to generate a block.
- the miner node will generate a new block based on the set of transactions to be packaged, and participate in the competition for the accounting right, and write the new block to the local blockchain after obtaining the accounting right to make the first distribution
- the transaction is on the chain.
- step S153 If the verification in step S153 is illegal, the miner node will not include the first distribution transaction into the transaction set to be packaged configured to generate a block.
- the verification of the legality of the transaction in step S153 includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the first mortgage transaction and the previous transaction duration, and checking whether the commodity trading period has expired is determined
- the first distribution transaction received is determined to be illegal.
- the miner node determines whether the latest block transaction benchmark (when the miner node verifies the validity of the first distribution transaction) is still in the commodity trading period. If it is not in the commodity trading period, it indicates that the commodity trading period has ended; otherwise The commodity trading period has not yet ended. If the miner node determines that the commodity trading period has ended, the first distribution transaction received can be determined to be illegal. It should be pointed out that if the miner node determines that the commodity trading period has not expired, it may not necessarily be able to determine that the first distribution transaction is legal, because other verifications may be performed for the first distribution transaction (refer to the following content).
- step S209 since the digital currency in the first mortgage account has been forcibly distributed, it is meaningless to continue to create various types of transactions, so this commodity transaction has essentially ended (of course, it may not have reached the commodity at this time. The end of the trading period).
- arbitration transactions can be created based on the results of manual arbitration by the platform. Therefore, arbitration transactions can also be called manual arbitration.
- the starting point of the machine arbitration period can be defined as the transaction benchmark of the first created arbitration transaction. It is the cut-off time of the last commodity trading period adjusted by the creation of the second period adjustment transaction.
- the first row in Figure 5 represents the normal trading of commodities, and the normal trading period is the first trading duration.
- the third line represents the creation of an arbitration transaction during the original normal trading period (because the first distribution transaction does not change the commodity trading period, the third line creates at least one second-term adjustment transaction), so the third line
- the normal trading period has not ended before the manual arbitration period is switched.
- the normal trading period in the third row plus the length of the machine arbitration period is the last created second period to adjust the third trading duration set by the exchange.
- the fourth line indicates that the first-term adjustment transaction was created during the original normal trading period, so that the fourth line of the normal trading period has not ended before the machine arbitration period is switched to the machine arbitration period, and then the arbitration transaction is created during the machine arbitration period ( Since the first distribution transaction does not change the commodity trading period, the fourth row creates at least one second-term adjustment transaction), so the machine arbitration period in the fourth row has not ended before the manual arbitration period, and the fourth row is the normal trading period Adding the machine arbitration period plus the length of the manual arbitration period is the last created second period to adjust the third transaction period set by the exchange.
- the process of manual arbitration can also be replaced by the deployment of smart contracts on the blockchain, namely
- the platform side node creates an arbitration transaction by calling the smart contract on the blockchain.
- the content of the smart contract can be written by the platform party, and the code is open source to ensure its fairness and openness. If arbitration is automatically carried out through smart contracts, the degree of intelligence is higher, the speed of arbitration can be further improved, and the cost of human resources is saved for the platform.
- Step S210 Execute the second redemption transaction process.
- Step S210 includes steps S160 to S162, which are specifically as follows:
- Step S160 The buyer node creates a second redemption transaction.
- the buyer node can create a second redemption transaction.
- the second redemption transaction is configured to transfer the digital currency equivalent to the transaction commodity from the first mortgage account to the buyer's account, that is, the buyer can recover his own assets and avoid economic losses.
- the prerequisite for creating the second redemption transaction is that the assets pledged by the buyer are still stored in the first mortgage account and have not been redeemed by the seller or distributed by the platform. Therefore, the second redemption transaction is not necessary.
- the previous transaction of the second redemption transaction may be the first mortgage transaction (corresponding to FIG. 4, and proceed to step S210 after the execution of steps S202 and S203), or may be the first term adjustment transaction (corresponding to FIG. 4, in step S207) After execution, proceed to step S210), or it may be a second deadline adjustment transaction (corresponding to FIG. 4, proceed to step S210 after execution of step S208).
- a second period adjustment transaction is created (go to step S208), but the commodity transaction period has not been successfully extended (maybe the transaction on the blockchain network).
- step S209 the first distribution transaction is created (step S209), but the digital currency distribution fails (may be caused by node failure on the blockchain network), and the buyer can redeem the payment.
- the arrow points in FIG. 4 also include these abnormal processes.
- the commodity transaction should end in principle, but if the transaction process is not executed normally in step S209, it can also enter step S210.
- the specific form of the second redemption transaction is not limited. The following text will give a specific way to realize the second redemption transaction when the digital currency on the blockchain adopts the UTXO model.
- Step S161 The buyer node broadcasts the second redemption transaction on the blockchain network.
- Step S162 The miner node verifies the legality of the second redemption transaction.
- the miner node After receiving the broadcasted second redemption transaction, the miner node will verify the legality of the transaction. If the verification is legal, the second redemption transaction will be included in the set of transactions to be packaged configured to generate a block.
- the miner node will generate a new block based on the set of transactions to be packaged, and participate in the competition for the bookkeeping right, and write the new block to the local blockchain after obtaining the bookkeeping right, so that the second redemption Back to the transaction chain.
- step S162 If the verification in step S162 is illegal, the miner node will not include the second redemption transaction into the transaction set to be packaged configured to generate a block.
- the verification of the legality of the transaction in step S162 includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired according to the transaction benchmark of the first mortgage transaction and the last transaction duration, and checking whether the commodity trading period has not expired.
- the second redemption transaction received is determined to be illegal.
- the miner node determines whether the latest block transaction benchmark (when the miner node verifies the validity of the second redemption transaction) is still in the commodity trading period. If it is not in the commodity trading period, it indicates that the commodity trading period has ended. Otherwise, the commodity trading period has not yet ended. If the miner node determines that the commodity trading period has not expired, the received second redemption transaction may be determined to be illegal. It should be pointed out that if the miner node determines that the commodity trading period has ended, it may not necessarily be able to determine that the second redemption transaction is legal, because other verifications may be performed for the second redemption transaction (refer to the following content).
- the above behavior of the miner node restricts the buyer's opportunity to create the second redemption transaction, that is, the buyer should create a second redemption transaction after the end of the commodity trading period to transfer the payment from the first mortgage account. If the commodity trading period has not yet expired , The buyer will not be able to redeem the mortgaged payment.
- step S209 since the digital currency in the first mortgage account has been redeemed by the buyer, this commodity transaction is also over.
- the miner node in addition to receiving various transactions (including the first mortgage transaction, the first maturity adjustment transaction, the second maturity adjustment transaction, the first distribution transaction, and the second redemption transaction), the miner node will verify that it is legal. After receiving a new block created by other miner nodes, the legality of the various transactions included in it is also verified (if these transactions are included in the block), and the verification method can be the same as when receiving various transactions. The method is the same, for example, the verification of whether the transaction meets the restriction of the commodity trading period and the verification of other content (you can refer to the following content). If it is determined that a certain transaction included in the new block is illegal, the miner node will refuse to save the received block to the local blockchain. The above verification process further improves the security and reliability of transactions recorded on the blockchain.
- the transaction process provided in this application establishes a complete set of e-commerce transaction processes based on foreclosure methods (including buyer mortgage and seller mortgage) on the blockchain.
- foreclosure methods including buyer mortgage and seller mortgage
- other valuable features on the blockchain can also be combined with the method of this application.
- users can control the sovereignty of their own data.
- the so-called data sovereignty refers to The ownership of sensitive information, daily life information, and business activity information that reflects the user's identity belongs to the user, and the user's authorization is required for use by others.
- a transaction implemented in the Bitcoin system is to construct a transaction record containing inputs and outputs (transactions for short).
- the transactions are included in a certain block under the supervision of all the miners of the Bitcoin network. , And then concatenate each block into a blockchain.
- the input of each transaction will cost the output of the previous one or more transactions (except for coin creation transactions), and it will also generate new output itself.
- the input items of the transaction include one or more unspent transaction outputs (UTXO) generated by the previous transaction, and the output items of the transaction include one or more UTXO generated by the current transaction.
- UTXO unspent transaction outputs
- Each UTXO has Owned to an account, UTXO means a certain unspent fee owned by the account.
- the UTXO in the input of the transaction becomes the spent fee, and the UTXO in the output of the transaction is the newly generated unspent fee, that is The UTXO in the input item will no longer be valid, while the UTXO in the output item is still valid.
- the so-called valid means that it can be used as the UTXO in the input item in subsequent transactions.
- the transaction is not an increase or decrease in the account balance, but a chain of capital flow through UTXO. This is the UTXO model.
- the UTXO model is independent of Bitcoin, and Bitcoin is only in its transaction. Use this model only.
- the input of the first mortgage transaction includes the first UTXO belonging to the buyer account
- the output of the first mortgage transaction includes the second UTXO belonging to the first mortgage account and the third UTXO belonging to the platform party account.
- the first UTXO may be one or more UTXOs belonging to the buyer's account, which represents the digital currency that the buyer's account already owns before the commodity transaction.
- the amount of the second UTXO is the digital currency equivalent to the transaction commodity, which represents the purchase price pledged by the buyer to the first mortgage account
- the amount of the third UTXO is the transaction service fee charged by the platform party.
- the transaction service fee includes two items, one It is the fees charged by the platform party for providing services in the process of commodity transactions. The other is the sum of the transaction fees receivable from the accounting miners of the subsequent transactions of the first mortgage transaction (such as the first term adjustment transaction, etc.).
- the miner's handling fee is far less than the fee charged by the platform (for example, the former is several orders of magnitude smaller than the latter), so although it is not certain how many subsequent transactions exist in the first mortgage transaction, there is no need to worry about the transaction service fee being insufficient to pay the miner's procedures Fee situation.
- the above only limits the UTXOs that must be included in the input and output of the first mortgage transaction in order to realize the redemption process, but it does not mean that the input and output of the first mortgage transaction only include these UTXOs.
- the first mortgage transaction also needs to pay the miner's handling fee. Therefore, the output of the first mortgage transaction may also include a UTXO corresponding to the buyer's account. The buyer node can find it through the settings when creating the first mortgage transaction. A zero amount is used to adjust the miner's handling fee paid.
- the output of the first mortgage transaction may also include the fourth UTXO belonging to the account of the additional service provider.
- the additional service provider does not refer to the platform party or the miner, but refers to the provision of goods to the buyer in the process of reaching the transaction intention.
- Merchants of transaction-related additional services such merchants may have one or more, so the fourth UTXO may also be one or more UTXOs.
- the content of additional services may include, but is not limited to, helping to match transactions, providing price comparison information or providing cloud computing hosting, etc. It should be pointed out that commodity transactions can also be carried out without relying on additional services, and additional services are designed to enhance the convenience of transactions.
- the locking script of the second UTXO includes the public key of the platform account, the public key of the buyer account, the public key of the seller account, the public key of the first mortgage account, the first mortgage operation parameters, and the first signature verification instruction. It can be organized into the following format:
- PublicKey1, PublicKey2, PublicKey3, and PublicKey4 are the public key of the platform account, the public key of the buyer account, the public key of the seller account, and the public key of the first mortgage account, mr_param is the first mortgage operation parameter, and CHECK_MR_SIG is the first signature Verification instructions.
- the locking script of the third UTXO can be implemented similarly to the locking script of UTXO in conventional transactions, and will not be described in detail. It is understandable that the locking script can also be in other forms.
- the order of each public key can be a different order from the above.
- a redeem script similar to Bitcoin Redeem Script, used in P2SH transactions
- mr_param can be a data block, which includes several parameters related to the commodity transaction, which can be used to verify the legality of the transaction during the commodity transaction.
- some implementations may include the transaction serial number, the maximum limit of the arbitration fee that needs to be paid in the first distribution transaction, the first transaction duration, and the maximum transaction duration that can be set for the first term adjustment transaction (that is, the commodity transaction period can be The maximum length extended to) several parameters.
- more or fewer parameters can be included in mr_param. For example, if the commodity transaction period is not considered (in the most basic redemption process described earlier), you can Do not set the first transaction duration.
- CHECK_MR_SIG is configured to instruct the miner node to use the public key in the locking script of the second UTXO to verify whether the signature provided in the unlocking script for the second UTXO is correct.
- the specific verification process will be explained when the unlocking script is explained.
- the function of CHECK_MR_SIG and Bitcoin There are similarities between the CHECKSIG and CHECKMULTISIG functions in, of course, they are different in specific verification operations.
- the locking script of the second UTXO has a restrictive function, so that the digital currency in the second UTXO can only be spent in the following ways (such as several public keys, the first mortgage operation parameter, and the verification logic of the first signature verification instruction Cooperate with implementation), that is, the second UTXO is used as the input UTXO for the subsequent transaction: first, it is translated in the first period adjustment transaction (the fifth UTXO is generated, see later explanation); second, the transaction is adjusted in the second period Shift it in the middle (generate the ninth UTXO, see later explanation); third, be distributed in the first distribution transaction (generate at least one of the fourteenth UTXO, the fifteenth UTXO, and the sixteenth UTXO, (See later description); fourth, redeemed by the seller in the first redemption transaction (produce the nineteenth UTXO, see later); fifth, redeem by the buyer in the second redemption transaction (produce the first Twenty-three UTXO, see later description).
- the above transaction should provide an unlock
- the first UTXO For the first mortgage transaction, the first UTXO must be included in the transaction input.
- the unlocking script of the first UTXO must be provided, but the first UTXO is the UTXO belonging to the buyer's account that already exists before the start of the commodity transaction, and the unlocking script can be conventional
- the unlocking script of the transaction is the same, so I won't elaborate on it here.
- the miner node can determine the transaction type according to the characteristics of the signature verification instruction of the UTXO lock script output of the transaction, for example, the second UTXO lock script of the first mortgage transaction
- the first signature verification instruction in is unique to the first mortgage transaction, and includes 5 parameters before it. According to this, the miner node can determine that the received is the first mortgage transaction. After determining that the received transaction is the first mortgage transaction, the miner node can execute the verification process related to the first mortgage transaction. For example, verifying whether the unlocking script of the first UTXO matches its locking script, whether the first mortgage operation parameter setting is legal, etc., is not limited here. It should be pointed out that since the transaction benchmark of the first mortgage transaction is the starting point of the commodity trading period, the first mortgage transaction does not need to be verified for the commodity trading period, because at this time the first transaction duration has not yet taken effect and no commodity transactions have occurred. period.
- the input of the first maturity adjustment transaction includes the second UTXO and the third UTXO as the output of the first mortgage transaction, and the output of the first maturity adjustment transaction includes the fifth UTXO belonging to the first mortgage account and the sixth UTXO belonging to the platform party account. .
- the amount of the fifth UTXO is a digital currency equivalent to the transaction commodity, which represents the translation of the second UTXO in the first mortgage account
- the amount of the sixth UTXO is the accounting of the third UTXO and the first term adjustment transaction
- the difference in the handling fee receivable by the miner represents the transaction service fee charged by the platform and the miner handling fee prepaid for subsequent transactions of the first period adjustment transaction (the sixth UTXO can be regarded as the third UTXO minus the first period adjustment transaction miner procedures Change after the fee).
- the input and output of the first term adjustment transaction may also include other UTXOs, which are not limited here.
- the unlocking script of the second UTXO includes the buyer node or seller node using the private key of its account to sign the first period adjustment transaction when creating the first period adjustment transaction, and the platform side node uses the platform after receiving the first period adjustment transaction
- the private key of the party account signs the first period adjustment transaction (refer to step S131, the first period adjustment transaction will be sent to the platform side node after creation), the unlocking script can be organized into the following format:
- Signature1 is the signature of the platform account for the first period adjustment transaction
- Signature2 is the signature of the initiator account (buyer account or seller account) of the first period adjustment transaction for the first period adjustment transaction.
- the verification process of the signature will be later Elaborate again.
- the signature for the first period adjustment transaction may refer to the signature for the entire transaction content.
- the unlocking script of the third UTXO can be implemented similarly to the unlocking script of UTXO in conventional transactions, and will not be described in detail.
- the fifth UTXO lock script includes the public key of the platform party’s account, the public key of the buyer’s account, the public key of the seller’s account, the public key of the first mortgage account, the first period adjustment operation parameters, and the second signature verification instruction.
- it can be organized into the following format:
- PublicKey1, PublicKey2, PublicKey3, and PublicKey4 are the public key of the platform account, the public key of the buyer account, the public key of the seller account, and the public key of the first mortgage account.
- This is the same as the second UTXO lock script. It is directly copied from the lock script of the second UTXO, pp_param1 is the first period adjustment operation parameter, and CHECK_PP_SIG is the second signature verification instruction.
- the sixth UTXO locking script can be implemented similar to the UTXO locking script in conventional transactions, and will not be described in detail.
- pp_param1 can be a data block, which includes several parameters related to the commodity transaction, which can be used to verify the legality of the transaction during the commodity transaction. For example, in some implementations, parameters such as the transaction serial number, the maximum arbitration fee to be paid in the first distribution transaction, and the second transaction duration may be included. The transaction serial number and the maximum arbitration fee can be copied from the original value in mr_param. In specific implementation, mr_param and pp_param1 may use the same data structure.
- pp_param1 will also have the field of the maximum transaction duration that can be set in the first period adjustment transaction, but this field is not in the fifth UTXO lock script Meaning, because it has been mentioned before that in the commodity transaction process, the first period adjustment transaction can only be created once. Even if the subsequent transaction needs to control the funds in the fifth UTXO, the content of this field will not be verified again, so this field You can fill in a special value, such as 0, to facilitate the unified processing of the program.
- pp_param1 may also include more or fewer parameters.
- pp_param1 may also include period adjustment description information, and the content of the period adjustment description information includes the description of the period adjustment by the party that created the first period adjustment transaction.
- the content of the time limit adjustment description information may be information such as the reason for the time limit adjustment (such as an explanation of the reason for applying for an extension of the commodity trading period).
- the content of the period adjustment description information can also be used as evidence to restore the current situation of the transaction in the event of a dispute. For example, the seller cannot send it in time.
- pp_param1 may also include the degree of suspected fraud, and the content of the degree of suspected fraud includes an assessment of the degree of suspected fraud by the party that created the first period adjustment transaction. For example, if the buyer believes that the transaction may be fraudulent, but is not sure, you can fill in the suspected degree of fraud in pp_param1 through the buyer node.
- the suspected degree of fraud can be used as the basis for certain arbitration actions by the platform party (such as the basis for manual arbitration Or use the basis of smart contract automatic arbitration) to realize the management and control of the risk of transaction fraud by the platform.
- CHECK_PP_SIG is configured to instruct the miner node to use the public key in the fifth UTXO lock script to verify whether the signature provided in the unlock script for the fifth UTXO is correct.
- the function of CHECK_PP_SIG is similar to the CHECKSIG and CHECKMULTISIG functions in Bitcoin, of course. It is different in specific verification operations.
- the lock script of the fifth UTXO has a restrictive function, so that the digital currency in the fifth UTXO can only be spent in the following ways (such as several public keys, the first mortgage operation parameter, and the verification logic of the second signature verification instruction Cooperate with implementation), that is, the fifth UTXO is used as the input UTXO of the subsequent transaction: first, it is shifted in the second period adjustment transaction (the ninth UTXO is generated, see later description); second, in the first distribution transaction Allocated (generating at least one of the fourteenth UTXO, fifteenth UTXO, and sixteenth UTXO, see later); third, being redeemed by the seller in the first redemption transaction (generating the nineteenth UTXO , See later description); Fourth, it is redeemed by the buyer in the second redemption transaction (the 23rd UTXO is generated, see later description).
- the above transaction shall provide an unlocking script matching the locking script of the fifth UTXO when attempting to include the fifth UTXO in its transaction input.
- the miner node can determine the transaction type according to the characteristics of the signature verification instruction of the UTXO lock script output of the transaction, for example, the lock of the fifth UTXO of the first period adjustment transaction
- the second signature verification instruction in the script is unique to the deadline adjustment transaction, and it includes 5 parameters before it. Based on this, the miner node can determine that the received deadline adjustment transaction. At the same time, the miner node can further distinguish the deadline adjustment transaction. Whether it is a first-term adjustment transaction or a second-term adjustment transaction (the specific method will be introduced later when the second-term adjustment transaction is implemented under the UTXO model).
- the miner node can execute the verification process related to the first-term adjustment transaction. At least include the following two aspects:
- the miner node combines the lock script and unlock script into a complete script as follows:
- the "+" in Table 1 indicates that the lock script and the unlock script are combined.
- the CHECK_MR_SIG command will use PublicKey1 to verify whether Signature1 is the true signature of the platform party, and use PublicKey2 or PublicKey3 to verify whether Signature2 is the true signature of the initiator of the first postponement transaction. If one of the two signatures is not true , The verification result of the first aspect is illegal, otherwise the verification result of the first aspect is legal.
- the execution of the script adopts a stack execution language similar to the reverse Polish expression. The writing and execution of the script in this application can adopt a similar approach and will not be elaborated.
- This item is configured to confirm whether the first-term adjustment transaction only shifts (rather than spends) the assets pledged by the buyer in the first mortgage account, because the first-term adjustment transaction is only used to update the commodity transaction period.
- the purpose of setting the maximum transaction duration that can be set for the first-term adjustment transaction in the first mortgage operation parameter is to limit the first-term adjustment transaction to arbitrarily extend the commodity transaction period, so the first-term adjustment transaction can be adjusted according to this parameter. The deferred operation is verified.
- the verification result of any one of the above five items is illegal, the verification result of the second aspect is illegal, otherwise the verification result of the second aspect is legal. It should be pointed out that in some implementations, the verified items do not completely include the above five items or include more items.
- the first-term adjustment transaction is an illegal transaction
- the miner node will refuse to include the illegal first-term adjustment transaction into the set of transactions to be packaged configured to generate blocks, otherwise
- the miner node will incorporate the legal first-term adjustment transaction into the set of transactions to be packaged. It is understandable that during the verification process, if a verification content results in an illegal result, the verification process can be ended early, without subsequent verification.
- the second UTXO will no longer be valid (has been spent), and the fifth UTXO will become a new unspent transaction, that is, the buyer’s mortgage payment has been shifted.
- the subsequent transaction of the time limit adjustment transaction is created, only the fifth UTXO can be used as input, and the second UTXO can no longer be used.
- the transactions in the transaction process of this application are linked in sequence in this way to form a chain of capital flow.
- the input of the second term adjustment transaction includes the seventh UTXO and the eighth UTXO
- the output of the second term adjustment transaction includes the ninth UTXO belonging to the first mortgage account and the tenth UTXO belonging to the platform party account.
- the seventh UTXO is the second UTXO and the eighth UTXO is the third UTXO; if the previous transaction of the second period adjustment transaction is the first period adjustment transaction (that is, the output UTXO of the first period adjustment transaction is used as the input UTXO of the second period adjustment transaction), then the seventh UTXO is the fifth UTXO and the eighth UTXO is the sixth UTXO; if the previous transaction of the current second period adjustment transaction is the last second period adjustment transaction (that is, the output UTXO of the last second period adjustment transaction is used as the input UTXO of the current second period adjustment transaction) , The seventh UTXO is the last ninth UTXO and the eighth UTXO is the last tenth UTXO.
- the amount of the ninth UTXO is a digital currency equivalent to the transaction commodity, which represents the translation of the seventh UTXO in the first mortgage account
- the amount of the tenth UTXO is the accounting of the eighth UTXO and the second term adjustment transaction
- the difference in the handling fee receivable by the miner represents the transaction service fee charged by the platform and the miner handling fee prepaid for the subsequent transaction of the second period adjustment transaction (the tenth UTXO can be regarded as the eighth UTXO minus the second period adjustment transaction miner procedures Change after the fee).
- the input and output of the second term adjustment transaction may also include other UTXOs, which are not limited here.
- the seventh UTXO unlocking script includes the buyer node or the seller node using the private key of its account to sign the first arbitration information when generating the arbitration request, and the platform node uses the private key of the platform account to pair the first arbitration request after receiving the arbitration request.
- the signature of the second-term adjustment transaction includes the transaction serial number and the position index of the seventh UTXO in the blockchain (for example, the first arbitration information may be a string composed of the two), and the position index is configured to indicate which of the seventh UTXO is Which transaction in which block outputs UTXO. Both the first arbitration information and the signature of the first arbitration information are carried in the arbitration request.
- the first arbitration information can be configured to include the seventh UTXO as input when the platform side node creates the second time limit adjustment transaction.
- the signature of the first arbitration information is The node on the platform side is put into the unlocking script of the seventh UTXO.
- the unlocking script can be organized into the following format:
- Signature1 is the signature of the platform account for the second-term adjustment transaction
- Signature2 is the signature of the first arbitration information by the initiator account (buyer account or seller account) of the second-term adjustment transaction
- the initiator of the second-term adjustment transaction It is the party sending the arbitration request.
- the unlocking script of the eighth UTXO can be implemented similarly to the unlocking script of the UTXO in the conventional transaction, and will not be described in detail.
- the ninth UTXO lock script includes the public key of the platform account, the public key of the buyer’s account, the public key of the seller’s account, the public key of the first mortgage account, the second period adjustment operation parameters, and the second signature verification instruction.
- it can be organized into the following format:
- PublicKey1, PublicKey2, PublicKey3, and PublicKey4 are the public key of the platform account, the public key of the buyer account, the public key of the seller account, and the public key of the first mortgage account. This is the same as in the lock script of the seventh UTXO. It is directly copied from the lock script of the seventh UTXO, pp_param2 is the second period adjustment operation parameter, and CHECK_PP_SIG is the second signature verification instruction.
- the locking script of the tenth UTXO can be implemented similarly to the locking script of UTXO in conventional transactions, and will not be elaborated.
- pp_param2 can be a data block, which includes several parameters related to commodity transactions, which can be configured to verify the legality of the transaction during the commodity transaction. For example, in some implementations, parameters such as the transaction serial number, the maximum arbitration fee to be paid in the first distribution transaction, and the third transaction duration may be included.
- the transaction serial number and the upper limit of the arbitration fee can be copied from the original value of the operating parameters of the previous transaction, depending on the previous transaction (for example, if the previous transaction is the first mortgage transaction, the operating parameter is mr_param), the operating parameter is actually It is recorded in the lock script of the seventh UTXO.
- pp_param2 also contains the field of the maximum transaction duration that can be set for the first period adjustment transaction, since the first period adjustment transaction will not be created later, the value of this field can be ignored. It is understandable that in some other implementation manners, pp_param2 may also include more or fewer parameters.
- CHECK_PP_SIG is configured to instruct the miner node to use the public key in the lock script of the ninth UTXO to verify whether the signature provided in the unlock script for the ninth UTXO is correct.
- the locking script of the ninth UTXO has a restrictive function, so that the digital currency in the ninth UTXO can only be spent in the following ways (such as several public keys, the second mortgage operation parameters, and the verification logic of the second signature verification instruction Cooperate with implementation), that is, the ninth UTXO is used as the input UTXO of the subsequent transaction: first, it will be translated in the next second term adjustment transaction (the next ninth UTXO is generated); second, it will be allocated in the first allocation transaction (Generate at least one of the fourteenth UTXO, fifteenth UTXO, and sixteenth UTXO, see later); third, be redeemed by the seller in the first redemption transaction (produce the nineteenth UTXO, see (Explained later); fourth, redeemed by the buyer in the second redemption transaction (the 23rd UTXO is generated, see later).
- the above transaction attempts to include the ninth UTXO in its transaction input, it shall provide an unlocking script that matches the locking script of the ninth UTXO
- the miner node can determine the transaction type according to the characteristics of the signature verification instruction of the UTXO lock script of the transaction output, for example, the lock of the fifth UTXO of the second period adjustment transaction
- the second signature verification instruction in the script is unique to the deadline adjustment transaction, and it includes 5 parameters before it. Based on this, the miner node can determine that the received deadline adjustment transaction. At the same time, the miner node can further distinguish the deadline adjustment transaction. Is it a first-term adjustment transaction or a second-term adjustment transaction?
- the unlocking script of the second UTXO includes the signature of the initiator account of the first period adjustment transaction on the first period adjustment transaction
- the unlocking script of the seventh UTXO includes the signature of the first arbitration information by the initiator account of the second time limit adjustment transaction, that is, the objects of the signature are different, which can be distinguished; for example, in Bitcoin, the digital signature is appended
- the single-byte signature hash type (SIGHASH) field is configured to indicate which input and output of the transaction the digital signature is made, and some flag bits (such as ALL, NONE, or SINGLE) have been used in this field.
- the various transactions in this application can refer to this approach when implementing, and at the same time, use an unused flag bit in the signature hash type field (to avoid conflicts with the processing method in Bitcoin and facilitate unified processing) as an indicator bit.
- the flag bit Indicate whether the digital signature is made for transaction content or non-transaction content (for example, the first arbitration information), so that the first deadline adjustment transaction and the second deadline adjustment transaction can also be distinguished according to the flag bit.
- the miner node can execute a verification process related to the second-term adjustment transaction. At least include the following two aspects:
- the verification process is similar to that in the first-term adjustment transaction, and will not be repeated. It just needs to be pointed out that when verifying Signature2, the transaction serial number in the first arbitration information and the position index of the seventh UTXO in the blockchain can be obtained from the content of the second period adjustment transaction.
- This item is configured to confirm whether the second-term adjustment transaction only shifts (rather than spends) the assets pledged by the buyer in the first mortgage account, because the second-term adjustment transaction is only used to update the commodity transaction period.
- the verification result of any one of the above four items is illegal, the verification result of the second aspect is illegal, otherwise the verification result of the second aspect is legal. It needs to be pointed out that in some implementations, the verified items do not completely include the above four items or include more items.
- the second-period adjustment transaction is an illegal transaction
- the miner node will refuse to include the illegal second-period adjustment transaction into the set of transactions to be packaged configured to generate blocks, otherwise
- the miner node will incorporate the legal second-term adjustment transaction into the set of transactions to be packaged.
- the input of the first distribution transaction includes the eleventh UTXO and the twelfth UTXO
- the output of the first distribution transaction includes the thirteenth UTXO belonging to the account of the platform and at least one of the following three UTXOs: the first UTXO belonging to the buyer’s account Fourteen UTXO, the fifteenth UTXO belonging to the seller’s account and the sixteenth UTXO belonging to the platform’s account.
- the eleventh UTXO is the second UTXO and the twelfth UTXO is the third UTXO; if the previous transaction of the first distribution transaction is the first period adjustment transaction (that is, the output UTXO of the first period adjustment transaction is used as the input UTXO of the first distribution transaction), then the eleventh UTXO is the fifth UTXO and the twelfth UTXO is the sixth UTXO; if the previous transaction of the first allocation transaction is the second period adjustment transaction (that is, the output UTXO of the second period adjustment transaction is used as the input UTXO of the first allocation transaction), then the eleventh UTXO is the ninth UTXO And the twelfth UTXO is the tenth UTXO.
- the sum of the amount of at least one UTXO output by the first distribution transaction is a digital currency equivalent to the transaction commodity, which represents the distribution of the buyer's mortgage payment among the buyer, the seller and the platform party according to the arbitration result. If there is a sixteenth UTXO, it means the arbitration fee charged by the platform.
- the amount of the thirteenth UTXO is the difference between the twelfth UTXO and the transaction fee receivable from the first distribution transaction, and represents the transaction service fee charged by the platform (the thirteenth UTXO can be regarded as the twelfth UTXO minus the first Change after allocating the transaction fee for miners).
- step S209 in Figure 4 may be transferred to step S210, but according to the previous explanation, this process It belongs to the situation that the first distribution transaction is not executed normally, and the second redemption transaction at this time should not be regarded as a subsequent transaction of the first distribution transaction).
- the input and output of the first distribution transaction may also include other UTXOs, which are not limited here.
- the unlocking script of the eleventh UTXO includes the buyer node or seller node using the private key of its own account to sign the second arbitration information when generating the arbitration request, and the platform node using the private key pair of the platform side account after receiving the arbitration request
- the unlocking script of the eleventh UTXO is similar to the unlocking script of the seventh UTXO (because the first allocation transaction and the second period adjustment transaction are both arbitration transactions), it will not be elaborated here.
- the unlocking script of the twelfth UTXO can be implemented similar to the unlocking script of the UTXO in the conventional transaction, and will not be described in detail.
- the lock scripts of the fourteenth UTXO, the fifteenth UTXO and the sixteenth UTXO can be implemented as similar to the lock scripts of the UTXO in the conventional transaction, and will not be described in detail.
- the miner node can determine the transaction type according to the characteristics of the output UTXO of the transaction. For example, if there are UTXOs belonging to the buyer, seller and platform in the output UTXO, then the miner The node can determine that the received is the first distribution transaction. Note that the miner node does not need to know who is the buyer and who is the buyer, as long as it confirms that the output UTXO has three different attributions. Of course, for other fund distribution methods of the first distribution transaction, other logics can also be used to determine the transaction type, which will not be elaborated here.
- the miner node can perform the verification process related to the first distribution transaction. At least include the following two aspects:
- the output of the first distribution transaction includes the sixteenth UTXO, verify that the amount of the sixteenth UTXO is not greater than the maximum limit of the arbitration fee set in the operating parameters of the eleventh UTXO lock script, if it is not greater than the verification in this item The result of is legal, otherwise the result of this verification is illegal.
- This item is configured to confirm whether the amount of arbitration fees charged by the platform is reasonable.
- the verification result of any one of the above two items is illegal, the verification result of the second aspect is illegal, otherwise the verification result of the second aspect is legal. It should be pointed out that in some implementations, the verified items do not completely include the above two items or include more items.
- the first distribution transaction is an illegal transaction
- the miner node will refuse to include the illegal first distribution transaction in the set of transactions to be packaged configured to generate the block, otherwise the miner node
- the legal first distribution transaction will be included in the set of transactions to be packaged.
- the input of the first redemption transaction includes the seventeenth UTXO and the eighteenth UTXO
- the output of the first redemption transaction includes the nineteenth UTXO belonging to the seller's account and the twentieth UTXO belonging to the platform party's account.
- the seventeenth UTXO is the second UTXO and the eighteenth UTXO is The third UTXO; if the previous transaction of the first redemption transaction is the first period adjustment transaction (that is, the output UTXO of the first period adjustment transaction is used as the input UTXO of the first redemption transaction), then the seventeenth UTXO is the fifth UTXO And the eighteenth UTXO is the sixth UTXO; if the previous transaction of the first redemption transaction is the second period adjustment transaction (that is, the output UTXO of the second period adjustment transaction is used as the input UTXO of the first redemption transaction), then the tenth The seventh UTXO is the ninth UTXO and the eighteenth UTXO is the tenth UTXO.
- the amount of the nineteenth UTXO is the digital currency equivalent to the transaction commodity, which represents the seller redeeming the payment in the first mortgage account
- the amount of the twentieth UTXO is the record of the eighteenth UTXO and the first redemption transaction.
- the difference in the handling fees receivable by the miners represents the transaction service fee charged by the platform side (the twentieth UTXO can be regarded as the eighteenth UTXO minus the miner handling fee of the first redemption transaction). Note that there are no subsequent transactions for the first redemption transaction, so the twentieth UTXO no longer includes the miner's fee for subsequent transactions.
- the input and output of the first redemption transaction may also include other UTXOs, which are not limited here.
- the unlocking script of the seventeenth UTXO includes the signature of the first redemption transaction using the private key of the first mortgage account when the seller node creates the first redemption transaction.
- the unlocking script of the eighteenth UTXO can be implemented similar to the unlocking script of the UTXO in the conventional transaction, and will not be elaborated.
- the lock scripts of the nineteenth UTXO and the twentieth UTXO can be implemented similar to the lock scripts of the UTXO in the conventional transaction, and will not be elaborated.
- the input of the second redemption transaction includes the twenty-first UTXO and the twenty-second UTXO
- the output of the second redemption transaction includes the twenty-third UTXO belonging to the buyer's account and the twenty-fourth UTXO belonging to the platform party's account.
- the twenty-first UTXO is the second UTXO and the twenty-second UTXO is the third UTXO; if the previous transaction of the second redemption transaction is the first period adjustment transaction (that is, the output UTXO of the first period adjustment transaction is used as the input UTXO of the second redemption transaction), then the twenty-first UTXO is The fifth UTXO and the twenty-second UTXO is the sixth UTXO; if the previous transaction of the second redemption transaction is a second period adjustment transaction (that is, the output UTXO of the second period adjustment transaction is used as the input UTXO of the second redemption transaction) , Then the twenty-first UTXO is the ninth UTXO and the twenty-second UTXO is the tenth UTXO.
- the amount of the twenty-third UTXO is a digital currency equivalent to the transaction commodity, which means that the buyer will redeem the payment in the first mortgage account
- the amount of the twenty-fourth UTXO is the twenty-second UTXO and the second redemption
- the difference in the transaction fee receivable by the miner represents the transaction service fee charged by the platform (the twenty-fourth UTXO can be regarded as the twenty-second UTXO minus the miner fee for the second redemption transaction). Note that there is no subsequent transaction for the second redemption transaction, so the miner fee for subsequent transactions is no longer included in the twenty-fourth UTXO.
- the input and output of the second redemption transaction may also include other UTXOs, which are not limited here.
- the unlocking script of the twenty-first UTXO includes the signature of the second redemption transaction using the private key of the first mortgage account when the buyer node creates the second redemption transaction.
- the unlocking script of the twenty-second UTXO can be implemented similarly to the unlocking script of the UTXO in the conventional transaction, and will not be elaborated.
- the lock scripts of the twenty-third UTXO and the twenty-fourth UTXO can be implemented as similar to the UTXO lock scripts in conventional transactions, and will not be described in detail.
- the first redemption transaction and the second redemption transaction can be collectively referred to as redemption transactions.
- the input UTXO and output UTXO of the redemption transaction are renamed here: the input of the redemption transaction includes the second 15 UTXO, the output of the redemption transaction includes the 26th UTXO, where the 25th UTXO of the first redemption transaction is the 17th UTXO and the 26th UTXO of the first redemption transaction is the tenth
- the twenty-fifth UTXO of the second redemption transaction is the twenty-first UTXO and the twenty-sixth UTXO of the second redemption transaction is the twenty-third UTXO.
- the miner node can determine the transaction type according to the characteristics of the output UTXO of the transaction, for example, according to the lock script and unlock script in the 25th UTXO Features to determine (the lock script contains the first signature verification instruction or the second signature verification instruction, and the unlock script contains only one signature).
- the miner node can execute the verification process related to the redemption transaction (at this time, the miner node does not need to specify whether the transaction is the first redemption transaction or the second redemption transaction. Does not affect the execution of the verification process), including at least the following two aspects:
- the essence of this verification is to use the public key of the first mortgage account in the twenty-fifth UTXO lock script to verify whether the signature of the redemption transaction using the private key of the first mortgage account in the unlock script is true (based on the first signature verification
- the function of the instruction or the second signature verification instruction verification is implemented), which will not be elaborated here.
- the current transaction is regarded as the first redemption transaction to continue subsequent verification. That is, verify whether the twenty-fifth UTXO and the twenty-sixth UTXO have the same amount, and whether the twenty-sixth UTXO belongs to the seller account (only the seller node has the right to create the first redemption transaction), if the two UTXO belong to the same amount and The twenty-sixth UTXO belongs to the seller’s account, then the result of this verification is legal, otherwise the result of this verification is illegal.
- the public key of the seller account is included (the public key of each account in the lock script can be arranged in a preset order, so that it can be clear which public key corresponds to the participant of the transaction Party), so the miner node can determine the seller account accordingly, and then determine whether the twenty-sixth UTXO belongs to the seller account.
- the above difference is not less than the transaction duration set in the operating parameters, it indicates that the current commodity trading period has expired. At this time, only the second redemption transaction is allowed to be created, so the current transaction is regarded as the second redemption transaction to continue subsequent verification.
- the redemption period can be several days, which is not limited. This verification aims to restrict the buyer to redeem the transaction payment within a limited period of time (the length is the redemption period) after the end of the commodity transaction period. The funds stay in the first mortgage account indefinitely, avoiding the waste of resources of the trading system.
- some implementations do not set the redemption time period (this verification is not necessary at this time), that is, these implementations allow the buyer to redeem the mortgaged assets at any time after the end of the commodity trading period.
- the above difference is less than the sum of the transaction duration set in the operating parameters and the preset redemption duration, verify whether the twenty-fifth UTXO and the twenty-sixth UTXO have the same amount, and whether the twenty-sixth UTXO belongs to the buyer's account (Only the buyer node has the right to create the second redemption transaction). If the two UTXOs have the same amount and the twenty-sixth UTXO belongs to the buyer's account, the result of this verification is legal, otherwise the result of this verification is illegal.
- the lock script of the twenty-fifth UTXO contains the public key of the buyer's account, so the miner node can determine the buyer's account accordingly, and then determine whether the twenty-sixth UTXO belongs to the buyer's account.
- the verification result of the second aspect is illegal, otherwise the verification result of the second aspect is legal. It needs to be pointed out that in some implementations, the verified items do not completely include the above verification items or include more items.
- the redemption transaction is an illegal transaction
- the miner node will refuse to include the illegal redemption transaction into the set of transactions to be packaged configured to generate the block, otherwise the miner node
- the legal redemption transactions will be included in the set of transactions to be packaged.
- the miner node A After receiving the first-term adjustment transaction, the miner node A will calculate the latest block transaction benchmark to verify whether the first-term adjustment transaction has been For creation, it may be assumed that the calculated latest block transaction benchmark is the block transaction benchmark of block X on the blockchain, and the block included in the first period adjustment transaction is block Y, and the miner node A will Block Y is broadcast to another miner node B in the blockchain network.
- block Y is not linked to the blockchain locally, when the miner node B is the first in the block Y
- the miner node B When verifying the legitimacy of the deadline adjustment transaction, when the calculated latest block transaction benchmark is still the block transaction benchmark of block X on the blockchain, this is guaranteed because every block in the blockchain is based on The determined hash value points to the previous block, that is, it will not be different because the verification of the transaction by the miner node B occurs after the verification of the transaction by the miner node A. Further, assume that there is still a miner node C on the blockchain network. After receiving the block Y, the miner node C will directly incorporate it into the local blockchain.
- Block is trying to verify the legality of the first-term adjustment transaction in block Y.
- miner node C should use the time when block Y has not been linked to the blockchain when calculating the benchmark for the latest block transaction. It should not be calculated based on the real current moment.
- the first way make appropriate adjustments to the transaction process based on the buyer's mortgage assets.
- step S202 in FIG. 4 can be adjusted to include the following sub-steps:
- Step A The buyer node sends a mortgage request to the platform side node.
- step A the buyer and seller have reached the commodity transaction intention, and the platform node has also generated a transaction serial number.
- the above mortgage request is configured to instruct the platform side node to mortgage the digital currency.
- Step B The platform node creates a second mortgage account.
- the platform node can generate a second mortgage account number according to the transaction serial number and the password preset by the buyer, which is similar to step S111, and will not be elaborated.
- the password preset by the buyer can be sent to the platform node by the buyer node at a certain time before step B is executed.
- Step C The platform side node creates a second mortgage transaction.
- the second mortgage transaction is configured as a second mortgage transaction that transfers the digital currency equivalent to the transaction commodity from the first platform agent account to the second mortgage account, where the digital currency in the first platform agent account is the platform node Based on the legal currency exchanged by the buyer to the platform.
- the buyer pays the fiat currency to the platform For example, it can be paid by the buyer after the buyer and seller reach the transaction intention, or it can be paid in advance by the buyer at some time before the buyer and seller reach the transaction intention.
- Step C is similar to step S112. The main difference is that the transaction input is not from the buyer's account, but from the first platform's agent account managed by the platform.
- Step D The platform node broadcasts the second mortgage transaction on the blockchain network.
- Step E The miner node verifies the legality of the second mortgage transaction.
- the miner node After the miner node receives the second mortgage transaction from the blockchain network, it verifies its legitimacy, and if it is legal, it is included in the set of transactions to be packaged configured to generate a block.
- the verification process can be step S114, which will not be described in detail.
- the platform party acts as an agent for the buyer's mortgage assets by setting the first platform party's proxy account, which prevents the buyer from directly holding the digital currency and avoids legal risks. Since the second mortgage transaction is created by the platform party, in some implementations, the preset password used in step B can also be generated by the platform party itself, and does not need to be provided by the buyer.
- the seller node obtains the transaction serial number from the platform side node, and generates a second mortgage account based on the transaction serial number and the preset password provided by the buyer after confirming the successful commodity transaction.
- the third redemption transaction configured to transfer the digital currency equivalent to the transaction commodity from the second mortgage account to the seller account, and broadcast the third redemption transaction on the blockchain network.
- the miner node After the miner node receives the third redemption transaction from the blockchain network, it verifies its legitimacy, and if it is legal, it is included in the set of transactions to be packaged configured to generate a block.
- the third redemption transaction is similar to the first redemption transaction and will not be elaborated here.
- one first platform party agent account may only act for one buyer account, and in other implementation manners, one first platform party agent account may also act for multiple buyer accounts, which is not limited.
- the platform party undertakes the redemption task of the digital currency, the digital currency can be issued by an institution other than the platform party, otherwise its pledge value is easily questioned.
- the platform party itself has strong credit characteristics, it is also possible for the platform party to simultaneously issue and redeem digital currency.
- the platform node will mortgage the digital currency from the second The account is transferred to the agent account of the second platform party, and then the platform node converts the digital currency in the agent account of the second platform party into legal currency to pay the seller.
- the second method adopt the transaction process based on the mortgaged assets of the seller.
- Fig. 6 shows a flowchart of a transaction related to a mortgage of a seller provided by an embodiment of the present application.
- seller mortgage refers to the way in which the seller mortgages its own assets as a guarantee for the transaction in the process of commodity transactions.
- Figure 6 shows the third mortgage transaction, the fourth redemption transaction, the third maturity adjustment transaction, the fourth maturity adjustment transaction, and the second distribution transaction in the buyer node, the seller node, the platform side node, and the miner.
- the interaction process between nodes can be in the same blockchain network, as shown in Figure 2.
- Fig. 7 shows a transaction flow chart based on seller mortgage provided by an embodiment of the present application.
- the steps in FIG. 7 can be understood in conjunction with FIG. 6, for example, the specific execution method of the "third mortgage transaction process" in step S402 is shown in FIG.
- Step S400 The seller converts the legal currency into digital currency.
- step S400 Before conducting a certain transaction, in order to ensure that there is enough digital currency in the seller's account for mortgage, the seller can exchange the required amount of digital currency with fiat currency and deposit it into the buyer's account. Of course, if there is sufficient digital currency in the seller's account balance before a certain transaction, step S400 may not be executed. Step S400 is similar to step S200, except that the seller exchanges digital currency instead. If there is nothing mentioned in step S400, please refer to the implementation in step S200.
- Step S401 The buyer and seller reach a transaction intention.
- Step S401 is similar to step S201. If there is no mention in step S401, please refer to the implementation in step S201.
- Step S402 Execute the second mortgage transaction process.
- the second mortgage transaction process is similar to the first mortgage transaction process, except that the party making the mortgage has changed from a buyer node to a seller node.
- the process is briefly described below:
- the seller node obtains the transaction serial number from the platform side node, generates a third mortgage account based on the transaction serial number and the password preset by the seller, and creates a configuration to transfer digital currency equivalent to the transaction commodity from the seller's account to the third mortgage account
- the third mortgage transaction, and then the third mortgage transaction is broadcast on the blockchain network.
- the platform party wants to charge transaction service fees, when the transaction method based on the seller’s mortgage is adopted, the service fee is paid by the seller (in the third mortgage transaction), so that the seller’s quotation for the goods can be lower, because there is no need for the quotation at this time Including service charge.
- the miner node After the miner node receives the third mortgage transaction from the blockchain network, it verifies its legitimacy, and after determining the legality of the third mortgage transaction, the third mortgage transaction is included in the set of transactions to be packaged configured to generate a block.
- Step S402 is similar to step S202. If there is nothing mentioned in step S402, please refer to the implementation in step S202.
- Step S403 The buyer pays in fiat currency, the seller delivers the goods, and the buyer receives the goods.
- step S403 the buyer's payment does not have to be through the blockchain, but can be paid to the seller in legal currency through other channels, such as bank transfer or certain electronic currency payment tools, so that the buyer does not need to hold digital currency during the payment process, thus Avoid legal risks.
- Step S403 is similar to step S203. If there is nothing mentioned in step S403, please refer to the implementation in step S203.
- Step S404 Execute the fourth redemption transaction process.
- the fourth redemption transaction process is similar to the second redemption transaction process, except that the party making the redemption behavior has changed from a buyer node to a seller node.
- the process is briefly described below:
- the seller node After the end of the commodity trading period, the seller node creates a fourth redemption transaction configured to transfer the digital currency equivalent to the transaction commodity from the third mortgage account to the seller account, and broadcasts the fourth redemption transaction on the blockchain network .
- the miner node After the miner node receives the fourth redemption transaction from the blockchain network, it verifies its legitimacy, and after determining that the fourth redemption transaction is legal, the fourth redemption transaction is included in the set of transactions to be packaged configured to generate a block.
- Step S404 is similar to step S210. If there is nothing mentioned in step S404, please refer to the implementation in step S210.
- the definition of the commodity transaction period mentioned above can be similar to the definition of the commodity transaction period in the transaction process based on the buyer's mortgage: starting from the transaction benchmark of the third mortgage transaction, and ending after a period of time. Among them, the definition method mentioned before can be used when trading benchmarks, and will not be repeated.
- the aforementioned period of time can be set when creating certain types of transactions.
- the fourth transaction period set by the seller node when creating the third mortgage transaction and the miner node can verify the validity of the received fourth redemption transaction. Determine whether the commodity trading period has expired according to the transaction benchmark of the third mortgage transaction and the fourth transaction duration, and determine whether the received fourth redemption transaction is illegal after the commodity trading period has not expired, and the fourth redemption transaction is determined to be illegal.
- the redemption transaction will not be included by the miner node into the set of pending transactions configured to generate blocks. For example, it can be judged whether the latest block transaction benchmark (when the miner node verifies the legality of the fourth redemption transaction) is still in the commodity trading period. If it is not in the commodity trading period, it indicates that the commodity trading period has ended. Otherwise, the commodity trading period has not yet ended. Other transactions that can be used to adjust the commodity trading period will be introduced in the next steps.
- Step S405 The seller converts the digital currency into legal currency.
- the transaction payment has been redeemed by the seller, and the transaction can be considered to have ended.
- the seller can exchange the digital currency in the seller's account into legal currency.
- Step S405 is similar to step S206. If there is nothing mentioned in step S405, please refer to the implementation in step S206. Note that step S405 is optional. If the seller does not need to exchange legal currency, step S405 may not be executed.
- the buyer does not need to hold digital currency, only legal currency, and the seller can hold digital currency, but this does not violate the laws and regulations of the aforementioned countries.
- Step S406 Execute the third period adjustment transaction process.
- the third-term adjustment transaction process is similar to the first-term adjustment transaction process. The process is briefly described below:
- both the buyer and seller have the right to instruct their respective nodes to create a third-term adjustment transaction configured to set the fifth transaction duration, and send the third-term adjustment transaction to the platform party node.
- the fifth transaction duration characterization is configured to replace the fourth transaction duration set in the third mortgage transaction as the length of the new commodity transaction period.
- the fifth transaction duration can be greater than the fourth transaction duration (indicating extension of the commodity trading period) or less than the fourth transaction duration (indicating shortening the commodity transaction period). If it is the latter, the third-term adjustment transaction shall be restricted to only the buyer The node is created to avoid the seller from redeeming the mortgaged payment before the buyer has received the goods.
- the platform node broadcasts the third period adjustment transaction on the blockchain network.
- the miner node After the miner node receives the third-term adjustment transaction from the blockchain network, it verifies its legitimacy, and after determining that the third-term adjustment transaction is legal, the third-term adjustment transaction is included in the set of transactions to be packaged configured to generate blocks.
- the legality verification includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the third mortgage transaction and the fourth transaction duration, and will receive the information after the commodity trading period is determined to have ended.
- the third term adjustment transaction was determined to be illegal.
- the third-term adjustment transaction determined to be illegal will not be included by the miner node into the set of transactions to be packaged configured to generate blocks.
- step S406 After step S406 is executed, if the buyer and seller normally complete the transaction during the new commodity trading period, then continue to execute step S404 to step S405. It should be noted that when performing sub-step S322 of step S404, since the third period adjustment transaction has been included in the block chain, the fifth transaction duration set therein has taken effect. At this time, the miner node is verifying whether the fourth redemption transaction When the restrictions on the commodity trading period are met, the fifth trading time period shall be used instead of the fourth trading time period.
- Step S406 is similar to step S207. If there is nothing mentioned in step S406, please refer to the implementation in step S207.
- the third term adjustment can be limited to only one creation in the entire commodity transaction process, so as to prevent the buyer or seller from arbitrarily extending the commodity trading period, resulting in the difficulty of ending the commodity transaction.
- Step S407 Execute the fourth period adjustment transaction process.
- the fourth-term adjustment transaction process is similar to the second-term adjustment transaction process. The process is briefly described below:
- both the buyer and the seller cannot complete the commodity transaction on time, both the buyer and the seller have the right to instruct their respective nodes to send an arbitration request to the platform node.
- the platform node After the platform node receives the arbitration request, it can According to the content of the arbitration request, manual (or smart contract) makes different arbitration results, and then creates an arbitration transaction that can reflect the arbitration result.
- the arbitration transaction can be a fourth term adjustment transaction or a second allocation transaction, that is to say, steps S407 and step S408 cannot be executed simultaneously.
- the buyer node or the seller node can send an arbitration request to the platform side node multiple times, and each time the arbitration request is received, the platform side node will create an arbitration transaction.
- the fourth term adjustment transaction can be created multiple times in a row, but the second allocation transaction can only be created once, and after the second allocation transaction is created, the platform side node can no longer create arbitration transactions.
- the fourth-term adjustment transaction is configured to adjust the commodity trading period.
- the sixth transaction duration can be set.
- the sixth transaction duration characterization is configured to replace the previous transaction duration set in the previous transaction as a new commodity The length of the trading period. If the last transaction is the third mortgage transaction, the last transaction duration is the fourth transaction duration (corresponding to Figure 7, after steps S402 and S403 are executed, step S407 is entered); if the previous transaction is a third-term adjustment transaction, then The last transaction duration is the fifth transaction duration (corresponding to Figure 7, after step S406 is executed, step S407 is entered); if the last transaction is the last fourth term adjustment transaction (according to the previous explanation, the platform node can continuously create multiple A fourth period adjustment transaction), the last transaction duration is the last sixth transaction duration (corresponding to FIG. 7, after step S407 is executed, step S407 is entered again).
- the sixth transaction duration can be greater than the last transaction duration (indicating extension of the commodity trading period) or less than the last transaction duration (indicating shortening the commodity transaction period).
- the platform node broadcasts the fourth term adjustment transaction on the blockchain network.
- the miner node After the miner node receives the fourth-term adjustment transaction from the blockchain network, it verifies its legitimacy, and after determining that the fourth-term adjustment transaction is legal, the fourth-term adjustment transaction is included in the set of transactions to be packaged configured to generate blocks.
- the legality verification includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the third mortgage transaction and the previous transaction duration, and will receive the information after the commodity trading period is determined to have ended.
- the fourth term adjustment transaction was determined to be illegal.
- the fourth-term adjustment transaction determined to be illegal will not be included by the miner node into the set of transactions to be packaged configured to generate blocks.
- step S407 After step S407 is executed, if the buyer and seller have normally completed the transaction during the new commodity trading period, then continue to execute step S404 to step S405. It should be noted that when performing sub-step S322 of step S404, since the fourth deadline adjustment transaction has been included in the block chain, the sixth transaction duration set therein has taken effect. At this time, the miner node is verifying whether the fourth redemption transaction When it meets the restrictions on the commodity trading period, the sixth trading duration shall be used instead of the previous trading duration.
- Step S407 is similar to step S208. If there is nothing mentioned in step S407, please refer to the implementation in step S208.
- Step S408 Execute the second distribution transaction process.
- the second distribution transaction process is similar to the first distribution transaction process. The process is briefly described below:
- both the buyer and the seller cannot complete the commodity transaction on time, both the buyer and the seller have the right to instruct their respective nodes to send an arbitration request to the platform node.
- the platform node After the platform node receives the arbitration request, it can Create a second distribution transaction.
- the second allocation transaction is configured to allocate digital currency equivalent to the transaction commodity from the third mortgage account to the seller account and/or the platform side account, and the digital currency allocated to the platform side account is configured to compensate the buyer during the commodity transaction Part or all of the legal currency paid to the seller.
- this part of the digital currency can also include the arbitration fee charged by the platform.
- the buyer account is not involved, because the buyer does not hold digital currency, so the buyer account will not be created on the blockchain. Even if a part of the digital currency is to be paid to the buyer according to the arbitration result, it will be collected by the platform account, and then converted into legal currency and transferred to the buyer.
- the platform has the ability to confiscate all the seller's income (fiat currency obtained in S403) to compensate the buyer to ensure the fairness of the transaction.
- the previous transaction of the second distribution transaction may be the first mortgage transaction (corresponding to FIG. 7, and proceed to step S408 after the execution of steps S402 and S403), or may be a third term adjustment transaction (corresponding to FIG. 7, executed in step S406) Then go to step S408), or it can be a fourth time limit adjustment transaction (corresponding to FIG. 7, go to step S408 after step S407 is executed).
- step S407 there are some special abnormal situations that may cause the transaction process to enter step S407 or step S408 (that is, platform party arbitration is required), for example, a third-term adjustment transaction is created (step S406), but the commodity transaction period is not successful Extension (may be caused by node failure on the blockchain network, etc.), at this time the buyer or seller can apply to the platform for arbitration.
- the miner node is also configured to receive and verify the legality of the second distribution transaction from the blockchain network, and after determining that the second distribution transaction is legal, incorporate the second distribution transaction into the set of transactions to be packaged configured to generate a block;
- the platform node broadcasts the second distribution transaction on the blockchain network.
- the miner node After the miner node receives the second distribution transaction from the blockchain network, it verifies its legitimacy, and after determining that the second distribution transaction is legal, the second distribution transaction is included in the set of transactions to be packaged configured to generate a block.
- the legality verification includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the third mortgage transaction and the previous transaction duration, and will receive the information after the commodity trading period is determined to have ended.
- the second distribution transaction was determined to be illegal.
- the second distribution transaction determined to be illegal will not be included by the miner node into the set of transactions to be packaged configured to generate blocks.
- step S408 since the digital currency in the third mortgage account has been forcibly distributed, it is meaningless to continue to create various types of transactions, so this commodity transaction has substantially ended (of course, it may not have reached the commodity at this time. The end of the trading period).
- Step S408 is similar to step S209. If there is nothing mentioned in step S408, please refer to the implementation in step S209.
- the last transaction of the fourth redemption transaction may be the third mortgage transaction (corresponding to FIG. 7, and proceed to step S404 after the execution of steps S402 and S403), or may be a third term adjustment transaction (corresponding to FIG. 7, in step S406) After execution, proceed to step S404), or it may be a fourth deadline adjustment transaction (corresponding to FIG. 7, and proceed to step S404 after step S407 is executed).
- step S404 there are some special abnormal situations that may also cause the transaction process to enter step S404, such as the creation of a fourth-term adjustment transaction (step S407), but the commodity transaction period has not been successfully extended (may be due to the blockchain network Node failure and other reasons), another example is the creation of a second distribution transaction (go to step S408), but the digital currency distribution fails (may be caused by node failure on the blockchain network, etc.), at this time the seller can redeem the payment,
- step S408 the creation of a fourth-term adjustment transaction
- step S404 the commodity transaction period has not been successfully extended (may be due to the blockchain network Node failure and other reasons)
- step S408 another example is the creation of a second distribution transaction (go to step S408), but the digital currency distribution fails (may be caused by node failure on the blockchain network, etc.), at this time the seller can redeem the payment
- step S408 the commodity transaction should end, but if the transaction process is not executed normally in step S408, step S404 can be entered.
- the miner node After the miner node receives the fourth redemption transaction from the blockchain network, it verifies its legitimacy, and after determining that the fourth redemption transaction is legal, the fourth redemption transaction is included in the set of transactions to be packaged configured to generate a block.
- the legality verification includes verification related to the commodity trading period, that is, judging whether the commodity trading period has expired based on the transaction benchmark of the third mortgage transaction and the last transaction duration, and will receive the information after it is determined that the commodity trading period has not expired.
- the fourth redemption transaction was determined to be illegal.
- the fourth redemption transaction determined to be illegal will not be included by the miner node in the set of transactions to be packaged configured to generate blocks.
- the miner node in addition to receiving various transactions (including the third mortgage transaction, the third maturity adjustment transaction, the fourth maturity adjustment transaction, the second distribution transaction, and the fourth redemption transaction), the miner node will verify its legality. After receiving a new block created by other miner nodes, the legality of the various transactions included in it is also verified (if these transactions are included in the block), and the verification method can be the same as when receiving various transactions. The same way.
- the above transaction process based on the seller's mortgage may be inconvenient if it is applied to physical transactions. Because the seller has to mortgage the assets before selling the goods, it may make it difficult for the seller to bear it, and it is not in line with the general merchants' understanding of commodity transactions. Therefore, relatively speaking, physical transactions are more suitable for the transaction process based on buyer's mortgage.
- the inventor has discovered through long-term research that digital assets and/or authorization for the use of digital assets are a type of transaction commodity suitable for the seller's mortgage transaction process (of course, this does not exclude other commodities that are also applicable to the seller's mortgage method).
- the cost of copying this kind of goods is almost zero. It is reasonable to require the seller to mortgage a certain digital currency before selling (equivalent to a constraint on the seller to avoid selling low-cost goods, even if they do evil from it. How much to lose).
- digital assets can be, but are not limited to, products such as digital music, software, e-books, electronic games, or game props.
- the object sold by the seller can be the digital asset itself, the authorization to use the digital asset, or both.
- the first few pages of an e-book can be provided to the buyer for trial reading, and the rest of the content is encrypted with a password (such as symmetric encryption, not limited), and the buyer needs to obtain the decryption password provided by the seller to continue reading .
- the above decryption password is a kind of authorization to use digital assets. After obtaining the decryption password, the buyer can use it with certain decryption tools to realize the decryption of digital assets.
- the realization form of the authorization of the right to use digital assets can also be a copyright control file, or use both a decryption password and a copyright control file.
- each block in the flowchart or block diagram may represent a module, program segment, or part of the code, and the module, program segment, or part of the code contains one or more components configured to implement the specified logic function.
- Executable instructions may also occur in a different order from the order marked in the drawings.
- each block in the block diagram and/or flowchart and the combination of the blocks in the block diagram and/or flowchart can be implemented by a dedicated hardware-based system that performs the specified functions or actions. Or it can be realized by a combination of dedicated hardware and computer instructions.
- the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.
- the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of this application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several
- the instructions are used to make the computer equipment execute all or part of the steps of the methods described in the various embodiments of the present application.
- the foregoing computer devices include: personal computers, servers, mobile devices, smart wearable devices, network devices, or virtual devices and other devices that have the ability to execute program code.
- the foregoing storage media include: U disk, mobile hard disk, read-only memory, Random access memory, magnetic disks, tapes or optical disks and other media that can store program codes.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Claims (47)
- 一种交易系统,其特征在于,包括区块链网络中的买方节点、卖方节点、平台方节点以及矿工节点;所述平台方节点配置成在买方与卖方达成商品交易意向后生成交易流水号;所述买方节点配置成从所述平台方节点获取所述交易流水号,根据所述交易流水号以及买方预设的密码生成第一抵押账号,创建配置成将与交易商品等价的数字货币从买方账号转移至所述第一抵押账号的第一抵押交易,并将所述第一抵押交易在所述区块链网络上广播;所述卖方节点配置成从所述平台方节点获取所述交易流水号,根据所述交易流水号以及买方在确认所述商品交易成功后提供的所述预设的密码生成所述第一抵押账号,创建配置成将与交易商品等价的数字货币从所述第一抵押账号转移至卖方账号的第一赎回交易,并将所述第一赎回交易在所述区块链网络上广播;所述矿工节点配置成从所述区块链网络上接收并验证所述第一抵押交易的合法性,并在确定所述第一抵押交易合法后将所述第一抵押交易纳入到配置成生成区块的待打包交易集合,以及配置成从所述区块链网络上接收并验证所述第一赎回交易,并在确定所述第一赎回交易合法后将所述第一赎回交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求1所述的交易系统,其特征在于,所述买方节点还配置成在创建所述第一抵押交易时设置第一交易时长;所述矿工节点在验证接收到的所述第一赎回交易的合法性时,根据作为商品交易期的起点的所述第一抵押交易的交易基准时以及所述第一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第一赎回交易确定为非法,被确定为非法的所述第一赎回交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合;其中,所述区块链上的一项交易的交易基准时为所述交易被纳入到配置成生成区块的待打包交易集合时的最近区块事务基准时,所述最近区块事务基准时为所述区块链上最近一个已确定区块事务基准时的区块的区块事务基准时,所述区块链上的一个区块的区块事务基准时为根据所述区块的生成时间计算出的一个时刻,且所述时刻与所述区块在所述区块链中的高度正相关。
- 根据权利要求2所述的交易系统,其特征在于,区块链上的一个区块的区块事务基准时为在所述区块链上以所述区块为中心区块的M个区块的生成时间的平均值,其中,M为大于或等于3的正奇数;所述矿工节点还配置成在生成一个新区块时,判断所述新区块的生成时间是否使得所述新区块之前的第(M-1)/2个区块的区块事务基准时大于所述新区块之前的第(M-1)/2+1个区块的区块事务基准时,若不大于,则将所述新区块之前的第(M-1)/2+1个区块的区块事务基准时加上预设时长后的值确定为所述新区块之前的第(M-1)/2个区块的区块事务基准时,并根据确定的区块事务基准时计算并更新所述新区块的区块头中记录的区块生成时间。
- 根据权利要求2所述的交易系统,其特征在于,所述买方节点或所述卖方节点还配置成在获得指示调整交易时长的信息后,创建配置成设置第二交易时长的第一期限调整交易,并将所述第一期限调整交易发送至所述平台方节点,其中,所述第二交易时长表征配置成替换所述第一交易时长作为确定所述第一赎回交易是否合法的依据;所述平台方节点还配置成将所述第一期限调整交易在所述区块链网络上广播;所述矿工节点还配置成从所述区块链网络上接收并验证所述第一期限调整交易的合法性,并在确定所述第一期限调整交易合法后将所述第一期限调整交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第一期限调整交易的合法性时,根据所述第一抵押交易的交易基准时以及所述第一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第一期限调整交易确定为非法,被确定为非法的所述第一期限调整交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求4所述的交易系统,其特征在于,所述买方节点或所述卖方节点还配置成在获得指示申请仲裁的信息后,向所述平台方节点发送仲裁请求;所述平台方节点还配置成在接收到所述仲裁请求后,创建仲裁类交易,并在所述仲裁类交易为配置成设置第三交易时长的第二期限调整交易时,将所述第二期限调整交易在所述区块链网络上广播,其中,所述第三交易时长表征配置成替换上一交易时长作为确定所述第一赎回交易是否合法的依据,若在本次创建的交易之前未创建过期限调整交易,则所述上一交易时长为所述第一交易时长,否则所述上一交易时长为最近一次创建的期限调整交易设置的交易时长;所述矿工节点还配置成从所述区块链网络上接收并验证所述第二期限调整交易的合法性,并在确定所述第二期限调整交易合法后将所述第二期限调整交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第二期限调整交易的合法性时,根据所述第一抵押交易的交易基准时以及所述上一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第二期限调整交易确定为非法,被确定为非法的所述第二期限调整交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求5所述的交易系统,其特征在于,所述平台方节点还配置成在所述仲裁类交易为第一分配交易时,将所述第一分配交易在所述区块链网络上广播,其中,所述第一分配交易配置成将与交易商品等价的数字货币从所述第一抵押账号分配至所述买方账号、所述卖方账号以及平台方账号中的至少一个账号,分配至所述平台方账号的数字货币为平台方收取的仲裁费;所述矿工节点还配置成从所述区块链网络上接收并验证所述第一分配交易的合法性,并在确定所述第一分配交易合法后将所述第一分配交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第一分配交易的合法性时,根据所述第一抵押交易的交易基准时以及所述上一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第一分配交易确定为非法,被确定为非法的所述第一分配交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求6所述的交易系统,其特征在于,所述买方节点还配置成在商品交易期截止后,创建配置成将与交易商品等价的数字货币从所述第一抵押账号转移至所述买方账号的第二赎回交易,并将所述第二赎回交易在所述区块链网络上广播;所述矿工节点还配置成从所述区块链网络上接收并验证所述第二赎回交易的合法性,并在确定所述第二赎回交易合法后将所述第二赎回交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第二赎回交易的合法性时,根据所述第一抵押交易的交易基准时以及所述上一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期尚未截止后将接收到的所述第二赎回交易确定为非法,被确定为非法的所述第二赎回交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求1-7中任一项所述的交易系统,其特征在于,所述矿工节点还配置成从所述区块链网络上接收除自身以外的其他矿工节点生成的区块,验证接收到的区块中纳入的所述第一抵押交易的合法性,并在确定所述第一抵押交易为非法后,拒绝将接收到的区块保存至本地的区块链中,以及配置成验证接收到的区块中纳入的所述第一赎回交易的合法性,并在确定所述第一赎回交易为非法后,拒绝将接收到的区块保存至本地的区块链中。
- 根据权利要求1-7中任一项所述的交易系统,其特征在于,所述买方节点配置成根据所述交易流水号、所述密码以及平台特征字,利用哈希算法生成所述第一抵押账号的私钥,进而根据所述私钥生成对应的公钥,并根据所述公钥确定所述第一抵押账号,其中,所述平台特征字为配置成标识平台方的字符串。
- 根据权利要求5或6所述的交易系统,其特征在于,所述平台方节点配置成创建所述仲裁类交易,包括:所述平台方节点通过调用所述区块链上的智能合约创建所述仲裁类交易。
- 根据权利要求7所述的交易系统,其特征在于,所述第一抵押交易的输入包括属于所述买方账号的第一未花费交易输出UTXO;所述第一抵押交易的输出包括属于所述第一抵押账号的第二UTXO以及属于所述平台方账号第三UTXO,所述第二UTXO的金额为与交易商品等价的数字货币,所述第三UTXO的金额为平台方收取的交易服务费,所述交易服务费表征平台方在所述商品交易的过程中因提供服务而收取的费用,以及所述第一抵押交易的后续交易的记账矿工应收手续费的总和;所述第二UTXO的锁定脚本包括所述平台方账号的公钥、所述买方账号的公钥、所述卖方账号的公钥、所述第一抵押账号的公钥、第一抵押操作参数以及第一签名验证指令,所述第一签名验证指令配置成指示所述矿工节点利用所述第二UTXO的锁定脚本中的公钥验证针对所述第二UTXO的解锁脚本中提供的签名是否正确;所述第一抵押操作参数包括:所述交易流水号、所述仲裁费的最高限额、所述第一交易时长以及所述第一期限调整交易能够设置的最大交易时长。
- 根据权利要求11所述的交易系统,其特征在于,所述第一抵押交易的输出还包括属于附加服务提供方账号第四UTXO,所述附加服务提供方是指在达成所述商品交易意向前向买方提供与所述商品交易相关的附加服务的商家。
- 根据权利要求11所述的交易系统,其特征在于,所述第一期限调整交易的输入包括所述第二UTXO以及所述第三UTXO;所述第二UTXO的解锁脚本包括所述买方节点或卖方节点在创建所述第一期限调整交易时利用自身账号的私钥对所述第一期限调整交易的签名,以及所述平台方节点在接收到所述第一期限调整交易后利用所述平台方账号的私钥对所述第一期限调整交易的签名;所述第一期限调整交易的输出包括属于所述第一抵押账号的第五UTXO以及属于所述平台方账号的第六UTXO,所述第五UTXO的金额为与交易商品等价的数字货币,所述第六UTXO的金额为所述第三UTXO与所述第一期限调整交易的记账矿工应收手续费的差额;所述第五UTXO的锁定脚本包括所述平台方账号的公钥、所述买方账号的公钥、所述卖方账号的公钥、所述第一抵押账号的公钥、第一期限调整操作参数以及第二签名验证指令,所述第二签名验证指令配置成指示所述矿工节点利用所述第五UTXO的锁定脚本中的公钥验证针对所述第五UTXO的解锁脚本中提供的签名是否正确;所述第一期限调整操作参数包括:所述交易流水号、所述仲裁费的最高限额以及所述第二交易时长。
- 根据权利要求13所述的交易系统,其特征在于,所述第一期限调整操作参数还包括期限调整描述信息,所述期限调整描述信息的内容包括创建所述第一期限调整交易的一方对期限调整的说明。
- 根据权利要求13所述的交易系统,其特征在于,所述第一期限调整操作参数还包括欺诈疑似程度,所述欺诈疑似程度的内容包括创建所述第一期限调整交易的一方对交易对方涉嫌欺诈的程度的评估。
- 根据权利要求13所述的交易系统,其特征在于,所述矿工节点还配置成在确定接收到的交易为所述第一期限调整交易后,对所述第一期限调整交易进行验证,验证的项目包括:验证所述第二UTXO与所述第五UTXO是否属于同一账号且两个UTXO的金额是否相同,若两个UTXO属于同一账号且金额相同,则本项验证的结果为合法,否则本项验证的结果为非法;获取所述最近区块事务基准时,验证所述最近区块事务基准时与所述第一抵押交易的交易基准时的差值是否小于所述第一交易时长,若小于则本项验证的结果为合法,否则本项验证的结果为非法;验证所述第一期限调整操作参数中设置的所述仲裁费的最高限额与所述第一抵押操作参数中设置的所述仲裁费的最高限额是否相同,若相同则本项验证的结果为合法,否则本项验证的结果为非法;验证所述第二交易时长是否不大于所述第一抵押操作参数中设置的所述最大交易时长,若不大于则本项验证的结果为合法,否则本项验证的结果为非法;验证所述第二交易时长是否小于所述第一交易时长,若小于且所述第二UTXO的解锁脚本中包含卖方账号的私钥对所述第一期限调整交易的签名,则本项验证的结果为合法,否则本项验证的结果为非法;若以上验证项目中任一项的结果为非法,则所述第一期限调整交易为非法交易,所述矿工节点拒绝 将非法的所述第一期限调整交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求13所述的交易系统,其特征在于,所述第二期限调整交易的输入包括第七UTXO以及第八UTXO,所述第二期限调整交易的输出包括属于所述第一抵押账号的第九UTXO以及属于所述平台方账号的第十UTXO,其中,所述第七UTXO为所述第二UTXO且所述第八UTXO为所述第三UTXO,或,所述第七UTXO为所述第五UTXO且所述第八UTXO为所述第六UTXO,或,所述第七UTXO为上一第二期限调整交易的上一第九UTXO且所述第八UTXO为上一第二期限调整交易的上一第十UTXO;所述第七UTXO的解锁脚本包括所述买方节点或卖方节点在生成仲裁请求时利用自身账号的私钥对第一仲裁信息的签名,以及所述平台方节点在接收到所述仲裁请求后利用所述平台方账号的私钥对所述第二期限调整交易的签名,其中,所述第一仲裁信息包括所述交易流水号以及所述第七UTXO在所述区块链中的位置索引,对所述第一仲裁信息的签名携带在所述仲裁请求中;所述第九UTXO的金额为与交易商品等价的数字货币,所述第十UTXO的金额为所述第八UTXO与所述第二期限调整交易的记账矿工应收手续费的差额;所述第九UTXO的锁定脚本包括所述平台方账号的公钥、所述买方账号的公钥、所述卖方账号的公钥、所述第一抵押账号的公钥、第二期限调整操作参数以及所述第二签名验证指令,所述第二签名验证指令配置成指示所述矿工节点利用所述第九UTXO的锁定脚本中的公钥验证针对所述第九UTXO的解锁脚本中提供的签名是否正确;所述第二期限调整操作参数包括:所述交易流水号、所述仲裁费的最高限额以及所述第三交易时长。
- 根据权利要求17所述的交易系统,其特征在于,所述矿工节点还配置成在确定接收到的交易为所述第二期限调整交易后,对所述第二期限调整交易进行验证,验证的项目包括:验证所述第七UTXO与所述第九UTXO是否属于同一账号且两个UTXO的金额是否相同,若两个UTXO属于同一账号且金额相同,则本项验证的结果为合法,否则本项验证的结果为非法;获取所述最近区块事务基准时,验证所述最近区块事务基准时与所述第一抵押交易的交易基准时的差值是否小于所述第七UTXO的锁定脚本中的操作参数中设置的交易时长,若小于则本项验证的结果为合法,否则本项验证的结果为非法;验证所述第二期限调整操作参数中设置的所述仲裁费的最高限额与所述第七UTXO的锁定脚本中的操作参数中设置的所述仲裁费的最高限额是否相同,若相同则本项验证的结果为合法,否则本项验证的结果为非法;若以上验证项目中任一项的结果为非法,则所述第二期限调整交易为非法交易,所述矿工节点拒绝将非法的所述第二期限调整交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求18所述的交易系统,其特征在于,所述第一分配交易的输入包括第十一UTXO以及第十二UTXO,其中,所述第十一UTXO为所述第二UTXO且所述第十二UTXO为所述第三UTXO,或,所述第十一UTXO为所述第五UTXO且所述第十二UTXO为所述第六UTXO,或,所述第十一UTXO为所述第九UTXO且所述第十二UTXO为所述第十UTXO;所述第十一UTXO的解锁脚本包括所述买方节点或卖方节点在生成仲裁请求时利用自身账号的私钥对第二仲裁信息的签名,以及所述平台方节点在接收到所述仲裁请求后利用所述平台方账号的私钥对所述第一分配交易的签名,其中,所述第二仲裁信息包括所述交易流水号以及所述第十一UTXO在所述区块链中的位置索引,对所述第二仲裁信息的签名携带在所述仲裁请求中;所述第一分配交易的输出包括属于所述平台方账号的第十三UTXO以及以下三项UTXO中的至少一项UTXO,属于所述买方账号的第十四UTXO,属于所述卖方账号的第十五UTXO以及属于所述平台方账号的第十六UTXO;所述第十三UTXO的金额为所述第十二UTXO与所述第一分配交易的记账矿工应收手续费的差额,所述至少一项UTXO的金额之和为与交易商品等价的数字货币。
- 根据权利要求19所述的交易系统,其特征在于,所述矿工节点还配置成在确定接收到的交易 为所述第一分配交易后,对所述第一分配交易进行验证,验证的项目包括:获取所述最近区块事务基准时,验证所述最近区块事务基准时与所述第一抵押交易的交易基准时的差值是否小于所述第十一UTXO的锁定脚本中的操作参数中设置的交易时长,若小于则本项验证的结果为合法,否则本项验证的结果为非法;若所述第一分配交易的输出包括所述第十六UTXO,验证所述第十六UTXO的金额是否不大于所述第十一UTXO的锁定脚本中的操作参数中设置的所述仲裁费的最高限额,若不大于则本项验证的结果为合法,否则本项验证的结果为非法;若以上验证项目中任一项的结果为非法,则所述第一分配交易为非法交易,所述矿工节点拒绝将非法的所述第一分配交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求20所述的交易系统,其特征在于,所述第一赎回交易的输入包括第十七UTXO以及第十八UTXO,其中,所述第十七UTXO为所述第二UTXO且所述第十八UTXO为所述第三UTXO,或,所述第十七UTXO为所述第五UTXO且所述第十八UTXO为所述第六UTXO,或,所述第十七UTXO为所述第九UTXO且所述第十八UTXO为所述第十UTXO;所述第十七UTXO的解锁脚本包括所述卖方节点在创建所述第一赎回交易时利用所述第一抵押账号的私钥对所述第一赎回交易的签名;所述第一赎回交易的输出包括属于所述卖方账号的第十九UTXO以及属于所述平台方账号的第二十UTXO,所述第十九UTXO的金额为与交易商品等价的数字货币,所述第二十UTXO的金额为所述第十八UTXO与所述第一赎回交易的记账矿工应收手续费的差额。
- 根据权利要求21所述的交易系统,其特征在于,所述第二赎回交易的输入包括第二十一UTXO以及第二十二UTXO,其中,所述第二十一UTXO为所述第二UTXO且所述第二十二UTXO为所述第三UTXO,或,所述第二十一UTXO为所述第五UTXO且所述第二十二UTXO为所述第六UTXO,或,所述第二十一UTXO为所述第九UTXO且所述第二十二UTXO为所述第十UTXO;所述第二十一UTXO的解锁脚本包括所述买方节点在创建所述第二赎回交易时利用所述第一抵押账号的私钥对所述第二赎回交易的签名;所述第二赎回交易的输出包括属于所述买方账号的第二十三UTXO以及属于所述平台方账号的第二十四UTXO,所述第二十三UTXO的金额为与交易商品等价的数字货币,所述第二十四UTXO的金额为所述第二十二UTXO与所述第二赎回交易的记账矿工应收手续费的差额。
- 根据权利要求22所述的交易系统,其特征在于,所述第一赎回交易以及所述第二赎回交易均为赎回类交易,所述赎回类交易的输入中包括第二十五UTXO,所述赎回交易的输出中包括第二十六UTXO,其中,所述第一赎回交易的所述第二十五UTXO为所述第十七UTXO且所述第一赎回交易的所述第二十六UTXO为所述第十九UTXO,所述第二赎回交易的所述第二十五UTXO为所述第二十一UTXO且所述第二赎回交易的所述第二十六UTXO为所述第二十三UTXO,所述矿工节点还配置成在确定接收到的交易为所述赎回类交易后,对所述赎回类交易进行验证,验证的项目包括:获取所述最近区块事务基准时,验证所述最近区块事务基准时与所述第一抵押交易的交易基准时的差值是否小于第二十五UTXO的锁定脚本中的操作参数中设置的交易时长;若小于操作参数中设置的交易时长,则验证所述第二十五UTXO与第二十六UTXO是否金额是否相同,且所述第二十六UTXO是否属于所述卖方账号,若两个UTXO属于金额相同且所述第二十六UTXO属于所述卖方账号,则本项验证的结果为合法,否则本项验证的结果为非法;若不小于操作参数中设置的交易时长,则验证所述最近区块事务基准时与所述第一抵押交易的交易基准时的差值是否小于所述第二十五UTXO的锁定脚本中的操作参数中设置的交易时长与预设的赎回时长之和,若小于操作参数中设置的交易时长与预设的赎回时长之和,则验证所述第二十五UTXO与所述第二十六UTXO是否金额是否相同,且所述第二十六UTXO是否属于所述买方账号,若两个UTXO金额相同且所述第二十六UTXO属于所述买方账号,则本项验证的结果为合法,否则本项验证的结果为非法,若不小于操作参数中设置的交易时长与预设的赎回时长之和,则本项验证为非法;若以上验证项目的结果为非法,则所述赎回类交易为非法交易,所述矿工节点拒绝将非法的所述赎 回类交易纳入到配置成生成区块的待打包交易集合。
- 一种交易系统,其特征在于,包括区块链网络中的买方节点、卖方节点、平台方节点以及矿工节点;所述买方节点配置成向所述平台方节点发送配置成指示所述平台方节点进行数字货币抵押的抵押请求;所述平台方节点配置成在买方与卖方达成商品交易意向后生成交易流水号,并在接收到所述抵押请求后,根据所述交易流水号以及买方预设的密码生成第二抵押账号,创建配置成将与交易商品等价的数字货币从第一平台方代理账号转移至所述第二抵押账号的第二抵押交易,并将所述第二抵押交易在所述区块链网络上广播,其中,所述第一平台方代理账号中的数字货币是所述平台方节点根据买方支付给平台方的法币兑换的;所述卖方节点配置成从所述平台方节点获取所述交易流水号,根据所述交易流水号以及买方在确认所述商品交易成功后提供的所述预设的密码生成所述第二抵押账号,创建配置成将与交易商品等价的数字货币从所述第二抵押账号转移至卖方账号的第三赎回交易,并将所述第三赎回交易在所述区块链网络上广播;所述矿工节点配置成从所述区块链网络上接收并验证所述第二抵押交易的合法性,并在确定所述第二抵押交易合法后将所述第二抵押交易纳入到配置成生成区块的待打包交易集合,以及配置成从所述区块链网络上接收并验证所述第三赎回交易,并在确定所述第三赎回交易合法后将所述第三赎回交易纳入到配置成生成区块的待打包交易集合。
- 一种交易系统,其特征在于,包括区块链网络中的卖方节点、平台方节点以及矿工节点;所述平台方节点配置成在买方与卖方达成商品交易意向后生成交易流水号;所述卖方节点配置成从所述平台方节点获取所述交易流水号,根据所述交易流水号以及卖方预设的密码生成第三抵押账号,并创建配置成将与交易商品等价的数字货币从卖方账号转移至所述第三抵押账号的第三抵押交易,以及将所述第三抵押交易在所述区块链网络上广播;所述卖方节点还配置成在商品交易期截止后创建配置成将与交易商品等价的数字货币从所述第三抵押账号转移至卖方账号的第四赎回交易,以及将所述第四赎回交易在所述区块链网络上广播;所述矿工节点配置成从所述区块链网络上接收并验证所述第三抵押交易的合法性,并在确定所述第三抵押交易合法后将所述第三抵押交易纳入到配置成生成区块的待打包交易集合,以及配置成从所述区块链网络上接收并验证所述第四赎回交易,并在确定所述第四赎回交易合法后将所述第四赎回交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求25所述的交易系统,其特征在于,所述卖方节点还配置成在创建所述第三抵押交易时设置第四交易时长;所述矿工节点在验证接收到的所述第四赎回交易的合法性时,根据作为所述商品交易期的起点的所述第三抵押交易的交易基准时以及所述第四交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期尚未截止后将接收到的所述第四赎回交易确定为非法,被确定为非法的所述第四赎回交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求26所述的交易系统,其特征在于,所述交易系统还包括买方节点,所述买方节点或所述卖方节点还配置成在获得指示调整交易时长的信息后,创建配置成设置第五交易时长的第三期限调整交易,并将所述第三期限调整交易发送至所述平台方节点,其中,所述第五交易时长表征配置成替换所述第四交易时长作为确定所述第四赎回交易是否合法的依据;所述平台方节点还配置成将所述第三期限调整交易在所述区块链网络上广播;所述矿工节点还配置成从所述区块链网络上接收并验证所述第三期限调整交易的合法性,并在确定所述第三期限调整交易合法后将所述第三期限调整交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第三期限调整交易的合法性时,根据所述第三抵押交易的交易基准时以及所述第四交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将 接收到的所述第三期限调整交易确定为非法,被确定为非法的所述第三期限调整交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求27所述的交易系统,其特征在于,所述买方节点或所述卖方节点还配置成在获得指示申请仲裁的信息后,向所述平台方节点发送仲裁请求;所述平台方节点还配置成在接收到所述仲裁请求后,创建仲裁类交易,并在所述仲裁类交易为配置成设置第六交易时长的第四期限调整交易时,将所述第四期限调整交易在所述区块链网络上广播,其中,所述第六交易时长表征配置成替换上一交易时长作为确定所述第四赎回交易是否合法的依据,若在本次创建的交易之前未创建过期限调整交易,则所述上一交易时长为所述第四交易时长,否则所述上一交易时长为最近一次创建的期限调整交易设置的交易时长;所述矿工节点还配置成从所述区块链网络上接收并验证所述第四期限调整交易的合法性,并在确定所述第四期限调整交易合法后将所述第四期限调整交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第四期限调整交易的合法性时,根据所述第三抵押交易的交易基准时以及所述上一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第四期限调整交易确定为非法,被确定为非法的所述第四期限调整交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求28所述的交易系统,其特征在于,所述平台方节点还配置成在所述仲裁类交易为第二分配交易时,将所述第二分配交易在所述区块链网络上广播,其中,所述第二分配交易配置成将与交易商品等价的数字货币从所述第三抵押账号分配至所述卖方账号和/或平台方账号中,分配至所述平台方账号的数字货币配置成赔付买方在所述商品交易的过程中支付给卖方的部分或全部的法币;所述矿工节点还配置成从所述区块链网络上接收并验证所述第二分配交易的合法性,并在确定所述第二分配交易合法后将所述第二分配交易纳入到配置成生成区块的待打包交易集合;所述矿工节点在验证接收到的所述第二分配交易的合法性时,根据所述第三抵押交易的交易基准时以及所述上一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第二分配交易确定为非法,被确定为非法的所述第二分配交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合。
- 根据权利要求25至29中任一项所述的交易系统,其特征在于,所述交易商品包括数字资产和/或针对数字资产的使用授权。
- 根据权利要求30所述的交易系统,其特征在于,所述针对数字资产的使用权授权包括卖方提供的解密密码和/或版权控制文件。
- 一种交易方法,其特征在于,应用于交易系统中的买方节点,所述方法包括:从所述交易系统的平台方节点获取商品交易的交易流水号;根据所述交易流水号以及买方预设的密码生成第一抵押账号,并创建配置成将与交易商品等价的数字货币从买方账号转移至所述第一抵押账号的第一抵押交易;将所述第一抵押交易在部署有所述交易系统的区块链网络上广播。
- 根据权利要求32所述的交易方法,其特征在于,所述方法还包括:在创建所述第一抵押交易时设置第一交易时长,所述第一交易时长被所述交易系统中的矿工节点配置成判断以所述第一抵押交易的交易基准时为起点的商品交易期是否已经截止;其中,所述区块链上的一项交易的交易基准时为所述交易被纳入到配置成生成区块的待打包交易集合时的最近区块事务基准时,所述最近区块事务基准时为所述区块链上最近一个已确定区块事务基准时的区块的区块事务基准时,所述区块链上的一个区块的区块事务基准时为根据所述区块的生成时间计算出的一个时刻,且所述时刻与所述区块在所述区块链中的高度正相关。
- 根据权利要求33所述的交易方法,其特征在于,所述方法还包括:在获得指示调整交易时长的信息后,创建配置成设置第二交易时长的第一期限调整交易,所述第二交易时长表征配置成替换所述第一交易时长作为确定所述商品交易期是否已经截止的依据;将所述第一期限调整交易发送至所述平台方节点,由所述平台方节将所述第一期限调整交易在所述区块链网络上广播。
- 根据权利要求34所述的交易方法,其特征在于,所述方法还包括:在商品交易期截止后,创建配置成将与交易商品等价的数字货币从所述第一抵押账号转移至所述买方账号的第二赎回交易;将所述第二赎回交易在所述区块链网络上广播。
- 一种交易方法,其特征在于,应用于交易系统中的卖方节点,所述方法包括:从所述交易系统的平台方节点获取商品交易的交易流水号;根据所述交易流水号以及买方在确认商品交易成功后提供的预设的密码生成第一抵押账号,并创建配置成将与交易商品等价的数字货币从所述第一抵押账号转移至卖方账号的第一赎回交易;将所述第一赎回交易在部署有所述交易系统的区块链网络上广播。
- 根据权利要求36所述的交易方法,其特征在于,所述方法还包括:在获得指示调整交易时长的信息后,创建配置成设置第二交易时长的第一期限调整交易,所述第二交易时长表征配置成替换第一交易时长作为确定所述商品交易期是否已经截止的依据,其中,所述第一交易时长是所述交易系统中的买方节点在创建所述第一抵押交易时设置的;将所述第一期限调整交易发送至所述平台方节点,由所述平台方节将所述第一期限调整交易在所述区块链网络上广播。
- 一种交易方法,其特征在于,应用于交易系统中的平台方节点,所述方法包括:从所述交易系统中的买方节点或卖方节点接收针对商品交易的仲裁请求;根据所述仲裁请求创建仲裁类交易,所述仲裁类交易为配置成设置第三交易时长的第二期限调整交易,或,所述仲裁类交易为配置成将与交易商品等价的数字货币从第一抵押账号分配至买方账号、卖方账号以及平台方账号中的至少一个账号的第一分配交易,其中,所述第三交易时长表征配置成替换上一交易时长作为确定商品交易期是否已经截止的依据,若在本次创建的交易之前未创建过期限调整交易,则所述上一交易时长为第一交易时长,否则所述上一交易时长为最近一次创建的期限调整交易设置的交易时长;将所述仲裁类交易在部署有所述交易系统的区块链网络上广播。
- 一种交易方法,其特征在于,应用于交易系统中的矿工节点,所述方法包括:从部署有所述交易系统的区块链网络上接收并验证第一抵押交易的合法性,并在确定所述第一抵押交易合法后将所述第一抵押交易纳入到配置成生成区块的待打包交易集合;从所述区块链网络上接收并验证第一赎回交易的合法性,并在确定所述第一赎回交易合法后将所述第一赎回交易纳入到配置成生成区块的待打包交易集合。
- 根据权利要求39所述的交易方法,其特征在于,所述验证第一赎回交易的合法性,包括:根据作为商品交易期的起点的所述第一抵押交易的交易基准时以及第一交易时长判断所述商品交易期是否已经截止,并在确定所述商品交易期已经截止后将接收到的所述第一赎回交易确定为非法,被确定为非法的所述第一赎回交易不会被所述矿工节点纳入到配置成生成区块的待打包交易集合;其中,所述第一交易时长是所述交易系统中的买方节点在创建所述第一抵押交易时设置的,所述区块链上的一项交易的交易基准时为所述交易被纳入到配置成生成区块的待打包交易集合时的最近区块事务基准时,所述最近区块事务基准时为所述区块链上最近一个已确定区块事务基准时的区块的区块事务基准时,所述区块链上的一个区块的区块事务基准时为根据所述区块的生成时间计算出的一个时刻,且所述时刻与所述区块在所述区块链中的高度正相关。
- 根据权利要求39或40所述的交易方法,其特征在于,所述方法还包括:从所述区块链网络上接收除自身以外的其他矿工节点生成的区块;若接收到的区块中纳入了第一抵押交易,则验证纳入的所述第一抵押交易的合法性,并在确定所述第一抵押交易为非法后,拒绝将接收到的区块保存至本地的区块链中;若接收到的区块中纳入了第一赎回交易,则验证纳入的所述第一赎回交易的合法性,并在确定所述第一赎回交易为非法后,拒绝将接收到的区块保存至本地的区块链中。
- 一种交易方法,其特征在于,应用于交易系统中的平台方节点,所述方法包括:在买方与卖方达成商品交易意向后生成交易流水号;从所述交易系统的买方节点接收指示进行数字货币抵押的抵押请求;根据所述交易流水号以及买方预设的密码生成第二抵押账号,创建配置成将与交易商品等价的数字货币从第一平台方代理账号转移至所述第二抵押账号的第二抵押交易,其中,所述第一平台方代理账号中的数字货币是所述平台方节点根据买方支付给平台方的法币兑换的;将所述第二抵押交易在部署有所述交易系统的区块链网络上广播。
- 一种交易方法,其特征在于,应用于交易系统中的卖方节点,所述方法包括:从所述交易系统的平台方节点获取商品交易的交易流水号;根据所述交易流水号以及卖方预设的密码生成第三抵押账号,并创建配置成将与交易商品等价的数字货币从卖方账号转移至所述第三抵押账号的第三抵押交易;将所述第三抵押交易在部署有所述交易系统的区块链网络上广播;在商品交易期截止后创建配置成将与交易商品等价的数字货币从所述第三抵押账号转移至卖方账号的第四赎回交易,以及将所述第四赎回交易在所述区块链网络上广播。
- 一种买方节点,其特征在于,部署于区块链网络中,所述买方节点包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求32-35中任一项所述的方法的步骤。
- 一种卖方节点,其特征在于,部署于区块链网络中,所述卖方节点包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求36、37或43中任一项所述的方法的步骤。
- 一种平台方节点,其特征在于,部署于区块链网络中,所述平台方节点包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求38或42所述的方法的步骤。
- 一种矿工节点,其特征在于,部署于区块链网络中,所述矿工节点包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求39-41中任一项所述的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910416814.6A CN111967860B (zh) | 2019-05-20 | 2019-05-20 | 交易系统、方法以及交易系统中的节点 |
CN201910416814.6 | 2019-05-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020233404A1 true WO2020233404A1 (zh) | 2020-11-26 |
Family
ID=73357879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/088800 WO2020233404A1 (zh) | 2019-05-20 | 2020-05-06 | 交易系统、方法以及交易系统中的节点 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111967860B (zh) |
WO (1) | WO2020233404A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559819A (zh) * | 2020-12-16 | 2021-03-26 | 深圳市德邦物流有限公司 | 物流信息查询方法、装置、电子设备和存储介质 |
CN112765622A (zh) * | 2021-01-13 | 2021-05-07 | 中国外运股份有限公司 | 一种电子提单的数字证书管理方法、装置、设备及介质 |
CN112801785A (zh) * | 2021-01-13 | 2021-05-14 | 中央财经大学 | 基于区块链智能合约的公平数据交易方法及装置 |
CN113610520A (zh) * | 2021-07-21 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 数据处理方法、系统、装置、计算机设备和存储介质 |
CN113935836A (zh) * | 2021-10-19 | 2022-01-14 | 平安科技(深圳)有限公司 | 基于Fabric联盟链的跨境支付方法、系统、设备、介质 |
CN114429348A (zh) * | 2022-01-10 | 2022-05-03 | 普洛斯科技(重庆)有限公司 | 一种生成质押单的方法及装置 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112700240B (zh) * | 2021-03-24 | 2021-06-25 | 南京金宁汇科技有限公司 | 基于utxo架构的区块链中交易手续费提升方法及系统 |
CN113220786B (zh) * | 2021-05-25 | 2022-05-24 | 杭州复杂美科技有限公司 | 物流存证方法、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234470A (zh) * | 2017-12-28 | 2018-06-29 | 江苏通付盾科技有限公司 | 区块链网络中区块打包方法及系统、电子设备、存储介质 |
CN108596608A (zh) * | 2018-04-28 | 2018-09-28 | 比飞力(深圳)科技有限公司 | 一种数字钱包交易的方法及装置 |
WO2018197487A1 (en) * | 2017-04-24 | 2018-11-01 | Blocksettle Ab | Method and system for creating a user identity |
CN109493018A (zh) * | 2018-11-06 | 2019-03-19 | 徐宁 | 一种基于区块链的c2c交易和清算系统及方法 |
US10565645B1 (en) * | 2014-05-20 | 2020-02-18 | Wells Fargo Bank, N.A. | Systems and methods for operating a math-based currency exchange |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10558962B2 (en) * | 2015-04-14 | 2020-02-11 | Amy SZETO | Processing of unit-based transactions |
US20160321752A1 (en) * | 2015-05-01 | 2016-11-03 | Medici, Inc. | Digitally Encrypted Securities Platform, Along With Methods And Systems For The Same |
-
2019
- 2019-05-20 CN CN201910416814.6A patent/CN111967860B/zh active Active
-
2020
- 2020-05-06 WO PCT/CN2020/088800 patent/WO2020233404A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10565645B1 (en) * | 2014-05-20 | 2020-02-18 | Wells Fargo Bank, N.A. | Systems and methods for operating a math-based currency exchange |
WO2018197487A1 (en) * | 2017-04-24 | 2018-11-01 | Blocksettle Ab | Method and system for creating a user identity |
CN108234470A (zh) * | 2017-12-28 | 2018-06-29 | 江苏通付盾科技有限公司 | 区块链网络中区块打包方法及系统、电子设备、存储介质 |
CN108596608A (zh) * | 2018-04-28 | 2018-09-28 | 比飞力(深圳)科技有限公司 | 一种数字钱包交易的方法及装置 |
CN109493018A (zh) * | 2018-11-06 | 2019-03-19 | 徐宁 | 一种基于区块链的c2c交易和清算系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559819A (zh) * | 2020-12-16 | 2021-03-26 | 深圳市德邦物流有限公司 | 物流信息查询方法、装置、电子设备和存储介质 |
CN112765622A (zh) * | 2021-01-13 | 2021-05-07 | 中国外运股份有限公司 | 一种电子提单的数字证书管理方法、装置、设备及介质 |
CN112801785A (zh) * | 2021-01-13 | 2021-05-14 | 中央财经大学 | 基于区块链智能合约的公平数据交易方法及装置 |
CN112801785B (zh) * | 2021-01-13 | 2023-10-20 | 中央财经大学 | 基于区块链智能合约的公平数据交易方法及装置 |
CN112765622B (zh) * | 2021-01-13 | 2024-04-16 | 中国外运股份有限公司 | 一种电子提单的数字证书管理方法、装置、设备及介质 |
CN113610520A (zh) * | 2021-07-21 | 2021-11-05 | 上海浦东发展银行股份有限公司 | 数据处理方法、系统、装置、计算机设备和存储介质 |
CN113935836A (zh) * | 2021-10-19 | 2022-01-14 | 平安科技(深圳)有限公司 | 基于Fabric联盟链的跨境支付方法、系统、设备、介质 |
CN113935836B (zh) * | 2021-10-19 | 2024-03-22 | 平安科技(深圳)有限公司 | 基于Fabric联盟链的跨境支付方法、系统、设备、介质 |
CN114429348A (zh) * | 2022-01-10 | 2022-05-03 | 普洛斯科技(重庆)有限公司 | 一种生成质押单的方法及装置 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111967860A (zh) | 2020-11-20 |
CN111967860B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233404A1 (zh) | 交易系统、方法以及交易系统中的节点 | |
US20240320637A1 (en) | Virtual currency system | |
US10657595B2 (en) | Method of tokenization of asset-backed digital assets | |
US10055720B2 (en) | Virtual currency system | |
US10592985B2 (en) | Systems and methods for a commodity contracts market using a secure distributed transaction ledger | |
US20190066206A1 (en) | Peer-to-peer trading with blockchain technology | |
KR20210024994A (ko) | 디지털 자산 교환 | |
US9398018B2 (en) | Virtual currency system | |
US20170337534A1 (en) | Systems and methods for blockchain virtualization and scalability | |
CA3004263C (en) | Virtual currency system | |
CN111418184A (zh) | 基于区块链的可信保函 | |
Schueffel et al. | The Crypto Encyclopedia: Coins, tokens and digital assets from A to Z | |
KR102181078B1 (ko) | 블록체인 기반 중고거래 플랫폼 시스템 | |
CN110275925B (zh) | 基于区块链的虚拟资源分配方法和装置 | |
CN111417945A (zh) | 基于区块链的可信保函 | |
US20220138748A1 (en) | Method and system for settling a blockchain transaction | |
CN111433799A (zh) | 基于区块链的可信保函 | |
KR20200065307A (ko) | 블록체인 기반의 스마트 보증서 제공 방법 및 시스템 | |
GB2578168A (en) | Computer-implemented method and system for digital signing of transactions | |
CN110807634A (zh) | 基于Hasp哈希链与智能合约的二手票券交易方法和平台 | |
CN112016114B (zh) | 基于加密货币的智能合约生成方法、相关设备及存储介质 | |
CN112400298B (zh) | 验证交易系统和方法用于加至电子区块链 | |
WO2023201360A2 (en) | Method, controller, and computer-readable medium for replacement of a cancelled repeating transfer data structure on a distributed transfer network | |
KR20240145462A (ko) | 지불 네트워크에서 환불 거래 후 nft(대체불가능 토큰)의 소유권의 양도를 위한 방법 및 시스템 | |
KR102149998B1 (ko) | 멀티 체인 레이어를 이용한 블록체인 기반 인수 합병 서비스 제공 시스템 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20809105 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20809105 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/05/2022) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20809105 Country of ref document: EP Kind code of ref document: A1 |