WO2025006847A2 - Credible exchange design via a verifiable sequencing rule - Google Patents
Credible exchange design via a verifiable sequencing rule Download PDFInfo
- Publication number
- WO2025006847A2 WO2025006847A2 PCT/US2024/035970 US2024035970W WO2025006847A2 WO 2025006847 A2 WO2025006847 A2 WO 2025006847A2 US 2024035970 W US2024035970 W US 2024035970W WO 2025006847 A2 WO2025006847 A2 WO 2025006847A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transactions
- transaction
- ordered
- token
- price
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Definitions
- Decentralized financial transactions are typically performed on distributed ledgers (e.g., blockchains), with transactions being made directly between participants or mediated by smart contract programs.
- distributed ledgers e.g., blockchains
- the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions.
- the techniques described herein relate to a computer-implemented method, wherein causing the execution of the ordered transactions includes transmitting, from a first computer to a second computer, the transaction block for execution.
- the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a computer-implemented method, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or 2 12557119.1 Attorney Docket No.: H0776.70157WO00 sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions.
- the techniques described herein relate to an at least one non-transitory computer readable medium, wherein causing the execution of the ordered transactions includes transmitting, from the at least one processor to another at least one processor, the transaction block for execution.
- the techniques described herein relate to an at least one non-transitory computer readable medium, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of 3 12557119.1 Attorney Docket No.: H0776.70157WO00 the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to an at least one non-transitory computer readable medium, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions.
- the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions further 4 12557119.1 Attorney Docket No.: H0776.70157WO00 includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to a system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system including: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions.
- the techniques described herein relate to a system, wherein causing the execution of the ordered transactions includes transmitting, from the at least one processor to another at least one processor, the transaction block for execution.
- the techniques described herein relate to a system, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions further includes, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0026] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0029] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction service on a decentralized exchange of a liquidity pool of two or more tokens, the computer-implemented method including: transmitting, from trading computers to one or more building computers, transaction information specifying a 6 12557119.1 Attorney Docket No.: H0776.70157WO00 set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using
- the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a computer-implemented method, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 7 12557119.1 Attorney Docket No.: H0776.70157WO00 [0034]
- the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0037] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to a plurality of non-transitory computer readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method including: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or 8 12557119.1 Attorney Docket No.: H0776.70157WO00 more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of
- the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques further include, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the 9 12557119.1 Attorney Docket No.: H0776.70157WO00 token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0045] In some aspects, ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to a distributed system including: a plurality of processors; and a plurality of non-transitory computer readable medium storing processor-executable instructions that, when executed sequentially by each processor of the plurality of processors, cause the plurality of processors to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method including: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block
- the techniques described herein relate to a distributed system, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the 10 12557119.1 Attorney Docket No.: H0776.70157WO00 first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions further includes, after appending the purchase or sale transaction to an end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0050] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an 11 12557119.1 Attorney Docket No.: H0776.70157WO00 initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block.
- the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0053] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule.
- the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block.
- the techniques described herein relate to a computer-implemented method, wherein causing the execution of the ordered transactions includes transmitting, from a first computer to a second computer, the transaction block for execution.
- the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the ordered transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- the techniques described herein relate to a computer-implemented method, wherein verifying that the ordered transactions were ordered in compliance with the verifiable sequencing rule includes executing a smart contract, the smart contract being configured to verify that the ordered transactions were ordered in compliance with the verifiable sequencing rule.
- the techniques described herein relate to at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block.
- the techniques described herein relate to a system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system including: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block.
- FIG.1A is a schematic diagram illustrating a process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG.1B is a schematic diagram illustrating a process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG.1C is a schematic diagram illustrating another process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG. 2A is a schematic diagram of an illustrative distributed system for executing transactions on an exchange using an auction system, in accordance with some embodiments of the technology described herein.
- FIG. 2B is a schematic diagram of an illustrative distributed system for executing transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG.2C is a schematic diagram of another illustrative distributed system for executing transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG. 3 is a plot illustrating a liquidity pool of two tokens, in accordance with some embodiments of the technology described herein.
- FIG.4 is a schematic diagram illustrating how the ordering of transactions can cause a miner to profit at a trader’s loss.
- FIG.5 is a schematic diagram illustrating the same set of transactions of FIG.4 when ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- FIG. 1 is a schematic diagram of another illustrative distributed system for executing transactions on an exchange, in accordance with some embodiments of the technology described herein.
- FIG. 3 is a plot illustrating a liquidity pool of two tokens, in accordance with some embodiments of the technology described herein.
- FIG.4 is a schematic diagram illustrating how the ordering of transactions can cause a miner to
- FIG. 6 is a schematic diagram illustrating another example of a set of transactions ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- 14 12557119.1 Attorney Docket No.: H0776.70157WO00
- FIG.7 is a flowchart illustrating a process 700 of ordering a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- FIG. 8 is a flowchart illustrating a process 800 of verifying the ordering of a set of transactions in compliance with a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- FIG.9 is a flowchart illustrating a process 900 of building and executing a transaction block of ordered transactions, in accordance with some embodiments of the technology described herein.
- FIG. 10 is a diagram of an illustrative computer system, in accordance with some embodiments.
- FIG.11 is a plot illustrating demand and supply curves for tokens available for sale or purchase on an order book, in accordance with some embodiments of the technology described herein.
- DETAILED DESCRIPTION Provided herein are techniques for executing verifiable transactions on an exchange where builders compose blocks of transactions to be executed on the exchange by selecting the ordering of transactions within the transaction blocks.
- Uniswap has a maximum supply of one billion tokens.
- traders broadcast transactions (e.g., purchases or sales) they wish to execute on the exchange, and builders compose blocks of transactions and select an ordering of execution of those transactions in the block.
- Builders may act on behalf of 15 12557119.1 Attorney Docket No.: H0776.70157WO00 miners or validators who operate the consensus protocol that determines what is written to the blockchain.
- miners, validators, or other entities could be responsible for the composition of blocks. Due to the lack of regulatory framework, it is common for builders or similar parties to exploit their position to front-run trader transactions to obtain MEV.
- Traders may implement countermeasures to mitigate losses caused by MEV, such as setting limit prices or splitting large transactions into multiple smaller transactions.
- trading on exchanges may be improved by modifying the interaction between builders and traders.
- price manipulation by builders may be limited if builders commit to respecting a verifiable sequencing rule which constrains an execution ordering of transactions within a transaction block and if price manipulation can be verified from publicly available information associated with the transactions selected to form a transaction block. Compliance with this rule is verifiable by outside observers such that non-compliant builders may be identified, either manually or automatically (e.g., through the execution of a smart contract).
- the verifiable sequencing rule ensures, for any user transaction ⁇ , that either (i) the execution price of ⁇ is at least as good as if ⁇ was the only transaction in the block (the “standalone” price), (ii) the execution price of ⁇ is worse than the standalone price but the builder does not profit when including ⁇ in the transaction block, or (iii) builder misconduct to subvert the verifiable sequencing rule is observable by third parties.
- the verifiable sequencing rule described herein provides execution price guarantees for traders and improves the user experience of trading on exchanges.
- the techniques described herein improve upon such technology by providing a guarantee that such misconduct is not present and processing multiple transactions in a batch, reducing the overall computational burden of implementing a mitigation strategy. For example, rather than implementing countermeasures to reduce losses, traders can securely request single large transactions instead of splitting a single transaction into many smaller transactions. [0081] As a result, throughput on the exchange will increase because traders will request fewer transactions overall. Additionally, each computational step to write a transaction block to the exchange will include a larger trading volume.
- transaction blocks may include at least 10, 100, 1000, 10,000, 100,000, 500,000, 1,000,000, between 10 and 1000, between 100 and 16 12557119.1 Attorney Docket No.: H0776.70157WO00 100,000, between 2 and 100,000, between 2 and 500,000, and/or between 2 and 1,000,000 transactions, or any other suitable range of transactions within these ranges.
- H0776.70157WO00 100,000, between 2 and 100,000, between 2 and 500,000, and/or between 2 and 1,000,000 transactions, or any other suitable range of transactions within these ranges.
- Such an increase in throughput will also reduce an energy cost per transaction, as a greater volume of trades will be executed in a same computational step.
- a method for ordering transactions to obtain a verifiable transaction block for executing on an exchange is provided.
- the exchange may be a liquidity pool having two or more tokens, in some embodiments.
- the method may include receiving transaction information specifying a set of transactions, and the transactions are to be ordered prior to their execution on the exchange.
- the transactions may also indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool).
- the method may also include ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions and causing the execution of the ordered transactions.
- causing the execution of the ordered transactions may include transmitting the transaction block for execution from a first computer (e.g., a building computer or a transmitting computer) to a second computer (e.g., an executing computer).
- causing the execution of the ordered transactions may include executing the ordered transactions (e.g., at a same building computer).
- the verifiable sequencing rule may be a rule or set of rules arranged to ensure that builders do not gain profit at the cost of trader execution price from assembling the transaction block if they comply with the verifiable sequencing rule.
- the verifiable sequencing rule may be arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- ordering the transactions using the verifiable sequencing rule to generate a transaction block includes, if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- ordering the transactions using the verifiable sequencing rule to generate 17 12557119.1 Attorney Docket No.: H0776.70157WO00 a transaction block includes, if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block.
- ordering the transactions using the verifiable sequencing rule to generate a transaction block includes, if the set of transactions or the updated set of transactions includes only one of purchases or sales, appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block.
- ordering the transactions to generate a transaction block may comprise executing a smart contract. The smart contract may be configured to order the transactions according to the verifiable sequencing rule.
- a method for verifying the ordering of transactions in a verifiable transaction block is provided.
- the method may include receiving transaction blocks comprising ordered transactions, where the ordered transactions are to be executed according to the ordering of the transactions.
- Each of the transactions in the ordered transactions may indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool).
- the method may further include verifying, using the verifiable sequencing rule, that the ordered transactions were ordered in compliance with the verifiable sequencing rule.
- verifying that the ordered transactions were ordered in compliance with the verifiable sequencing rule comprises executing a smart contract.
- the method may include selecting a verified transaction block of the received transaction blocks and causing the execution of the ordered transactions of the verified transaction block.
- a method for implementing a verifiable relay service on an exchange includes transmitting, from a trading computer to one or more building computers, transaction information specifying a set of transactions to be ordered prior to execution. Each of the transactions in the ordered transactions may indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool).
- the method may include ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions. Thereafter, the method may include transmitting, from the one or more building computers to a transmitting computer, the ordered transaction blocks.
- the method may include selecting, using 18 12557119.1 Attorney Docket No.: H0776.70157WO00 the transmitting computer, a transaction block of the ordered transaction blocks and transmitting, from the transmitting computer to an executing computer, the selected transaction block. Finally, the method may include executing, using the executing computer, the transaction block.
- FIG.1A is a schematic diagram illustrating a process 100a for ordering and executing a set of transactions on an exchange (e.g., a decentralized exchange, an exchange implemented using an auction system, etc.), in accordance with some embodiments of the technology described herein.
- Trading computers 110-1 through 110-N may be configured to generate transactions ⁇ ⁇ , ⁇ ⁇ , ... , where ⁇ is an integer number.
- Each of the transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ may include information indicative of a purchase or sale on the exchange.
- each of the transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ may include information indicative of a purchase or sale of at least one token of the liquidated pool.
- each of the transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ may indicate the purchase or sale of a stock, security, and/or currency, and the exchange may be a centralized exchange.
- the trading computers 110-1 through 110-N may be computers, computing devices, or distributed computing systems associated with traders acting on the exchange.
- the trading computers may be configured to transmit transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ from the trading computers 110-1 through 110-N to building computers 120-1 through 120-M, where ⁇ is an integer that may be equal to or different than the integer ⁇ .
- the building computers 120-1 through 120-M may assemble transaction blocks ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ using some or all of the transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ .
- the building computers 120-1 through 120-M may also include additional transactions (e.g., transactions that the builders want to execute on the exchange) in the transaction blocks ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ . [0094] When assembling the transaction blocks ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ , the building computers 120-1 through 120-M may arrange the transactions in any order consistent with a verifiable 19 12557119.1 Attorney Docket No.: H0776.70157WO00 sequencing rule implemented on the exchange.
- the transactions may be ordered to indicate an order of execution on the exchange (e.g., a first transaction in the transaction block may be executed first, a second transaction in the transaction block may be executed second after the first transaction is executed, etc.).
- the building computers 120-1 through 120-M may be single computers and/or computing devices or may be distributed computing systems performing multiparty computation.
- a building computer of the building computers 120-1 through 120-M may build a transaction block using multiple, communicatively coupled processors housed separately from one another.
- the building computers 120-1 through 120-M may transmit the transaction blocks ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ to a transmitting computer 130.
- the transmitting computer 130 may be configured to verify that the ordering of transactions in each of the transaction blocks ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ complies with the verifiable sequencing rule.
- the transmitting computer 130 may be a computer, a computing device, or a distributed computing systems associated with transmitters (e.g., relays, auctions, or other services) acting on the exchange.
- the transmitting computer 130 may be additionally configured to select a transaction block for execution (e.g., acting as a relay or an auctioneer in an auction service).
- the transmitting computer 130 could combine more than one transaction block into a single transaction block.
- the transmitting computer 130 may then transmit the selected or combined transaction block to executing computer 140 for execution.
- the executing computer 140 may be a computer, a computing device, or a distributed computing systems associated with executors (e.g., validators, miners, or others executing transactions) acting on the exchange. [0098]
- the executing computer 140 may be configured to execute the selected transaction block.
- the executing computer 140 may be a proof of work miner, a proof of stake miner, or a validator.
- the executing computer 140 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange.
- the executing computer 140 may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments 20 12557119.1 Attorney Docket No.: H0776.70157WO00 the executing computer 140 may execute the transactions of the transaction block on a centralized exchange. [0099] In some embodiments, the process 100a of FIG.1A may be performed using a system 200a as illustrated by FIG.2A.
- the system 200a includes trading computers 110-1 through 110- N, building computers 120-1 through 120-M, transmitting computer 130, and executing computer 140. Each of these computers is communicatively coupled by communications network 250.
- the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet).
- LAN local area network
- WAN wide area network
- intranet open network
- open network e.g., the internet
- Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- FIG. 1B is a schematic diagram illustrating an alternative process 100b for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein.
- trading computers 110-1 through 110- N may be configured to generate transactions ⁇ ⁇ , ⁇ ⁇ , ... , In process 100b, however, trading computers 110-1 through 110-N may be configured to transmit transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ , to a single building computer 120-1.
- the single building computer 120-1 may be configured to generate the transaction block ⁇ by arranging the transactions in any order consistent with a verifiable sequencing rule implemented on the exchange.
- the transactions may be ordered to indicate an order of execution on the exchange (e.g., a first transaction in the transaction block may be executed first, a second transaction in the transaction block may be executed second after the first transaction is executed, etc.).
- the single building computer 120-1 may be a single computer and/or computing device or may be a distributed computing system performing multiparty computation.
- the building computer 120-1 may build the transaction block ⁇ using multiple, communicatively coupled processors housed separately from one another.
- the single building computer 120-1 may be configured to transmit the transaction block ⁇ to the executing computer 140 for execution of the ordered transactions in the transaction block ⁇ .
- the executing computer 140 may be configured to verify that the ordering of the transactions in the transaction block ⁇ complies with the verifiable sequencing rule and/or to execute the transaction block ⁇ on the exchange. 21 12557119.1 Attorney Docket No.: H0776.70157WO00 [0104]
- the executing computer 140 may be a proof of work miner, a proof of stake miner, or a validator.
- the executing computer 140 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange.
- the executing computer 140 may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange.
- the executing computer 140 may execute the transactions of the transaction block on a centralized exchange. In some embodiments, the executing computer 140, prior to executing the selected transaction block, may verify that the ordering of the transactions in the selected transaction block complies with the verifiable sequencing rule. For example, the executing computer 140 may use a smart contract to verify that the ordering of the transactions complies with the verifiable sequencing rule. [0105] In some embodiments, the process 100b of FIG.1B may be performed using a system 200b as illustrated by FIG.2B. The system 200b includes trading computers 110-1 through 110- N, a building computer 120-1, and executing computer 140. Each of these computers is communicatively coupled by communications network 250.
- the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet).
- LAN local area network
- WAN wide area network
- intranet open network
- open network e.g., the internet
- Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- FIG. 1C is a schematic diagram illustrating an alternative process 100c for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein.
- trading computers 110-1 through 110- N may be configured to generate transactions ⁇ ⁇ , ⁇ ⁇ , ... , In process 100c, however, trading computers 110-1 through 110-N may be configured to transmit transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ , to a single building and executing computer 150.
- the building and executing computer 150 may be configured to generate the transaction block ⁇ by ordering the transactions ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ in any order consistent with a verifiable sequencing rule implemented on the exchange.
- the building and executing computer 150 may also be configured to, after generating the transaction block ⁇ , execute the transaction block ⁇ on the exchange.
- the building and executing computer 150 may be a computer, a computing device, or a distributed computing system performing multiparty computation.
- the building and executing computer 150 may build and/or execute the transaction block ⁇ using multiple, communicatively coupled processors housed separately from one another.
- the building and executing computer 150 may be a proof of work miner, a proof of stake miner, or a validator.
- the building and executing computer 150 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange.
- the building and executing computer 150 may be configured to execute the transaction block ⁇ by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments the building and executing computer 150 may execute the transactions of the transaction block on a centralized exchange.
- the process 100c of FIG.1C may be performed using a system 200c as illustrated by FIG.2C.
- the system 200c includes trading computers 110-1 through 110- N and a building and executing computer 150. Each of these computers is communicatively coupled by communications network 250.
- the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet).
- Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- the process 100c of FIG. 1C may be implemented on a centralized exchange.
- the centralized exchange may be, for example, running an order book including bids and asks.
- the process 100c may be implemented on such a centralized exchange by matching bids and asks on the order book according to the verifiable sequencing rule described herein.
- a buy order ⁇ ( ⁇ , ⁇ ) signals the intent to purchase up to ⁇ units of token one at a maximum price of ⁇ per unit, where the price is denominated in units of token two.
- a sell order ⁇ ( ⁇ , ⁇ ) signals the intent to sell up to ⁇ units of token one at a minimum price of ⁇ per unit, where the price is denominated in units of token two.
- An order book exchange has a state, ⁇ , representing the set of buys and sells in the order book.
- a match is valid if ⁇ ′ ⁇ ⁇ ⁇ ⁇ ⁇ (e.g., the price is at least the limit price for the seller and at most the limit price of the buyer).
- a valid match results in the following transfer of assets, as well as updates to the state ⁇ : 1. Transfer ⁇ ! ⁇ , ⁇ ′ ⁇ token one units from the owner of ⁇ ( ⁇ ′, ⁇ ′) to the owner of ⁇ ( ⁇ , ⁇ ). 2. Transfer ⁇ ! ⁇ , ⁇ ′ ⁇ ⁇ ⁇ ⁇ token two units from the owner of ⁇ ( ⁇ , ⁇ ) to the owner of ⁇ ( ⁇ ′, ⁇ ′). 3. Replace ⁇ ( ⁇ , ⁇ ) with ⁇ ( ⁇ ⁇ ⁇ ! ⁇ , ⁇ ′ ⁇ , ⁇ ) in ⁇ . The new buy order has the same owner as the old buy order. 4.
- a sequencing rule is a function that takes any state ⁇ and outputs a valid matching sequence.
- a sequencing rule using a batch auction and censorship- resistant order book, may be implemented to generate a verifiable order book.
- An order book is “censorship-resistant” if whenever ⁇ is the result of tampering (e.g., the adding or removing of transactions to a sequence ⁇ ⁇ consisting of only transactions owned by traders), then ⁇ ⁇ ⁇ ⁇ . That is, a sequencer can add but not remove transactions from a censorship-resistant order book.
- FIG. 11 illustrates an example of a demand curve, .( ⁇ ), and supply curve, ⁇ ( ⁇ ), where the demand curve illustrates the amount of token one that buyers in ⁇ would purchase as a function of price, ⁇ , and the supply curve illustrates the amount of token one that sellers in ⁇ would sell as a function of price, ⁇ .
- the sequencing protocol may be arranged so that a network of agents agree about which transactions enter the order book state rather than being arranged to determine the global clock time for when a transaction enters the order book state.
- a protocol is preferable due to inherent latency in any communication network (e.g., different agents will receive transactions at different times and orders).
- Assumptions include that traders communicate with the exchange via a communication network where any message from a sender eventually reaches the designated receiver and that for each transaction ⁇ a trader wishes to include into the order book ⁇ , ⁇ will eventually enter the order book state ⁇ .
- each agent e.g., a verifier, sequencer, or external observer
- Each agent has a local view of the order book. Initially, each local view of the order book is empty.
- the trader may broadcast ⁇ to every agent by some known deadline. Once a verifier 5 + receives ⁇ , then 5 + broadcasts an acknowledgement of ⁇ to every agent.
- the agent then adds 25 12557119.1 Attorney Docket No.: H0776.70157WO00 ⁇ to their local view of the order book.
- the sequencer may then pick a matching sequence ⁇ for their local view, ⁇ , of the order book.
- ⁇ may be verified as valid by: 1. 5 + votes that ⁇ is valid if and only if ⁇ is equal to 5 + ’s local view of the order book. 2.
- ⁇ is considered valid if, and only if, the strict majority of the verifiers vote that ⁇ is valid.
- the procedure to check that M is valid requires the strict majority of participants to be honest by following the above procedure.
- a mechanism that allows any external observer to check whether the strict majority are honest may be provided. Whenever the external observer receives a transaction ⁇ , the observer broadcasts the transaction ⁇ to all verifiers. If ⁇ does not enter the order book in the observer’s view, then most verifiers are dishonest. Therefore, if the strict majority of nodes are not honest, any external observer can detect that most verifiers are dishonest. [0122] Returning to the processes of FIGs.
- these processes may be implemented on a decentralized exchange that is a liquidity pool of two or more tokens.
- a liquidity pool liquidity providers lock capital in reserves of tokens to be traded.
- An example of a decentralized exchange using a liquidity pool is Uniswap. [0123] Let be the number of tokens of a first kind and 8 ⁇ be the number of tokens of a second kind in a liquidity pool of two tokens.
- the product ⁇ 8 ⁇ defines the potential corresponding to a current state of the exchange.
- some decentralized exchanges using a liquidity pool charge a fee to implement transactions.
- ⁇ is a constant and ⁇ ⁇ 1.
- the builder implements the trader’s transaction to also purchase a number ⁇ of token 1, further raising the price of token 1.
- the builder can implement their own transaction ⁇ ? to sell a number ⁇ of token 1 at a higher price than the builder purchased token 1 in transaction ⁇ ⁇ .
- the builder makes a profit in what is known as a “sandwich attack.”
- @ AB4 or @ CDEE are empty sets: add the remaining transactions of the non-empty set of @ AB4 or @ CDEE to ⁇ in any order.
- the verifiable sequencing rule may be arranged to require appending only any @ in @ AB4 or only any @ in @ CDEE to ⁇ .
- part (1) of the above verifiable sequencing rule states that, if there are both purchase and sale transactions in the set of available transactions and a current price of a token is equal to an initial price of the token (or, alternatively, if the current reserves of a 27 12557119.1 Attorney Docket No.: H0776.70157WO00 token are equal to the initial reserves of the token), the next transaction block may be any of the purchase or sale transactions in the set of available transactions. The selected purchase or sale transaction that is appended to the transaction block may then be removed from the set of available transactions.
- the next transaction added to the transaction block should be any of the purchase transactions in the set of available transactions.
- the purchase transaction that is appended to the transaction block may then be removed from the set of available transactions.
- a current price of a token is greater than an initial price of the token (or, alternatively, if the current reserves of a token are less than the initial reserves of the token)
- the next transaction to be added to the transaction block should be any of the sale transactions in the set of available transactions.
- the sale transaction that is appended to the transaction block may then be removed from the set of available transactions.
- Part (2) of the above verifiable sequencing rule states that, if the set of available transactions includes only purchases or only sales, then the remaining transactions of the available transactions may be appended to the transaction block in any order.
- the verifiable sequencing rule may be arranged to ensure the following possibility theorem: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties.
- FIG. 5 is an illustration of the same set of transactions of FIG. 4 when executed in accordance with a transaction order determined using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- the set of purchase transactions, @ AB4 includes transactions ⁇ ⁇ and ⁇ ? , each of size one
- the set of sale transactions, @ CDEE includes only transaction ⁇ ⁇ , also of size one.
- any transaction in @ AB4 or @ CDEE may be initially appended to the transaction block ⁇ . Therefore, any of transactions ⁇ ⁇ , ⁇ ⁇ , or ⁇ ? may be ordered as the first transaction in the transaction block ⁇ .
- FIG. 6 is a schematic diagram illustrating another example of a set of transactions ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. (a purchase of two units of a first token), ⁇ ⁇ (a sale of one unit of the first token), and ⁇ J (a sale of one unit of the first token) are transactions added to the transaction block by a builder while ⁇ ?
- @ AB4 and @ CDEE both initially include three transactions such that the verifiable sequencing rule allow for a selection of any @ in @ AB4 or @ CDEE to be appended to the transaction block ⁇ and to thereafter remove the selected @ from @ AB4 or @ CDEE .
- the builder may therefore include their purchase ⁇ ⁇ as the first transaction in the block. After this first 29 12557119.1 Attorney Docket No.: H0776.70157WO00 transaction, the token 1 reserves will decrease to 8 ⁇ ⁇ 2 ⁇ 8 ⁇ , where 8 ⁇ denotes the initial reserves of the first token, and the verifiable sequencing rule requires that the second transaction in the transaction block ⁇ be selected from @ CDEE .
- the builder may place any of ⁇ ⁇ , ⁇ ? , or ⁇ J as the second transaction in the transaction block ⁇ . In the example of FIG.6, the builder selected ⁇ ⁇ to be the second transaction.
- the token 1 reserves will be ⁇ 1 ⁇ 8 ⁇ , such that the verifiable sequencing rule requires that the third transaction in the transaction block ⁇ be selected from @ CDEE .
- the builder may therefore place either of ⁇ ? or ⁇ J as the third transaction in the transaction block ⁇ .
- the builder selected a trader’s transaction ⁇ ? to be the third transaction in the transaction block ⁇ .
- the token 1 reserves will be back at their initial value of 8 ⁇ .
- the verifiable sequencing rule therefore allows the fourth transaction of the transaction block ⁇ be selected from the remaining transactions in @ AB4 or @ CDEE .
- ⁇ K , ⁇ L , or ⁇ J could be placed as the fourth transaction in the transaction block ⁇ .
- the builder selected transaction ⁇ K the token 1 reserves are returned to 8 ⁇ ⁇ 2 ⁇ 8 ⁇ , and the verifiable sequencing rule requires that the fifth transaction in the transaction block ⁇ be selected from @ CDEE .
- the only remaining transaction in @ CDEE is ⁇ J , which is added as the fifth transaction in the transaction block ⁇ .
- @ CDEE is now empty, and the verifiable sequencing rule requires that any remaining transactions of the non-empty set of @ AB4 be appended to the transaction block ⁇ .
- FIG.7 is a flowchart illustrating a process 700 of ordering a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- the process 700 may be executed using any suitable computing device.
- the process 700 may be performed by a single computing device.
- the process 700 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet.
- the process 700 may be executed using any one of the building computers 110-1 through 110-N or building and executing computer 150, described in connection with FIGs.1A- 2C herein.
- the process 700 may begin with an act 702 of receiving transaction information specifying a set of transactions.
- the transactions may be generated, for example, by one or more remote computers and transmitted by a communications network (e.g., communications network 250) to the computer implementing the process 700.
- a communications network e.g., communications network 250
- Each of the transactions may indicate a purchase or a sale on the exchange.
- each of the transactions in the set of received transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens.
- the process 700 may proceed to an act 704 of ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions.
- the verifiable sequencing rule may be arranged to ensure adherence to the possibility theorem discussed herein.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any purchase or sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the available set of transactions includes both purchases and sales and if a current price of a token is equal to an initial price of the token (or alternatively, if the current reserves of the token are equal to the initial reserves of the token).
- ordering the transactions in the transaction block using the verifiable sequencing rule may include appending any purchase 31 12557119.1 Attorney Docket No.: H0776.70157WO00 transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token (or alternatively, if the current reserves of the token are greater than the initial reserves of the token).
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token (or alternatively, if the current reserves of the token are less than the initial reserves of the token).
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block if the initial or updated set of transactions includes only one of purchases or sales.
- the appended purchase or sale transaction may be removed from the set of transactions to obtain an updated set of transactions after the purchase or sale is appended to the transaction block.
- ordering the transactions of the set of transactions may include executing a smart contract.
- the smart contract may be arranged to order the transactions according to the verifiable sequencing rule.
- the process 700 may proceed to an act 706 of causing the execution of the ordered transactions.
- Causing the execution of the ordered transactions may include transmitting the transaction block from the computer implementing the process 700 to another computer (e.g., to a transmitting computer 130 or an executing computer 140 as described in connection with FIGs.1A-1B and 2A-2B herein) configured to further transmit or execute the transaction block.
- causing the execution of the ordered transactions may alternatively include executing the transactions of the transaction block at the computer implementing the process 700.
- FIG. 8 is a flowchart illustrating a process 800 of verifying the ordering of a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
- the process 800 may be executed using any suitable computing device.
- the process 800 may be performed by a single 32 12557119.1 Attorney Docket No.: H0776.70157WO00 computing device.
- the process 800 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet.
- the process 800 may be executed using transmitting computer 130 described in connection with FIGs.1A-1B and 2A-2B herein.
- process 800 may begin with an act 802 of receiving transaction blocks.
- the transaction blocks may include ordered transactions, where the ordered transactions are to be executed according to the ordering of the transactions in the transaction blocks.
- the transaction blocks may be generated, for example, by one or more remote computers (e.g., building computers 110-1 through 110-N) and transmitted by a communications network (e.g., communications network 250) to the computer implementing the process 700.
- Each of the transactions of the ordered transactions may indicate a purchase or a sale on the exchange.
- each of the transactions in the ordered transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens.
- process 800 may proceed to an act 804 of verifying that the ordered transactions of the received transaction blocks were ordered in compliance with the verifiable sequencing rule described herein.
- process 800 may proceed to an act 806 of selecting a verified transaction block of the received transaction blocks.
- the transmitting computer e.g., transmitting computer 130
- 33 12557119.1 Attorney Docket No.: H0776.70157WO00 may be selected in any suitable way.
- process 800 may proceed to an act 808 of causing the execution of the ordered transactions of the verified transaction block.
- Causing the execution of the ordered transactions may include transmitting the transaction block from the computer implementing the process 800 to another computer (e.g., to an executing computer 140 as described in connection with FIGs. 1A-1B and 2A-2B herein) configured to execute the transaction block.
- causing the execution of the ordered transactions may alternatively include executing the transactions of the transaction block at the computer implementing the process 800.
- FIG.9 is a flowchart illustrating a process 900 of building and executing a transaction block of ordered transactions, in accordance with some embodiments of the technology described herein.
- the process 900 may be executed using any suitable computing devices.
- the process 900 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet.
- the process 900 may be executed using the systems described in connection with FIGs.1A and 2A herein.
- process 900 may begin with an act 902 of transmitting, from a trading computer to one or more building computers, transaction information specifying a set of transactions.
- the transactions may be generated, for example, by one or more remote trading computers (e.g., trading computers 110-1 through 110-N) and transmitted by a communications network (e.g., communications network 250) to building computers (e.g., building computers 120- 1 through 120-M or building and executing computer 150).
- a communications network e.g., communications network 250
- building computers e.g., building computers 120- 1 through 120-M or building and executing computer 150.
- Each of the transactions may indicate a purchase or a sale on the exchange.
- each of the transactions in the set of received transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens.
- process 900 may proceed to an act 904 of ordering the received transactions at each of the one or more building computers and using a verifiable sequencing rule.
- Ordering the transactions may generate transaction blocks of ordered transactions.
- the verifiable sequencing rule may be arranged to ensure adherence of the ordered transactions to the possibility theorem discussed herein.
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any purchase or sale 34 12557119.1 Attorney Docket No.: H0776.70157WO00 transaction in the set of transactions to an end of the ordered transactions in the transaction block if the available set of transactions includes both purchases and sales and if a current price of a token is equal to an initial price of the token (or alternatively, if the current reserves of the token are equal to the initial reserves of the token).
- ordering the transactions in the transaction block using the verifiable sequencing rule may include appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token (or alternatively, if the current reserves of the token are greater than the initial reserves of the token).
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token (or alternatively, if the current reserves of the token are less than the initial reserves of the token).
- ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block if the initial or updated set of transactions includes only one of purchases or sales.
- the appended purchase or sale transaction may be removed from the set of transactions to obtain an updated set of transactions after the purchase or sale is appended to the transaction block.
- ordering the transactions of the set of transactions may include executing a smart contract. The smart contract may be arranged to order the transactions according to the verifiable sequencing rule.
- process 900 may proceed to an act 906 of transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks.
- the one or more building computers may transmit the transaction blocks to the transmitting computer (e.g., transmitting computer 130) using a communications network (e.g., communications network 250).
- a communications network e.g., communications network 250.
- process 900 may proceed to an act 908 of selecting, using the transmitting computer, a transaction block of the ordered transaction blocks.
- selecting the transaction block may include verifying that the received transaction blocks comply with the verifiable sequencing rule.
- F 1,2, ... ,
- process 900 may proceed to an act 910 of transmitting, from the transmitting computer to an executing computer, the selected transaction block.
- the transmitting computer e.g., transmitting computer 130
- may transmit the selected transaction block to an executing computer e.g., executing computer 140
- a communications network e.g., communications network 250
- act 910 may be optional and act 912 may be performed by a same computer as the computer performing act 908 (e.g., building and executing computer 150).
- process 900 may proceed to an act 912 of executing the transaction block using the executing computer.
- the executing computer may be a proof of work miner, a proof of stake miner, or a validator.
- the executing computer may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange.
- the executing computer may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange.
- the executing computer may execute the transactions of the transaction block on a centralized exchange. 36 12557119.1 Attorney Docket No.: H0776.70157WO00 [0165]
- FIG. 10 is a diagram of an illustrative computer system on which embodiments described herein may be implemented.
- FIG. 10 An illustrative implementation of a computer system 1000 that may be used in connection with any of the embodiments of the disclosure provided herein is shown in FIG. 10. In some embodiments, any one of the processes described herein may be implemented on and/or using the computer system 1000.
- the computer system 1000 may include one or more processors 1010 and one or more articles of manufacture that comprise tangible (e.g., non-transitory) computer-readable storage media (e.g., memory 1020 and one or more non- volatile storage media 1030).
- the processor 1010 may control writing data to and reading data from the memory 1020 and the non-volatile storage device 1030 in any suitable manner.
- the processor 1010 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 1020), which may serve as non-transitory computer-readable storage media storing processor-executable instructions for execution by the processor 1010.
- A. Mathematical Background [0166] Lemma A.1 (AM-GM Inequality). Let 1 ⁇ , 1 ⁇ , ... , 1 6 ⁇ 0. Then: [0167] Theorem A.1 (Intermediate Value Theorem). Let S be a real-valued continuous function with domain, dom(S), equal to the interval [W, X].
- a real-valued function f is convex if and only if epi(f ) is a convex set. [0173] Proof. Consider the case where S is convex. Let (1 ⁇ , ⁇ ), ...
- a real-valued function S is convex if dom(S) is a convex set, and for all 1, ⁇ ⁇ dom(S), and all _ ⁇ [0,1]: S ( _ ⁇ 1 + ( 1 ⁇ _ ) ⁇ ⁇ ) ⁇ _ ⁇ S ( 1 ) + ( 1 ⁇ _ ) ⁇ S ( ⁇ ) .
- Lemma B.2. Let w be strictly increasing and quasiconcave. Then there is a bijective convex function S that generates level set 0 ⁇ (w). [0187] Proof. Applying Lemma B.1 with strictly increasing function w implies the existence of a bijective function S that generates 0 ⁇ (w).
- Claim epi(S) ⁇ ⁇ (w) for superlevel set ⁇ ⁇ (w).
- S be the convex function that generates the set of reachable states 0 ⁇ (w) (Lemma B.2).
- BUY( ⁇ , ⁇ ) can successfully execute at 8 & .
- the fact that 8, 8& ⁇ 0 (w) and BUY( ⁇ , ⁇ ) can successf & ⁇ ully execute at 8 implies 8 ⁇ , 8 ⁇ , 8 ⁇ ⁇ ⁇ ⁇ dom(S)(Observation C.1).
- Note 8& ⁇ ⁇ ⁇ is a point between 8 ⁇ ⁇ ⁇ and 8& ⁇ and thus the convexity of dom(S) implies 8 ⁇ & ⁇ ⁇ ⁇ dom(S).
- SELL( ⁇ , ⁇ ) can successfully execute at 8 & then SELL( ⁇ , ⁇ ) can also successfully execute at 8 (Lemma C.1). From the Pricing Lemma (Lemma 2.2): xg8, SELL ( ⁇ ) h ⁇ xg8 & , SELL ( ⁇ ) h. This proves that SELL( ⁇ , ⁇ ) receives a better execution at X than 8 & . [0206] Proof of Theorem 5.1. First, consider the case where the token 1 reserves at 8 are smaller than those at 8 & . From Corollary C.1, any sell order receives a better execution at 8 than 8 & . Second, consider the case where the token 1 reserves at 8 are larger than at 8 & .
- One or more aspects and embodiments of the present disclosure involving the performance of processes or methods may utilize program instructions executable by a device (e.g., a computer, a processor, or other device) to perform, or control performance of, the processes or methods.
- a device e.g., a computer, a processor, or other device
- inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement one or more of the various embodiments described above.
- the computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various ones of the aspects described above.
- computer readable media may be tangible (e.g., non-transitory) computer readable media.
- the computer readable media may comprise a persistent memory.
- program or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects as described above.
- one or more computer programs that when executed perform methods of the present disclosure need not reside on a single computer or processor but may be distributed in a modular fashion among a number of different computers or processors to implement various aspects of the present disclosure.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the functionality of the program modules may be combined or distributed as desired in various embodiments. 44 12557119.1 Attorney Docket No.: H0776.70157WO00
- data structures may be stored in computer-readable media in any suitable form.
- data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields.
- any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
- a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, a quantum computer, or a tablet computer, as non-limiting examples.
- a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smartphone, or any other suitable portable or fixed electronic device.
- PDA Personal Digital Assistant
- a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output.
- Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets.
- a computer may receive input information through speech recognition or in other audible formats.
- Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet.
- networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- some aspects may be embodied as one or more methods. The acts performed as part of the method may be ordered in any suitable way.
- embodiments may be constructed in which acts are performed in an order different than illustrated, which may 45 12557119.1 Attorney Docket No.: H0776.70157WO00 include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments. [0217] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
- references to “A and/or B,” when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
- the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements.
- This definition also allows that elements may optionally be present other than the elements specifically identified within the list 46 12557119.1 Attorney Docket No.: H0776.70157WO00 of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.
- “at least one of A and B” can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
- the terms “approximately” and “about” may be used to mean within ⁇ 20% of a target value in some embodiments, within ⁇ 10% of a target value in some embodiments, within ⁇ 5% of a target value in some embodiments, within ⁇ 2% of a target value in some embodiments.
- the terms “approximately” and “about” may include the target value.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Systems and methods are provided for implementing a verifiable transaction block on an exchange, the verifiable transaction block including transactions (e.g., purchases and/or sales) that are to be executed on the exchange in accordance with an ordering of the transactions. The techniques provided include ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions, and causing the execution of the ordered transactions. The transactions may indicate a purchase and/or a sale of at least one token of two or more tokens on a liquidity pool.
Description
Attorney Docket No.: H0776.70157WO00 CREDIBLE EXCHANGE DESIGN VIA A VERIFIABLE SEQUENCING RULE CROSS-REFERENCE TO RELATED APPLICATIONS [0001] The present application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 63/511,141, filed June 29, 2023, and titled “Credible Exchange Design Via a Verifiable Sequencing Rule,” which is incorporated herein by reference in its entirety. BACKGROUND [0002] Decentralized finance offers the ability to perform financial transactions without relying on conventional intermediaries such as brokerages or banks. Decentralized financial transactions are typically performed on distributed ledgers (e.g., blockchains), with transactions being made directly between participants or mediated by smart contract programs. SUMMARY [0003] In some aspects, the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. [0004] In some aspects, the techniques described herein relate to a computer-implemented method, wherein causing the execution of the ordered transactions includes transmitting, from a first computer to a second computer, the transaction block for execution. [0005] In some aspects, the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 1 12557119.1
Attorney Docket No.: H0776.70157WO00 [0006] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. [0007] In some aspects, the techniques described herein relate to a computer-implemented method, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0008] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0009] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0010] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or 2 12557119.1
Attorney Docket No.: H0776.70157WO00 sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0011] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0012] In some aspects, the techniques described herein relate to at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. [0013] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein causing the execution of the ordered transactions includes transmitting, from the at least one processor to another at least one processor, the transaction block for execution. [0014] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0015] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of 3 12557119.1
Attorney Docket No.: H0776.70157WO00 the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. [0016] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0017] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0018] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0019] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0020] In some aspects, the techniques described herein relate to an at least one non-transitory computer readable medium, wherein ordering the transactions of the set of transactions further 4 12557119.1
Attorney Docket No.: H0776.70157WO00 includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0021] In some aspects, the techniques described herein relate to a system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system including: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method including: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. [0022] In some aspects, the techniques described herein relate to a system, wherein causing the execution of the ordered transactions includes transmitting, from the at least one processor to another at least one processor, the transaction block for execution. [0023] In some aspects, the techniques described herein relate to a system, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0024] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 5 12557119.1
Attorney Docket No.: H0776.70157WO00 [0025] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions further includes, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0026] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0027] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0028] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0029] In some aspects, the techniques described herein relate to a system, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0030] In some aspects, the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction service on a decentralized exchange of a liquidity pool of two or more tokens, the computer-implemented method including: transmitting, from trading computers to one or more building computers, transaction information specifying a 6 12557119.1
Attorney Docket No.: H0776.70157WO00 set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. [0031] In some aspects, the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0032] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. [0033] In some aspects, the techniques described herein relate to a computer-implemented method, further including, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 7 12557119.1
Attorney Docket No.: H0776.70157WO00 [0034] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0035] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0036] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0037] In some aspects, the techniques described herein relate to a computer-implemented method, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0038] In some aspects, the techniques described herein relate to a plurality of non-transitory computer readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method including: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or 8 12557119.1
Attorney Docket No.: H0776.70157WO00 more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. [0039] In some aspects, the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0040] In some aspects, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. [0041] In some aspects, the techniques further include, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0042] In some aspects, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0043] In some aspects, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the 9 12557119.1
Attorney Docket No.: H0776.70157WO00 token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0044] In some aspects, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0045] In some aspects, ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0046] In some aspects, the techniques described herein relate to a distributed system including: a plurality of processors; and a plurality of non-transitory computer readable medium storing processor-executable instructions that, when executed sequentially by each processor of the plurality of processors, cause the plurality of processors to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method including: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. [0047] In some aspects, the techniques described herein relate to a distributed system, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the 10 12557119.1
Attorney Docket No.: H0776.70157WO00 first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0048] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. [0049] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions further includes, after appending the purchase or sale transaction to an end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. [0050] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0051] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further includes, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an 11 12557119.1
Attorney Docket No.: H0776.70157WO00 initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. [0052] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule includes: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0053] In some aspects, the techniques described herein relate to a distributed system, wherein ordering the transactions of the set of transactions further includes executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. [0054] In some aspects, the techniques described herein relate to a computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. [0055] In some aspects, the techniques described herein relate to a computer-implemented method, wherein causing the execution of the ordered transactions includes transmitting, from a first computer to a second computer, the transaction block for execution. [0056] In some aspects, the techniques described herein relate to a computer-implemented method, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the ordered transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 12 12557119.1
Attorney Docket No.: H0776.70157WO00 [0057] In some aspects, the techniques described herein relate to a computer-implemented method, wherein verifying that the ordered transactions were ordered in compliance with the verifiable sequencing rule includes executing a smart contract, the smart contract being configured to verify that the ordered transactions were ordered in compliance with the verifiable sequencing rule. [0058] In some aspects, the techniques described herein relate to at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. [0059] In some aspects, the techniques described herein relate to a system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system including: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method including: receiving transaction blocks, each including ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. BRIEF DESCRIPTION OF DRAWINGS [0060] Various aspects and embodiments will be described with reference to the following figures. It should be appreciated that the figures are not drawn to scale. In the drawings, each 13 12557119.1
Attorney Docket No.: H0776.70157WO00 identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. [0061] FIG.1A is a schematic diagram illustrating a process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein. [0062] FIG.1B is a schematic diagram illustrating a process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein. [0063] FIG.1C is a schematic diagram illustrating another process for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein. [0064] FIG. 2A is a schematic diagram of an illustrative distributed system for executing transactions on an exchange using an auction system, in accordance with some embodiments of the technology described herein. [0065] FIG. 2B is a schematic diagram of an illustrative distributed system for executing transactions on an exchange, in accordance with some embodiments of the technology described herein. [0066] FIG.2C is a schematic diagram of another illustrative distributed system for executing transactions on an exchange, in accordance with some embodiments of the technology described herein. [0067] FIG. 3 is a plot illustrating a liquidity pool of two tokens, in accordance with some embodiments of the technology described herein. [0068] FIG.4 is a schematic diagram illustrating how the ordering of transactions can cause a miner to profit at a trader’s loss. [0069] FIG.5 is a schematic diagram illustrating the same set of transactions of FIG.4 when ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. [0070] FIG. 6 is a schematic diagram illustrating another example of a set of transactions ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. 14 12557119.1
Attorney Docket No.: H0776.70157WO00 [0071] FIG.7 is a flowchart illustrating a process 700 of ordering a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. [0072] FIG. 8 is a flowchart illustrating a process 800 of verifying the ordering of a set of transactions in compliance with a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. [0073] FIG.9 is a flowchart illustrating a process 900 of building and executing a transaction block of ordered transactions, in accordance with some embodiments of the technology described herein. [0074] FIG. 10 is a diagram of an illustrative computer system, in accordance with some embodiments. [0075] FIG.11 is a plot illustrating demand and supply curves for tokens available for sale or purchase on an order book, in accordance with some embodiments of the technology described herein. DETAILED DESCRIPTION [0076] Provided herein are techniques for executing verifiable transactions on an exchange where builders compose blocks of transactions to be executed on the exchange by selecting the ordering of transactions within the transaction blocks. Conventionally, builders may exploit their position within the exchange to build transaction blocks that include transactions of their own (e.g., by front-running trader transactions), thus gaining risk-free profits at the expense of other traders on the exchange. This problem is known as miner extractable value, or MEV. The techniques described herein implement a verifiable sequencing rule that prevents or mitigates builders from generating transaction blocks that provide MEV at a small cost to execution quality. Additionally, the verifiable sequencing rule enables third party verification of builders’ compliance with the verifiable sequencing rule. [0077] Trading on exchanges (e.g., decentralized exchanges) has been a primary use case for permissionless blockchains, with daily trading volume exceeding billions of U.S. dollars and circulating supplies of tokens on the order of hundreds of millions (e.g., Uniswap has a maximum supply of one billion tokens). Conventionally, traders broadcast transactions (e.g., purchases or sales) they wish to execute on the exchange, and builders compose blocks of transactions and select an ordering of execution of those transactions in the block. Builders may act on behalf of 15 12557119.1
Attorney Docket No.: H0776.70157WO00 miners or validators who operate the consensus protocol that determines what is written to the blockchain. Alternatively, miners, validators, or other entities could be responsible for the composition of blocks. Due to the lack of regulatory framework, it is common for builders or similar parties to exploit their position to front-run trader transactions to obtain MEV. Traders may implement countermeasures to mitigate losses caused by MEV, such as setting limit prices or splitting large transactions into multiple smaller transactions. [0078] The inventors have recognized and appreciated that trading on exchanges may be improved by modifying the interaction between builders and traders. In particular, the inventors have recognized and appreciated that price manipulation by builders may be limited if builders commit to respecting a verifiable sequencing rule which constrains an execution ordering of transactions within a transaction block and if price manipulation can be verified from publicly available information associated with the transactions selected to form a transaction block. Compliance with this rule is verifiable by outside observers such that non-compliant builders may be identified, either manually or automatically (e.g., through the execution of a smart contract). [0079] Accordingly, the inventors have developed techniques for implementing a verifiable sequencing rule on a financial exchange. The verifiable sequencing rule ensures, for any user transaction ^, that either (i) the execution price of ^ is at least as good as if ^ was the only transaction in the block (the “standalone” price), (ii) the execution price of ^ is worse than the standalone price but the builder does not profit when including ^ in the transaction block, or (iii) builder misconduct to subvert the verifiable sequencing rule is observable by third parties. [0080] The verifiable sequencing rule described herein provides execution price guarantees for traders and improves the user experience of trading on exchanges. Unlike conventional technology for mitigating builder misconduct, the techniques described herein improve upon such technology by providing a guarantee that such misconduct is not present and processing multiple transactions in a batch, reducing the overall computational burden of implementing a mitigation strategy. For example, rather than implementing countermeasures to reduce losses, traders can securely request single large transactions instead of splitting a single transaction into many smaller transactions. [0081] As a result, throughput on the exchange will increase because traders will request fewer transactions overall. Additionally, each computational step to write a transaction block to the exchange will include a larger trading volume. For example, transaction blocks may include at least 10, 100, 1000, 10,000, 100,000, 500,000, 1,000,000, between 10 and 1000, between 100 and 16 12557119.1
Attorney Docket No.: H0776.70157WO00 100,000, between 2 and 100,000, between 2 and 500,000, and/or between 2 and 1,000,000 transactions, or any other suitable range of transactions within these ranges. Such an increase in throughput will also reduce an energy cost per transaction, as a greater volume of trades will be executed in a same computational step. [0082] In some embodiments, a method for ordering transactions to obtain a verifiable transaction block for executing on an exchange is provided. The exchange may be a liquidity pool having two or more tokens, in some embodiments. The method may include receiving transaction information specifying a set of transactions, and the transactions are to be ordered prior to their execution on the exchange. The transactions may also indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool). The method may also include ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions and causing the execution of the ordered transactions. [0083] In some embodiments, causing the execution of the ordered transactions may include transmitting the transaction block for execution from a first computer (e.g., a building computer or a transmitting computer) to a second computer (e.g., an executing computer). In some embodiments, causing the execution of the ordered transactions may include executing the ordered transactions (e.g., at a same building computer). [0084] In some embodiments, the verifiable sequencing rule may be a rule or set of rules arranged to ensure that builders do not gain profit at the cost of trader execution price from assembling the transaction block if they comply with the verifiable sequencing rule. For example, the verifiable sequencing rule may be arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0085] In some embodiments, ordering the transactions using the verifiable sequencing rule to generate a transaction block includes, if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. In some embodiments, ordering the transactions using the verifiable sequencing rule to generate 17 12557119.1
Attorney Docket No.: H0776.70157WO00 a transaction block includes, if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. The appended sale or purchase transaction may then be removed from the set of transactions to obtain an updated set of transactions. [0086] In some embodiments, ordering the transactions using the verifiable sequencing rule to generate a transaction block includes, if the set of transactions or the updated set of transactions includes only one of purchases or sales, appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. [0087] In some embodiments, ordering the transactions to generate a transaction block may comprise executing a smart contract. The smart contract may be configured to order the transactions according to the verifiable sequencing rule. [0088] In some embodiments, a method for verifying the ordering of transactions in a verifiable transaction block is provided. The method may include receiving transaction blocks comprising ordered transactions, where the ordered transactions are to be executed according to the ordering of the transactions. Each of the transactions in the ordered transactions may indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool). The method may further include verifying, using the verifiable sequencing rule, that the ordered transactions were ordered in compliance with the verifiable sequencing rule. In some embodiments, verifying that the ordered transactions were ordered in compliance with the verifiable sequencing rule comprises executing a smart contract. Thereafter, the method may include selecting a verified transaction block of the received transaction blocks and causing the execution of the ordered transactions of the verified transaction block. [0089] In some embodiments, a method for implementing a verifiable relay service on an exchange is provided. The method includes transmitting, from a trading computer to one or more building computers, transaction information specifying a set of transactions to be ordered prior to execution. Each of the transactions in the ordered transactions may indicate a purchase or a sale on the exchange (e.g., of at least one token, in the example of a liquidity pool). The method may include ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions. Thereafter, the method may include transmitting, from the one or more building computers to a transmitting computer, the ordered transaction blocks. The method may include selecting, using 18 12557119.1
Attorney Docket No.: H0776.70157WO00 the transmitting computer, a transaction block of the ordered transaction blocks and transmitting, from the transmitting computer to an executing computer, the selected transaction block. Finally, the method may include executing, using the executing computer, the transaction block. [0090] Following below are more detailed descriptions of various concepts related to, and embodiments of, techniques for implementing a credible decentralized exchange using a verifiable sequencing rule. It should be appreciated that various aspects described herein may be implemented in any of numerous ways. Examples of specific implementations are provided herein for illustrative purposes only. In addition, the various aspects described in the embodiments below may be used alone or in any combinations and are not limited to the combinations explicitly described herein. [0091] FIG.1A is a schematic diagram illustrating a process 100a for ordering and executing a set of transactions on an exchange (e.g., a decentralized exchange, an exchange implemented using an auction system, etc.), in accordance with some embodiments of the technology described herein. Trading computers 110-1 through 110-N may be configured to generate transactions ^^, ^^, … , where ^ is an integer number. Each of the transactions ^^, ^^, … , ^^ may include information indicative of a purchase or sale on the exchange. For example, on an exchange of a liquidated pool including two or more tokens, each of the transactions ^^, ^^, … , ^^ may include information indicative of a purchase or sale of at least one token of the liquidated pool. Alternatively, each of the transactions ^^, ^^, … , ^^ may indicate the purchase or sale of a stock, security, and/or currency, and the exchange may be a centralized exchange. [0092] In some embodiments, the trading computers 110-1 through 110-N may be computers, computing devices, or distributed computing systems associated with traders acting on the exchange. The trading computers may be configured to transmit transactions ^^, ^^, … , ^^ from the trading computers 110-1 through 110-N to building computers 120-1 through 120-M, where ^ is an integer that may be equal to or different than the integer ^. [0093] In some embodiments, the building computers 120-1 through 120-M may assemble transaction blocks ^^^, ^^^, … , ^^^ using some or all of the transactions ^^, ^^, … , ^^. The building computers 120-1 through 120-M may also include additional transactions (e.g., transactions that the builders want to execute on the exchange) in the transaction blocks ^^^, ^^^, … , ^^^. [0094] When assembling the transaction blocks ^^^, ^^^, … , ^^^, the building computers 120-1 through 120-M may arrange the transactions in any order consistent with a verifiable 19 12557119.1
Attorney Docket No.: H0776.70157WO00 sequencing rule implemented on the exchange. The transactions may be ordered to indicate an order of execution on the exchange (e.g., a first transaction in the transaction block may be executed first, a second transaction in the transaction block may be executed second after the first transaction is executed, etc.). [0095] In some embodiments, the building computers 120-1 through 120-M may be single computers and/or computing devices or may be distributed computing systems performing multiparty computation. For example, in some embodiments, a building computer of the building computers 120-1 through 120-M may build a transaction block using multiple, communicatively coupled processors housed separately from one another. [0096] In some embodiments, the building computers 120-1 through 120-M may transmit the transaction blocks ^^^, ^^^, … , ^^^ to a transmitting computer 130. The transmitting computer 130 may be configured to verify that the ordering of transactions in each of the transaction blocks ^^^, ^^^, … , ^^^ complies with the verifiable sequencing rule. In some embodiments, the transmitting computer 130 may be a computer, a computing device, or a distributed computing systems associated with transmitters (e.g., relays, auctions, or other services) acting on the exchange. [0097] In some embodiments, the transmitting computer 130 may be additionally configured to select a transaction block for execution (e.g., acting as a relay or an auctioneer in an auction service). In some embodiments, the transmitting computer 130 could combine more than one transaction block into a single transaction block. The transmitting computer 130 may then transmit the selected or combined transaction block to executing computer 140 for execution. The executing computer 140 may be a computer, a computing device, or a distributed computing systems associated with executors (e.g., validators, miners, or others executing transactions) acting on the exchange. [0098] In some embodiments, the executing computer 140 may be configured to execute the selected transaction block. For example, the executing computer 140 may be a proof of work miner, a proof of stake miner, or a validator. The executing computer 140 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange. In some embodiments, the executing computer 140 may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments 20 12557119.1
Attorney Docket No.: H0776.70157WO00 the executing computer 140 may execute the transactions of the transaction block on a centralized exchange. [0099] In some embodiments, the process 100a of FIG.1A may be performed using a system 200a as illustrated by FIG.2A. The system 200a includes trading computers 110-1 through 110- N, building computers 120-1 through 120-M, transmitting computer 130, and executing computer 140. Each of these computers is communicatively coupled by communications network 250. For example, the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet). Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks. [0100] FIG. 1B is a schematic diagram illustrating an alternative process 100b for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein. As in the example of FIG.1A, trading computers 110-1 through 110- N may be configured to generate transactions ^^, ^^, … ,
In process 100b, however, trading computers 110-1 through 110-N may be configured to transmit transactions ^^, ^^, … , ^^, to a single building computer 120-1. [0101] In some embodiments, the single building computer 120-1 may be configured to generate the transaction block ^^ by arranging the transactions in any order consistent with a verifiable sequencing rule implemented on the exchange. The transactions may be ordered to indicate an order of execution on the exchange (e.g., a first transaction in the transaction block may be executed first, a second transaction in the transaction block may be executed second after the first transaction is executed, etc.). [0102] In some embodiments, the single building computer 120-1 may be a single computer and/or computing device or may be a distributed computing system performing multiparty computation. For example, in some embodiments, the building computer 120-1 may build the transaction block ^^ using multiple, communicatively coupled processors housed separately from one another. [0103] In some embodiments, the single building computer 120-1 may be configured to transmit the transaction block ^^ to the executing computer 140 for execution of the ordered transactions in the transaction block ^^. The executing computer 140 may be configured to verify that the ordering of the transactions in the transaction block ^^ complies with the verifiable sequencing rule and/or to execute the transaction block ^^ on the exchange. 21 12557119.1
Attorney Docket No.: H0776.70157WO00 [0104] For example, in some embodiments, the executing computer 140 may be a proof of work miner, a proof of stake miner, or a validator. The executing computer 140 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange. In some embodiments, the executing computer 140 may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments the executing computer 140 may execute the transactions of the transaction block on a centralized exchange. In some embodiments, the executing computer 140, prior to executing the selected transaction block, may verify that the ordering of the transactions in the selected transaction block complies with the verifiable sequencing rule. For example, the executing computer 140 may use a smart contract to verify that the ordering of the transactions complies with the verifiable sequencing rule. [0105] In some embodiments, the process 100b of FIG.1B may be performed using a system 200b as illustrated by FIG.2B. The system 200b includes trading computers 110-1 through 110- N, a building computer 120-1, and executing computer 140. Each of these computers is communicatively coupled by communications network 250. For example, the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet). Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks. [0106] FIG. 1C is a schematic diagram illustrating an alternative process 100c for ordering and executing a set of transactions on an exchange, in accordance with some embodiments of the technology described herein. As in the example of FIG.1A, trading computers 110-1 through 110- N may be configured to generate transactions ^^, ^^, … ,
In process 100c, however, trading computers 110-1 through 110-N may be configured to transmit transactions ^^, ^^, … , ^^, to a single building and executing computer 150. [0107] The building and executing computer 150 may be configured to generate the transaction block ^^ by ordering the transactions ^^, ^^, … , ^^ in any order consistent with a verifiable sequencing rule implemented on the exchange. The building and executing computer 150 may also be configured to, after generating the transaction block ^^, execute the transaction block ^^ on the exchange. 22 12557119.1
Attorney Docket No.: H0776.70157WO00 [0108] In some embodiments, the building and executing computer 150 may be a computer, a computing device, or a distributed computing system performing multiparty computation. For example, in some embodiments, the building and executing computer 150 may build and/or execute the transaction block ^^ using multiple, communicatively coupled processors housed separately from one another. [0109] In some embodiments, the building and executing computer 150 may be a proof of work miner, a proof of stake miner, or a validator. The building and executing computer 150 may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange. In some embodiments, the building and executing computer 150 may be configured to execute the transaction block ^^ by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments the building and executing computer 150 may execute the transactions of the transaction block on a centralized exchange. [0110] In some embodiments, the process 100c of FIG.1C may be performed using a system 200c as illustrated by FIG.2C. The system 200c includes trading computers 110-1 through 110- N and a building and executing computer 150. Each of these computers is communicatively coupled by communications network 250. For example, the communications network 250 may be a local network (e.g., a local area network (LAN), wide area network (WAN), or intranet) or an open network (e.g., the internet). Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks. [0111] In some embodiments, the process 100c of FIG. 1C may be implemented on a centralized exchange. The centralized exchange may be, for example, running an order book including bids and asks. The process 100c may be implemented on such a centralized exchange by matching bids and asks on the order book according to the verifiable sequencing rule described herein. [0112] In some embodiments, on an order book, a buy order ^^^(^, ^) signals the intent to purchase up to ^ units of token one at a maximum price of ^ per unit, where the price is denominated in units of token two. A sell order ^^^^(^, ^) signals the intent to sell up to ^ units of token one at a minimum price of ^ per unit, where the price is denominated in units of token two. An order book exchange has a state, ^, representing the set of buys and sells in the order book. A match in ^ is a tuple, ^ = (^^^(^, ^), ^^^^(^′, ^′), ^∗) ∈ ^ × ^ × ℝ^^, where 23 12557119.1
Attorney Docket No.: H0776.70157WO00 ^^^(^, ^) is a buy order in the state, ^^^^(^′, ^′) is a sell order in the state, and ^∗ is the execution price. A match is valid if ^′ ≤ ^∗ ≤ ^ (e.g., the price is at least the limit price for the seller and at most the limit price of the buyer). [0113] A valid match results in the following transfer of assets, as well as updates to the state ^: 1. Transfer ^ !{^, ^′} token one units from the owner of ^^^^(^′, ^′) to the owner of ^^^(^, ^). 2. Transfer ^ !{^, ^′} ∙ ^∗ token two units from the owner of ^^^(^, ^) to the owner of ^^^^(^′, ^′). 3. Replace ^^^(^, ^) with ^^^(^ − ^ !{^, ^′}, ^) in ^. The new buy order has the same owner as the old buy order. 4. Replace ^^^^(^′, ^′) with ^^^^(^& − ^ !{^, ^′}, ^′) in ^. The new sell order has the same owner as the old sell order. [0114] A matching sequence (^^, ^^, ... , ^() for state ^ is a list of matches. Let ^^ = ^ and for all ∈ [^], let ^+ be the state after
executes on state ^+,^. A matching sequence is valid if, for each ∈
is a valid match in ^+. A sequencing rule is a function that takes any state ^ and outputs a valid matching sequence. [0115] In some embodiments, a sequencing rule, using a batch auction and censorship- resistant order book, may be implemented to generate a verifiable order book. An order book is “censorship-resistant” if whenever ^ is the result of tampering (e.g., the adding or removing of transactions to a sequence ^∗ consisting of only transactions owned by traders), then ^ ⊇ ^∗. That is, a sequencer can add but not remove transactions from a censorship-resistant order book. [0116] FIG. 11 illustrates an example of a demand curve, .(^), and supply curve, ^(^), where the demand curve illustrates the amount of token one that buyers in ^ would purchase as a function of price, ^, and the supply curve illustrates the amount of token one that sellers in ^ would sell as a function of price, ^. The sequencing rule is then: 1. Initialize ^ as empty. 2. Determine the curve /, where .(^) intersects with ^(^). Let the line segment 0 = [1, ^] be the projection of / to the price axis. Then determine the midpoint, ^∗, of the line segment,
3. While there is a buy ^^^(^, ^) ∈ ^ and a sell ^^^^(^′, ^′) ∈ ^, where ^′ ≤ ^∗ ≤ ^, 24 12557119.1
Attorney Docket No.: H0776.70157WO00 append (^^^(^, ^), ^^^^(^′, ^′), ^∗) to ^ and update ^ as the state after the match executes. This sequencing rule is publicly verifiable because any party can check if all transactions in a block pay the same price. [0117] Assuming ^∗ is the untampered order book state, and ^ is a valid matching sequence obtaining the above sequencing rule for a potentially tampered order book state ^ ⊇ ^∗, then for any trader transaction ^ ∈ ^∗, the execution price of ^ will be: • at least as good as the execution price the trader could obtain from any valid matching sequence for ^∗, the untampered price; or • worse than the untampered price. The converse of the above is that if the sequencer derives positive utility from including a trader transaction, then the trader must receive an execution price at least as good as if the sequencer did not tamper with the order book. [0118] In some embodiments, the sequencing protocol may be arranged so that a network of agents agree about which transactions enter the order book state rather than being arranged to determine the global clock time for when a transaction enters the order book state. Such a protocol is preferable due to inherent latency in any communication network (e.g., different agents will receive transactions at different times and orders). Assumptions include that traders communicate with the exchange via a communication network where any message from a sender eventually reaches the designated receiver and that for each transaction ^ a trader wishes to include into the order book ^, ^ will eventually enter the order book state ^. [0119] In some embodiments, to make the exchange censorship-resistant, there may be multiple verifiers (5^, 5^, ... , 56) in this network who vote on the state of the order book. Alternatively or additionally, there may be external observers who do not actively participate in the protocol but only contribute by replaying messages in the network (e.g., a regulatory agency). Each agent (e.g., a verifier, sequencer, or external observer) has a local view of the order book. Initially, each local view of the order book is empty. [0120] In some embodiments, if a trader wants to include a transaction ^ in the local view of the order book of every agent, the trader may broadcast ^ to every agent by some known deadline. Once a verifier 5+ receives ^, then 5+ broadcasts an acknowledgement of ^ to every agent. Once an agent receives an acknowledgment of ^ from the strict majority of verifiers, the agent then adds 25 12557119.1
Attorney Docket No.: H0776.70157WO00 ^ to their local view of the order book. The sequencer may then pick a matching sequence ^ for their local view, ^, of the order book. ^ may be verified as valid by: 1. 5+ votes that ^ is valid if and only if ^ is equal to 5+’s local view of the order book. 2. ^ is considered valid if, and only if, the strict majority of the verifiers vote that ^ is valid. The procedure to check that M is valid requires the strict majority of participants to be honest by following the above procedure. Further, if the strict majority of verifiers are honest, then the sequencer can only generate valid matching sequences for order books states that were not censored. [0121] In some embodiments, a mechanism that allows any external observer to check whether the strict majority are honest may be provided. Whenever the external observer receives a transaction ^, the observer broadcasts the transaction ^ to all verifiers. If ^ does not enter the order book in the observer’s view, then most verifiers are dishonest. Therefore, if the strict majority of nodes are not honest, any external observer can detect that most verifiers are dishonest. [0122] Returning to the processes of FIGs. 1A, 1B, or 1C, these processes may be implemented on a decentralized exchange that is a liquidity pool of two or more tokens. In a liquidity pool, liquidity providers lock capital in reserves of tokens to be traded. An example of a decentralized exchange using a liquidity pool is Uniswap. [0123] Let
be the number of tokens of a first kind and 8^ be the number of tokens of a second kind in a liquidity pool of two tokens. In a constant function market maker (e.g., Uniswap or other suitable decentralized exchanges), the product
∙ 8^ defines the potential corresponding to a current state of the exchange. As illustrated in FIG.3, a trader can submit a transaction on the exchange against the liquidity pool and, for example, withdraw ^ > 0 units of token 1 as long as they deposit a quantity ^ > 0 of token two that preserves the potential: (8^ − ^)(8^ + ^) = 8^ ∙ 8^. Alternatively, some decentralized exchanges using a liquidity pool charge a fee to implement transactions. On such exchanges, a transaction must preserve the potential according to: (8^ − ^)(8^ + ^<) = 8^ ∙ 8^. where < is a constant and < < 1. [0124] On an exchange based on a liquidity pool, those assembling transaction blocks can easily manipulate the transaction ordering to gain profit, or miner-extractable value (MEV), as 26 12557119.1
Attorney Docket No.: H0776.70157WO00 illustrated in FIG.4. In the example of FIG.4, the horizontal axis represents the amount of token 1 in reserve, with the value increasing from left to right. In this example, the builder has added two transactions, ^^ and ^?, to “sandwich” the trader’s transaction, ^^. In a first transaction, ^^, the builder purchases a number ^ of token 1, raising its price relative to its initial price. In a second transaction, ^^, the builder implements the trader’s transaction to also purchase a number ^ of token 1, further raising the price of token 1. In a third transaction, the builder can implement their own transaction ^? to sell a number ^ of token 1 at a higher price than the builder purchased token 1 in transaction ^^. Thus, the builder makes a profit in what is known as a “sandwich attack.” [0125] The inventors have recognized and appreciated that such sandwich attacks, along with other types of MEV attacks, may be mitigated if builders are required to comply with the following verifiable sequencing rule, in accordance with some embodiments described herein. Given an initial set of transactions, @^, … , @^, that can be described by the sets @AB4 and @CDEE, where @AB4 is a set of the purchasing transactions in @ CDEE ^, … , @^ and @ is a set of the sale transactions in @^, … , @^, and an initial state of the liquidity pool 8^ = (8^,^, 8^,^), where 8^,^ and 8^,^ are the initial reserves of the first and second tokens, respectfully, an execution ordering ^, where ^ is initially empty and F = |^|, can be determined by: 1. While @AB4 and @CDEE are both non-empty sets: (a) If 8H,^ = 8^,^, append any @ in @AB4 or any @ in @CDEE to ^ and remove the selected @ from @AB4 or @CDEE; (b) If 8H,^ > 8^,^, append any @ in @AB4 to ^ and remove the selected @ from @AB4; (c) Else, append any @ in @CDEE to ^ and remove the selected @ from @CDEE, where appending a transaction to ^ defines the state 8H3^ = (8H3^,^, 8H3^,^) as the state after the appended transaction executes on state 8H. 2. If @AB4 or @CDEE are empty sets: add the remaining transactions of the non-empty set of @AB4 or @CDEE to ^ in any order. [0126] In some embodiments, in the case that 8H,^ = 8^,^ and the current price is the same as the initial price of the token, the verifiable sequencing rule may be arranged to require appending only any @ in @AB4 or only any @ in @CDEE to ^. [0127] In some embodiments, part (1) of the above verifiable sequencing rule states that, if there are both purchase and sale transactions in the set of available transactions and a current price of a token is equal to an initial price of the token (or, alternatively, if the current reserves of a 27 12557119.1
Attorney Docket No.: H0776.70157WO00 token are equal to the initial reserves of the token), the next transaction block may be any of the purchase or sale transactions in the set of available transactions. The selected purchase or sale transaction that is appended to the transaction block may then be removed from the set of available transactions. Alternatively, if a current price of a token is less than an initial price of the token (or, alternatively, if the current reserves of a token are greater than the initial reserves of the token), the next transaction added to the transaction block should be any of the purchase transactions in the set of available transactions. The purchase transaction that is appended to the transaction block may then be removed from the set of available transactions. However, if a current price of a token is greater than an initial price of the token (or, alternatively, if the current reserves of a token are less than the initial reserves of the token), then the next transaction to be added to the transaction block should be any of the sale transactions in the set of available transactions. The sale transaction that is appended to the transaction block may then be removed from the set of available transactions. Part (2) of the above verifiable sequencing rule states that, if the set of available transactions includes only purchases or only sales, then the remaining transactions of the available transactions may be appended to the transaction block in any order. [0128] In some embodiments, the verifiable sequencing rule may be arranged to ensure the following possibility theorem: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. [0129] As an example of the implementation of the verifiable sequencing rule described above, FIG. 5 is an illustration of the same set of transactions of FIG. 4 when executed in accordance with a transaction order determined using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. In the example of FIG.5, initially the set of purchase transactions, @AB4, includes transactions ^^ and ^?, each of size one, and the set of sale transactions, @CDEE, includes only transaction ^^, also of size one. To select a first transaction to be executed, one looks to whether 8H,^ ≥ 8^,^; in this case, 8H,^ = 8^,^ initially, and 28 12557119.1
Attorney Docket No.: H0776.70157WO00 any transaction in @AB4 or @CDEE may be initially appended to the transaction block ^. Therefore, any of transactions ^^, ^^, or ^? may be ordered as the first transaction in the transaction block ^. [0130] Assume that the builder’s transaction ^^ is selected as the first transaction in the block ^, after appending ^ to the transactio AB4 CDEE ^ n block ^, there are still transactions in both @ and @ , but 8H,^ < 8^,^. Thus, the sale ^^ must be appended to the transaction block ^ as the second transaction. [0131] After appending transaction ^ to the transaction block ^ an CDEE ^ d removing it from @ , @CDEE is now empty, and the rules require that the transactions remaining in @AB4 must be appended to the transaction block ^. Thus, the transaction ^? is appended as the third transaction in the transaction block ^. The full set of transaction orderings that are allowable under the verifiable sequencing rule for the example of FIG.5 is:
^^, ^^, ^?
As may be appreciated from the example of FIG.5 and the above allowable transaction orderings, using the verifiable sequencing rule results in the builder being unable to implement the sandwich attack of FIG.4. [0132] FIG. 6 is a schematic diagram illustrating another example of a set of transactions ordered using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein.
(a purchase of two units of a first token), ^^ (a sale of one unit of the first token), and ^J (a sale of one unit of the first token) are transactions added to the transaction block by a builder while ^? (a sale of one unit of the first token), ^K (a purchase of two units of the first token), and ^L (a purchase of two units of the first token) are transactions requested by traders. In this example, the builder is able to extract some MEV from the transaction block because the transactions ^^, ^^, and ^J are inserted into the transaction block by the builder, but the transaction block is not in violation of the possibility theorem described above. [0133] In the example of FIG.6, @AB4 and @CDEE both initially include three transactions such that the verifiable sequencing rule allow for a selection of any @ in @AB4 or @CDEE to be appended to the transaction block ^ and to thereafter remove the selected @ from @AB4 or @CDEE. The builder may therefore include their purchase ^^ as the first transaction in the block. After this first 29 12557119.1
Attorney Docket No.: H0776.70157WO00 transaction, the token 1 reserves will decrease to 8^ − 2 < 8^, where 8^ denotes the initial reserves of the first token, and the verifiable sequencing rule requires that the second transaction in the transaction block ^ be selected from @CDEE. Thus, the builder may place any of ^^, ^?, or ^J as the second transaction in the transaction block ^. In the example of FIG.6, the builder selected ^^ to be the second transaction. [0134] After executing transaction ^^, the token 1 reserves will be
− 1 < 8^, such that the verifiable sequencing rule requires that the third transaction in the transaction block ^ be selected from @CDEE. The builder may therefore place either of ^? or ^J as the third transaction in the transaction block ^. In the example of FIG.6, the builder selected a trader’s transaction ^? to be the third transaction in the transaction block ^. [0135] After executing transaction ^?, the token 1 reserves will be back at their initial value of 8^. The verifiable sequencing rule therefore allows the fourth transaction of the transaction block ^ be selected from the remaining transactions in @AB4 or @CDEE. Thus, ^K, ^L, or ^J could be placed as the fourth transaction in the transaction block ^. Here, the builder selected transaction ^K. [0136] After executing transaction ^K, the token 1 reserves are returned to 8^ − 2 < 8^, and the verifiable sequencing rule requires that the fifth transaction in the transaction block ^ be selected from @CDEE. The only remaining transaction in @CDEE is ^J, which is added as the fifth transaction in the transaction block ^. [0137] At this point, @CDEE is now empty, and the verifiable sequencing rule requires that any remaining transactions of the non-empty set of @AB4 be appended to the transaction block ^. In this example, only transaction ^L remains in @AB4, and therefore ^L is appended as the sixth and last transaction in the transaction block ^. [0138] As should be appreciated from the example of FIG.6, the builder is still able to extract a small amount of MEV from the transaction block ^, as the builder can split the sale of the two purchased tokens in transaction
into two smaller sale transactions ^^ and ^J. However, the verifiable sequencing rule does prevent the builder from extracting a large amount of MEV, as the builder cannot create a transaction ordering that is a pure sandwich attack (e.g., ^^, ^K, ^L, ^^, ^J, ^?) which would cause the traders additional loss in comparison to the ordering shown in the example of FIG.6. Additionally, the ordering of the transaction block T of FIG.6 adheres to the possibility theorem described herein for each of the trader’s transactions ^?, ^K, and 30 12557119.1
Attorney Docket No.: H0776.70157WO00 ^L: (i) an execution price of ^K is as good as a standalone price for the first transaction, and (ii) the execution price of ^? and ^L is worse than the standalone price, but the builder does not gain profit from including ^? and ^L in the transaction block ^. [0139] FIG.7 is a flowchart illustrating a process 700 of ordering a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. The process 700 may be executed using any suitable computing device. For example, in some embodiments, the process 700 may be performed by a single computing device. As another example, in some embodiments, the process 700 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet. In some embodiments, the process 700 may be executed using any one of the building computers 110-1 through 110-N or building and executing computer 150, described in connection with FIGs.1A- 2C herein. [0140] In some embodiments, the process 700 may begin with an act 702 of receiving transaction information specifying a set of transactions. The transactions may be generated, for example, by one or more remote computers and transmitted by a communications network (e.g., communications network 250) to the computer implementing the process 700. Each of the transactions may indicate a purchase or a sale on the exchange. For example, each of the transactions in the set of received transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens. [0141] In some embodiments, after act 702, the process 700 may proceed to an act 704 of ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions. The verifiable sequencing rule may be arranged to ensure adherence to the possibility theorem discussed herein. [0142] In some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any purchase or sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the available set of transactions includes both purchases and sales and if a current price of a token is equal to an initial price of the token (or alternatively, if the current reserves of the token are equal to the initial reserves of the token). [0143] Alternatively or additionally, in some embodiments, ordering the transactions in the transaction block using the verifiable sequencing rule may include appending any purchase 31 12557119.1
Attorney Docket No.: H0776.70157WO00 transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token (or alternatively, if the current reserves of the token are greater than the initial reserves of the token). Alternatively or additionally, in some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token (or alternatively, if the current reserves of the token are less than the initial reserves of the token). [0144] In some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block if the initial or updated set of transactions includes only one of purchases or sales. [0145] In some embodiments, the appended purchase or sale transaction may be removed from the set of transactions to obtain an updated set of transactions after the purchase or sale is appended to the transaction block. [0146] In some embodiments, ordering the transactions of the set of transactions may include executing a smart contract. The smart contract may be arranged to order the transactions according to the verifiable sequencing rule. [0147] In some embodiments, after act 704, the process 700 may proceed to an act 706 of causing the execution of the ordered transactions. Causing the execution of the ordered transactions may include transmitting the transaction block from the computer implementing the process 700 to another computer (e.g., to a transmitting computer 130 or an executing computer 140 as described in connection with FIGs.1A-1B and 2A-2B herein) configured to further transmit or execute the transaction block. In some embodiments, causing the execution of the ordered transactions may alternatively include executing the transactions of the transaction block at the computer implementing the process 700. [0148] FIG. 8 is a flowchart illustrating a process 800 of verifying the ordering of a set of transactions using a verifiable sequencing rule, in accordance with some embodiments of the technology described herein. The process 800 may be executed using any suitable computing device. For example, in some embodiments, the process 800 may be performed by a single 32 12557119.1
Attorney Docket No.: H0776.70157WO00 computing device. As another example, in some embodiments, the process 800 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet. In some embodiments, the process 800 may be executed using transmitting computer 130 described in connection with FIGs.1A-1B and 2A-2B herein. [0149] In some embodiments, process 800 may begin with an act 802 of receiving transaction blocks. The transaction blocks may include ordered transactions, where the ordered transactions are to be executed according to the ordering of the transactions in the transaction blocks. The transaction blocks may be generated, for example, by one or more remote computers (e.g., building computers 110-1 through 110-N) and transmitted by a communications network (e.g., communications network 250) to the computer implementing the process 700. Each of the transactions of the ordered transactions may indicate a purchase or a sale on the exchange. For example, each of the transactions in the ordered transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens. [0150] In some embodiments, after act 802, process 800 may proceed to an act 804 of verifying that the ordered transactions of the received transaction blocks were ordered in compliance with the verifiable sequencing rule described herein. The received transaction blocks may be verified according to the following test, where F = 1,2, … , |^| is an index of transactions in the transaction block: (1) If the transactions of the transaction block are all of the same type (e.g., all purchases or all sales), then the transaction block obeys the verifiable sequencing rule with the transactions being ordered in any order.
≤ 8^,^ and ^H is a purchase transaction, then the transaction block obeys the verifiable sequencing rule. (3) If ≥ 8^,^ and ^H is a sale transaction, then the transaction block obeys the verifiable sequencing rule. [0151] In some embodiments, after act 804, process 800 may proceed to an act 806 of selecting a verified transaction block of the received transaction blocks. For example, the transmitting computer (e.g., transmitting computer 130) may select a verified transaction block using an auction system, although it should be appreciated that the verified transaction block may be selected in any suitable way. 33 12557119.1
Attorney Docket No.: H0776.70157WO00 [0152] In some embodiments, after act 806, process 800 may proceed to an act 808 of causing the execution of the ordered transactions of the verified transaction block. Causing the execution of the ordered transactions may include transmitting the transaction block from the computer implementing the process 800 to another computer (e.g., to an executing computer 140 as described in connection with FIGs. 1A-1B and 2A-2B herein) configured to execute the transaction block. In some embodiments, causing the execution of the ordered transactions may alternatively include executing the transactions of the transaction block at the computer implementing the process 800. [0153] FIG.9 is a flowchart illustrating a process 900 of building and executing a transaction block of ordered transactions, in accordance with some embodiments of the technology described herein. The process 900 may be executed using any suitable computing devices. For example, in some embodiments, the process 900 may be performed by a distributed computing system comprising one or more processors co-located with each other (e.g., in a same room, a same facility) or remote from one another and communicatively coupled via the internet. In some embodiments, the process 900 may be executed using the systems described in connection with FIGs.1A and 2A herein. [0154] In some embodiments, process 900 may begin with an act 902 of transmitting, from a trading computer to one or more building computers, transaction information specifying a set of transactions. The transactions may be generated, for example, by one or more remote trading computers (e.g., trading computers 110-1 through 110-N) and transmitted by a communications network (e.g., communications network 250) to building computers (e.g., building computers 120- 1 through 120-M or building and executing computer 150). Each of the transactions may indicate a purchase or a sale on the exchange. For example, each of the transactions in the set of received transactions may indicate a purchase or a sale of at least one token on an exchange having a liquidity pool of two or more tokens. [0155] In some embodiments, after act 902, process 900 may proceed to an act 904 of ordering the received transactions at each of the one or more building computers and using a verifiable sequencing rule. Ordering the transactions may generate transaction blocks of ordered transactions. The verifiable sequencing rule may be arranged to ensure adherence of the ordered transactions to the possibility theorem discussed herein. [0156] In some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any purchase or sale 34 12557119.1
Attorney Docket No.: H0776.70157WO00 transaction in the set of transactions to an end of the ordered transactions in the transaction block if the available set of transactions includes both purchases and sales and if a current price of a token is equal to an initial price of the token (or alternatively, if the current reserves of the token are equal to the initial reserves of the token). [0157] Alternatively or additionally, in some embodiments, ordering the transactions in the transaction block using the verifiable sequencing rule may include appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is less than an initial price of the token (or alternatively, if the current reserves of the token are greater than the initial reserves of the token). Alternatively or additionally, in some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block if the set of transactions includes both purchases and sales and if a current price of a token is greater than an initial price of the token (or alternatively, if the current reserves of the token are less than the initial reserves of the token). [0158] In some embodiments, ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule may include appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block if the initial or updated set of transactions includes only one of purchases or sales. [0159] In some embodiments, the appended purchase or sale transaction may be removed from the set of transactions to obtain an updated set of transactions after the purchase or sale is appended to the transaction block. [0160] In some embodiments, ordering the transactions of the set of transactions may include executing a smart contract. The smart contract may be arranged to order the transactions according to the verifiable sequencing rule. [0161] In some embodiments, after act 904, process 900 may proceed to an act 906 of transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks. For example, the one or more building computers (e.g., building computers 120-1 through 120-M) may transmit the transaction blocks to the transmitting computer (e.g., transmitting computer 130) using a communications network (e.g., communications network 250). 35 12557119.1
Attorney Docket No.: H0776.70157WO00 [0162] In some embodiments, after act 906, process 900 may proceed to an act 908 of selecting, using the transmitting computer, a transaction block of the ordered transaction blocks. In some embodiments, selecting the transaction block may include verifying that the received transaction blocks comply with the verifiable sequencing rule. The received transaction blocks may be verified according to the following test, where F = 1,2, … , |^| is an index of transactions in the transaction block: (1) If the transactions of the transaction block are all of the same type (e.g., all purchases or all sales), then the transaction block obeys the verifiable sequencing rule with the transactions being ordered in any order.
≤ 8^,^ and ^H is a purchase transaction, then the transaction block obeys the verifiable sequencing rule. (3) If ≥ 8^,^ and ^H is a sale transaction, then the transaction block obeys the verifiable sequencing rule. Where a received transaction block does not comply with the verifiable sequencing rule, the transmitting computer may be configured to discard, or not select, the noncompliant transaction block. [0163] In some embodiments, after act 908, process 900 may proceed to an act 910 of transmitting, from the transmitting computer to an executing computer, the selected transaction block. For example, the transmitting computer (e.g., transmitting computer 130) may transmit the selected transaction block to an executing computer (e.g., executing computer 140) using a communications network (e.g., communications network 250). In some embodiments, act 910 may be optional and act 912 may be performed by a same computer as the computer performing act 908 (e.g., building and executing computer 150). [0164] In some embodiments, after act 910, process 900 may proceed to an act 912 of executing the transaction block using the executing computer. For example, the executing computer may be a proof of work miner, a proof of stake miner, or a validator. The executing computer may be configured to execute the selected transaction block by completing a computational step configured to add a new block or blocks to the blockchain representing the exchange. In some embodiments, the executing computer may be configured to execute the selected transaction block by executing a smart contract on the blockchain representing the exchange. Alternatively, in some embodiments the executing computer may execute the transactions of the transaction block on a centralized exchange. 36 12557119.1
Attorney Docket No.: H0776.70157WO00 [0165] FIG. 10 is a diagram of an illustrative computer system on which embodiments described herein may be implemented. An illustrative implementation of a computer system 1000 that may be used in connection with any of the embodiments of the disclosure provided herein is shown in FIG. 10. In some embodiments, any one of the processes described herein may be implemented on and/or using the computer system 1000. The computer system 1000 may include one or more processors 1010 and one or more articles of manufacture that comprise tangible (e.g., non-transitory) computer-readable storage media (e.g., memory 1020 and one or more non- volatile storage media 1030). The processor 1010 may control writing data to and reading data from the memory 1020 and the non-volatile storage device 1030 in any suitable manner. To perform any of the functionality described herein, the processor 1010 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 1020), which may serve as non-transitory computer-readable storage media storing processor-executable instructions for execution by the processor 1010. A. Mathematical Background [0166] Lemma A.1 (AM-GM Inequality). Let 1^, 1^, … , 16 ≥ 0. Then:
[0167] Theorem A.1 (Intermediate Value Theorem). Let S be a real-valued continuous function with domain, dom(S), equal to the interval [W, X]. If min{S(W), S(X)} ≤ ^ ≤ max{S(W), S(X)}, then there is a ] ∈ [W, X] such that S(]) = ^. [0168] Lemma A.2. A real-valued function S is quasiconcave if and only if all its superlevel sets are convex sets. [0169] Proof. First, consider the case where S is quasiconcave. Let ^^ be a superlevel set of S. Then for any 1, ^ ∈ ^^(S) and _ ` [0,1], quasiconcavity implies S(_1 + (1 − _)^) ≥min{S(1), S(^)} ≥ ], where the last inequality follows from the fact 1 and ^ are in the superlevel set ^^(S). The inequality witnesses that the convex combination of 1 with ^ also belongs to the superlevel set ^^(S). This proves ^^(S) is a convex set. [0170] Next, consider the case where all superlevel sets ^^(S) of S are convex sets. Then for any 1, ^ ∈ dom(S) and _ ` [0,1], a ] = min{S(1), S(^)} can be selected. Then, convexity implies the convex combination _1 + (1 − _)^ ∈ ^^(S) ⊆ dom(S). Thus, S(_1 + (1 − _)^) ≥ ] = min{S(1), S(^)}. This proves that S is quasiconcave. 37 12557119.1
Attorney Docket No.: H0776.70157WO00 [0171] Definition A.1 (Graph and Epigraph). The graph of a real-valued function S is defined as: graph(S) = fg1, S(1)h: 1 ∈ dom(S)j. A function S generates a set ^, if ^ = graph(S). The epigraph of a real-valued function f is defined as epi(S) = {(1, ^): 1 ∈ dom(S): ^ ≥ S(1)}. [0172] Lemma A.3. A real-valued function f is convex if and only if epi(f ) is a convex set. [0173] Proof. Consider the case where S is convex. Let (1^, ^^), ... , (1(, ^() ∈ epi(S) and ∑( +O^ _+ = 1. Then:
{By convexity of S}. The above chain of inequalities proves
_+^+ ) ∈ epi(S). Thus epi(S) is convex. [0174] Next, consider the case where epi(S) is a convex set. Let 1, ... , 1( ∈ dom(S), and
{By convexity of epi(S)}. This proves ∑( +O^ _+ ∙ 1+ ∈ dom(S) and
∙ S(1+) ≥ S(∑( +O^ _+ ∙ 1+). Thus, S is a convex function. [0175] Restatement (Lemma B.3). If ℝ → ℝ is a convex function, then the slope function r (Definition B.2) of S is increasing on all dimensions. That is, for all 1, ^, s ∈ dom(S), • if 1 ≤ s, then r(1, ^) ≤ r(s, ^), and • if ^ ≤ s, then r(1, ^) ≤ r(1, s). [0176] Proof. r is a symmetric function because for all 1, ^ ∈ dom(S), it is obtained that r(1, ^) = r(^, 1). Thus it suffices to show that for fixed 1 ∈ dom(S), the function ℎ(^) = r(1, ^) defined over dom(S) is an increasing function. Pick any point s ∈ dom(S) such that s > ^. Then it suffices to show that ℎ(^) ≤ ℎ(s). Consider separately the cases where (1) 1 ≤ ^ ≤ s, 38 12557119.1
Attorney Docket No.: H0776.70157WO00 (2) ^ ≤ 1 ≤ s, and (3) ^ ≤ s ≤ 1. For each case, it is observed that the midpoint can be defined as a convex combination of the extreme points. That is, the first case implies there is an _ ` [0, 1] such that ^ = _u + (1 − _)^. Then convexity of S implies S(^) ≤ _S(u) + (1 − _)S(1). Rearranging the inequality and observing that _ =
one obtains that
The analysis of the second and third cases is similar. This proves the slope function is an increasing function as desired. B. Proof of Pricing Lemma [0177] Restatement (Lemma 2.2). Consider states 8 and 8&, where w(8) = w(8&) and 8& ^ < 8^, and assume the potential function w is quasiconcave and strictly increasing. Then the following hold: • If BUY(q) can successfully execute at both 8 and 8&, then xg8, ^yx(^)h ≤
• If SELL(q) can successfully execute at both 8 and 8&, then xg8, ^z00(^)h ≤ xg8&, ^z00(^)h [0178] Consider FIG. 3, where the curve represents the set of reachable states. It is shown hereing that the assumption the potential function is strictly increasing and quasiconcave implies the curve is the graph of a convex function S. Then the payment inequalities will follow from observing the slope of S is decreasing (since S is a convex function). [0179] One might wonder if there are two distinct reachable states (8^, 8^ ), (8^, 8^ & ) ∈ 0^ (w) or (8^, 8^ ), (8^ & , 8^ ) ∈ 0^ (w). Interestingly, the fact w is strictly increasing precludes this because there is a bijective real-valued function S that generates the set of reachable states 0^ (w). [0180] Lemma B.1. Let w be a strictly increasing potential function. Then there is a bijective real-valued function S that generates level set 0^(w) in the following sense: for all (8^, 8^) ∈ 0 (w) ,^ ^ , 8^ = S(8^) and 8^ = S (8^). [0181] Proof. Fix (8^, 8^) ∈ 0^(w), and (8^, 8& ^ ) ∈ dom(w). Without loss of generality, let 8^ > 8& ^ . Then the fact w is strictly increasing implies w(8^, 8^) > w(8 & ^, 8^ ). Thus (8^, 8^) and (8^, 8& ^ ) are not in the same level set. This proves for 8^, there is a unique 8^, such that w(8^, 8^) = ]. Define S(8^) = 8^ for all such 8^. 39 12557119.1
Attorney Docket No.: H0776.70157WO00 [0182] With a similar argument, it can be shown that for each 8^, there is a unique 8^ such that w(8^, 8^ ) = ]. Define {(8^ ) = 8^ for all such 8^. Finally, claim { = S,^. To see this, observe
= 8^. Thus, { is the inverse function of S, as desired. [0183] Lemma B.1 ensures the existence of a generator S for the set of reachable states 0^(w), as long as the potential function w is strictly increasing. An interpretation for this result is that the reserves for token uniquely determine the reserves for token 3 − (for ∈ {1, 2}). That is, if 8^ is known, then 8^ = S(8^). Equivalently, if 8^ is known, then 8^ =
[0184] Lemma 2.2 may then be reinterpreted as stating that the price for token increases as 8} decreases (since 8?,} is completely determined from 8}). To prove Lemma 2.2, it can be argued that S is a convex function, which follows from the quasiconcavity of w. If w is quasiconcave, a well-known fact is that the superlevel set ^^(w) is a convex set. Interestingly, ^^(w) can be related with S by observing ^^(w) = epi(S), which follows from the fact w is strictly increasing. All that is left is to use a well-known property for convex functions: a real-valued function S is convex if and only if epi(S) is a convex set. [0185] Definition B.1 (Convex function). A real-valued function S is convex if dom(S) is a convex set, and for all 1, ^ ∈ dom(S), and all _ ∈ [0,1]: S(_ ∙ 1 + (1 − _) ∙ ^) ≤ _ ∙ S(1) + (1 − _) ∙ S(^). [0186] Lemma B.2. Let w be strictly increasing and quasiconcave. Then there is a bijective convex function S that generates level set 0^(w). [0187] Proof. Applying Lemma B.1 with strictly increasing function w implies the existence of a bijective function S that generates 0^(w). Claim epi(S) = ^^(w) for superlevel set ^^(w). First, consider the case where (8^, 8^) ∈ ^^(w). By definition, wg8^, S(8^)h = ] and w(8^, 8^ ) ≥ ]. Because w is strictly increasing, it can be concluded that 8^ ≥ S(8^). This proves (8^, 8^) ∈ epi(S). Next, consider the case where (8^, 8^) ∈ epi(S). By definition, 8^ ≥ S(8^). Because w is strictly increasing, w(8^, 8^ ) ≥ w(8^, S(8^ )) = ]. This proves (8^, 8^ ) ∈ ^^ (w). Both cases prove epi(S) = ^^ (w). Next, consider two well-known facts from convexity theory: • A real-valued function is quasiconcave if and only if all its superlevel sets are convex sets. • A real-valued function is convex if and only if its epigraph is a convex set. The first bullet implies ^^(w) = epi(S) is a convex set since w is quasiconcave. The second bullet implies S is a convex function, as desired. [0188] All that is left is the following well-known fact from convexity theory. 40 12557119.1
Attorney Docket No.: H0776.70157WO00 [0189] Definition B.2 (Slope function). The slope function of S: ℝ → ℝ maps 1, ^ ∈ dom(S) to r(1, ^) = 4,2 , the slope of the line connecting (1, S(1)) to (^, S(^)). [0190] Lemma B.3. If S is a convex function, then the slope function r of S is increasing on all dimensions. That is, for all 1, ^, s ∈ dom(S), • if 1 ≤ s, then r(1, ^) ≤ r(s, ^), and • if ^ ≤ s, then r(1, ^) ≤ r(1, s). A proof of the above is included in Section A, and conclude with the proof of Lemma 2.2. [0191] Proof of Lemma 2.2. Let S be the generator of level set 0^(w) and recall S is a convex function as per Lemma B.2. Using the fact that 8& ^ ≤ 8^, the following is obtained: r(8& ^ − ^, 8& ^ ) ≤ r(8^ − ^, 8& ^ ) {by Lemma B.3} ≤ r(8^ − ^, 8^) {by Lemma B.3}. Expanding on the definition of r, the following is derived:
[0192] Claim B.1. Let ^ be an order that can successfully execute at state 8 = (8^, S(8^)). The following are true: • if ^ = BUY(^), then Y(X, A) = S(8^ − ^) − S(8^), and • if ^ = SELL(^), then Y(X, A) = S(8^ + ^) − S(8^). [0193] Proof. Let ^ = g^^, S(^^)h be the state after ^ executes at 8. By definition, x(8, ^) = S(^^) − S(8^). If ^ = BUY(^), then ^^ = 8^ − ^. If ^ = ^z00(^), then ^^ = 8^ + ^. This proves the claim. [0194] The claim implies that
S(8^ ) = x(8, BUY(^)h, as desired. The proof that xg8, SELL(^)h ≤ xg8&, SELL(^)h follows a similar format: because r is increasing and 8& ^ ≤ 8^, the following is obtained:
Finally, observe that
S(8^). This proves Lemma 2.2. C. Proof of Duality Theorem [0195] Restatement (Theorem 5.1). Consider any liquidity pool exchange with potential w. For any pair of states 8, 8& ∈ 0^(w) either: • any buy order receives a better execution at 8 than 8&, or 41 12557119.1
Attorney Docket No.: H0776.70157WO00 • any sell order receives a better execution at 8 than 8&. [0196] First, a monotonicity property is proved for the quality of execution of an order. Consider states 8, 8& ∈ 0^(w) where the token 1 reserves at 8 are smaller than at 8′. It is argued that any buy order receives a better execution at 8′ than at 8. Similarly, it is argued that any sell order receives a better execution at 8 than at 8′. [0197] Observation C.1. Let S be the generator of 0^(w) and 8 ∈ 0^(w), (Lemma B.1). BUY(^) can successfully execute at 8 if and only if 8^, 8^ − ^ ∈ dom(S). SELL(^) can successfully execute at 8 if and only if 8^, 8^ + ^ ∈ dom(S). [0198] Proof. The fact 8^ ∈ dom(S) follows from the fact S generates 0^(w) and 8 ` 0^(w). First, we will consider a buy order BUY(q). If BUY(q) can successfully execute at 8, then (8^ − ^, S(8^ − ^)) ∈ 0^(w) which implies 8^ − ^ ∈ dom(S). For the converse, if S(8^ − ^) ∈ dom(S), then (8^ − ^, S(8^ − ^)) ∈ 0^(w) which implies BUY(^) can successfully execute at 8. [0199] Next, consider a sell order SELL(^). If SELL(^) can successfully execute at 8, then (8^ + ^, S(8^ + ^)) ∈ 0^(w) which implies 8^ + ^ ∈ dom(S). For the converse, if S(8^ + ^) ∈ dom(S), then (8^ + ^, S(8^ + ^)) ∈ 0^(w) which implies SELL(^) can successfully execute at 8. [0200] Lemma C.1. Consider states 8, 8& ∈ 0^ (w) where 8^ ≤ 8^ & . If BUY(^, ^) can successfully execute at 8, then BUY(^, ^) can successfully execute at 8&. If SELL(^, ^) can successfully execute at 8&, then SELL(^, ^) can successfully execute at 8. [0201] Proof. Let S be the convex function that generates the set of reachable states 0^(w) (Lemma B.2). First, it will be proven that BUY(^, ^) can successfully execute at 8&. The fact that 8, 8& ∈ 0 (w) and BUY(^, ^) can successf & ^ ully execute at 8 implies 8^ , 8^, 8^ − ^ ∈ dom(S)(Observation C.1). Note 8& ^ − ^ is a point between 8^ − ^ and 8& ^ and thus the convexity of dom(S) implies 8^ & − ^ ∈ dom(S). This proves BUY(^) can successfully execute at 8& (Observation C.1), and remaining to show is xg8&, BUY(^)h ≤ ^ ∙ ^. Because the token 1 reserves at 8 are lower than at 8&, BUY(^), pays less by executing at 8& than 8 (Lemma 2.2). Thus the payment by executing at 8& is at most ^ ∙ ^ since the payment by executing at 8 is at most ^ ∙ ^. This proves BUY(^, ^) can successfully execute at 8&. [0202] Next, it will be proven that SELL(^, ^) can successfully execute at 8. The fact that 8, 8& ∈ 0^(w) and SELL(^, ^) can successfully execute at 8& implies 8^, 8^ & , 8^ & + ^ ∈ dom(S) 42 12557119.1
Attorney Docket No.: H0776.70157WO00 (Observation C.1). Note that 8 + ^ is a point b & ^ etween 8^ and 8^ + ^ and thus the convexity of dom(S) implies 8^ + ^ ∈ dom(S). This proves that SELL(^) can successfully execute at 8 (Observation C.1), and it remains to show xg8, SELL(^)h ≥ ^ ∙ ^. Because token 1 reserves at 8 are lower than 8&, SELL(^) receives more tokens by executing at 8 than 8& (Lemma 2.2). Thus SELL(^) receives at least ^ ∙ ^ tokens by executing at 8, since SELL(^) receives at least ^ ∙ ^ by executing at 8&. This proves SELL(^, ^)can successfully execute at 8. [0203] Corollary C.1. Consider states 8, 8& ∈ 0^ (w), where 8^ ≤ 8^ & . BUY(^, ^) receives a better execution at 8& than 8. Moreover, SELL(^, ^) receives a better execution at 8 than 8&. [0204] Proof. If BUY(^, ^) fails to execute at 8, then BUY(^, ^) receives a better execution at 8& (by definition). If BUY(^, ^) can successfully execute at 8, then BUY(^, ^) also successfully executes at 8&(Lemma C.1). From the Pricing Lemma (Lemma 2.2): xg8&, ^yx(^)h. This proves that BUY(^, ^) receives a better execution at 8& than 8. [0205] If SELL(^, ^) fails to execute 8&, then SELL(q, p) receives a better execution at 8 (by definition). If SELL(^, ^) can successfully execute at 8& then SELL(^, ^) can also successfully execute at 8 (Lemma C.1). From the Pricing Lemma (Lemma 2.2): xg8, SELL(^)h ≥ xg8&, SELL(^)h. This proves that SELL(^, ^) receives a better execution at X than 8&. [0206] Proof of Theorem 5.1. First, consider the case where the token 1 reserves at 8 are smaller than those at 8&. From Corollary C.1, any sell order receives a better execution at 8 than 8&. Second, consider the case where the token 1 reserves at 8 are larger than at 8&. From Corollary C.1, any buy order receives a better execution at 8 than 8&. [0207] Having thus described several aspects and embodiments of the technology set forth in the disclosure, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be within the spirit and scope of the technology described herein. For example, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the embodiments described herein. Those skilled in the art will recognize or be able to ascertain using no more than routine experimentation many equivalents to the specific embodiments described herein. It is, therefore, to be understood that the foregoing embodiments 43 12557119.1
Attorney Docket No.: H0776.70157WO00 are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, inventive embodiments may be practiced otherwise than as specifically described. In addition, any combination of two or more features, systems, articles, materials, kits, and/or methods described herein, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the scope of the present disclosure. [0208] The above-described embodiments can be implemented in any of numerous ways. One or more aspects and embodiments of the present disclosure involving the performance of processes or methods may utilize program instructions executable by a device (e.g., a computer, a processor, or other device) to perform, or control performance of, the processes or methods. In this respect, various inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement one or more of the various embodiments described above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various ones of the aspects described above. In some embodiments, computer readable media may be tangible (e.g., non-transitory) computer readable media. In some embodiments, the computer readable media may comprise a persistent memory. [0209] The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects as described above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the present disclosure need not reside on a single computer or processor but may be distributed in a modular fashion among a number of different computers or processors to implement various aspects of the present disclosure. [0210] Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments. 44 12557119.1
Attorney Docket No.: H0776.70157WO00 [0211] Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements. [0212] When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. [0213] Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, a quantum computer, or a tablet computer, as non-limiting examples. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smartphone, or any other suitable portable or fixed electronic device. [0214] Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible formats. [0215] Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks. [0216] Also, as described, some aspects may be embodied as one or more methods. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may 45 12557119.1
Attorney Docket No.: H0776.70157WO00 include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments. [0217] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms. [0218] The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.” [0219] The use of “coupled” or “connected” is meant to refer to elements, or signals, that are either directly linked to one another or are linked through intermediate components. Elements that are not “coupled” or “connected” are “decoupled” or “disconnected.” [0220] The use of “between” in a coupled signal chain is not meant to require a particular direction of signal flow in the signal chain unless stated otherwise. For instance, where element B is described as coupled between elements A and C in a signal chain, signals may flow from element A to element C through element B and/or from element C to element A through element B unless stated otherwise. [0221] The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B,” when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc. [0222] As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list 46 12557119.1
Attorney Docket No.: H0776.70157WO00 of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc. [0223] In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively. [0224] The terms “approximately” and “about” may be used to mean within ±20% of a target value in some embodiments, within ±10% of a target value in some embodiments, within ±5% of a target value in some embodiments, within ±2% of a target value in some embodiments. The terms “approximately” and “about” may include the target value. [0225] Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements. 47 12557119.1
Claims
Attorney Docket No.: H0776.70157WO00 CLAIMS What is claimed is: 1. A computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method comprising: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. 2. The computer-implemented method of claim 1, wherein causing the execution of the ordered transactions comprises transmitting, from a first computer to a second computer, the transaction block for execution. 3. The computer-implemented method of claim 1 or 2, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 4. The computer-implemented method of any one of claims 1-3, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: 48 12557119.1
Attorney Docket No.: H0776.70157WO00 if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 5. The computer-implemented method of claim 4, further comprising, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 6. The computer-implemented method of claim 5, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 7. The computer-implemented method of claim 5, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or 49 12557119.1
Attorney Docket No.: H0776.70157WO00 if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 8. The computer-implemented method of claim 1, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 9. The computer-implemented method of any one of claims 1-8, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 10. At least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method comprising: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. 11. The at least one non-transitory computer readable medium of claim 10, wherein causing the execution of the ordered transactions comprises transmitting, from the at least one processor to another at least one processor, the transaction block for execution. 50 12557119.1
Attorney Docket No.: H0776.70157WO00 12. The at least one non-transitory computer readable medium of claim 10 or 11, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 13. The at least one non-transitory computer readable medium of any one of claims 10-12, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 14. The at least one non-transitory computer readable medium of claim 13, further comprising, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 51 12557119.1
Attorney Docket No.: H0776.70157WO00 15. The at least one non-transitory computer readable medium of claim 14, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 16. The at least one non-transitory computer readable medium of claim 14, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 17. The at least one non-transitory computer readable medium of claim 10, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 18. The at least one non-transitory computer readable medium of any one of claims 10-17, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 52 12557119.1
Attorney Docket No.: H0776.70157WO00 19. A system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system comprising: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method comprising: receiving transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing the execution of the ordered transactions. 20. The system of claim 19, wherein causing the execution of the ordered transactions comprises transmitting, from the at least one processor to another at least one processor, the transaction block for execution. 21. The system of claim 19 or 20, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 53 12557119.1
Attorney Docket No.: H0776.70157WO00 22. The system of any one of claims 19-21, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 23. The system of claim 22, wherein ordering the transactions of the set of transactions further comprises, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 24. The system of claim 23, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 25. The system of claim 23, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; 54 12557119.1
Attorney Docket No.: H0776.70157WO00 if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 26. The system of claim 19, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 27. The system of any one of claims 19-26, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 28. A computer-implemented method for implementing a verifiable transaction service on a decentralized exchange of a liquidity pool of two or more tokens, the computer-implemented method comprising: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; 55 12557119.1
Attorney Docket No.: H0776.70157WO00 transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. 29. The computer-implemented method of claim 28, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 30. The computer-implemented method of claim 28 or 29, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 31. The computer-implemented method of claim 30, further comprising, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 56 12557119.1
Attorney Docket No.: H0776.70157WO00 32. The computer-implemented method of claim 31, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 33. The computer-implemented method of claim 31, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 34. The computer-implemented method of claim 28, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 35. The computer-implemented method of any one of claims 28-34, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 57 12557119.1
Attorney Docket No.: H0776.70157WO00 36. A plurality of non-transitory computer readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method comprising: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. 37. The plurality of non-transitory computer readable media of claim 36, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) the execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain from the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 58 12557119.1
Attorney Docket No.: H0776.70157WO00 38. The plurality of non-transitory computer readable media of claim 36 or 37, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 39. The plurality of non-transitory computer readable media of claim 38, further comprising, after appending the purchase or sale transaction to the end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 40. The plurality of non-transitory computer readable media of claim 39, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 41. The plurality of non-transitory computer readable media of claim 39, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; 59 12557119.1
Attorney Docket No.: H0776.70157WO00 if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 42. The plurality of non-transitory computer readable media of claim 36, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 43. The plurality of non-transitory computer readable media of any one of claims 36-42, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 44. A distributed system comprising: a plurality of processors; and a plurality of non-transitory computer readable medium storing processor-executable instructions that, when executed sequentially by each processor of the plurality of processors, cause the plurality of processors to perform a method of implementing a verifiable transaction on a decentralized exchange of a liquidity pool of two or more tokens, the method comprising: transmitting, from trading computers to one or more building computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; 60 12557119.1
Attorney Docket No.: H0776.70157WO00 ordering, at each of the one or more building computers and using a verifiable sequencing rule, transactions of the set of transactions to obtain a transaction block of ordered transactions; transmitting, from the one or more building computers to a transmitting computer, ordered transaction blocks; selecting, using the transmitting computer, a transaction block of the ordered transaction blocks; transmitting, from the transmitting computer to an executing computer, the selected transaction block; and executing, using the executing computer, the transaction block. 45. The distributed system of claim 44, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the set of transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 46. The distributed system of claim 44 or 45, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises, if the set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the set of transactions to an end of the ordered transactions in the transaction block; or 61 12557119.1
Attorney Docket No.: H0776.70157WO00 if a current price of a token is greater than an initial price of the token, appending any sale transaction in the set of transactions to an end of the ordered transactions in the transaction block. 47. The distributed system of claim 46, wherein ordering the transactions of the set of transactions further comprises, after appending the purchase or sale transaction to an end of the ordered transactions in the transaction block: removing the appended purchase or sale transaction from the set of transactions to obtain an updated set of transactions. 48. The distributed system of claim 47, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises: if the updated set of transactions includes only one of purchases or sales: appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 49. The distributed system of claim 47, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule further comprises, if the updated set of transactions includes both purchases and sales: if a current price of a token is equal to an initial price of the token, appending any sale transaction or any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; if a current price of a token is less than an initial price of the token, appending any purchase transaction in the updated set of transactions to an end of the ordered transactions in the transaction block; or if a current price of a token is greater than an initial price of the token, appending any sale transaction in the updated set of transactions to an end of the ordered transactions in the transaction block. 50. The distributed system of claim 44, wherein ordering the transactions of the set of transactions in the transaction block using the verifiable sequencing rule comprises: if the set of transactions includes only one of purchases or sales: 62 12557119.1
Attorney Docket No.: H0776.70157WO00 appending, in any order, any remaining transactions of the set of transactions to an end of the ordered transactions of the transaction block. 51. The distributed system of any one of claims 44-50, wherein ordering the transactions of the set of transactions further comprises executing a smart contract, the smart contract being configured to order the transactions of the set of transactions according to the verifiable sequencing rule. 52. A computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method comprising: receiving transaction blocks, each comprising ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. 53. The computer-implemented method of claim 52, wherein causing the execution of the ordered transactions comprises transmitting, from a first computer to a second computer, the transaction block for execution. 54. The computer-implemented method of claim 52 or 53, wherein the verifiable sequencing rule is arranged to ensure that: (i) an execution price of a first transaction of the ordered transactions is as good as a standalone price for the first transaction, where the standalone price is a price of the first transaction if the transaction block were to include only the first transaction, 63 12557119.1
Attorney Docket No.: H0776.70157WO00 (ii) an execution price of the first transaction is worse than the standalone price, but a builder assembling the transaction block does not gain profit from including the first transaction in the transaction block, or (iii) actions by the builder to subvert the verifiable sequencing rule and to gain profit are observable by third parties. 55. The computer-implemented method of any one of claims 52-54, wherein verifying that the ordered transactions were ordered in compliance with the verifiable sequencing rule comprises executing a smart contract, the smart contract being configured to verify that the ordered transactions were ordered in compliance with the verifiable sequencing rule. 56. At least one non-transitory computer readable medium storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method of implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the method comprising: receiving transaction blocks, each comprising ordered transactions, wherein: the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. 57. A system for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the system comprising: at least one processor; and at least one non-transitory computer readable medium storing processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform a method comprising: receiving transaction blocks, each comprising ordered transactions, wherein: 64 12557119.1
Attorney Docket No.: H0776.70157WO00 the ordered transactions are to be executed according to an ordering of the transactions, and each of the transactions in the ordered transactions indicates a purchase or a sale of at least one token of the two or more tokens; verifying that the ordered transactions of the received transaction blocks were ordered in compliance with a verifiable sequencing rule; selecting a verified transaction block of the received transaction blocks; and causing the execution of the ordered transactions of the verified transaction block. 58. A computer-implemented method for implementing a verifiable transaction block on an exchange of a liquidity pool of two or more tokens, the computer-implemented method comprising: receiving, at a building computer and from one or more trading computers, transaction information specifying a set of transactions, wherein: transactions of the set of transactions are to be ordered prior to execution, and each of the transactions in the set of transactions indicates a purchase or a sale of at least one token of the two or more tokens; ordering, at the building computer and using a verifiable sequencing rule, the transactions of the set of transactions to obtain a transaction block of ordered transactions; and causing, at the building computer or at an executing computer, the execution of the ordered transactions. 65 12557119.1
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363511141P | 2023-06-29 | 2023-06-29 | |
| US63/511,141 | 2023-06-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2025006847A2 true WO2025006847A2 (en) | 2025-01-02 |
| WO2025006847A3 WO2025006847A3 (en) | 2025-04-17 |
Family
ID=93940020
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/035970 Ceased WO2025006847A2 (en) | 2023-06-29 | 2024-06-28 | Credible exchange design via a verifiable sequencing rule |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025006847A2 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10891535B1 (en) * | 2014-08-19 | 2021-01-12 | Next Level Derivatives Llc | Secure multi-server stabilized data packet exchange systems |
| US10438290B1 (en) * | 2018-03-05 | 2019-10-08 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
| US11042935B2 (en) * | 2019-01-02 | 2021-06-22 | Chicago Mercantile Exchange Inc. | Spread price scaling for implied trade matching |
| US11288736B1 (en) * | 2019-04-02 | 2022-03-29 | Homium, LLC | Blockchain-based shared appreciation note |
| US11334950B1 (en) * | 2019-07-15 | 2022-05-17 | Innovator Capital Management, LLC | System and method for managing data for delivering a pre-calculated defined investment outcome in an exchange-traded fund |
-
2024
- 2024-06-28 WO PCT/US2024/035970 patent/WO2025006847A2/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025006847A3 (en) | 2025-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11348107B2 (en) | Virtual payment processing system | |
| US11488245B2 (en) | Derivative contracts that settle based on transaction data | |
| EP4148642B1 (en) | Devices, systems, and methods for facilitating low trust and zero trust value transfers | |
| US10504178B2 (en) | System for physically delivering virtual currencies | |
| US20190080411A1 (en) | Derivative contracts that settle based on a virtual currency difficulty factor or an index of virtual currency generation yield | |
| US20180218176A1 (en) | System and method of creating an asset based automated secure agreement | |
| CA2732004C (en) | Products and processes for order distribution | |
| US20210110474A1 (en) | Blockchain-Based Method, Apparatus, and System to Accelerate Transaction Processing | |
| US20150221034A1 (en) | Pricing a Swap Financial Product Using a Non-Par Value | |
| US10380589B2 (en) | Virtual payment processing system | |
| US20230091805A1 (en) | Securitization of assets utilizing distributed-ledgers & smart meters and a user permission framework for information flow | |
| US20130041799A1 (en) | Pricing a Forward Rate Agreement Financial Product Using a Non-Par Value | |
| US8626640B2 (en) | System and method for implementing and managing bundled option box futures | |
| US8473402B2 (en) | Perpetual futures contracts with periodic reckonings | |
| US20150278951A1 (en) | Futures Contracts with Minimum Position Limit Approaching Delivery Period | |
| US20150112844A1 (en) | Futures Contracts with Divergent Trading and Delivery Units | |
| US11080785B1 (en) | Listed options position compression system | |
| US20110302070A1 (en) | Systems and Methods for Netting of Transactions | |
| US20150112846A1 (en) | Futures Contracts Settlement Method with Option to Roll Forward | |
| HK40091419A (en) | Devices, systems, and methods for facilitating low trust and zero trust value transfers | |
| HK40091419B (en) | Devices, systems, and methods for facilitating low trust and zero trust value transfers | |
| US20130124358A1 (en) | Method to Create a Secondary Market (Exchange) Using a Web Auction to Price Annuity Payments | |
| US20170076374A1 (en) | Trading interest rate swaps on a yield basis on a futures exchange | |
| Grody et al. | Next Generation Niche Markets |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |


