The following sections will go through some of the key features of the Saga protocol. For a more extensive discussion, please see our litepaper.
In Saga, smart contract developers interact with the Saga Mainnet to request a Saga Chainlet. A Saga Chainlet is an application-specific blockchain secured using Cosmos Interchain Security (ICS), with the Saga Mainnet validators providing the security. The validators for the Chainlets are the same as those for Saga’s Mainnet, and they produce blocks while checking to make sure that the other validators are following a predetermined service-level agreement (SLA). The provisions of this SLA include uptime requirements, running relayers and services, and validating properly without double signing. When a validator violates the SLA for a Chainlet, the evidence is relayed by the other validators via Inter Blockchain Communication (IBC) back to the Saga Mainnet. The network then slashes the staked SAGA tokens of the validator who violated the SLA. Using ICS, every Chainlet automatically inherits the security of Saga’s Mainnet without the need for a native and individual staking token.
In Saga, a Chainlet can be configured to use various Cosmos SDK modules, including virtual machines (i.e. EVM, Cosmwasm, SolanaVM, MoveVM) as well as different flavors of each (i.e. Juno’s version of Cosmwasm, Osmosis’s version of Cosmwasm, the Aptos MoveVM). Every Chainlet has a dedicated VM that has been deployed onto an individual chain. To deploy, a developer simply requests a Chainlet launch from Saga Mainnet. Once the request is received on the Saga Mainnet, the Saga validators provision the requested Chainlet. Once the provisioning is complete, the developer is free to deploy the smart contracts they have developed onto their Chainlet.