AMA with Cartesi

in #cartesi5 years ago (edited)

Cartesi is a layer 2 solution much like Truebit but has special differentiating features,it seeks to enable Dapp developers build apps with blockchain and offchain parts.

Below is an interview transcribed with permission from the original Youtube Owner

I have use C to represent Erick from cartesi and A the interviewer,please enjoy

C : Today there is a let's say there is a huge gap between implementing a decentralized application versus implementing a centralized mainstream application right so if you go to you know want to develop for something to deploy on AWS on desktop on or on iPhone you have a lot of resources

A : yeah there's huge tools and huge tool sets right prefer for existing languages for existing operating systems and and if you look at some other smart contract

platforms the only one that has you know some tools in comparison is ethereum right where you've got the truffle suite where you've got you know things like that ganache

C :there you go exactly so when when developers try to go to the blockchain world to develop the Dapps,they face many problems right right scalability is a huge one and the other one that we find like a major obstacle as well is exactly this the lack of tools of stacks and the the environment that people use you outside of the blockchain that's exactly what the cartesi is exactly here.

so we are a layer 2 solution that bridges this gap because we provide a operating system a Linux OS that can run your Dapp insides with the same consensus and security guarantees of the blockchain

A : that's huge,so let me get this straight I can write a Dapp without solidity I can write
using Linux

C : yeah,the long term objective is that at some point developers don't even have to touch first in some cases smart contracts directly ,they can implement everything on Linux and deploy on the Cartesi nodes,right now there is still some work that developers need to do on smart contracts but yeah we're we're headed at that direction

A : okay so how should we use abstraction layer

C: We want to the abstraction layer that developers are going to be away from the idiosyncrasies and complexities of particular blockchains they will develop for Linux

A : so again just so I understand do I have to touch solidity to interact with cartesi today

C: Right now yes right now yes

A:okay because it's a layer two solution on ethereum

C: correct okay it's a layer two solution that starts to implement for Ethereum ,it's only for Ethereum right now and of course you want to power two other major blockchains and because we implemented our smart contracts in solidity, port to other blockchains that support solidity which should be a very easy task but later on we also want to port to other blockchains as well

A: in my tool set of ways to compile and deploy a smart contract. you know
I've got the EVM,Sputnik VM,LLVM,is cartesi in that chain of options

C: yeah so in a certain way,yes because you know our VM has the same basic basic property that you find on the EVM,on the WASM for blockchains and so on and so forth
we have a VM that's reproducible and deterministic so whatever you run inside of the cartesi machine which is our VM can be reproduced on a bit by bit way, so no matter where you're running our VM ,you no matter which platform which operating system or architecture we guarantee determinism of whatever is in there, so you as a developer don't have to worry to make your Linux application deterministic or reproducible,you don't have to worry about floating points and all this kind of stuff because we're resolving that issue from the basis.

A: and that's big so when you say you're resolving that issue on the basis does that mean that you're doing on the node side what's that mean

C: yeah so so let me step back a little bit,, we implement a the RISC-V ISA emulator,
right so we emulate a RISC-V ISA architecture and because of this choice you're able to to run a complete operating system a full-fledged operating system inside the RISC-V ISA,it's not a toy architecture right and you can put Linux inside and once you can boot Linux everything that you can do inside is going to be reproducible because our emulator was written to be reproducible to start with now.

A: how does this compare to a solution like RSK for Bitcoin,rootstock is is a layer 2 solution for running smart contracts on Bitcoin ,how will cartesi compare to something like that.

C: so let me give you some some basic idea so you can understand right,so let me step back because maybe you're lacking some context here for sure yeah yeah
so we are a layer two solution in a it's similar in certain ways plasma,state channels to Truebit,Truebit also they're very similar to what we are doing.

so basically we move computation off chain right and the parties involved in the Dapp, they can achieve local consensus, they can agree on on the results or evolution of those computations happening offchain, right and then they came to propose the blockchain results from that agreement that happened offchain involving complex computations, large amounts of data,everything that couldn't run inside

these people run outside and they agree on the results,then someone goes a blockchain says look this is the result of the computation here is the hash of the file

