Ethereum is one of the first chains to support decentralized applications (dApps), whose backend is built on “smart contracts” and has on-chain event processing mechanisms. In order to solve the blockchain trilemma - scalability, decentralization, and security - various Layer 2 (L2) solutions and rollup technologies have emerged. These L2 solutions process transactions off-chain and use Ethereum as a data availability layer. However, while L2s are designed to scale Ethereum, they do not fully solve the computational scaling problem. Rollup technologies, even when running off-chain, still rely on the Ethereum Virtual Machine (EVM) to process transactions, which results in higher gas fees. Some of the challenges faced by most rollup frameworks include:

Computational resources: Rollup techniques, especially optimistic rollups, require additional computational steps to generate and verify proofs of correctness. This involves executing the same transactions off-chain and then submitting proofs to the main chain, increasing the computational burden.

State management: Keeping the L2 state consistent with the Ethereum main chain state requires a lot of computing resources. For example, zk-rollups must generate zero-knowledge proofs, which is very demanding on computing resources.

Data commitment: The aggregation technology frequently submits data to Ethereum (mentioned as calling data above) to ensure the availability and correctness of the data. When the main chain is congested, these submissions may become expensive and slow, weakening some of the advantages of using L2.

Cartesi is an application-specific rollup solution with its own Linux runtime, providing decentralized applications with the full computational power of a dedicated virtual machine and expanding the design space beyond Ethereum. As more solutions and dApps move toward a modular approach, Cartesi Rollups can be deployed in modular configurations: as a layer-2 solution on top of Ethereum, as a layer-3 solution on top of chains such as Arbitrum, Optimism, Base, or ZK-EVM, or as a standalone sovereign rollup. By leveraging Cartesi, developers can also use existing software stacks and programming languages ​​not supported by the EVM, reducing developer friction and providing a user experience that can be supported by native Web2 processes.

