New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Bringing Linux to the Ethereum ecosystem: Introducing Cartesi Rollups with Max Hatesuer

Ethereum DenverMon, Oct 9, 2023, 12:00 AM

An introduction to Cartesi Rollups: infrastructure for application specific rollups with a custom VM based on RISC-V and booting a Linux OS Max Hatesuer Strategy & Business Development Manager Cartesi BD @ Cartesi. Previously contributed to DAOs and created web3 research/content @_tokemy. https://twitter.com/Max_Hatesuer

Transcript

foreign hello good morning everyone um thanks for joining us so early today I want to talk a bit about Cartesian Roll-Ups uh and basically bringing Linux to ethereum I do business development at cartesia my name is Max and it's short basically what courtesy rolls is trying to achieve is trying to elevate smart contracts to decentralized Linux runtimes basically there's two facets to this on one hand we want to give your dap the computational capacity of a full CPU or virtual machine and give you the programmability of a traditional web server and all of that on ethereum so there's two constraints that we want to tackle at cartesia the first is computational scalability and the second one is content scalability and I'll start with computational scalability as it will naturally lead us into this a second constraint you know imagine if the price of a banana at your local food stamp just 10x in price because the casino down the street just got really popular well that's what happens kind of on ethereum right when djends all ape into the same nft collection or yield Farm gas prices increase for everyone else and so in times of high demand for Block space certain apps are completely outpriced and actually can't survive on ethereum anymore furthermore certain apps are non-viable to begin with on ethereum even in times of low demand for Block space so any theorem everyone validates everything so you're sort of competing with other applications for Block space and having applications share the same VM removes predictability for Developers you know in terms of user experience like will I be able to serve my users in a week will I be able to serve them in a year you know as more and more apps join this uh ethereum basically you you the network becomes gentrified and um you know instead of optimizing for certain features of your application that are key you actually need to you know architecture applications in a certain way that minimizes these costly interactions with the blockchain so it's clear that this really limits the design space now ethereum is this world computer you know to quote this early consensus blog you know it's not meant to be the fastest possible computer but it's a universal computer which is accessible from anywhere by anybody and which always gives the same result to everybody uh it's an amazing technology the question is how do we get more applications to be able to use this at the same time and also get more use cases that can leverage this as well so how do we go about scaling this both computer probably a lot of you guys are familiar with this there's two facets to it right data scalability and computational scalability ethereum is focusing on data scalability with EIP 4844 and and uh and uh you know dang sharding and stuff like that and um basically greatly reducing the cost of adding data to its blockchain and computational scalability has been delegated to roll up projects hence the name roll-up Centric roadmap now you know unlocking both of these things you know in tandem so computational scalability and uh data availability capacity unlocks a lot of new use cases on ethereum and we can move from you know monolithic ethereum where we had the first use case as you know the Ico to way more complex applications such as you know complex daus all the way to potentially like complex metaverses on-chain games you know machine economy iott stuff uh you know note that here uh if you scale data enough you need to actually scale computational capacity sufficiently to make use of that data and this kind of gray area represents that so you need to actually move both in tandem now with rollups we shift computation to uh layer 2 protocol and use ethereum to verify proofs that what was executed off chain is actually following the rules and with optimistic rollups which is what we're doing at cartesi and I'll get a bit more into that in a second um you know ethereum basically becomes this arbitration layer you know to give a really basic example imagine you're playing a game of launching cards uh and you have these two guys uh the noun guy and this other sunglasses guy and they're playing a game and you know they both agree on the result perfect we can just run a computation within the roll up and move things forward however if there is a disagreement meaning that there's one dishonest party uh we will actually fall back to ethereum and rerun the specific part of the computation where there was a disagreement on ethereum so roll ups are awesome because you know even if you just have one honest validator we only need one answer but honest validator basically to enforce correct results independently of cooperation of you know the majority now one big thing though that you know you need to remember is that actually daps using rollups under Global consensus will eventually face similar issues as the ones we saw in ethereum earlier on uh you know you can you can picture uh you know evm Roll-Ups as like computational shards basically so they definitely grow like the capacity of ethereum but at the end of the day if there's increasing demand for Block space within one of these shards you know you face the same issues as we had on ethereum you know you have again only a fraction of applications which are viable on each chart as more and more applications are are deployed on the same roll up and there's this zero-sum fight for um for the vm's capacity which leads to gentrification again so it's only a matter of time until some of these uh you know Roll-Ups become congested as well and uh and you know become certain use cases then just become blocked and you know impossible to do on them as well now unfortunately there's another way to understand Roll-Ups um imagine that instead of everyone validating everything validators only validate the applications that matter to them and we call this design application specific Roll-Ups or others like to call them roll apps um and you know by letting go of shared VMS basically your application can have the have their own CPU and can fully Leverage The Power of the hardware and would it be exceedingly high computational capacity that comes with that so you can also avoid the problem of network gentrification and the lack of predictability that we discussed earlier now obviously this comes with certain trade-offs right like your app gives up a certain level of composability uh at the roll-up level but you know for a lot of applications base layer composability is more than enough uh furthermore you know the benefits of higher computational capacity far outweighed uh slight reduction composability for many use cases so what is courtesy Roll-Ups well it's infrastructure for application specific rollups you know you can run uh courtesy roll up on top of ethereum on top of a layer two like optimism or as a sovereign roll-up as well and going back to this idea of a world computer basically I feel like bankless or some other team already used this analogy but roll ups enable and data availability scanning enable us to turn this world computer into this universe computer if you will with rollups kind of gravitating around ethereum uh the Sun and you know turning this computer into this super powerful computer now to take things one step further you know we present that application specific consensus actually also opens up the design space for execution environments and this allows us to not only create this universe computer but also have planets that you know orbiting ethereum that have very different purposes and designs that are optimized for certain things and so we can create a lot more diversity in execution environments on ethereum and that's really cool so you might be wondering what we at cartasia want to optimize for and uh we'll basically want to optimize for Content scalability which is what we discussed earlier uh and um you know basically we want to bring more programmability more expressivity to ethereum bring more content to ethereum now let me explain why content or scaling content is so important and I'll start with a quote from Hayak and the use of knowledge in society you know we made constant use of formulas symbols and rules whose meaning meanings we do not understand and through the use of which we Avail ourselves of the assistance of knowledge which individually we do not possess you know what Hayek is referring to are these man-made complex systems that are compositionally built on top of other subsystems you know this allows us to build new content without having to think we're having to understand these lower systems and basically leverage that to create way more content to scale content you know if you think about the amount of you know technology that is that exists in cars today you know you can see this on this beautiful visual here you know there's Decades of accumulated knowledge that were needed to build uh you know subsystems within a car like an engine tools that we leverage to build this engine that you know you do not need to understand uh in order to actually build the engine and each of these you know levels basically hide information about the underlying systems and enable the next layer to perform more actions more operations without having to think about them and you know in software we have this this software development stack right composed of libraries languages operating systems compilers interpreters you know instruction set architectures which eats each abstract away the underlying systems and allow us to do more without having to think now modern software is complex so it's really important that we can you know it's really useful actually that we can rely on these battle tested on this battle tested content which has been iterated on over and over and um basically to be able to build new content without having to write or understand their inner workings ourselves now the evm cannot tap into these abstractions unfortunately you know it needs to run its own flavor of code but now with um you know application specific consensus and the computational capacity that comes with it and this unlock in the design space for execution environments you know we can actually uh make this happen for the first time and that's really exciting so you know the main idea of the scaling content is to basically drag into ethereum the same computer we use on a daily basis you know inscribed with Decades of rich battle tested and mature content and with it we can run the entire modern software development stack on ethereum so you might be wondering how how Cartesian rollups does this well it's um it uses a virtual custom virtual machine you know based on risk five it's basically a deterministic risk five emulator and uh risk five is like arm you know the CPU have in your phones tablets and laptops and um now risk 5 is an open standard instruction set architecture so it's open source has a community and such and using risk 5 allows us to actually boot a full operating system on top of that now we chose Linux but you could use also other operating systems like cell four and stuff like that in the future which is a very secure operating system now um you know this means that you can use Linux but also all the languages it supports along with their combined ecosystems complex libraries and so on we can even use you know databases to uh for smart contract development which is really cool so the idea is that you know um you know have a you know a new new planet in this universe that's really expressive that's very programmable and and way more similar to a traditional web server and you know we hope this will bring you know new use cases for this world computer uh basically by Bridging the accumulated knowledge and wisdom of all these areas of Open Source software development to ethereum to kind of sum up you know uh Cartesian Roll-Ups is this combination of application specific Roll-Ups and an expressive execution environment for ethereum and this means that you can use the tooling languages libraries you love basically the content uh that you love to build smart contracts and dapps uh we're currently on testnet and you know I have a lot of you know great developers experimenting with our Tech this sounds interesting to you you can check out our Discord on this QR code or you know come come by our booth uh today or during the main event as well and have a chat uh enjoy the rest of Youth Denver and uh thanks for your time

Automatic transcript — names and jargon may be misspelled.