This article will introduce the “Programmable Privacy” feature that provides more advanced transactions and a cross-chain, more open and fairer MEV market design -SUAVE. Before getting into the main topic of explaining SUAVE, please first understand the concept of Intent.
Taking Ethereum transactions as an example, assuming a user wants to exchange his USDT for ETH, he may go to the Uniswap web page to check the price, and after setting the allowed price slip, sign and send the transaction, and then wait for the transaction result.
His transaction will probably look like this: “I sign and send this transaction, with a Nonce value of 23 and a gas fee of 30 Gwei. It will execute the Uniswap contract to swap my 1000 USDT for 0.5 ETH, with a maximum slippage of 1%.”
△ Nonce? Gwei? Image source:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px
Suppose Alice is a novice user, and she just wants to exchange her USDT for ETH, but she has to cross many thresholds to fulfill this small wish:
Each level is a question that novice users don’t actually need to understand but are forced to make a choice: Where to redeem? Do you want to set a slippage? What percentage should be set for slippage? Do you want to adjust the gas fee (handling fee)? How many Gwei does it need to be adjusted to? Why did the transaction fail? Why is the transaction stuck there for so long (maybe it’s a problem with the Nonce or the handling fee)? What should I do?
Unlike Transaction, which requires specifying various details of a transaction, Intent only requires the user to specify the results he wants to achieve and the conditions for execution, and leave the rest to more professional people.
In the Intent, Alice specified that 1000 USDT should be exchanged for 0.5 ETH, but considering the handling fee, the price was adjusted to 0.495 ETH, and then the order was signed and sent. Alice’s transaction will look like this: “I sign and send this order. I want to exchange 1000 USDT for 0.495 ETH. This order is valid as long as I can get 0.495 ETH.”
It’s very simple, right? This is the experience of using a limit order (Limit Order), and it is also the general experience of using DEX Aggregators (such as 1inch and Tokenlon).
△ The difference between Transaction (top) and Intent (bottom). With Intent, users only need to specify the conditions and do not need to worry about how to achieve them. Caption:https://www.paradigm.xyz/2023/06/intents
Through Intent, users no longer need to deal with and worry about various tedious and confusing details between the generation, signing, and execution of transactions. They don’t even need to figure out the problem and continue to try when a transaction fails. Moreover, different chains will have different transaction processes and pitfalls!
Through Intent, the user only needs to specify the execution conditions and expected results of his Intent. The rest is for the professional Solver to realize the user’s Intent – how to send transactions, monitor transactions, accelerate transactions, etc. Handling troublesome issues such as transaction failure, and Intent can only be implemented when the execution conditions and expected results are met, so users do not have to worry about whether an accident will cause assets to disappear.
Intent will greatly enhance the blockchain experience.
Reading Tip 1: In fact, there are already many examples of using Intent, such as the signature of a multi-signature wallet, the concept of Session Key that grants a third party specific execution permissions and time limits, or a batch matching transaction mechanism such as CowSwap. Even in the Web2 world, there are traces of Intent, such as search engines (I enter what I want to query, and the search engine finds relevant information for me through various channels) or e-commerce online shooting (I enter what I want to buy) Something, the e-commerce company found it through various channels and delivered it to me). It’s just that the word Intent has only recently become popular in the Web3 world.
Reading tip 2: In English, the word Imperative (“imperative”) is used to describe the experience of using Transaction, which is to issue a complete command to complete the goal; while the word “Declarative” (“Statement”) is used to describe the experience of using Intent. Descriptive, indicating that it is used by stating execution conditions and execution results.
In cross-chain applications such as cross-chain bridges and cross-chain DEX, because two or more chains are involved, users have to deal with more transactions on different chains.
Excluding cross-chain applications through the project party’s multi-signature, it can provide a better user experience (for example, after the user sends a transaction on the source chain, the project party’s multi-signature will automatically send the assets to the user on the target chain) The specified address does not require the user to perform any operations on the target chain). Other more decentralized cross-chain applications such as Nomad and Succinct do not have such a good experience. Users may need to send transactions to the target chain to complete the operation.
Therefore, the improvement of user experience that Intent can bring is even more important and urgent in the cross-chain world.
Through Intent, cross-chain operations will only require users to sign, and they no longer have to worry about the transaction rules and details of each chain. Users will be able to operate different chains with the same user experience, and will not even perceive the fact that there are different chains.
The full name of SUAVE is Single Unifying Auction for Value Expression, the purpose is to become a unified MEV market across multiple chains. In this market, users can express the closing conditions and rewards of a transaction in an efficient way. At the same time, executors (Executors) will compete with each other, and Will cooperate efficiently to complete user requests.
SUAVE can serve as a transaction pool for a blockchain and also act as a Builder role responsible for producing block content of that blockchain. However, SUAVE is not intended to replace the existing transaction pool and Builder functionality of a blockchain, but rather to seamlessly connect to an existing blockchain in a plug and play manner.
After SUAVE is connected to a blockchain, the blockchain is equivalent to having a decentralized, very professional and powerful Builder that spans multiple blockchain transaction sources. Having multiple blockchain transaction sources at the same time will provide huge advantages in the cross-domain MEV market that will gradually grow in the future. Builders with this advantage will be more competitive than builders operating on a single chain.
From Flashbot to MEV-Boost, the spirit they uphold is to acknowledge the existence of MEV and strive to bring hidden economic activities to the forefront. They aim to establish a public market where anyone can participate, in order to avoid the scenario where a few individuals silently control and dominate this immense economic interest, gradually leading to the concentration of resources in their hands and ultimately impacting the decentralization and security of the entire blockchain network.
But as people learn more and more about MEV, they gradually realize that in addition to the mature MEV market on Ethereum, there are also cross-chain and cross-border MEV markets. This cross-border MEV market will be much larger than Ethereum’s, and cross-chain transactions will have more opportunities to extract MEV than transactions on the same chain.
If there had not been someone like Flashbot to expose the cross-chain MEV market, bring it to light, and enable fair participation for everyone, the few individuals who exploit cross-chain MEV would have even more advantage, ultimately affecting the security of the entire blockchain network.
Another phenomenon that will affect centralization and security is Private Order Flow: users’ transactions no longer flow to the public transaction pool, but directly to the Searcher or Builder. Private Order Flow may come from Searcher or Builder purchasing the right to earn income from users’ transactions, or Builder providing attractive services, such as (1) free cancellation of transactions or DEX orders sent by users, or (2) providing Pre-Confirmation , before the transaction is received, the user is assured how quickly the transaction will be received, so that the user does not need to worry about whether the transaction will be received and how long it will take to be received.
While Private Order Flow may initially benefit users, in the long run, it will result in centralization. Searchers/Builders with Private Order Flow will have a competitive advantage and gain more benefits compared to those without it, leading to a detrimental impact on competition. Additionally, since there is no incentive for sharing Private Order Flow with new Searchers/Builders, these newcomers will be at a disadvantage when starting the game.
Why do the blocks from the user’s transactions to the Bundle created by Searcher have to be collected through Private Order Flow? This is because the transaction and Bundle contents are public and unencrypted. If they are seen and obtained by others, it can lead to harm for the user or the Searcher. For example, others can extract the MEV of the user’s transaction through a pincer attack or dismantle the Bundle, snatching away the MEV. This is why both users and Searchers currently have to trust the Builder, as they need to hand over the original content of the transaction and Bundle to the Builder and trust that the Builder will not cause any harm.
The emergence of SUAVE is to solve the centralization risks caused by cross-border MEV and Private Order Flow.
First, by establishing a public market that serves cross-chain MEV, users or Searchers can express their income conditions for transactions or bundles in this market. For example, if a user has two transactions that need to be routed to Ethereum and Arbitrum respectively, and both transactions must be included and executed before a certain time, they can specify these conditions in the market. The Executors in the market (which can be Searchers or Builders) will compete to fulfill these requests in order to earn rewards. But how can users or Searchers trust throwing their transactions or bundles into this public market? This is where privacy technology comes in. By encrypting the transactions, users or Searchers no longer need to worry about potential harm caused by others viewing their transactions. Only with transaction privacy can an Open Order Flow be possible.
SUAVE further proposes the concept of Programmable Privacy, whereby users or searchers can choose whether to disclose specific parts of transactions or bundle contents (such as the contract address of transaction execution) instead of being limited to choosing between complete encryption or no encryption.
Compared to completely encrypted transactions, transactions that disclose specific information can be incorporated into bundles or blocks more effectively and quickly, and even receive kickbacks, as detailed in the fourth article’s MEV-Share section. By disclosing specific information, Searchers can even collaborate with each other. Searcher B can build on top of Searcher A’s bundle: Searcher A’s bundle follows the user’s transaction for arbitrage, and Searcher B’s bundle follows Searcher A’s bundle for arbitrage. Privacy is essential for an open order flow. Privacy enables Searchers to have the opportunity to cooperate with each other, benefiting each other rather than competing for MEV opportunities.
SUAVE can be described as a “User Preference bulletin board”. The term “User” here does not necessarily refer to general blockchain users, but Searchers can also be Users of SUAVE. In the following, “User” will refer to general blockchain users, and “SUAVE User” will refer to users of SUAVE.
SUAVE’s User Preference is like a specialized Intent that focuses on transaction sorting. It is not like the general Intents that readers may see elsewhere, which can specify various conditions. Similar to how users specify preferences and conditions in Intents, in Preference, SUAVE Users specify preferences or conditions for “transactions or bundle income entering the block,” such as:
Reading tip: Users can also send general blockchain transactions (without specifying any Preference) to SUAVE, that is, simply use SUAVE as a general trading pool or Flashbot, such as directly sending his ETH transfer transactions or Uniswap transactions to SUAVE that.
Of course, if you just specify conditions, there is no need to design a new architecture to do this, just use the original Flashbot. So in fact, the Preferences specified in SUAVE must be matched with rewards, otherwise no one will be willing to complete your Preferences unconditionally. Of course, the prerequisite for payment must be that the Preferences have been achieved.
By making Preference designation and rewards into smart contracts to be fulfilled, demand parties (such as users or Searchers) will be able to put forward more detailed and diverse Preference requirements, and these requirements are met by economic incentives rather than Rely on the kindness of the Builder.
SUAVE can be viewed as consisting of three components: Preference Environment, Execution Market and Decentralized Block Building.
△ The PE on the left gathers Intents and arbitrage transactions on various chains, and then the Executors in the middle try to satisfy these Preferences and package them into Bundles, and hand these Bundles to the role on the right that has the right to produce blocks to assemble the blocks. Image source:https://writings.flashbots.net/the-future-of-mev-is-suave
SUAVE will have its own chain and transaction pool. SUAVE calls the chain Settlement Layer and the transaction pool Messaging Layer.
Smart contracts can be deployed on the chain to establish contracts between Preference and rewards. The transaction pool will be filled with transactions in which SUAVE User declares Preference and Executor receives rewards.
△ Preference four steps from establishment to execution to settlement. Image source:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
SUAVE needs to be able to write Preference in a programming language and convert it into a smart contract in order to fulfill the contract between SUAVE User and Executor. SUAVE is expected to design a MEV-specific EVM based on EVM - MEVM.
MEVM will add a new Precompile contract and transaction type specifically for MEV. User Preference, Packaging Bundle, and Block Building functions can all be easily completed in MEVM.
The sample program code in the figure below writes the Effective Gas Price (EGP) Block Building algorithm using Solidity and MEVM Precompile contracts.
EGP Block Building sorts the Bundles according to the Gas Price given by each Bundle. Bundles with higher Gas Price will be ranked at the front of the block:
△ The pink function in the picture is the Precompile function of MEVM, which is specially designed for MEV use. Image source:https://writings.flashbots.net/mevm-suave-centauri-and-beyond
Reading tip: The execution of the Block Building algorithm does not actually occur on the SUAVE Chain chain, but the Block Builder simulates the execution off the chain (just like the node will simulate the execution of a transaction locally), so this execution process It will not really become a transaction that occupies the block space and computing resources of SUAVE Chain, nor will it be limited by the output performance of SUAVE Chain.
Through the composability of the EVM contract, Searcher and Searcher or Searcher and Builder will be able to cooperate through contracts, replacing the original one-sided trust relationship. Cooperation will also further improve Bundle efficiency and extract more MEV , which can benefit every participant in the MEV supply chain. In addition, participants can directly use EVM-based development tools and infrastructure, such as RPC Provider, testing tools such as Foundry, etc., and the development experience will be very good.
Moreover, MEVM will provide the function of transaction privacy, because without privacy, there is no possibility of cooperation. Without privacy, Searchers have to worry about their MEV being stolen. In the early stage, this privacy will be achieved through trusted hardware SGX. The transaction will be encrypted and then sent to SGX for execution. It is believed that SGX will execute its designated program code without stealing MEV at will. In the future, when other advanced cryptographic technologies gradually mature, cryptography can be used to replace trusted hardware. For more details, please refer to the previous article on Encrypted Mempools.
Reading tip: However, there are also disadvantages based on EVM, such as EVM is too Expressive: In fact, to write the functions required by MEV, you do not need many Opcodes in EVM. Allowing the use of these Opcodes may allow people who are willing to write very complex executions. , and then let the transaction fail at the end of execution, causing the node to waste a bunch of computing resources, which is a DoS attack. The Anoma project redesigns a programming language and execution environment specifically for expressing and executing Intents. In the future, SUAVE may also use Anoma’s architecture to replace MEVM.
If the block developer or Validator of a chain knows the existence of SUAVE and intends to use SUAVE, then it will regard SUAVE as a Block Builder. If SUAVE provides a higher bidding price for the blocks it builds, then Miners or Validators will use SUAVE’s blocks. Taking the current MEV-Boost on Ethereum as an example, the blocks composed by SUAVE will be converted into a format that complies with the MEV-Boost bidding mechanism through the plug-in provided by SUAVE. The Proposer does not need to make any changes in order to adopt SUAVE’s blocks.
If the block developer or Validator of a chain does not know the existence of SUAVE, then SUAVE’s Executor will bid to receive its Bundle through the chain’s fee rules.
Each chain has its own block developer and validator. The block B1 of SUAVE being received by the X chain does not mean that the block B2 will also be successfully received by the Validator of the Y chain. The block production mechanisms and markets of the X chain and the Y chain are independent. Unless both X chain and Y chain use Shared Sequencer, and the same Sequencer produces blocks for both chains at the same time, then only by combining SUAVE can we ensure Atomic Inclusion: the two chains must not “collect specified transactions (or blocks) together”. Yuan)”, or “no income at all”.
And even if Shared Sequencer can ensure Atomic Inclusion, it does not mean that the transaction will be “successfully” executed after being included. If both transactions are not executed “successfully”, it means that cross-chain MEV has failed. Assuming that a SUAVE User wants to complete a cross-chain arbitrage, transactions on both chains must be generated in real time and executed successfully before he can benefit:
Taking the picture below as an example, SUAVE User wants to perform cross-chain transaction arbitrage between Rollup 1 and Rollup 2: buy one ETH at a lower price on Rollup 1, and sell one ETH at a higher price on Rollup 2. .
If both trades are paid in real time and executed successfully, the SUAVE User can earn the price difference. Scenario 1 and 2 in the table in the picture are “SUAVE User is willing to bear the risk himself” and “Executor is willing to bear the risk” respectively.
The bottom three columns of the table are “rewards for both successes”, “rewards for only one success” and “final result for only one success”:
△ Different execution results under different situations. Image source:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
Cross-chain MEV requires Executors to have capital, be willing to take risks, and have sufficient technology to ensure real-time, Atomic revenue and successful execution. This can be a lucrative but relatively high-barrier job.
Why can’t we simply transfer and share Preferences through the P2P network? Because a pure P2P network cannot prevent the network from being filled with countless Preferences (i.e. DoS attacks). If it is a chain, DoS attacks can be prevented through handling fees.
Why doesn’t SUAVE use the existing chain? Because SUAVE needs its own (MEV) function and its own chain settings such as block time and block size. If you build it directly on Ethereum, you will encounter problems such as too high cost, too long block time, and limited functions.
In addition, because SUAVE needs to obtain information from other chains to verify whether the Preference is satisfied, an independent SUAVE Chain can maintain neutrality by gathering information from all other chains.
However, SUAVE has its own chain, which also means that (1) SUAVE User may need to transfer assets from other chains to SUAVE Chain to use SUAVE, and (2) SUAVE needs to rely on Oracle to report information from other chains. This means that SUAVE itself has an additional trust requirement for Oracle. If Oracle is insecure, it will affect the security of the contract on SUAVE.
Reading tip: There are not many details yet about whether SUAVE will have its own token, whether assets need to be transferred to the SUAVE Chain for use, or how to transfer to the SUAVE Chain. It is only mentioned in the video and article “ SUAVE User must first transfer assets from other chains to SUAVE Chain before they can use it.”
The design and security model of SUAVE Chain itself are still under discussion. If SUAVE Chain is a Rollup on Ethereum, then you can directly use the Rollup’s own mechanism to transfer assets and read other Rollup information. This will be better than relying on other rollups. Cross-chain technology and Oracle services bring a lot of security.
If the Validator of the SUAVE Chain can be combined with Eigenlayer, it will be safer and more reliable to directly use the Ethereum Validator as the SUAVE Chain Validator than to generate a set of Validators by SUAVE itself. But of course, these designs also have corresponding shortcomings. For more discussion about SUAVE Chain design, please refer to this article.
This article will introduce the “Programmable Privacy” feature that provides more advanced transactions and a cross-chain, more open and fairer MEV market design -SUAVE. Before getting into the main topic of explaining SUAVE, please first understand the concept of Intent.
Taking Ethereum transactions as an example, assuming a user wants to exchange his USDT for ETH, he may go to the Uniswap web page to check the price, and after setting the allowed price slip, sign and send the transaction, and then wait for the transaction result.
His transaction will probably look like this: “I sign and send this transaction, with a Nonce value of 23 and a gas fee of 30 Gwei. It will execute the Uniswap contract to swap my 1000 USDT for 0.5 ETH, with a maximum slippage of 1%.”
△ Nonce? Gwei? Image source:https://www.reddit.com/r/MemeRestoration/comments/ejcvd3/confused_math_lady_4080x2663px
Suppose Alice is a novice user, and she just wants to exchange her USDT for ETH, but she has to cross many thresholds to fulfill this small wish:
Each level is a question that novice users don’t actually need to understand but are forced to make a choice: Where to redeem? Do you want to set a slippage? What percentage should be set for slippage? Do you want to adjust the gas fee (handling fee)? How many Gwei does it need to be adjusted to? Why did the transaction fail? Why is the transaction stuck there for so long (maybe it’s a problem with the Nonce or the handling fee)? What should I do?
Unlike Transaction, which requires specifying various details of a transaction, Intent only requires the user to specify the results he wants to achieve and the conditions for execution, and leave the rest to more professional people.
In the Intent, Alice specified that 1000 USDT should be exchanged for 0.5 ETH, but considering the handling fee, the price was adjusted to 0.495 ETH, and then the order was signed and sent. Alice’s transaction will look like this: “I sign and send this order. I want to exchange 1000 USDT for 0.495 ETH. This order is valid as long as I can get 0.495 ETH.”
It’s very simple, right? This is the experience of using a limit order (Limit Order), and it is also the general experience of using DEX Aggregators (such as 1inch and Tokenlon).
△ The difference between Transaction (top) and Intent (bottom). With Intent, users only need to specify the conditions and do not need to worry about how to achieve them. Caption:https://www.paradigm.xyz/2023/06/intents
Through Intent, users no longer need to deal with and worry about various tedious and confusing details between the generation, signing, and execution of transactions. They don’t even need to figure out the problem and continue to try when a transaction fails. Moreover, different chains will have different transaction processes and pitfalls!
Through Intent, the user only needs to specify the execution conditions and expected results of his Intent. The rest is for the professional Solver to realize the user’s Intent – how to send transactions, monitor transactions, accelerate transactions, etc. Handling troublesome issues such as transaction failure, and Intent can only be implemented when the execution conditions and expected results are met, so users do not have to worry about whether an accident will cause assets to disappear.
Intent will greatly enhance the blockchain experience.
Reading Tip 1: In fact, there are already many examples of using Intent, such as the signature of a multi-signature wallet, the concept of Session Key that grants a third party specific execution permissions and time limits, or a batch matching transaction mechanism such as CowSwap. Even in the Web2 world, there are traces of Intent, such as search engines (I enter what I want to query, and the search engine finds relevant information for me through various channels) or e-commerce online shooting (I enter what I want to buy) Something, the e-commerce company found it through various channels and delivered it to me). It’s just that the word Intent has only recently become popular in the Web3 world.
Reading tip 2: In English, the word Imperative (“imperative”) is used to describe the experience of using Transaction, which is to issue a complete command to complete the goal; while the word “Declarative” (“Statement”) is used to describe the experience of using Intent. Descriptive, indicating that it is used by stating execution conditions and execution results.
In cross-chain applications such as cross-chain bridges and cross-chain DEX, because two or more chains are involved, users have to deal with more transactions on different chains.
Excluding cross-chain applications through the project party’s multi-signature, it can provide a better user experience (for example, after the user sends a transaction on the source chain, the project party’s multi-signature will automatically send the assets to the user on the target chain) The specified address does not require the user to perform any operations on the target chain). Other more decentralized cross-chain applications such as Nomad and Succinct do not have such a good experience. Users may need to send transactions to the target chain to complete the operation.
Therefore, the improvement of user experience that Intent can bring is even more important and urgent in the cross-chain world.
Through Intent, cross-chain operations will only require users to sign, and they no longer have to worry about the transaction rules and details of each chain. Users will be able to operate different chains with the same user experience, and will not even perceive the fact that there are different chains.
The full name of SUAVE is Single Unifying Auction for Value Expression, the purpose is to become a unified MEV market across multiple chains. In this market, users can express the closing conditions and rewards of a transaction in an efficient way. At the same time, executors (Executors) will compete with each other, and Will cooperate efficiently to complete user requests.
SUAVE can serve as a transaction pool for a blockchain and also act as a Builder role responsible for producing block content of that blockchain. However, SUAVE is not intended to replace the existing transaction pool and Builder functionality of a blockchain, but rather to seamlessly connect to an existing blockchain in a plug and play manner.
After SUAVE is connected to a blockchain, the blockchain is equivalent to having a decentralized, very professional and powerful Builder that spans multiple blockchain transaction sources. Having multiple blockchain transaction sources at the same time will provide huge advantages in the cross-domain MEV market that will gradually grow in the future. Builders with this advantage will be more competitive than builders operating on a single chain.
From Flashbot to MEV-Boost, the spirit they uphold is to acknowledge the existence of MEV and strive to bring hidden economic activities to the forefront. They aim to establish a public market where anyone can participate, in order to avoid the scenario where a few individuals silently control and dominate this immense economic interest, gradually leading to the concentration of resources in their hands and ultimately impacting the decentralization and security of the entire blockchain network.
But as people learn more and more about MEV, they gradually realize that in addition to the mature MEV market on Ethereum, there are also cross-chain and cross-border MEV markets. This cross-border MEV market will be much larger than Ethereum’s, and cross-chain transactions will have more opportunities to extract MEV than transactions on the same chain.
If there had not been someone like Flashbot to expose the cross-chain MEV market, bring it to light, and enable fair participation for everyone, the few individuals who exploit cross-chain MEV would have even more advantage, ultimately affecting the security of the entire blockchain network.
Another phenomenon that will affect centralization and security is Private Order Flow: users’ transactions no longer flow to the public transaction pool, but directly to the Searcher or Builder. Private Order Flow may come from Searcher or Builder purchasing the right to earn income from users’ transactions, or Builder providing attractive services, such as (1) free cancellation of transactions or DEX orders sent by users, or (2) providing Pre-Confirmation , before the transaction is received, the user is assured how quickly the transaction will be received, so that the user does not need to worry about whether the transaction will be received and how long it will take to be received.
While Private Order Flow may initially benefit users, in the long run, it will result in centralization. Searchers/Builders with Private Order Flow will have a competitive advantage and gain more benefits compared to those without it, leading to a detrimental impact on competition. Additionally, since there is no incentive for sharing Private Order Flow with new Searchers/Builders, these newcomers will be at a disadvantage when starting the game.
Why do the blocks from the user’s transactions to the Bundle created by Searcher have to be collected through Private Order Flow? This is because the transaction and Bundle contents are public and unencrypted. If they are seen and obtained by others, it can lead to harm for the user or the Searcher. For example, others can extract the MEV of the user’s transaction through a pincer attack or dismantle the Bundle, snatching away the MEV. This is why both users and Searchers currently have to trust the Builder, as they need to hand over the original content of the transaction and Bundle to the Builder and trust that the Builder will not cause any harm.
The emergence of SUAVE is to solve the centralization risks caused by cross-border MEV and Private Order Flow.
First, by establishing a public market that serves cross-chain MEV, users or Searchers can express their income conditions for transactions or bundles in this market. For example, if a user has two transactions that need to be routed to Ethereum and Arbitrum respectively, and both transactions must be included and executed before a certain time, they can specify these conditions in the market. The Executors in the market (which can be Searchers or Builders) will compete to fulfill these requests in order to earn rewards. But how can users or Searchers trust throwing their transactions or bundles into this public market? This is where privacy technology comes in. By encrypting the transactions, users or Searchers no longer need to worry about potential harm caused by others viewing their transactions. Only with transaction privacy can an Open Order Flow be possible.
SUAVE further proposes the concept of Programmable Privacy, whereby users or searchers can choose whether to disclose specific parts of transactions or bundle contents (such as the contract address of transaction execution) instead of being limited to choosing between complete encryption or no encryption.
Compared to completely encrypted transactions, transactions that disclose specific information can be incorporated into bundles or blocks more effectively and quickly, and even receive kickbacks, as detailed in the fourth article’s MEV-Share section. By disclosing specific information, Searchers can even collaborate with each other. Searcher B can build on top of Searcher A’s bundle: Searcher A’s bundle follows the user’s transaction for arbitrage, and Searcher B’s bundle follows Searcher A’s bundle for arbitrage. Privacy is essential for an open order flow. Privacy enables Searchers to have the opportunity to cooperate with each other, benefiting each other rather than competing for MEV opportunities.
SUAVE can be described as a “User Preference bulletin board”. The term “User” here does not necessarily refer to general blockchain users, but Searchers can also be Users of SUAVE. In the following, “User” will refer to general blockchain users, and “SUAVE User” will refer to users of SUAVE.
SUAVE’s User Preference is like a specialized Intent that focuses on transaction sorting. It is not like the general Intents that readers may see elsewhere, which can specify various conditions. Similar to how users specify preferences and conditions in Intents, in Preference, SUAVE Users specify preferences or conditions for “transactions or bundle income entering the block,” such as:
Reading tip: Users can also send general blockchain transactions (without specifying any Preference) to SUAVE, that is, simply use SUAVE as a general trading pool or Flashbot, such as directly sending his ETH transfer transactions or Uniswap transactions to SUAVE that.
Of course, if you just specify conditions, there is no need to design a new architecture to do this, just use the original Flashbot. So in fact, the Preferences specified in SUAVE must be matched with rewards, otherwise no one will be willing to complete your Preferences unconditionally. Of course, the prerequisite for payment must be that the Preferences have been achieved.
By making Preference designation and rewards into smart contracts to be fulfilled, demand parties (such as users or Searchers) will be able to put forward more detailed and diverse Preference requirements, and these requirements are met by economic incentives rather than Rely on the kindness of the Builder.
SUAVE can be viewed as consisting of three components: Preference Environment, Execution Market and Decentralized Block Building.
△ The PE on the left gathers Intents and arbitrage transactions on various chains, and then the Executors in the middle try to satisfy these Preferences and package them into Bundles, and hand these Bundles to the role on the right that has the right to produce blocks to assemble the blocks. Image source:https://writings.flashbots.net/the-future-of-mev-is-suave
SUAVE will have its own chain and transaction pool. SUAVE calls the chain Settlement Layer and the transaction pool Messaging Layer.
Smart contracts can be deployed on the chain to establish contracts between Preference and rewards. The transaction pool will be filled with transactions in which SUAVE User declares Preference and Executor receives rewards.
△ Preference four steps from establishment to execution to settlement. Image source:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
SUAVE needs to be able to write Preference in a programming language and convert it into a smart contract in order to fulfill the contract between SUAVE User and Executor. SUAVE is expected to design a MEV-specific EVM based on EVM - MEVM.
MEVM will add a new Precompile contract and transaction type specifically for MEV. User Preference, Packaging Bundle, and Block Building functions can all be easily completed in MEVM.
The sample program code in the figure below writes the Effective Gas Price (EGP) Block Building algorithm using Solidity and MEVM Precompile contracts.
EGP Block Building sorts the Bundles according to the Gas Price given by each Bundle. Bundles with higher Gas Price will be ranked at the front of the block:
△ The pink function in the picture is the Precompile function of MEVM, which is specially designed for MEV use. Image source:https://writings.flashbots.net/mevm-suave-centauri-and-beyond
Reading tip: The execution of the Block Building algorithm does not actually occur on the SUAVE Chain chain, but the Block Builder simulates the execution off the chain (just like the node will simulate the execution of a transaction locally), so this execution process It will not really become a transaction that occupies the block space and computing resources of SUAVE Chain, nor will it be limited by the output performance of SUAVE Chain.
Through the composability of the EVM contract, Searcher and Searcher or Searcher and Builder will be able to cooperate through contracts, replacing the original one-sided trust relationship. Cooperation will also further improve Bundle efficiency and extract more MEV , which can benefit every participant in the MEV supply chain. In addition, participants can directly use EVM-based development tools and infrastructure, such as RPC Provider, testing tools such as Foundry, etc., and the development experience will be very good.
Moreover, MEVM will provide the function of transaction privacy, because without privacy, there is no possibility of cooperation. Without privacy, Searchers have to worry about their MEV being stolen. In the early stage, this privacy will be achieved through trusted hardware SGX. The transaction will be encrypted and then sent to SGX for execution. It is believed that SGX will execute its designated program code without stealing MEV at will. In the future, when other advanced cryptographic technologies gradually mature, cryptography can be used to replace trusted hardware. For more details, please refer to the previous article on Encrypted Mempools.
Reading tip: However, there are also disadvantages based on EVM, such as EVM is too Expressive: In fact, to write the functions required by MEV, you do not need many Opcodes in EVM. Allowing the use of these Opcodes may allow people who are willing to write very complex executions. , and then let the transaction fail at the end of execution, causing the node to waste a bunch of computing resources, which is a DoS attack. The Anoma project redesigns a programming language and execution environment specifically for expressing and executing Intents. In the future, SUAVE may also use Anoma’s architecture to replace MEVM.
If the block developer or Validator of a chain knows the existence of SUAVE and intends to use SUAVE, then it will regard SUAVE as a Block Builder. If SUAVE provides a higher bidding price for the blocks it builds, then Miners or Validators will use SUAVE’s blocks. Taking the current MEV-Boost on Ethereum as an example, the blocks composed by SUAVE will be converted into a format that complies with the MEV-Boost bidding mechanism through the plug-in provided by SUAVE. The Proposer does not need to make any changes in order to adopt SUAVE’s blocks.
If the block developer or Validator of a chain does not know the existence of SUAVE, then SUAVE’s Executor will bid to receive its Bundle through the chain’s fee rules.
Each chain has its own block developer and validator. The block B1 of SUAVE being received by the X chain does not mean that the block B2 will also be successfully received by the Validator of the Y chain. The block production mechanisms and markets of the X chain and the Y chain are independent. Unless both X chain and Y chain use Shared Sequencer, and the same Sequencer produces blocks for both chains at the same time, then only by combining SUAVE can we ensure Atomic Inclusion: the two chains must not “collect specified transactions (or blocks) together”. Yuan)”, or “no income at all”.
And even if Shared Sequencer can ensure Atomic Inclusion, it does not mean that the transaction will be “successfully” executed after being included. If both transactions are not executed “successfully”, it means that cross-chain MEV has failed. Assuming that a SUAVE User wants to complete a cross-chain arbitrage, transactions on both chains must be generated in real time and executed successfully before he can benefit:
Taking the picture below as an example, SUAVE User wants to perform cross-chain transaction arbitrage between Rollup 1 and Rollup 2: buy one ETH at a lower price on Rollup 1, and sell one ETH at a higher price on Rollup 2. .
If both trades are paid in real time and executed successfully, the SUAVE User can earn the price difference. Scenario 1 and 2 in the table in the picture are “SUAVE User is willing to bear the risk himself” and “Executor is willing to bear the risk” respectively.
The bottom three columns of the table are “rewards for both successes”, “rewards for only one success” and “final result for only one success”:
△ Different execution results under different situations. Image source:https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg
Cross-chain MEV requires Executors to have capital, be willing to take risks, and have sufficient technology to ensure real-time, Atomic revenue and successful execution. This can be a lucrative but relatively high-barrier job.
Why can’t we simply transfer and share Preferences through the P2P network? Because a pure P2P network cannot prevent the network from being filled with countless Preferences (i.e. DoS attacks). If it is a chain, DoS attacks can be prevented through handling fees.
Why doesn’t SUAVE use the existing chain? Because SUAVE needs its own (MEV) function and its own chain settings such as block time and block size. If you build it directly on Ethereum, you will encounter problems such as too high cost, too long block time, and limited functions.
In addition, because SUAVE needs to obtain information from other chains to verify whether the Preference is satisfied, an independent SUAVE Chain can maintain neutrality by gathering information from all other chains.
However, SUAVE has its own chain, which also means that (1) SUAVE User may need to transfer assets from other chains to SUAVE Chain to use SUAVE, and (2) SUAVE needs to rely on Oracle to report information from other chains. This means that SUAVE itself has an additional trust requirement for Oracle. If Oracle is insecure, it will affect the security of the contract on SUAVE.
Reading tip: There are not many details yet about whether SUAVE will have its own token, whether assets need to be transferred to the SUAVE Chain for use, or how to transfer to the SUAVE Chain. It is only mentioned in the video and article “ SUAVE User must first transfer assets from other chains to SUAVE Chain before they can use it.”
The design and security model of SUAVE Chain itself are still under discussion. If SUAVE Chain is a Rollup on Ethereum, then you can directly use the Rollup’s own mechanism to transfer assets and read other Rollup information. This will be better than relying on other rollups. Cross-chain technology and Oracle services bring a lot of security.
If the Validator of the SUAVE Chain can be combined with Eigenlayer, it will be safer and more reliable to directly use the Ethereum Validator as the SUAVE Chain Validator than to generate a set of Validators by SUAVE itself. But of course, these designs also have corresponding shortcomings. For more discussion about SUAVE Chain design, please refer to this article.