Developers can start coding for Cartesi Rollups end of December

With a fundamentally different approach to rollups

Erick de Moura
Cartesi
8 min readDec 2, 2021

--

As of 2022 Descartes has now been renamed as Cartesi Compute.

Cartesi Rollups is not only about transaction scaling and fee reduction. Through continuous research and development, and the help of a growing number of partners and supporters, we want to allow “impossible” (or previously inconceivable) DApps to become reality.

Progressive insights

We are thrilled to share that our core team has increased three-fold this year as we ventured deeper into new areas of research, development, and more recently with business development and branding. Our development processes improved considerably resulting in better communication and increased ability to deliver.

Alongside the notable growth the Cartesi team gained throughout that period, the blockchain industry evolved extremely fast, giving us crucial information on better ways to position our efforts.
Meanwhile, behind the scenes, our research evolved so much that we needed to redefine priorities and branch away from previous development paths taken at an earlier stage.

As an innovative tech company in an industry born a few years ago, it is vital for Cartesi to reevaluate itself and steer in the best direction constantly. We constantly receive input data from the evolving industry, our community, and our in-house research. And as any intelligent creature in a wildly changing environment would respond, we are also left with the need to adapt to maintain high relevance and competitiveness.

Unfortunately, the evolution of our research did not come without undesirable consequences. The downside is it will not be possible to release rollups on Mainnet before the end of 2021 as predicted a year ago. However, we also must say that our new R&D initiatives bring meaningful, lasting benefits without significantly sacrificing our original timeline.

An overview of our new R&D initiatives

Each of these R&D initiatives is of fundamental importance and deserves dedicated articles, which we will publish in the following weeks. Here is a summary of each of them.

HTTP API. The original design of Cartesi Rollups was somewhat raw, as is often the case for blockchain projects. This was clearly a necessity at the time, as we wanted to release the technology as soon as possible for early developers to jump in. But now we are determined to make Cartesi Rollups programming feel as close as possible to the level of convenience that traditional web development has reached over the decades. This means that we needed to introduce an API that every programmer felt familiar with, and we have designed exactly that with our HTTP API.

With this API, our rollups will become highly convenient, allowing for an easy way to send data in and out of applications running on Cartesi Rollups, all based on a standard that has been around for more than four decades.

That means the interaction with DApps on Cartesi follows well-known Web standards, allowing anyone to decentralize broadly-used Web servers or services.

We concluded that the great convenience of the HTTP API is key to efficiently onboarding the early-adopting developers and projects to Cartesi’s ecosystem. We thus decided to prioritize the HTTP API over the previously anticipated aggregator service.

Since we want to expedite the first Cartesi Rollups on Mainnet and a rollup without an aggregator is not cost-effective on Ethereum, the first rollups network will run on top of Polygon Network.

Please, bear in mind that developers willing to run their Cartesi applications on Ethereum (or other blockchains Cartesi) will be able to seamlessly port their code to the rollups network on Ethereum when the aggregator is ready.

Validator incentives & decentralization. In the last months, we had design decisions leading to a new utility for CTSI. Cartesi’s token becomes an important incentive for rollups validators to place claims on-chain or to execute outputs from rollups to the underlying blockchain. Cartesi’s existing proof-of-stake network becomes the basis for new services in which node runners receive CTSI incentives to perform different tasks for Cartesi Rollups at the end of this protocol upgrade.

An upcoming dedicated article will show how Cartesi Rollups become increasingly more secure and decentralized while DApps don’t need to be rewritten or upgraded; instead, they automatically reap the benefits of such network upgrades.

This new protocol obviates the need for a previously anticipated validator marketplace and ultimately allows for a truly decentralized and fully un-permissioned network for Cartesi Rollups.

Microarchitecture & Arbitration. The Cartesi Machine (Cartesi’s VM) emulates a RISC-V ISA. One of the most challenging undertakings of the project is keeping a “step function” implemented as smart contracts on-chain precisely compatible with the off-chain ISA emulator code. As a quick reminder, the step function is a single RISC-V opcode implementation relying on intricate Merkle tree manipulations, aiming to reproduce on-chain the execution of the single instruction at the end of a verification game. This can easily sound very esoteric but is explained in detail in Cartesi’s white paper.

The Cartesi research team discovered a way to reduce the complexity of such on-chain implementation sharply. That involves a more sophisticated Cartesi Machine that emulates a “micro-architecture” with a simplified instruction set, which in turn emulates the original RISC-V ISA.

