Introduction to Saline
The Saline Network
Saline is an L1 that capable of verifying any outcome set by the users, utilising intents and on chain-verification. Introducing a new compute paradigm
What is a Verification network?
In constraint programming, you specify the properties you wish the solution to have. For example, I have 10,000 containers with 50 origins and 50 destinations, I want each container to move from origin to destination and the total cost to be under X.
Someone can propose a solution (in the shipping example, this would be done in-house). Then the system will verify the solution meets the properties required: cost under X, all 10,000 containers moved, all origins and destinations, etc.
This system can be centralized (as it is in most off-chain use cases today) or, if you need resilience, cooperation between entities, and other properties where chains shine, a decentralized system. Blockchains are the current best solution to decentralize such a system. Hence, a verification network instead of a verification system.
Crucially, the system/network only performs verification. No computation is done - so no smart contracts, no execution of code.
Why do we need on-chain verification?
“you need resilience, cooperation between entities, and other properties where blockchain shine” above.
There’s also an angle of competition: this allows a less sophisticated entity to let the market bid for the work. You see this already in market making and intent solving, which is done by third parties to the venue and has some kind of “properties” of the win condition (cheapest, fastest execution within parameters, etc.).
How will this be use in crypto space?
First direct verification use case = Intent
We start with an obvious verification problem which is the intent User intent is where users state their condition and desired outcome without caring how the execution gets done as long as their condition is satisfied. Eg. Buying BTC for ETH at 0.05 BTC in the next 2 hours
Why do we need Intent?
The idea of intent came about from the fragmentation that is happening in the crypto landscape. So many chains, many dapps, and many permissions. It is getting very complicated for users to navigate. Most of the users just want to get x for y without caring much about which chains or dexes it is getting executed.
It's an interface to interact with all things in a declarative way. While a lot of the crypto people only think of intent in terms of crypto trading and defi but its much more than that. It's the entire interface for all things on and off-chain, crypto, and noncrypto.
Why do we need our own L1?
This question can be answered in many points
- The current EVM is bound by a smart contract. As we see in the past couple of years, there hasn't been much innovation coming from Defi, and all the different chains just fork dexes and existing applications and put them on other chains. The reason why this is the case is because writing smart contracts in solidity/rust/c++ is hard and the language is very low level. Writing a more sophisticated program using traditional smart contracts is very complicated and needs to go through tons of audits to make sure it doesn’t contain vulnerabilities. Even that is not guaranteed.
We want to get rid of traditional smart contracts and replace them all with Saline Intent, a declarative language that has a low learning curve and is easy to understand. 2 lines of Intent to launch a liquidity pool, or a couple clicks away to create complex signing rules.
-
Traditional smart contracts are tied to chains and ecosystems. Writing a smart contract to execute transactions across L1 is not possible. Hence the fragmentation that comes with it eg. A need to have a specific bridging app to execute transactions or an inability to seamlessly transact across L1. With Saline, an intent can be cross-chain without the user needing to specify the bridge action + The user can also create an intent that depends on other L1 eg. If USDC price on a pool in Solana and the pool on polygon differs by > 2%, buy USDC from Solana and sell in polygon
-
Chain abstraction, credible account, and grant permission on the wallet (ERC-7715 unconfirmed) are relatively new in Ethereum and it feels like a hack around the current Ethereum ecosystem in the hope of achieving a less fragmented future. The underlying infrastructure of Ethereum is still the same which is signature verification. An attempt to bypass the core of the infrastructure comes with a risk. (how will the key be taken care of). And working around that results in even more complexity in building the Ethereum ecosystem. This is not only Ethereum but nearly all L1s are facing the same problem. Saline is built for intent end to end. A chain that verifies intent not signature.
With saline, all these functionality is designed to be part of the ecosystem from day 1. The user doesn’t need to worry about different chains, signing 4-5 times just to get my swap, and having multiple wallets that manage different chain assets. It is built to be seamless and flexible for users and developers.
Why Intent Verification?
Saline intent is very broad. It can be a limit order, perpetual swap, options contract, settlement, off-chain interaction, signing rule, MPC, and much much more. Verifying intent over signature allows for a better user experience. Eg. one clicks trade, swap. Creating a centralized exchange user experience in a decentralized self-custodial world.
Craft an intent and click to send them off-chain, as long as any transaction from and to your address satisfies your intent, the transaction gets validated and added to the block. For instance, a limit order in Ethereum would need you to wake up and approve transactions before the price is reached.
What can Saline Intens do that a smart contract cannot?
We all agree that smart contracts are very complicated to write but they a very powerful though, although they come with quite a limitation
-
Constraint on smart contracts oracle To get data onto a smart contract you would need to have a smart contract oracle. And getting that is not easy. Bringing in real-world data on-chain would depend on service providers like Chain Link or building your entire infrastructure to enable this which is not an easy task. With Saline bringing your data source is much simpler. Eg. You would like to get data using a De-PIN service provider for specific tasks/transactions. With Saline, a wallet address can start posting data on a chain which can then be consumed by whoever wants to use this set of data as part of intent. No need for a complex smart contract oracle.
-
Constraint on ecosystem A smart contract is by design restricted to its ecosystem. You cannot do things such as creating a contract that does a transaction from ETH to BTC, with a bridge or initiate a transaction on Bitcoin and create an instruction on the Ethereum chain. Smart contract is by design restricted to only its own L1 ecosystem
-
Non-deterministic path of execution One of the things that is happening in all the solvers and all other L1 is that the solver would need to specify the execution path of the order to the smart contracts. Therefore it limited the possibility of execution to just on chain and only in a single ecosystem eg. EVM only. With saline and no smart contracts, execution can happen in any form. Off-chain, on-chain, cross-chain it doesn’t matter as long as a user-specified constraint (intent) is satisfied
How does Saline intent offer a better user experience?
Imagine a scenario where chain, dapps, bridges, execution, and permission are no longer an issue. The user specified x for y without the need to worry about which chain it is coming from, which dapps is it using, or whether I need to forgo my key and leave permission to different dapps.
Having a lot of different dexes and chains to execute orders is great. There are more than 100+ dexes on Ethereum to choose from. It's better to leave it to the expert to find the best possible path for execution and make crypto easy again. Imagine a new user figuring out what are the different chains, bridges, and different dexes before they can do execution. In reality, they just want to do X without worrying about How to do X.
How can basic things like limit, market, and derivative trading become much better with Saline Intent?
It is pretty much not possible to do a limit order without forgoing assets to some sort of smart contract to execute on your behalf. With Saline there is no need to do that.
Users create an intent saying I want BTC for USD for 52k. And that intent lives on a chain (or can be in a private pool) and when the price is reached an agent swaps the BTC from the user wallet with USDC directly. With Intent, you are giving the matcher to take that set of BTC from your wallet as long as they give back the right amount of USDC for the price you specified.
NO COUNTERPARTY or SMART CONTRACT risk.
The other benefit here is that, generally, the execution path of the order is no longer restricted to one set of apps or chains. The counterparty could be a coincidence of want from another wallet or liquidity could be brought by the solver which could be from off-chain, other chain, or protocol.
One of the big things with Saline intent in general is that users no longer need to find which dapps to do the trade. It all can just be an intent applied on your assets.