Cartesius: Development of a Cosmos Appchain as a base layer for Cartesi rollups
Cartesi, as an open-source platform, allows developers to use Linux and mainstream software stacks to build scalable DApps. Despite its widespread use, its capabilities can be enhanced to address some potential scalability and interoperability issues. This proposal aims to innovate and redefine the way the Cartesi community interacts with and utilizes rollups.
Our team suggests the creation of a proof-of-concept Cosmos Appchain based on the Cartesi Machine emulator. We are committed to designing and implementing this base layer to function as a high-throughput Data Availability (DA) + ordering layer with capabilities only for limited state transition verification. We believe that introducing a Cosmos Appchain will bring significant benefits to the Cartesi community.
We will be porting the Cartesi machine emulator written in solidity to be used in fraud proof challenges in the appchain
A. Cosmos Appchain
The proposed base layer will initially be a port of the Cartesi Machine Solidity step contracts. It is designed to primarily serve as a DA + consensus layer, enhancing throughput and improving the scalability of the network. Additionally, it will have a limited role in state transition verification (ie. only fraud proofs).
B. Permissioned Rollups
We propose deploying all Cartesi rollups on top of the base layer and making them permissioned through on-chain governance. This governance model will allow for community involvement and more democratic control over rollups, ensuring that the network grows sustainably and securely.
C. Economic Security and Initial Bootstrap
The economic security of the proposed base layer will be secured by bridged Cartesi tokens ($CTSI). The initial network will be bootstrapped by burning 1 CTSI token in a public ceremony. The burnt tokens will symbolize community commitment to the development of the network and serve as a symbolic start to the network’s economic security model. Cartesi tokens will then be bridged (eg. through Axelar) and a can be locked/burned for a 1:1 representation minted for the network token. This token can then be staked (by validators, or delegated by users) to provide economic security to the PoS chain.
D. Fraud proofs with slashing
The base layer will be designed to only intervene and trigger expensive computation when a fraud proof for a commitment is submitted. This feature will help maintain a high level of network security while keeping unnecessary computational expenses to a minimum. The initial module will be a direct port of the Cartesi RISC-V Solidity Emulator (GitHub - cartesi/machine-solidity-step: The on-chain implementation of the Cartesi Machine)
- Increased Scalability: With the introduction of a high-throughput DA + consensus layer, Cartesi’s scalability will significantly improve, accommodating more users and more complex applications.
- Improved Security: The economic security of the base layer backed by Cartesi tokens and the implementation of fraud proofs will provide an additional layer of security, rather than bootstrapping a network from scratch
- Community Governance: Permissioning rollups through on-chain governance will give the Cartesi community a voice in network development and the future of the platform. On-chain governance is a tried and tested module present in the cosmos-sdk, which is available to cartesi token holders from day 1
- Interoperability: The use of the Cosmos Appchain protocol will allow for seamless interoperability with other Cosmos-based chains via IBC (Inter-Blockchain Communication Protocol), broadening the utility and application of the Cartesi ecosystem.
By bringing these upgrades to Cartesi, we believe that we can unlock more opportunities for DApp developers and users alike, and contribute to the broader evolution of the blockchain technology landscape.
POC to demonstrate the use case of generating a random number with the Convenience tools.
Duration: 2 weeks (+1 week)
- A golang port of Cartesi RISC-V Solidity Emulator (work underway at GitHub - aerius-labs/cartesi-machine-step-go)
- Unit and integration tests
- Integrate with a poc appchain with IBC compatibility for CTSI bridging and usage in the larger ecosystem
Funds request (USD) for milestone 1: $5000 USD
Duration: 9 weeks (+1 week)
- A functioning appchain with PoA rollups (permissioned nodes)
- Permissioning chains and corresponding set of nodes through governance module
- Research on single shot and multi-round fraud proofs and try to make a poc
Funds request (USD) for milestone 2: $20,000 USD
Total Funds requested - $25,000 USD
For a feature complete appchain, we would integrate the Cartesi machine Emulator directly into the base layer, either callable through a Foreign Function Interface (cgo)
EASY but inefficient or by directly porting the Cartesi Emulator to Go
DIFFICULT but performant. We would also introduce staking and slashing for rollups, and liquid staking for cartesi tokens, so that they can be used to provide security for the base layer and also used with the rollups to provide complex primitives and use cases.
The long term project aims to be a fully functioning, high performance base layer for Cartesi rollups, with out of the box governance and inter chain communication
No (apparent) big risks involved with the project, since all of the poc deliverables and long term deliverables are technically feasible given the extensibility of the Cosmos-SDK
A poc appchain with PoA rollups and a mock Cartesi rollup deployed on top of it, correctly permissioned through the governance module
- Rahul Ghangas
- Role - Protocol Researcher/Engineer (Founder and CEO at Aerius Labs)
- Sunil Jalandhra
- Role - Engineering manager and Cosmos-sdk developer (previously built appchain that served as a trustless poc bridge between NEAR and Cosmos)
- Jatin Nagpal
- Role - Devops (Previously Google)
- Yogesh Shahi
- Role - Golang and typescript developer