Builder solidity
Builder solidity is a superset of Solidity with additional precompiles to support decentralized MEV applications. Using these precompiles, builder solidity contracts can define how SUAVE nodes run computation, without that computation being done on chain. That is, SUAVE nodes can accept encrypted data from users, do stuff with it privately and only reveal the results, not the inputs.
Verifiable logic, private data​
Block builders have no incentive to share the algorithms by which they currently build blocks, and searchers currently depend on builders they send their bundles to to ensure the bundles are included. This means that searchers are more likely to send their bundles to just the few builders they do trust, or only those who consistently build winning blocks. This trust-dependency results in block builder centralization over time.
Builders can now use builder solidity to create contracts that specify exactly how they will order bundles (and transactions) sent to them. Those bundles can be kept confidential: encrypted to the SUAVE node that the builder in question runs. This way, builders can receive bundles and order them according to verifiable logic, without ever revealing sensitive transaction data.
Builder solidity is for all kinds of builders though, not just block builders. Builder solidity contracts are a uniform programming model for implementing every component of the transaction supply chain, such that we can ensure that any value created is distributed fairly.
The result should be continuous improvement of mechanisms which compete for order flow, and do so by virtue of the efficiency of their implementation combined with the guarantees their contracts make about how they will distribute value.
This enables us to combine the collective verifiability we expect from blockchains with the individual privacy we need in order to protect users, defend against malicious MEV, and create provably fair systems which are resilient to economic centralization pressures across time.
Worked examples​
To dive deeper into how builder solidity actually works, we recommend that you begin with our MEV-Share worked example.
Further context​
We recommend this early research talk from Andrew Miller to get a sense of the ideas from which builder solidity has grown.
Please note that the pseudo code Andrew shows is now outdated and you are better off learning from our MEV-Share worked example above, or looking directly at our list of available precompiles. That said, the framework used in this talk and the background provided should still prove very useful when writing your own builder solidity contracts.