1Can you give us a brief introduction of Cartesi? What is the vision of the project and what are the problems Cartesi is going to solve?
Cartesi is an off-chain decentralized computation platform. Cartesi is unique in the sense that it allows decentralized applications to be run on Linux in a way that's verifiable by the blockchain. Complex processing can be executed off-chain free from blockchains' computational limits and corresponding fees. By offering a Linux runtime environment, Cartesi is the only software-based verifiable off-chain compute system that gives developers a vast array of software that evolved in the last 30 years and that enable the applications we use on the Internet today.
1.1Could you please elaborate on the relevance of offering Linux and its supported software stacks?
No software application is built in isolation. Mainstream mobile/desktop/web Applications today depend on multiple software dependencies that took decades to mature on operating systems like Linux. Cartesi brings all this software infrastructure to blockchain applications. Whereas without Cartesi, blockchain applications cannot use mainstream software, libraries and services, unless they sacrifice decentralization in some way.
Then, there's the second problem. Besides being hampered by insufficient software infrastructure, decentralized applications also suffer tight on-chain processing limits. So, they can hardly offer a compelling alternative to mainstream centralized applications. They are often hard to build, being clunky and limited for developers and DApp users. Cartesi solves these three problems by 1) offering developers the software and tools supported by a full Linux OS; 2) moving off-chain all the heavy computation over large amounts of data, that blockchains cannot do; 3) offering services and a token economy that allows users to securely rely on the network and remain free from inconveniences of blockchain tech (e.g. slow confirmation times, requirement to remain online to resolve disputes, and others).
1.2How do you see this new infrastructure brought about by Cartesi impacting the ecosystem?
It's hard to imagine a future for decentralized applications without the infrastructure that Cartesi brings to the ecosystem.
Cartesi exists to provide the infrastructure for decentralized applications that are easier for developers to build and with a user experience comparable to Internet applications. Also, think about all veteran/mainstream software developers that will have a much lower entry barrier to develop DApps!
2Who are the founders and co-founders of the project?
Erick de Moura (CEO)
A technical leader with deep experience in system design and development. Erick's specialties include software architecture, process definition, and execution. As a consultant, developer and business owner before Cartesi itself, he has dedicated 20 years to the software industry and was pivotal in the success of several tech companies in different verticals such as Fintech, Healthtech, E-commerce, and Infrastructure. LinkedIn: https://www.linkedin.com/in/erickdemoura/
Augusto Teixeira, PhD (Chief Scientific Officer)
A mathematician with a Ph.D. from ETH-Zurich and a post-doc from Ecole Normale Supérieure of Paris. Augusto is an Associate Professor in the Institute for Pure and Applied Mathematics in Rio de Janeiro where he specializes in probability and graph theory. Expert in crypto-economics and is connecting the Cartesi architecture to Ethereum and Turing-complete blockchains. Throughout his career, he published 28 publications and academic papers. Website: https://www.impa.br/~augusto/ LinkedIn: https://www.linkedin.com/in/augusto-teixeira-39a3a8169/
Diego Nehab, PhD (CTO)
A computer scientist with a Ph.D. from Princeton University and a post-doc from Microsoft Research. Diego is an Associate Professor in the Institute for Pure and Applied Mathematics in Rio de Janeiro where he is a member of the visual computation group. An expert in computer graphics, image processing, and massive parallelism (GPGPU), was granted 3 patents, published 36 articles and scientific papers, and received more than 1900 citations. Website: https://www.impa.br/~diego/ LinkedIn: https://www.linkedin.com/in/diegonehab/
Colin Steil (COO)
Execution master with years of experience in community and business operations across the globe. Colin is a previous venture capitalist and start-up founder with a specialty in the Asian ecosystem. Colin first got involved in blockchain in early 2017 and began working with blockchain technology, crypto exchanges and ICO projects in the venture capital industry.
3What is Cartesi’s biggest innovation and has it been academically verified?
The biggest innovation that we bring with Cartesi is the ability to have typical real-world computations running off-chain on a Linux environment, in a way that's verifiable by the blockchain. DApp users can achieve consensus off-chain and if there's an attempt of fraudulent computation, Cartesi uses the blockchain as a supreme court, identifying and punishing dishonest parties
Cartesi Core has been specified by Diego Nehab and Augusto Teixeira who are both PhD researchers and reviewed by Cartesi's advisor Luiz Henrique de Figueiredo. Cartesi is, in fact, an academic research project and has been published via our technical whitepaper which can be found here: https://cartesi.io/cartesi_whitepaper.pdf
4Can you give me a simple explanation of how Cartesi works?
Blockchains don't support mainstream computations that we take for granted on our computers and devices. Typically these computations comprise billions or trillions of steps and involve large amounts of data. The processing and data exceed by orders of magnitude the computational throughput capacity of a blockchain. We have also seen a lot of on-chain scaling solutions emerging, but none of them have achieved any significant and convincing results so far.
With Cartesi, we can have typical real-world computations running off-chain on a Linux environment (as they often do!), in a way that's verifiable by the blockchain. DApp users can achieve consensus off-chain and if there's an attempt of fraudulent computation, Cartesi uses the blockchain as a supreme court, identifying and punishing dishonest parties. In the rare cases when these dispute resolutions arise, the blockchain runs an interactive dispute resolution and is left to run a single step of the original computation with a negligible amount of data (we use a Verification Game implementation, akin to Truebit). That happens at a negligible cost to the blockchain. Btw, compared with some well-known Layer-2 solutions, Cartesi doesn’t require parties to remain on-line all the time to participate. Therefore, Cartesi is a platform that users can enjoy the benefit of decentralization without sensing it.
Finally, the Cartesi Network and the Cartesi Token employ economic incentives and services that allow users to participate in DApps in a secure and convenient way. More details to be released in the future.
Full article on how it works:
5What is the target industry for your project?
Cartesi solves many infrastructure problems of the blockchain and will enable a new wave of DApps that were not possible before. It's more than a simple technology, but a versatile platform that will benefit blockchain applications, regardless of the industry. We know that recently the Chinese government has announced a series of blockchain strategies to explore more business possibilities with different industries. Cartesi is a friendly platform that fits in this trend.
5.1Which use cases does Cartesi intend to mainly focus on? Finance, logistics & optimization, or gaming? How will Cartesi collaborate with other Public blockchains to create these use cases?
Our first decentralized application will be the first fully decentralized tower defence tournament game running on Linux. We see games as an easy entry point for the first users of DApps as blockchain brings several benefits to the gaming industry. For those interested, make sure to check out our recent article on blockchain gaming here: https://medium.com/cartesi/how-to-make-more-impressive-decentralized-games-120636cb5712
Besides providing a powerful infrastructure for the decentralized gaming ecosystem, we foresee Cartesi helping to create powerful open finance applications, by allowing for large amounts of real-world financial data being processed with potentially complex financial algorithms.
Cartesi is initially built on Ethereum and our plan is to be blockchain agnostic in the future. We are looking to build strategic partnerships with several public blockchains where we will benefit each other to rapidly increase adoption and release the killer DApps the community is searching for.
6Why do we need Cartesi?
No software application is built in isolation. Mainstream mobile/desktop/web Applications today depend on multiple software dependencies that took decades to mature on operating systems like Linux. Cartesi brings Linux to blockchain applications. Whereas without Cartesi, blockchain applications cannot use mainstream software, libraries and services, unless they sacrifice decentralization in some way.
Besides being hampered by insufficient software infrastructure, decentralized applications also suffer tight on-chain processing limits. So, they can hardly offer a compelling alternative to mainstream centralized applications. They are often hard to build, being clunky and limited for developers and DApp users. Cartesi solves these three problems by 1) offering developers the software and tools supported by a full Linux OS; 2) moving off-chain all the heavy computation over large amounts of data, that blockchains cannot do; 3) offering services and a token economy that allows users to securely rely on the network and remain free from inconveniences of blockchain tech (e.g. slow confirmation times, requirement to remain online to resolve disputes, and others).
It's hard to imagine a future for decentralized applications without the infrastructure that Cartesi brings to the ecosystem. Cartesi exists to provide the infrastructure for decentralized applications that are easier for developers to build and with a user experience comparable to Internet applications.
7Is Cartesi a public chain? What’s the TPS of Cartesi?
Cartesi is not a public chain. Its first implementation is on Ethereum. But it can work on top of any public blockchain supporting smart contracts. It is blockchain-agnostic. In fact, it’s also agnostic to the consensus mechanism, being able to rely on Proof of Work, Proof of Stake, some BFT variant or some kind of quorum.
Our objective is to provide a much better computational layer for DApps. In that sense, the computation is moved off-chain, outside of the consensus layer. The latter being only used to guarantee consensus and security.
Cartesi is a platform for decentralized computation. In that sense, looking at Cartesi as a computer, the correct metric should be “Instructions per Second” (in the same way we would measure the power of CPU’s). The processing throughput (instructions per second) allowed by Cartesi is orders of magnitude of what can be emulated on-chain, allowing for an experience much closer to what we have on Web2.0 while preserving decentralization.
(That being said, any improvement on TPS on the base layer helps Cartesi to perform even better). Finally, as Cartesi can connect to different blockchains it will be a powerful tool for interoperability and securely transferring data and value across chains.
For example, a way in which Cartesi can enhance the power of Ethereum is to give future contracts the ability to read any data on the current state of the blockchain. It is currently not possible for a smart contract to read the balance of another account, or to read the storage of another contract (unless explicitly exposed on interfaces created by their developers).
All of this would be made possible with the help of Cartesi. In principle, such a technology would enable Ethereum users to make insurances for blocked funds, bet on the total value raised in an ICO/IEO, etc.
8What differences does Cartesi have with other Layer-1 solutions and layer 2 solutions? Why do you design this way?
Some examples of Layer-1 solutions existing are:
- DPoS: Allows a small range of super nodes to verify all transactions, and these nodes are selected through democratic voting.
- Sharding: Sharing groups accounts as different “shards”, these independent shards will then be linked to the main chain for cross-shard settlement.
- Varieties of BFT, PBFT: Results in faster consensus compared to PoW, but with limited participants.
All of these innovations intent to boost transaction processing power of the blockchain, but inevitably, finalizations of these transactions will still require global consensus, and when the computational demands of smart contracts or the number of accounts interacting grow beyond a certain threshold, the cost to reach global consensus will grow in a super-linear way, even in sharding technology, making it severely restrictive or infeasible.
On the other hand, Cartesi only tries to reach local consensus for the computation itself. Only the users who are interested in a particular computation are responsible for performing the off-chain computation and for the on-chain settlement, thus solving these issues.
Nonetheless, these new layer-1 solutions can be integrated with Cartesi in order to combine the advantages of both.
Comparison with Layer-2 solutions and Integrations:
A variety of Layer-2 solutions have also been proposed in order to improve the performance of blockchains, such as Plasma and State Channels. These allow a large number of transactions to be performed off-chain and then the proof of the transaction is submitted on-chain for settlement. Generally, these solutions require the blockchain to be able to resolve any possible disputes when Plasma exits, or when the state channel closes. In the worst case, heavy computations will be replayed on-chain, from the moment of channel opening. Obviously, this mechanism limits the maximum transaction volume or computational complexity that can happen off-chain, since the mainchain is unable to settle them efficiently.
Integrating Cartesi can greatly improve these types of technologies, as it allows both a Plasma or a State Channel to exploit full computational power from the Cartesi Machine, and in case any divergence arises, the mainchain is able to settle any disputes through Cartesi’s verification game, no matter how complicated the contract was.
9What is the difference between Cartesi and Truebit?
Cartesi is quite similar to TrueBit at first glance, but they differ vastly in their design decisions. The first major difference between TrueBit and Cartesi concerns the virtual machine itself; TrueBit’s virtual machine is based on WebAssembly (WASM). WASM is the W3C Community Group’s Instruction Set Architecture (ISA) for efficient web applications, while Cartesi’s virtual machine implements the RISC-V ISA.
TrueBit’s technology focuses on boosting the computational power for smart contracts, which operate under a bare-bones runtime environment. However, as we said earlier, the applications that we use on the Web or our devices don't exist in isolation. Instead, they stand on top of an operating system and depend on numerous software components that evolved throughout decades. Our architectural choice enables Cartesi computations to run on a proper operating system. In this environment, DApps are built with mainstream software stacks, which allows for vast new possibilities, besides being easier to code and with much lower entry barrier for professionals.
9.1Are there any other important design distinctions with Truebit?
Yes. One of the differences of greatest consequence is in how Cartesi aligns the interest in off-chain computations with the responsibility for their execution. In TrueBit, there is no such alignment. A smart contract posts the computation to a pool of untrusted parties and waits for one of them to perform it off-chain and post the result back. In this sense, TrueBit can be seen as a means for increasing the computational power of individual smart contracts. Cheating is prevented with a complex incentive layer that rewards pool members for successively disputing incorrect results. To keep the members engaged, computations with incorrect results must be artificially injected by the incentive layer. This inefficiency is a fundamental part of the design of TrueBit.
Conversely, Cartesi can be seen as a way for off-chain computations to be endorsed by a smart contract. All parties that could be affected by this endorsement are responsible for performing the computation off-chain and, if needed, starting a dispute. Although the ensuing verification can be outsourced to a dispute resolution market, there is no built-in inefficiency and no need for an incentive layer.
10What is the current status of the project and what is the roadmap of Cartesi?
The Cartesi team has now released and open-sourced Cartesi Core as specified in our techpaper (except for the DAG feature). With this milestone, we have achieved Verifiability, meaning that large computations can be adjudicated for correctness on the blockchain at negligible cost, in a safe and decentralized way. Cartesi Core is available as open-source on Github.
We have also recently released our first DApp, Creepts - a tournament on a tower defence game. This game showcases a fully decentralized game that was developed using conventional software stocks on Linux and also requiring billions of microprocessor instructions (and thus impossible to run on-chain): https://creepts.cartesi.io
Q2 - 2019 Computation Verifiability
Q3 - 2019 Cartesi Core Open-sourced
Q4 - 2019 Decentralized Tournament Infrastructure
Q1 - 2020 First Dapp
Q2 - 2020 SDK Documentation
Q3 - 2020 PoS Prototype
Q4 - 2020 Mining on Mainnet
Q1 - 2021 Cartesi Rollups
Q2 - 2021 Data Ledger Testnet
Q3 - 2021 Data Ledger Mainnet
11What's your plan for growth? How do you attract users and developers?
Our initial plan for user growth relies on the Cartesi Network and its features. Cartesi will run a mine based on real-world computations. Instead of wasting electricity, Cartesi's mine will help to bootstrap the network of Workers running disputes created by Cartesi itself. We have a dedicated mining and staking pool of tokens reserved for this purpose. The mine fulfills three main objectives:
1 - The establishment of an active pool of Cartesi Workers, with more and more computer power being incentivized to participate;
2 - The fair and even distribution of tokens to these miners;
3 - The continuous validation of the dispute resolution protocol and progressive improvement of the security of the Cartesi Network.
11.1How about onboarding developers to create DApps for Cartesi?
In order to attract more developers to build on Cartesi, the team is working to create very sample DApps and tutorials (the first one will be our game to be released soon, Creepts). Our goal is to make it as seamless as possible to onboard mainstream developers that are not familiar with blockchains. We will run meetups and hackathons. Additionally, we are working to develop strategic partnerships with public blockchains as we strongly believe we can help each other. Finally, we are also working to run PR campaigns to raise awareness around Cartesi through marketing efforts.
12What is the utility of the Cartesi Token (CTSI)?
CTSI has been designed to overcome the basic challenges that blockchains face in terms of usability and scalability. The Cartesi Network will rely on PoS protocols to provide services such as a side-chain optimized for high throughput and temporary data storage for DApps. CTSI is also used in the incentive protocol as specified in the Cartesi Core (whitepaper) and other convenient services that the Cartesi Network will offer (ex: commit-reveal protocols). Finally, CTSI will isolate DApp developers and users from the instabilities of the different underlying blockchains. In the long run, the CTSI is expected to capture most of the value in the DApp ecosystem, with DApps being portable across different blockchains.
13Why do you think a native token is necessary for your project?
Because several of our algorithms are based on PoS and their security depends on the assumption that our tokens are evenly distributed among the users who run a Cartesi Node.
14What is the total token supply?
1,000,000,000 CTSI initially. As Cartesi will rely on a PoS-like system for the services it will offer, new CTSI may be periodically minted, in order to foster the participation rate of Worker Nodes.
We have specified a unique system that allows Cartesi to maximize the participation rate while limiting inflation and allowing workers to express their economic preferences. The system also allows for future deflationary scenarios. Therefore, if a lot of people participate in our network to earn a profit, it will demonstrate an elastic inflationary/deflationary effect.
15What are the notable funds that are supporting Cartesi? Are there any traditional funds involved as well?
There are funds supporting Cartesi now, such as FBG Capital and LD capital. Chinaccelerator (SOSV) as a traditional fund, Big Bang Angels, Artesian Capital through advisory. Serguei Popov (Founder of IOTA).
16What is Cartesi’s plan for exchanges?
Cartesi is going through discussions with top tier exchanges for IEO and listing. We are studying the best alternatives and the right time to launch our listing plan.
17Linux on blockchains? What does that mean? Ethereum and implementations of Plasma also run on Linux.
For sure you can run Ethereum and plasma nodes on Linux. What you cannot do is the opposite, to run Linux on Ethereum or on Plasma. With Cartesi, you can have DApp logic actually running on Linux, preserving decentralization and the security guarantees of the blockchain. You can get an in-depth explanation here: https://medium.com/cartesi/on-linux-and-blockchains-a955a49a84e1.
18Could you clarify whether we should be worried about the huge attack vectors surrounding traditional a Linux development environment running on Cartesi Nodes?
We will ensure a high level of security in Cartesi due to the following:
1) The nodes cannot talk to each other at the current stage, however, they can do this through the blockchain. Later on, we will implement a verified networking port in the Nodes which allows for secure timely data.
2) The native DApp components run inside individual containers.
3) The reproducible DApp components run inside an emulator within these containers.
19What is “Reproducibility” in Cartesi, does it really work for reproducibility within a Linux OS and VM?
Cartesi implements a self-contained and deterministic VM that emulates a RISC-V architecture. That means that given a specification of the initial state of the VM (e.g. input data and program to run) and considering a given number of steps of processing, the VM state advances precisely in the same way, regardless of the system hosting the VM.
RISC-V is an open instruction set architecture that was designed from the ground up to support a modern operating system. It is not much more complex than a smart-contract VM. It's just better suited for the purpose of running real-world programs on top of an OS. The Linux kernel and several Linux distributions (and other OSes!) have already been ported to it. There are mature compilers. It is a much better match for the problem that Cartesi is trying to solve: bringing real-world computations to the blockchain.
A little primer about RISC-V: RISC-V (pronounced "risk-five") is an open-source hardware instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project began in 2010 at the University of California, Berkeley, but many contributors are volunteers not affiliated with the university.
20What is the “Verifiability” in Cartesi? Is it truly secure and trustworthy?
The verifiability component of Cartesi Core allows these complex computations to be adjudicated for correctness on the blockchain, at negligible cost, in a safe and decentralized way.
In practical terms, that means that any honest participant of a DApp running on Cartesi is able to prove to the blockchain they are correct even if all the other participants are malicious. And that's how users can count on the strong security guarantees of the blockchain when needed. As mentioned above, Cartesi uses the blockchain as a supreme court, identifying and punishing dishonest parties. In the rare cases when these dispute resolutions arise, the blockchain runs an interactive dispute resolution and is left to run a single step of the original computation with a negligible amount of data.
And yes, it is secure and trustworthy. For a better understanding of the key principles that make Cartesi secure, we recommend reading our article "On Linux and Blockchains" or the tech paper. We are also glad to receive all security-related questions on our Discord channel.
21The decentralization of POS has recently become a focus of discussion. How does cartesi achieve full decentralization of its system?
In Cartesi, we are committed to keeping the decentralization guarantees over other factors. For example, we do not plan to attain scalability by using "super-nodes" and instead, our nodes are expected to run on consumer hardware. The way we attain scalability is by locality (as we explained above, not everyone needs to know everything within the system).
22What is the governance mechanism of Cartesi?
As the circulating supply of CTSI and the Cartesi Network comes into full effect, the network will move towards full decentralization where there is no governing body. The Cartesi Foundation will then only commit to further development of the Cartesi infrastructure.
23What’s the advantage of Cartesi’s Layer-2 system compared with Nervos?
Nervos is a blockchain project, whereas Cartesi is a Layer-2 system. We are similar in the sense that both projects employ a RISC-V architecture for the VM. Cartesi allows for great scalability that is not possible on the consensus layer (like on Nervos). Also, because on Cartesi the computational throughput is not capped by the capacities of the consensus mechanism, it's possible to run much heavier computation and boot a whole operating system, like Linux.
For instance, it is not possible to create a DApp on Nervos alone that leverages Linux and the software stacks it supports.
24Which Linux distributions are currently implemented or does Cartesi plan to support?
Inside the emulator, we have an embedded Linux based on buildroot and kernel 4.20.8. This will be improved, updated, and replaced as the need arises.