and you're using layer 1 is a storage match exactly and then and then for you to assert or to challenge something that happened you have to stake a collateral, so it's a cryptoeconomic protocol that if people means behaving if they they're trying to cheat their collateral is going to be confiscated and given to the honest party.

A: so this part is interesting that you just mentioned the collateral so is there a token involved because you mentioned

C: yeah there there will be a token involved,for cartesi core first version right now,it's open source it's

out there you don't need any token,you can do whatever you want you know but we are going to introduce a token for convenience and security reasons, we can explore that later.

A : I'm not aware of another you know compiling and consensus like that building solution that requires a token,is like the true bit example do they also have a token

C: yeah they're also going to use tokens

A : now is that because you need to incentivize nodes

C : so here's the thing so for for the cartesi core which is a technology that's out there,it's opensource,that's a banks map thanks yeah it was that was a major believes are very happy and yeah really for people to start and to try and give feedback as well

so yeah we have a release candidate out there there is a demo that wraps everything together in people can just test and see things working so but cartesi core which is basically the implementation of our technical paper that you must have seen is doesn't involve the concept of the cartesi network yet which is going to involve a token, so basically if I have two parties Alice and Bob better doing some computation offchain we can propose some results back to the blockchain and if truck someone's trying to cheats the blockchain as a way to find who is dishonest in and punish whoever is dishonest in a very cheap and effecient
way

A: if there's somebody cheating on the outcome of a computation, the blockchain allows us to detect that and then find trace back to the person who who was sort of the result

C : so how does that work it works in a very similar way to truebit, we also use a verification game algorithm which is basically any interactive algorithm that involves a blockchain in a way that the blockchain doesn't need to run again to re-execute the entire computation
because that would be impossible imagine that to have a computation of a chain that involves trillions of instructions on a RISC-V microprocessor, forget it right so this is a very interesting algorithm because in the end you allow the blockchain to run a single step a, single instruction step to see where whoeever is cheating,so out of one trillion steps to run a single one but there is a sort of binary search in which the blockchain is enquiring let's say Allison Bob to give you know their Machine States in different places of the computation until the blockchain finds the exact point in which they agreed before and disagreed after the instruction

A :now this this need for a token to detect people who are manipulating results, is this a trade-off you have because you're a layer 2 solution

C: so as I was saying for the cartesi core which is there we don't need a token if you are playing with someone else you can represent yourself and fight against that person using the blockchain and the dispute resolution will happen without the need for token right now

why the token is necessary yes because let's say for instance you are not connected to the internet at sometimes, ok someone is trying to cheat you know and you're not there to participate in the verification game or dispute resolution so you might miss a deadline and in the end the the the cheating party could just place an incorrect result in the blockchain and that would be just stated as true and you just miss the boat because you're not there in time to respond, so what the first asset of the talk is that you can outsource this task of playing the dispute or the brief occasion game on your behalf to some other nodes on the network that's one idea.

A : I always try to bring this to a huge case that is you know kind of dumbs down everything right so is there like an insurance use case that we could use them as an example of me missing a deadline like you know I didn't you know sorry you know there was an earthquake
and somebody puts in the Richter scale to take away my chance at a claim, what's an example where we can show how I wouldn't be around and I would need to offload the verification to somebody else.

C : that's actually a very interesting example because we think about insurance applications and many other applications because you could for instance do complex things like take a satellite image from NASA and see if there is a hurricane you know at some region at some time and I mean just enact things on a smart contract by doing the heavy computation on cartesi right so it's a very interesting example.

suppose you have some insurance application running on cartesi and the users of this application they may not be online all the time to defend their interests right, so if there is some malicious node proposing fake results to the smart contracts then that's player that's not there online he would pay a small fee to the cartesi network to have some other worker nodes representing him and defending his interests if it's necessary

A :very interesting I mean everything is an incentive game right so it's just right now you know is there enough money then to incentivize those defender nodes to also lie with you it's fascinating when you get into the game theory.

