17th Hyperdao public class
Q1 : First, let’s invite Erick to officially introduce himself and the core Cartesi Team members.
Hello! I’m Erick, Founder and CEO of Cartesi. I’m a software architect and technical leader with 20 years of experience in the field. Throughout this time, I gathered pretty extensive experience in software best practices and development processes and had the chance to help tech companies in different verticals.
In 2012 I started my own consultancy initiatives, creating and maintaining complex production-ready software with my teams. As an example, big data and analytics systems collecting and processing data from tens of thousands of mobile and infrastructure network devices, used by major telecom companies in South America to optimize their engineering and business KPIs.
I got introduced to the crypto world in 2016, but only took blockchain seriously after I was invited by Diego Nehab and Augusto Teixeira to join their project.
Augusto Teixeira is our CSO. 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.
Diego Nehab is our 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.
Colin Steil (COO) and Marco Mirabella (CBDO) as previous venture capitalists and start-up founders bring their experience in community and business operations across the globe.
We have a team of passionate engineers with a very strong background. Not only developers but actual critical thinking software designers, that were carefully selected. Most of them being senior ex-coworkers that participated with me in successful software projects in the past. Among them, we have Danilo Tuler, who was my university classmate back in 1996. Danilo is a previous CTO and tech company founder with a successful exit. He has more than a decade of experience defining and executing rigorous software development processes involving large teams. He joined our team a few months ago as Head of Engineering.
Among our advisors, we have Serguei Popov and Luiz Henrique de Figueiredo.
Serguei is a mathematician with a Ph.D. from Moscow State University. He currently works in Stochastic Processes and is a cryptography enthusiast. Serguei is the co-founder of IOTA, author or Tangle and research partner with Augusto (our CSO) — the two having co-authored technical papers in the past.
Luiz Henrique is a computer scientist and professor of computer graphics at IMPA. He’s notably known as co-creator of the Lua programming language. Luiz provides support on our technical papers, working directly with Diego (our CTO).
Q2: It is said that Cartesi Machine is a verifiable RISC-V virtual machine that can be free from the flaws of existing virtual machines in existing contracts. How to understand this？
This is a somewhat leading question. There are no flaws in existing smart-contract VMs. They excel at doing what they were designed for. They were designed to execute smart contracts that perform a few arithmetic operations on balances, compute a few hashes, perhaps invoke a few other contracts. That’s it.
Now contrast that to what regular off-chain programs do. They open files. They allocate memory. They get interrupted by devices. They interact in complex ways with other programs that are running on the same machine, or in other machines. These programs do not trust each other, so there needs to be protection between them. They perform a vast amount of operations on large amounts of data. They can’t be allowed to clog the machine, so there must be some concurrency control. They are built from multiple components written over decades to interact with each other through an operating system.
It is the operating system that coordinates everything that is happening in the machine and makes all this possible. It is here that existing smart-contract VMs fall short. They were not designed to support an operating system. Instruction-set architectures and operating systems evolved together over decades. They complement each other, with the hardware offering features that are useful for the OS (such as a timer interrupt, memory-mapped IO, virtual memory) and the OS making use of these features to orchestrate everything. Smart-contract VMs do not offer any of these features. Running an OS on top of a smart-contract VM would require these features to be emulated.
That’s an extra layer of emulation that we might as well avoid. 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 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.
Q3: Is 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 that can be emulated on-chain, allowing for an experience much closer to what we have on the 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.
Q4: Can you give me a simple explanation of how Cartesi works, better to put it in a few sentences.
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). What 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.
Q5: Why do People 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.
Q6: What 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 supernodes 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 (or workers they selected to represent them) 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 Cartesi in order to combine the advantages of both.
Comparison with Layer-2 solutions and Integration:
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.
Q7: What 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)
Q8: What is the current status of the project? and What‘s the roadmap of Cartesi?
The Cartesi team has now released and open-sourced Cartesi Core as specified in our tech paper (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. Cartersi Core is available as open-source on Github.
In the next weeks, we will be releasing our first DApp — a tournament on a tower defense 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)
07/2017 Research Started
07/2018 Cartesi Core’s Whitepaper
12/2018 Achieved Reproducibility of Computation — Prototype with working demo
Q2/2019 Achieved Verifiability of Computation — Prototype with interactive dispute resolution on the blockchain
Q3/2019 Cartesi Core released as open-source
Q4/2019 First Cartesi DApp — Tower Defense Game
Q1/2020 Cartesi SDK — installation tools, documentation, tutorial.
Q2/2020 Cartesi Network on Testnet
Q3/2020 Cartesi Network and Mining on Mainnet
Q9: Last question, which is also a regular question of HyperDAO ama section, is there any collaboration Cartesi would have with Hyperdao soon or now?
Definitely! We are excited to explore possibilities of collaboration, especially in the domain of decentralized finance, in which Cartesi will have a lot to contribute.