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

Loading player…

The Rollup Developer Experience - panel featuring Aditi Sriram, Louis Guthmannand more...

Ethereum DenverSun, Oct 9, 2022, 12:00 AM

Speaker

Louis Guthmann

The Rollup Developer Experience - Panel featuring Aditi Sriram (mod); Louis Guthmann (Starkware); Emily Herbet (Fuel Labs); Annie Ke (Optimism); Val Yermakova (Arbitrum); Lisa Cuesta (Aztec)

Transcript

okay great uh thank you all for coming um so the premise of this talk is is really that currently there's there's a lot of high-quality resources on the technical elements of roll-ups including uh you know the the cryptographical elements and how they're implemented as well as a lot of non-technical resources on why rollups are important to kind of the scaling mission of blockchains and web3 um but really there's there's a lack of what uh this roll-up technology looks like on a on a day-to-day from the developer's perspective um so specifically how a roll-up works in adapt how to use the tooling to build a roll-up in adapt and the respective risks and trade-offs and so uh to start off we have a really great set of people to hear from today um so i thought we could kind of kick off with a round of introductions if that sounds good i'm a dt i work at celestia well i'm i'm kelvin i work at optimism as you can see hey i'm joe i'm one of the co-founders of aztec uh happy to be here val product lead at arbitram um i'm louis ecosystem lead at starkware hi i'm emily i work at fuel all right thanks guys um so i thought to start off uh the the first question we could we could kick off with this is currently kind of what does the current uh developer experience of of your roll-up technology look like and and disclaimer that this is like what the current state is we'll get to the ideal state uh in a little bit cool um yeah so last year the developer experience was very different than it is now we recently did a major upgrade last year in november that drastically changed things and essentially essentially we redesigned the whole thing from scratch and now optimism essentially just runs geth under the hood with some with some small modifications so for the most part the developer experience of working on optimism is is essentially equivalent to the experience of working on on ethereum down to you know every op code costs the same amount of gas right so things just work very nice architecture and the goal in the future is to keep minimizing so we get closer and closer to just geth with a minimal number of changes cool uh so on aztec um it's a bit similar but with a big difference so uh to interact with our roll up um it's on our one actually so you just write a solidity bridge contract um it's a limited interface of two tokens in two tokens out but you can have like one major benefit which is the execution environment is l1 so you don't need to move all of d5 to l2 developers can just write a small 100 line bridge contract and interact with the entire l1 ecosystem with all of our ones liquidity but again yeah it's working in solidity with familiar tools uh with a simple bridge contract arbitram whatever you would do on ethereum l1 you would do the exact same thing on arbitrom super easy so i'm gonna have a slightly longer presentation in our case so star query has its own language um and the tooling has been built been built basically in the last five months um so let's say that we are getting to a point where it's comfortable to start working to actually learn the language um but clearly in two months time will be already in the other universe and like you know the all the education on cairo has been moving pretty fast as well as turn spider from sorry to solitude to cairo although i always advise people to write in cairo because they get their best performance fuel is building a language called sway which is a rest-based smart contract language it comes with a whole comprehensive suite of developer experience components so it comes with a language server a tool chain an sdk a vs code plug-in really cool stuff that makes the developer experience nice i did not know that about fuels wow that's amazing that sounds great so it sounds like there's a mixed bag here some developer experience is seamless kind of works as uh the the l1 kind of works and then there's some uh intricacies with with the starkware side of things on on cairo and which is like a net new kind of smart contracts language specific to starkware um so i guess in in all your minds what are kind of the three important aspects of uh developer experience on your rollup and how does that tie into what the ideal looks like i'm sure you know as rollups are kind of new technology they're in some ways limited in in what they can do and and how how people are currently building on them and so what are kind of the most three important things in in your guys's perspective on on things you can improve in the future to make the the experience really really great i can go first i just have one we're just focused on composability right now and adding privacy to something that already exists um so i think uh our main focus is kind of allowing developers to add to what already exists rather than reinventing the wheel so i think between all of us as l2s we need to kind of work out how to do kind of composability um and for us we're just focused on that on l1 at the moment but in the future we'd love to deploy aztec to maybe other l2s and become an l3 and figure out a way to do composability across um different networks but at the moment it's yeah just focusing on allowing developers to like improve existing protocols for arbitrary might say it's bridging both fungible non-fungible tokens you can do both but if you have a non-standard fungible token that is interest generating or does some other funky stuff today some things can go wrong and there are a lot of you know long tail of use cases of what fungible tokens could do and designing better for those and so in the context of starkwear i guess right now the main focus would be like the ideally we would be having a seamless experience where um starting writing learning gyro developing would be less seamless as something like foundry our target is yeah as simple as possible for fuel i'd say that our focus is being friendly with a developer for instance our compiler can detect re-entrancy issues so it can detect if your code is violating the cei pattern and it lets you know as a developer that you may not want to deploy that contract as it may be vulnerable i want to double click into louise answer how are you guys currently thinking about kind of advocacy and community um in your whole approach since you're kind of shipping something completely new uh that's a very good question so um are we very clear today cairo is not for the faint of heart um it's for the people who like to eat glass now it's a bit of a joke because those people also the one who are the most rewarding like they are building things that i like i implementation this morning showing what people have been building when they take advantage of this new language everything that cannot exist anywhere else and so um my ques my answer to that is like the language the the the the languages tooling everything will become simpler but if you feel like you want to discredit something unique right now you just can start today i mean it doesn't prevent like there is a bunch of people here who can talk about that like independent from starkware awesome um what about the rest of you guys are you guys thinking about advocacy and and kind of devrel efforts in that in that realm because i think all of us here kind of have this belief that roll ups will become this central usability layer of web 3 and so kind of interested in whether there's efforts there at all your projects the i would say for optimism the the key thing that we're trying to do is not change anything right like everyone here you know we've been writing solidity for years everyone knows how to use solidity or maybe not everybody but a lot more people than people know how to use custom languages we know how to do it safely there's like a half a decade's worth of tooling out there so you know at least 50 percent of it is the fact that the developer advocate advocacy has already been done for us right so if you can write solidity and you know deploy contracts you can deploy on optimism that's half the work and then um of course there's you know there's always some net new things when it comes to these uh like esp with with l2s you have this bridging stuff and that's kind of like you know we really focus on just making the tooling for that bridging as easy as possible and we just you know going through a beta period with our new sdk to make that as easy as possible but we essentially just talked to developers all day long and get feedback all day long and make sure that the system works the people the way people expect it to work and in our case that's making it work like ethereum right so yeah i think for us the main challenge is uh getting developers to care about privacy i think everyone in the room who's written solidity by definition is building an application that's public and they're okay with users putting their data on chain um and we're kind of focusing our advocacy efforts around trying to get developers to think about what's being exposed um if you've got people coming on to your kind of application in a third world country it's got a different rule of law that can be kind of like a security risk putting data on chain so i think education around like privacy um is where we focus most of our efforts for arbitrarium deveral is everything without the devs we would be nothing one important thing that we really want to get across to all the devs is decentralization is a really important concept on your chain and choose your chains wisely not all chains are created equal and the quality of the chain is really important for the longevity of whatever project you're building and just the longevity of the space in general right we want uh we want crypto to be a place where the masses feel happy and not a place that the masses feel is a some sort of ponzi scheme can you repeat the question huh can you repeat the question oh uh it was it was uh uh advocacy and community playing a role in okay so you already answered that you're good yeah i think emily also but if you have anything to say go ahead i guess to add to what everybody said here i feel like from a developer experience perspective the developers are your consumers and the experience is your product so i know at fuel and i imagine for others as well that's really the focus from the developer experience perspective is making that product good and communicating with the community about their experience with that product so um joe you actually touched on this a little bit um around like educating developers on the importance of privacy uh the way i see it there's probably distinct devx differences between application-specific roll-ups and general purpose roll-ups and so i'd love to hear um from you on on what you think those are and if anyone else has thoughts particularly louis on that that would be great especially with star cache yeah i guess in the short term um we've kind of hidden the complexity of privacy and just kind of let the aztec team deal with that so we've like hidden it from developers by having our aztec connect bridge where you don't need to worry about cryptography and kind of how zero knowledge proofs work but uh long-term vision uh with kind of aztec three will definitely have to kind of be more in starquest camp where we have a lot of education on how to use a new language and how to kind of teach people how to kind of do things you couldn't do in solidity um i guess like so that the short answer is yeah we've hidden it for now which is not not a long-term solution um so i guess for for starcraft when it comes to application specific start where i've been you know running the the most successful at this point i guess it's developed that was the most one for the longest run i guess um the roll up on my phone with dydx and sorel and mutable and diversified and so what we see and believe when it comes to app specific roll-up is that some places needs some application needed like we won't leave all the same layer it won't happen what we believe at starkware is the world would be the future of blockchain we layered and layered and layered a different application of different rollups right on top of each other and so which is what we publish with fractal 3 and i want to thank my good friend at aztec to say that they want to deploy on l3 because you know that's something i would love to see but but so some applications have specific needs specific needs for scale specific needs for um the way transaction get processed and so [Music] this as specific roll-up will continue to exist and will be probably one of the most used in the long run and what about in the case of of a general purpose roll up like arbitrarium val you're you're looking at me you know i'd pick on you um what what are the distinct you know differences in your mind between something like arbitrary and something more application specific and how do you kind of rank those in terms of priority art for arbitrary specifically do you mean general purpose versus uh of course we take the mindset that general purpose is the way to go is there room in this world for very application specific you know zk tech oh absolutely i think it's a wonderful technology and it's really exciting but there's a lot of benefits to more general purpose apps like composability can you talk a little bit more about that and kelvin i'd love to hear more about that from you as well i know you're smiling yeah the composability element go for it val are you anyone about the composability element why it's important um sure you're uh you bought some nfts you're gaming in this nft this nft is the thing that uh you know you're a play to earn game uh your this nft is valuable to you because this is how you're creating status in this game it could be even how you're creating your income so what is going to make this valuable to you well if you can move this nft from game to game it's easier of course if it's on the same chain what if you could use this nft now and stake it or do other defy activities with it uh also very powerful and composability gives you a lot more freedom it gives a lot more depth to the economic experience that you can have on a platform this is our mindset so so i i fully agree with that capability gives all that purpose but um what maybe is more than clear when i say app specific ad specific doesn't exclude composability for instance we could have star kicks or a star net which is run by a single entity and though they can deploy their own application and settle back every time they need a user to withdraw you know withdraw happen a lot less than settlement for instance one in exchange luckily for them and so it's not independent it's not like it's not you know orthogonal you can have both cool yeah i i have a slightly different take on this i think that the real benefit of sort of these simple general purpose systems especially something that follows ethereum is just that it's way you know that for a lot of people it's just way easier to build this sort of stuff i think that for application specific chains i think it makes sense it's kind of like an optimization on top of a protocol if you have a very very solid protocol and you think that you can create you know you can build your application specific thing because you have the engineering talent to do it um fantastic i think for the vast majority of people i would say start building on something general purpose start building on something especially if you've never deployed like a like a you know a solidity app before or an app on any blockchain like solidity is probably the simplest language you can learn to deploy smart contracts that people are actually going to understand what's going on so for us we just see it as a more accessible way to build applications and i think there's definitely room for application specific things as an optimization once you've been running for a long time if you think that that's right for you i probably wouldn't recommend it for somebody trying to deploy their first project um onto one of these systems so kelvin you touched on this that um as like a first-timer developer um kind of using something more general purpose might remove a lot of the barriers to entry especially with something as complex as building a roll-up on the curious for like the application specific roll-ups like what prerequisites in in your minds joe and louie are supremely necessary for a developer to be really successful with something like starkware and aztec and fuel as well uh simply an interesting crypto i think that if your developer experience is um where is welcoming then there really should be no hard prerequisites for getting started it should be simply that the person is interested and that your developer experience allows them to go through the necessary steps to perform their first contract end-to-end i think for us it's um like a keen interest in a part of our one that you want to make better i think we've had a lot of people apply to our grants program and they write these kind of simple bridge contracts but i think the overarching theme is they they're part of a d5 projects community and they're frustrated with gas fees or a lack of privacy and that's the motivation for kind of working with aztec because they see a way to make it better so i think yeah an interest in crypto or making um something uh an improvement is usually sufficient for us so can you repeat i have a very short attention span of course no uh what what prerequisites in your mind are uh necessary for someone to be super successful on an application specific rollup so truly from what i saw from you know running this community like you know trying to get on board more and more dev and you know so far i've been actually like so surprised by the quality of the project the people coming up um what you just need is seriously ambition i've seen like junior dev just showing up just picking up the language senior dev you know people from like the top company the top brain of you know wanting to join web 3 and getting excited because um they can build something they couldn't do before so so uh what you need i mean i guess it's everywhere the same it's excitement ambition and um and will like um so i i think of near when i think of uh really interesting kind of like go to market uh docs and like git pod tutorials on helping people get started with near they were really they've done a really great job on on their like developer portal what things do you guys think outside of like the typical like docs and and content are super necessary to to make a rollups adoption really successful with with developers at fuel we really focus on interact the tech interacting with the developer so our compiler that compiles sway is really interactive friendly and verbose and will give you warnings about your code warnings about your how your contract will act once it's deployed and allows you to perform at your optimal level interacting with the tech i really feel like the worst thing that could happen is that a silent error happens and the developer doesn't expect that and they deploy it and they don't know what's wrong so i really feel like getting feedback during development is quite important um yeah i think this is going to be a very like the answers are going to differ depending on which system you're on i'd say you know for for a system that's trying to be as close to ethereum as possible the best thing you can do is just like show people that that's true and like just get them to start you know get them to take the thing that they already deployed and then just deploy it again and be like oh it just works you know you didn't have to do anything right um that's one thing and then the other thing i think is that you know when people are when developers are deciding whether they're going to build on a system they don't only want to see that the system works now but like building on a system is a really big commitment so we have to do a lot of work in trying to sort of explain to people how we're going to make sure that the system continues to work reliably into the future right people build on ethereum because it's super reliable people are building on these systems now because it's cheap but a lot of people you know that's a big commitment if you're going to do something you know a lot of people will just deploy on one chain to start so if you're going to pick that chain it better be a reliable chain if you're going to be on there for a while so there's this whole area of work that we do which is purely focused around making it clear to developers you know like the system is reliable and we have a road map to make the system even better and cheaper in the future but that's yeah i think i just had one thing which is just be upfront and honest about like the capabilities like the worst thing for a developer is kind of you start down a road and uh you start building something promising is possible and it's not possible so i think uh yeah don't don't waste developers time and just kind of be up front like you can do certain things today on a network and in a year you'll be able to do other things and kind of lay that out for people so they can make informed choices um yeah not not kind of just over market to them the question was about developers oh man um what are the things outside of like traditional uh like docs and content that that you're thinking about uh when trying to get adoption from developers or mind share from from developers when launching your roll-up yeah honestly reliability is the biggest one and then we really wanted a plug-and-play system there was no code anything that you wrote on l1 you don't have to write any code and you can just deploy it on arbitrom like why not try it you know what's the risk that's awesome um and so i guess starkware has a completely different system different architecture a different inner for the language and even programming patterns or main computing paradigm so in our case i guess different from the other people on the table here uh unfollow here is that we need to explain how the tech work what do they do what they can do what do they gain by working with us versus other solutions uh like for instance like for instance on car and start networking the thing that you get for free is called data quality is free almost free okay so it's simplification but it's very very cheap as opposed to under l1 for instance or computation is cheap because you don't have to repeat it over time and so explaining what kind of bragging pattern they can use and build on is very fundamental and another thing that is fundamental from my perspective also is as was said before honesty honesty of what you can do what you cannot do and i'm gonna bring sort of a whole tech here which is i don't believe that any layers which have successful defy activity will be cheap in the long run it won't happen because solana showed it so lana showed it that there is an arbitrage to arbitrary to there is like a fee like an equilibrium in the fees by arbitraging always the exchange based on the fees basically the cheaper the fees the better you are continue super charging so what i'm going to say here is cheap is great but building new is fun kelvin has something to say yeah i don't if you don't think it's going to be cheap i don't think you're thinking big enough like it's got to be cheap you got to keep working i don't think it's so it's going to be cheap right cheap is related you know you know when you're away on sending a hundred dollars it's cheap like selling a million dollars it's cheap 100 right you get the best security the best connection but you know if you are to build let's say a game which has you know thousands of transactions which has very very little value and you have to compete on the gas the transaction fees with successful economical interaction with d5 you're not going to make it it's not going to happen you know i'm going to give example from l1 if remember 2016 ether delta for delta there was a super good awesome decentralized order book based exchange available fully centralized before i mem before he swapped before anything that we know today and it's unusable it's unusable because it went up it's unusable because the fees are up so this is what i'm going for here i'm saying that this is why we believe in the layer network where you settle back with more asynchronicity where you set it back and forth but in the long run this is why yeah that's why we believe in a layered network i i think it's totally possible to construct a system where you can have different state spaces and you can have synchronous interaction between them and and i think that's how you're going to get really really cheap transactions so um you know that's long-term future plans for optimism we'll get there but it's uh well the polygon has multiple different chains so you can do it with one chain we'll we'll write a paper about it quite quite a bunch of opinions here um i think we're at a minute so i think that's about it all right thanks guys

Automatic transcript — names and jargon may be misspelled.