C: there are lots of examples we can talk about right now I'm very excited because we're developing our first let's say nice Dapp which is gonna be a game,we are developing a tower defense game,the idea around developing this game is to prove to make the point that here's a game that's totally decentralized using blockchains and yet it uses an amount of computation that would be unfeasible onchain, so we are doing this heavy computation on the Cartesian nodes without sacrificing decentralization. So for it is an interesting example because right now you know in our first simple step, we are only we're storing all the game events on chain and we choose our defense game because you know this kind of game you just have to place a tower here another tower there you have small number of interactions for you as a player right so your log of events is short enough good fits on chain so we just send these events to the blockchain but the the actual computation of the waves of the game when the enemies come and there are towers are fighting against the enemies and everything that's involves lots of computation so all of that computation is offloaded to Cartesi.

A: okay now to switch gears so I can kind of see where you see this vision going 5-10 years from now and how it coexists with other chains,so if we're saying that cartesi is a
layer 2 that insinuates that there's going to be multiple layer ones right it can't just I would assume that cartesi would would would as a vision once more than just Bitcoin
something that's turing-complete as a layer.
C: one yeah we require the layer one to have a program ability in a sense that's like we can deploy with smart contracts there,it needs to be turing complete.

A: so what are some examples of change that would you see, you know existing five to ten years from now,which of the ones already out there do you think coexist with Cartesi future.

C: I mean we are we are ready to port cartesi on top of all thes chains that we feel are gonna have traction and be demanding we're gonna, we're gonna be hearing what the community is saying, which chains they prefer and they're gonna be following you know the trends in that sense, we want to really provide cartesi on top of the major blockchains.

A: being chain agnostic at this point makes sense for your solution,like EOS is that a potential partner in the future.

C: yeah I believe so

A: okay,I assume ethereum or ethereum classic,polkadot etc,who do you see being there with you five years from now you know, polkadots is a good example

C: yeah we always think about Ethereum,Ethereum classic,polkadot,also we've also been talking to other solutions like NervOS and other blockchains that's starting to play with RISC-V architectures as well so that's quite interesting. it

A: what's interesting is you know I love doing this show because I get this kind of exposure nervOS, I had never heard of nervoS until I had an episode a few days ago with Thomas from f2 pool and talking about you know they're launching the
testnet now and soon the mainnet is gonna be up for nervOS,so hearing you also mention it you know it's nice to see these things right because there's so many different choices and and you the builders what you guys are focused on is important for us you know the audience,the investors the users to also be focused on.

A : is there any interaction with some of the other I mean it has to be it has to be a turing-complete chain there's no point in asking about like a mimble-wimble or something right

C: well it might be possible to to implement cartesi on top of Bitcoin but that could be really really like a hell right to implement our stuff there but might not be impossible

let's start from from the simplest now but yeah our idea you know ,I really don't know which blockchains are gonna be there after five years and but I think one of the nice things of our vision is to is to allow developers as long as they're developing with cartesi, they shouldn't worry so much about this because you're going to be you know portingin cartesi to the major blockchains, so someone might have the option easily port the application from one chain to the other using cartesi as well because most of their logic is going to be implemented for linux using our protocols and so on so they wouldn't have to they don't have to much we work to go to another blockchain

A :I think this could be interesting to share especially with the you know I have a very strong ethereum classic audience ,recently there's been a lot of releases on new compiling tools so I think this could be very interesting to that audience,

on the business side where are you right now on you know your your your vision towards tokenization how is that going to be distributed

C: so yeah we are as a business we just open source we want people to start to experiment with cartesi, provide feedback, next we're going to be deploying the tower defense game, so we have an eye on the game industry we want to have game studios that want to do like purely decentralized games using cartesi so that's the short-term vision for our business,, to create some traction first with with games game developers.

A: and that's then on the game side is that because you're gonna have a lot of transactions and you want a stress test or what's the what's the I mean what you're building is is a Switzer, I mean it's a tool set for all development right.

C: yeah correct correct

A: What it's the strategic decision to go towards gaming?

C: yeah we are not framing ourselves as a game platform, we are not,we are much more generic, as you said but its strategic to start from games because you know we see lots of the apps possibly our games being developers they are you know they are always ahead when there is a new technology there they're usually first ones to use the new technology to do stuff

A: so when we say gaming it could be like casino games right?

C: could also be casino games but we want to have something like a low-hanging fruit for us, I think games and

A: that makes a lot of sense and so it seems that the token idea, the exchange listings and stuff like that are much further down the line?