With this simplification, we reap three significant benefits. The first relates to security, as we drastically reduce potential vulnerabilities caused by subtle discrepancies between the on-chain and off-chain ISA implementations.

The second one is that porting Cartesi Rollups to any other blockchain, even those that are not EVM-compatible becomes a much easier task.

The third benefit is that this change allows us to later add features to our architecture (such as vector operations or TLB support) much faster and without reducing the security of the overall system.

Cartesi creates the first operating system for blockchain

Why is all this so important? The reason is that Cartesi envisions to be a universal abstraction layer where application developers code decentralized systems on Linux, without the need to master the idiosyncrasies of any specific blockchains we will integrate with.

Properly speaking, Cartesi creates the first operating system for blockchain. In the same way that regular operating systems hide the specificities of hardware manufacturers and leave developers with an invariant and rich infrastructure to build their applications, Cartesi Rollups give for the first time a real Linux to blockchain developers, irrespective of the underlying chain.

We believe that the microarchitecture is so important that we are rewriting all legacy arbitration code released with Cartesi Compute. Our computational oracle will be reimplemented on the same new rollups infrastructure, including a brand new arbitration and step function implementations.

Building a fundamentally different approach to rollups

Building core infrastructure is laborious, and battle-testing new science takes time. Building an EVM-compliant rollup would be challenging enough: supporting the entire Ethereum stack within the latest science. Re-implementing security-critical EVM features are costly; every additional line of code introduces the risk of vulnerabilities. Cartesi Rollups stands on a fundamentally different approach to rollups, with no less complexity. It develops rollups on top of EVM-compliant infrastructures (and later on non-EVM infrastructures) while giving application developers something distinctively more convenient and powerful than EVM or WASM could ever do.

Cartesi isn’t building a scalability solution only. It is building a blockchain Operating System. In a broad sense, most rollups are only trying to scale transaction throughput and achieve lower fees (i.e., making more transactions paying a lot less). Cartesi Rollups can do that and dramatically raise computation to the point that DApp developers can use a real-world operating system for the first time. Yes, you can run a database inside our rollups, a web server, or a machine learning algorithm.

That is not the case with other rollups solutions. Typically, using rollups means doing the same things developers would do in layer-1 but faster and cheaper.

Cartesi’s positioning as the blockchain OS places us in a different game.

The (short) road to Mainnet

Here we describe the concrete steps we will take to have a full-fledged Cartesi Rollups on Mainnet. All milestones are expected to be fulfilled in the next few months.

Milestone I (Q4/21)

  • The first release of our rollups solution focuses on offering a shortcut for mainstream developers to enter into the Blockchain world. They can take advantage of the knowledge they already have (languages, IDEs, and tools like docker) instead of taking too long to learn Solidity and other blockchain idiosyncrasies
  • Support for implementing and testing full DApps using a local development environment
  • README files and HTTP API Specification
  • Article with an intro to Cartesi Rollups and the DApp Development Life Cycle

Milestone II

  • The first Cartesi Rollups node infrastructure for Polygon Testnet

Milestone III

  • The official release of our HTTP API, properly documented and tested
  • First exercise for our economic incentive for validators using a Cartesi validator node that will be paid using CTSI
  • Support for packaging and deploying DApps to local and remote networks
  • Comprehensive SDK documentation

Milestone IV

  • Final tests
  • Auditing
  • Mainnet deploy

2022 is going to be our year!

In 2022 we will welcome the first Heroes to our OS. We will organize ideathons, hackathons and speak at prime events. We are aiming for a thriving Cartesi Labs and a robust utility of CTSI.

In short: we will start building the strong, decentralized ecosystem we are aiming for. A shout out to our developer’s team, who are working flat out to make this happen. Again, a heartfelt thanks to everyone in the community who is helping to make this project a success.

About Cartesi: Home to what’s next

Cartesi is the first OS on the blockchain, and their Layer-2 solution integrates Linux and standard programming environments to blockchain. This allows developers to code scalable smart contracts with rich software tools, libraries, and services they are used to.

Cartesi bridges the gap between mainstream software and blockchain, welcoming millions of new startups and their developers to blockchain by bringing Linux to blockchain applications. Cartesi combines a groundbreaking virtual machine, optimistic rollups, and side-chains to revolutionize the way developers create blockchain applications.

Follow Cartesi across official channels:

Telegram Announcements | Telegram | Discord (Development Community)| Reddit | Twitter | Facebook| Instagram | Youtube | Github | Website

--

--