December 2022 Development Recap for Cartesi.

See the latest updates on the Cartesi Machine, Cartesi Rollups, and Noether.

Cartesi Foundation
Cartesi
6 min readJan 16, 2023

--

Looking for the latest developments on Cartesi tech? You’re in the right place! As outlined in our roadmap article, we’re moving towards more regular and frequent updates to keep our community in the loop on the progress we’re making to get Cartesi technology to the production level — to where a beautiful and diverse DApp ecosystem can flourish and grow.

Not too familiar with the components of Cartesi technology? Make sure you take a read through these introductory articles to get you up to speed before you dive in:

For a quick overview on December’s developments, check out the roadmap diagram below to see what’s new for the Cartesi Machine, Cartesi Rollups, and Noether.

The Cartesi Machine

The Cartesi Machine is Cartesi’s deterministic virtual machine that emulates a RISC-V architecture and can run a full-fledged Linux OS. It is a groundbreaking technology that offers a runtime for decentralized applications built with mainstream software.

The Microarchitecture

  • After releasing an initial implementation for our microarchitecture as part of the Machine Emulator SDK v0.13.0, we started to adapt our microarchitecture emulator so that its C++ code is as close as possible to Solidity. This way, implementing the new solidity-step function, which we already started, will be straightforward and less prone to having any inconsistencies.

Self-Hosted Distributions

  • Experimentation with Gentoo self-hosted distribution and Alpine Linux were temporarily paused for our team to concentrate all energy on Cartesi Rollups and the microarchitecture work fronts.

Infrastructure for Rollups

Here comes a list of improvements in our Machine emulator and its components to support Cartesi Rollups progress:

  • Compressed instructions were implemented and are under review.
  • New “docker-like” approach to build rootfs is under review (DApp developers wishing for an easier way to create their machines, stay tuned!)
  • Significant increase in emulator test-coverage
  • Kernel configuration was optimized. Linux now boots twice as fast (.4s)!

Other improvements

Here comes a list of improvements in our Machine emulator and its components not necessarily driven by Cartesi Rollups progress:

  • Prototype hypervisor support is advancing and almost booting KVM.
  • Update to kernel 6.x and move from BBL to OpenSBI are under way.
  • Migration of some components from gRPC to JSON-RPC is progressing quickly.
  • Non-permissioned arbitration algorithm (NxN) being prepared for academic paper submission in mid-February.
  • NxN prototype implementation progressing quickly.

Cartesi Rollups

Cartesi Rollups is Cartesi’s optimistic rollup layer-2 system relying on the Cartesi Machine to allow developers to create scalable decentralized applications with mainstream software components. It consists of on-chain and off-chain components that allow the blockchain to provide data availability, order input data, bridge tokens between layer-1 and layer-2, and serve as a referee in case of disputes.

Road to Mainnet

  • We have started working on Rollups alpha release 0.9.0, which will use a simplified on-chain architecture for Rollups. This will represent an important step towards reaching Mainnet with a safe and reliable framework.

DApp Validator Nodes

  • Our Deployment System and cloud-based Execution Infrastructure is currently in continuous improvement stage, which means that the basic features are done and new features and/or fixes will come according usage. For more information, please click here.

Rollups Enhancements

  • We have been working to make alpha release 0.8.0 more stable and robust, and have added a simple web client for the Echo DApp to illustrate how front-end applications can interact with the Rollups framework

Support for Computational Oracles

Zippie’s dev team got a Cartesi Foundation Grant to work on Cartesi’s computational oracle solution (named Cartesi Compute). As reported by Zippie, grant work continues to progress.

Milestones 1 and 2 are in review stage, which includes the following tasks:

  • Rename legacy “Descartes” name to “Compute” in source code and interfaces
  • Upgrade Cartesi Compute to use a Cartesi Machine from 2022
  • Implement precomputed hashing of pristine pages (empty pages), which makes hashing much faster for bigger machines
  • Functionality to disallow Logger upload of data (smart contract guarantees the data is available)
  • Functionality to add an admin key to Cartesi Compute to allow staged Mainnet deployment
  • Stability, CI fixes
  • Testing: confirm verification game is working / catching fraud
  • Testing: confirm Cartesi Compute Samples work & verified Logger functionality
  • Additional contributions involving the ability to make an IPFS drive download as a CAR file (getting whole DAG)

Additionally, work on Milestone 3 has started, which includes documentation changes and renames, as well as discussions on integration with the new microarchitecture changes to the Cartesi stack.

Arbitration for Rollups

  • We will temporarily pause this work front to concentrate our efforts on the work on the Road to Mainnet.

Automatic Voucher Execution Incentivized by CTSI

⚠ It is important to mention that this feature depends on the scheduler component.

  • See status update for the Scheduler activity.

Transaction Sequencer Incentivized by CTSI

⚠ It is important to mention that this feature depends on the scheduler component.

  • See status update for the Scheduler activity.

Noether

Noether is Cartesi’s side chain for data availability. It is the part of Cartesi’s solution that will enable blockchain applications to use much more data than would be possible with Ethereum or other base layers.

The Scheduler

  • We temporarily paused the development on the Scheduler to concentrate our efforts on the work on PoS.

Explorer

Here comes our updates on the Explorer work front:

New Features:

  • New users page is live. That gives visibility on two main things; users growth on a staking pool and also the accumulated shares by address. That gives users perspective on which addresses are whales and the possible impact on block production if they decide to leave.
  • We started the code changes to support PoS V2.

Enhancements:

  • We added support to the new Gnosis safe app environment called app.safe.global. We still support the previous environment as well.
  • Improvements done using the ENS subgraph graphQL data to statically generate meta to improve SEO results for staking pools using the ENS service.

Fixes:

  • We released a myriad of fixes from UI changes like alignments on mobile, to functional ones like stale data in the stake action forms.

Maintenance:

  • We archived a bunch of feature flags and removed a lot of code with that. E.g. flags to access to the new pool list page, pools details page, node-runners and the new wallet connection workflow / UI.

Contribute to Cartesi

Interested in developing with us? We’re always looking for collaborative team players! Feel free to contact us on Discord, check our current career openings, or send your resume along with an introduction to our HR e-mail: hr@cartesi.io.

About Cartesi

Cartesi Rollups is a modular execution layer that elevates simple smart contracts to decentralized Linux runtimes. It allows developers to launch highly scalable rollup chains, and code decentralized logic with their favorite languages and software components.

  • Every DApp has its own high-performing rollup chain;
  • No cannibalization of resources from other DApps in Cartesi’s ecosystem;
  • No network gentrification;
  • Enable an entirely new class of DApps that currently cannot run on EVM chains;
  • Preserve the strong security guarantees of the underlying blockchain

Follow Cartesi across official channels:

Telegram Announcements | Telegram | Discord (Development Community) | Reddit | Twitter | Github | StackOverflow | LinkedIn | Facebook | Instagram | Youtube | Cartesi Improvement Proposal (CIP) | Website

--

--