C: no not much further, we are we are we are gonna have the Cartesi network at some point next year, that's the plan we've the tokens and yeah we are gonna distribute the tokens through possibly through an IEO that's still being Debated the ticker what have you decided what the three-letter are the thing is that

we are still working on some very fundamental ideas of our token model so the main we may have two tokens but probably a single token which is going to be called CTSI

A: yeah just so I can you know at it I want people to be aware to keep an eye out for now I think we've we've definitely covered the economic side, we've covered the type of the tech stack and I think you did a great job of laying out the the partnerships you're gonna have in the future ,what is the challenge you have today as far as you know reaching some of your milestones is it awareness getting more DaPP developers using the toolset, is it funding,what is the you know the number one issue that you're trying to solve today
C: yeah the number one issue is raising awareness around the community and getting people on board to try provide feedback experiment with cartesi that's really our most important challenge right now in terms of business

A :so what we'll do is we'll definitely put the link to I guess the github and there was a demo you mentioned we also we also have a discord channel where we discussing our you know technical things and can also share with You

C: let me just wrap up you know to I think the most important takeaway about what you're doing here is you know, when you look at the you know the wealth of software developments mainstream software development to see today on the internet, it was all built on top of operating systems right it's just like if you're a developer building some new software you have lots of Lego pieces available to you to easily assemble complex and very interesting stuff but when you go to blockchains you don't have those LEGO pieces available to you right so that's basically what what we want to give we want to give this please say let's 30 years plus of software developments and enhancements that you know you see on the software world software based on operating systems right on blockchain we can't even open a file not even the concept of a file exists so that's basically the most important region for courtesy and with that we want one board like veteran developers mainstream, developers and also be a bridge to facilitate people that are not used to blockchain to start to develop for blockchains.

A: so that's how is this you know today the the dapp experience, you know usually from a user standpoint includes like something like metamask,you know how would this change the user Experience ,would things be faster would there be a difference in front-end experience

C: yeah I think I think there is that there is room to to experiment different scenarios here for instance with our tower defense game we don't want people to be interacting with metamask, so what we're going to do is that there will be a wallet that's controlled by your own cartesi node because you as a player, if you are running your own cartesi node with your game there and your cartesi node has access to to a wall like a tree just using for the purpose of the game

so just put some small funds there to pay for gas or whatever you need for the game and the the Cartesi node represents you and just signs the transactions on chain on your behalf for instance

A :is there a rare requirement like what's the hardware requirement for a node on cartesi

C: you can't run the cartesi node on a mobile now right but basically right now we are using docker, so it's depending on docker so we can run it's on Windows or Mac or whatever desktop you want or laptop but in the future, we're gonna distribute cartesi in different ways and as I said with the cartesi network, we might not even need to have the cartesi nodes installed on your own device because we're delegating to some other work in the network to act on your behalf

A: interesting so I mean part of the cartesi vision is that down the line, most probably people won't own or run their own nodes, there's gonna be you know a few you know distributed globally node operators but you don't expect that you know everybody interacting with a cartesi Dapp is gonna be running their own node.

C: correct correct and as I said for because of security issue and convenience issues they would outsource their tasks to workers in the cartesi Network, yeah there are other kinds of attacks as well that we would prevent by providing the network

A : okay well I'm looking forward to playing the tower game so the moment that's not let me know that way I can you know not only play it but share with everybody else

C: yeah yeah and yeah and I'm also looking forward to seeing how we can also participate more in the Ethereum classic community and see what we can do from there.

A: yeah I think there's a lot of interest there for sure, the ETC labs core team is building a lot of fundamental toolsets, you know one of the things we discussed was metamask, they've two engineers who have built a new specification called open RPC for standardizing RPC calls, JSON RPC,I assumed that that would be something that cartels II could possibly use since almost all blockchains are using RPC.

A: I'll definitely share that with you after you know that'd be cool if as a result of us talking you know there's some sort of collaboration ya know and that community is very accessible so I'll put you in touch and we'll also share all of the community details for cartels II Eric I can't wait for us to do this again once I also have more compiling knowledge hopefully we can also have a roundtable and you know
it includes some other people who are building in a similar part of the tech stack for shortening that would be great awesome if all.