Source: Cartesi Blog (https://cartesi.io/blog/application-specific-rollups/)

Developer decentralization is real


Although the Ethereum ecosystem is considered to be quite large, according to a report by Statista, only 1.1% of developers write code in the Solidity language, while 51% of developers are still using Python to build applications. Based on this difference, it can be inferred that it is not only difficult for new developers to get started, but it is also equally difficult for advanced developers to learn a new programming language just for smart contracts. In other words, the design space of the EVM is very limited when it comes to actually developing smart contracts, especially when using languages ​​like Solidity and Vyper, which may not be a good incentive for developers to learn blockchain. Don't forget that developers must first master at least one programming language before they can acquire the skills to learn another language, and dApp development is still using libraries and frameworks such as React, which are similar in logic to Web2 applications.

The best solution for developers is not a new language, but to develop applications using the programming stack they are already familiar with and good at. We are talking about bringing millions of developers to Web3, and it should not be the developers' task to spend time understanding various tools specifically for EVM applications. Cartesi provides an excellent solution by abstracting the language barrier. As a developer, you can still use languages ​​​​such as Python, Rust, JavaScript, etc., and integrate different open source libraries to build user applications.

Understanding Cartesian Rollups


Cartesi Rollups solves a key need in the blockchain space by providing a modular execution layer that greatly improves the scalability and performance of decentralized applications (dApps). With Cartesi Rollups, each dApp runs on its own high-performance rollup application chain, equipped with a dedicated CPU, ensuring there is no competition for resources within the Cartesi ecosystem. The design achieves significant computational scalability while maintaining the strong security of the underlying blockchain.

Cartesi Rollups uses an optimistic rollup model and leverages proof of failure to manage and resolve disputes, ensuring reliable and efficient processing. Its framework consists of two main components: the base layer on the chain (such as Ethereum where the dApp contract is located) and the execution layer (where Cartesi handles off-chain calculations). If you want to learn more about Cartesi's architecture and these two components, you can check out the relevant documentation (https://docs.cartesi.io/cartesi-rollups/1.3/core-concepts/architecture/).

Bringing the power of open source to dApps with Cartesi


Open source plays a very important role in the tech industry. Linux is one of the first truly open source operating systems that brought a paradigm shift in commercial software. Linux started as a personal project in 1991 and gradually transformed into an open source version of UNIX that can be freely distributed. It has extremely low resource requirements and provides developers with the freedom to build different applications based on their needs. Linux is "modular" enough to be distributed throughout the ecosystem. For example, using the Linux kernel and combining it with packages, frameworks, and configurations allows developers to generate new software. Ubuntu is one of the famous operating systems released in 2004.

Currently, most existing libraries rely on specific operating systems, such as MacOS or Linux. Banks and financial institutions have long relied on custom operating systems and languages ​​such as Java, C, COBOL, FORTRAN, and assembly to build critical software. Bringing Linux to blockchain development could drive innovation in DeFi, gaming, and development tools due to its flexibility and security. There are more than 1,000 libraries built specifically for blockchain developers using the Python language available on pypi.org.

Here are some interesting algorithms and compilers that you can use when using Cartesi infrastructure and building dApps:

  • rustc (Rust compiler): Rust is becoming increasingly popular in blockchain development due to its memory safety and concurrency features. rustc is essential for compiling smart contracts and other blockchain components that focus on security and performance.

  • Glasgow Haskell Compiler (GHC): Haskell is known for its powerful type system and functional programming paradigm. GHC can be used for blockchain development to build mathematically proven smart contracts and financial models, such as those in Cardano.

  • Use compression algorithms: Blockchain systems typically process large amounts of data, from transaction records to smart contract code. Efficient data compression is essential to reduce storage requirements and improve network performance. Compression algorithms such as gzip, bzip2, xz, and lz4 can be used to compress blockchain data before storing it on disk or transmitting it over the network. The choice of algorithm depends on the specific needs of the blockchain system - whether to prioritize speed, reducing RAM usage, or reducing CPU load.

  • Use engine: Linux also supports a variety of engines, mainly used in the gaming industry, such as FlaxEngine and Panda3D, but you can also use the Docker engine to run containers in applications to achieve application-level expansion.

  • Linux open source contributions: Linux has also made important contributions by releasing more open source libraries, such as Hyperledger Fabric (a distributed ledger software) and Hyperledger IROHA (a platform written in C++ for financial institutions to manage digital assets). (https://www.hyperledger.org/projects/fabric)

Developer Abstraction and Modular Extensibility of Cartesi

Providing a dedicated virtual machine (VM) for each application helps developers not have to worry about tooling and overall scaling. The Cartesi Machine is a virtual machine designed to handle off-chain computations for blockchain applications. The Cartesi Machine uses the RISC-V Instruction Set Architecture (ISA), an open source set of processor instructions. It runs independently and can be consistently reproduced. Developers can develop custom processors for a variety of applications, from embedded designs to supercomputers.

  • Code Execution: Cartesi Machines run code based on specific inputs to perform calculations, process data, or execute custom logic based on task requirements.

  • Build real-world applications: With an abstraction layer around the EVM infrastructure, developers can focus on building dApps that can leverage computing resources on demand.

  • Expanding the developer’s design space: In the Cartesi world, developers can use languages ​​such as C++, Rust, Go, TypeScript, or Python to build on-chain applications without having to deal with the complexity of specific contracts.

The best way to get started with Cartesi is to check out the Cartesi CLI or try the Udemy course on Cartesi.

How can developers build with Cartesi?

The Cartesi ecosystem is growing, with developers building powerful dApps on top of existing Web2 infrastructure. Integrating Cartesi Rollups can enhance their applications, making them more user-focused while also enabling them to develop using different technology stacks.

  • Nebula Duel (Rust): Rust is renowned for its performance and security, making it a great fit for complex blockchain applications. With Cartesi and Linux, Nebula Duel can leverage Rust's high-level features in a familiar Linux environment, providing the low-level control needed for high-performance dApps. Without Cartesi, the integration of Rust's powerful features in blockchain would be more complex and limited.

  • Turtlish (Python and Matplotlib): Matplotlib is a powerful data visualization library in Python. Cartesi and Linux allow Turtlish to run Matplotlib natively, enabling dapps to perform complex graphical analysis. Without Cartesi, it would be nearly impossible to achieve such advanced visualizations directly on-chain.

  • Comet (JavaScript/TypeScript): JavaScript is essential for rapid development and deployment of business logic, and libraries such as viem enable seamless Web3 integration. Cartesi and Linux allow Comet to use these tools in a powerful and scalable environment, allowing developers to bring dApps to market faster. Without Cartesi, it would be difficult for developers to achieve the same efficiency and integration in the blockchain space.

  • OnChess (TypeScript): TypeScript combines static typing with the flexibility of JavaScript. Cartesi and Linux enable OnChess to fully leverage the benefits of TypeScript in a decentralized environment, ensuring the reliability and maintainability of smart contracts. Without Cartesi, it would be much more difficult to effectively utilize TypeScript in blockchain.

  • DeVolt (Go): Go is well known for its concurrency capabilities and efficiency, making it a great fit for dApps that require high performance. Cartesi and Linux allow DeVolt to run Go applications natively, taking full advantage of Go's capabilities in a secure and scalable environment. Without Cartesi, the limitations of existing blockchain environments would hinder the full utilization of Go in decentralized applications.

If you are building with Cartesi, you can apply to showcase your project. (https://forms.gle/bAySRe16nQTXnnnW6)

in conclusion

Web3 aims to be a decentralized version of the current Internet or Web2 technology, allowing users to control and own their data from the beginning. Developers have long trusted the open source nature of Linux and valued the freedom and flexibility it brings. Linux provides a wealth of tools, libraries, and a mature development environment to enhance the capabilities of decentralized applications.

Cartesi provides developers with the opportunity to leverage these Linux features directly in a blockchain environment, breaking the limitations of the EVM design space. By allowing developers to choose their preferred programming language and modular building blocks of the technology stack, Cartesi is attracting more developers and accelerating the growth of innovation in the Web3 space.

About Cartesi

Cartesi is an application-specific rollup protocol with a virtual machine running a Linux distribution, creating a richer and broader design space for DApp developers.

Cartesi Rollups provide a modular scaling solution that can be deployed as L2, L3, or sovereign Rollups while maintaining strong base layer security guarantees.

Disclaimer


This article is for general reference and information sharing purposes only and does not constitute legal, financial or investment advice. The accuracy and completeness of this information is not guaranteed and should not be considered as advice for specific circumstances. Readers should conduct their own independent research and consultation to make any decisions. The author and related institutions are not responsible for any loss or damage caused by reliance on this information. Before making any financial or investment decisions, it is strongly recommended to consult a professional for personalized advice.

Virtual currency is a high-risk investment product. Before making an investment decision, please consult the relevant regulatory authorities whether there is a risk of investment loss.