Scaling Ethereum Brainstorming Session
ETHGlobal·Sat, Oct 9, 2021, 12:00 AM
Join Liam Horne (ETHGlobal), Harry Kalodner (Arbitrum), Austin Griffith (Ethereum Foundation) & James Zaki as they toss around hackathon ideas in a workshop with Scaling Ethereum hackers.
Transcript
guys okay i think i'm waiting for [Music] um someone on our team i want to help out from the brainstorming side but waiting for the person that's uh kind of more orchestrating right now sounds good uh where where are you at is it new york i can't remember i'm actually in michigan now i i was in new york but uh okay living in a studio so yeah and we've been remote since uh well i guess over a year wow yeah it's a weird time vortex a year will go by and uh yeah it doesn't feel like it it's hackathon though yeah i think it's gonna be interesting it's interesting to see you know how people grok this stuff it's quite esoteric for a lot of folks right for us we've been doing it for years um no absolutely i've seen a lot of the interest in the the finder gene channel people are looking for uh d5 that was just seemed to be a strong signal a lot of people saying defy this hit by that yeah so i wonder how many like i just looked at the um earlier the uh sort of the five categories you guys had put the contract optimizations protocol changes relays yeah i wonder how many are gonna hit those other ones or if it will all sit as apps on layer two and but either way it's good people building on it getting familiar with it and then you can depend on how um persuasive the sponsors and mentors are there's a lot there's a lot of people are just like i don't know anything i just wanna like build something tell me how to build or where to go to build something yeah there's a lot of persuasion yeah like i'm trying to not be biased like i'm i'm using optimism for what i'm doing which is also using bls signatures so i can you know easily talk to that but um i'm also aware of the other areas so i want to try you know suss out where they are what their skills are and if i can help them go somewhere else the uh the notion documents seem pretty nice pretty nice uh set of set of yeah yeah if you have more to add like i think i think like that was just like i just brainstormed a bunch like a month or two ago and added a couple recently but if you guys have any specific ones or want to add to it please feel free yeah we had uh um i i'm not gonna remember who uh who on the side we talked to but there are a few more uh that were added from uh oh okay nice already yeah oh do you guys with the bls ninja stuff do you um yeah um what's the strategy for for um users signing locally with bnsplchers yeah without customizing the existing the existing apis yeah so kind of sorry we have the back end support for blsn but like there isn't really like wallet support yet um so yeah i mean i think i think there are some people who are gonna be like building new wallets basically that support it for like kind of application specific things but obviously those aren't gonna get like mass adoption um so i think it's kind of you know probably not gonna get a ton of use at first but like also the savings from it are nice but like it's not like they're like worth the hassle at this phase in terms of like compared to just using a mask so sorry harry um i i should yeah just ask i guess i don't know where where you're from sorry oh sorry yeah yeah so uh i'm uh i should i gotta do the same here yeah from uh arbitrary oh nice awesome yeah i do wanna use that too um uh i'm working on yeah like basically making use of the the bls signature aggregation that others have developed and trying to bring that into something that is usable and i think the hubble bls repo is doing a signer but i also am wanting to make that easy to use locally and i've had a look at deno i hadn't actually looked deep into that and that seems to do a lot of the nice things um like being able to have a local executable but but exactly to your point it's a little bit fiddly and the gains are just a little bit better like l2 is a major kind of like low-hanging fruit gain and then you've got bls which is just a bit more on top of that for extra effort and i totally agree with what you said yeah that's that's super cool yeah i mean hitch pitch pitch for arbitrary but our current test net we don't have any wallets that are capable of doing this but we support the same bls like hash to curve we're fully where we support the same thing that hubble is doing basically like we nice good we're using exported from from barry's uh um yeah yeah yeah um yeah i definitely want to be agnostic and just let it you know you know oh yeah totally no no i just mean like if you have that it would be awesome to like use the signatures produced from that and you know but essentially just in terms of if you're looking for places to send those signatures awesome sounds good yeah so i'm also doing the aggregator to then be able to send it to different yeah yeah that's awesome um that's super cool yeah cause like the tooling obviously yeah i don't need to tell you the tooling right now like it you know yeah and we'll see uh yeah what um what teams form see if we can direct them to to build more on these things i would love that yeah because like um it'll be interesting to see how like it seems like with with like you know with i think with like you know i you know probably with arbitrary man with optimism like you know the initial gains off the bat with ecdsa are like pretty damn good um but like you know it's not like it like needs bls to be good but it makes it a hell of a lot more awesome so like it's a sort of thing like especially like once you know once they're once there are you know optimistic roll-ups out there um the the i think the demand will like you know that bls is like the most immediate way to like you know get another level of performance bump yeah cool so the interest in that is gonna blow up i would i would guess like when you start saying like how would you like you know to be way cheaper even um questions yeah i'm gonna there's a couple people in the waiting room usually this sort of thing they got to claim come and go see how it goes um what kind of what did you guys want to start do you want to like open up the ideas list you want to start on a specific topic um how would you want to start yeah i guess i'm not sure how it flows but if you're saying that people just come in very very much very freeform very jam sessions like touching the topic yeah yeah i guess i i normally get a feel like if it's then we get to talk to the individuals i'd get us like so to suss out where they're coming from what they can do um and then if they've already got something in mind and then kind of just riff off that um because then we can i guess direct them to something that we know from that list that's good enough strategy that's that's all i can think of awesome all right we have friends there are two folks entering hello hey austin [Music] yeah i'm gonna move liam you've got to be sticking around for that are are you just introducing me liam or are you sticking around for for more i feel like i was just doing some like scalability research and like all your state channel stuff is like at the top of off on top of so many of my searches i feel like i'm not the guy to be talking here you're the guy to be talking here yeah we can all we can all talk i think this will just be like an idea session we'll just touch on whatever we find interesting yeah i guess if there's the the new dads who who want to get into coding then we just point them to scaffold right my favorite part of like the current like iteration of like scaling stuff is that like roll-ups are like on the rise and like plasma is kind of down but like state channels are like jumping right up there too for interoperability like they managed to really kind of hold their position okay cool um for folks that are in the room um this will be a pretty interactive session all right am i good yeah so um i would so i would recommend like if you're if you're just if you if you want to turn your video on um it makes it a bit more interactive and easier for us to kind of like uh you know allow people to ask questions and we can a bit more personalized um we'll probably go topic the topic there's a lot of things obviously in layer two where they're talking about bridges or we're talking about like how any these things work with the optimistic roll-ups or zika roll-ups or we're talking about more abstract stuff like you know getting blessed matures into these things it really is there's quite a lot of topics um and i really want to make sure that folks are getting a lot out of it so anyway that's why i mentioned like uh please feel free to also ask questions in in the chat or if you want to like raise your hand um we can we can hear a question out loud also um yeah um catherine's here also i don't know if you wanted to introduce the session at all yeah any or any context more than what i said um okay yeah catherine catherine messaged me she'll she's just gonna be hanging around okay cool um thank you i i'm uh yeah i'm happy to join but i i can't be on camera so okay thank you guys okay um i just got my audio back sorry if i lost your audio there i've got it now nice okay um so maybe um one thing again this will be very much a jam session we want to make sure we talk about the things people are most interested in maybe we'll start out with just very brief like 20 second introductions just to like um myself austin uh harry james um just so people are aware of who we are and how we can maybe be helpful and then um after that or even during i'd recommend if you have a very specific topic in mind that you wanted to touch on or um mention it in the chat and that way we have like a list of running things to go talk about uh okay so i'll just i'll introduce myself really quickly then we'll do james harry austin okay so my name is liam um i'm working on um optimism um basically um across the board is engineering i've been doing scaling stuff for many years now between from from state channels now to roll ups just generally like how do we get layered two to work and how do we get the systems actually working in production not just in people's heads um and yeah i'm excited to build stuff and to help out this build on layer two uh james oh yeah um yeah i'm a developer been um working on uh a smart contract wallet that uses bls signature aggregation and uh currently deploying that to a local optimism so just yeah using roll-up solutions for that um so yeah i'll be mostly tech focused and hopefully helping a time zone when other americans are asleep uh yeah so over to harry awesome hey i'm harry uh i'm one of the co-founders of off chain labs building arbitrary uh which is also an optimistic roll-up um been in blockchain space since 2014 been started bitcoin stuff been doing ethereum stuff since 2016 um all sorts of different kind of scaling but kind of been pretty focused on on optimistic roll-ups well since like 2018 before the term was uh coined so been been a while and it's awesome what's up i'm austin i do lots of tooling in the space i kind of do weird builds where we try out user experience stuff like the burner wallet um probably other things i've ventured into are like meta transactions where you have like signed signed messages and i think that might be something we'll talk about a little bit today how you can sign off chain messages that can eventually go on chain i do like some side chain stuff and that that experience over on the side chain is going to be very familiar when we moved to some of these l2 solutions so hopefully i can help out thanks okay cool um yes reminder again the topics ideas questions in the chat i also linked document uh documents called scaling ethereum idea brainstorming um there's a bunch of just stuff in there it breaks down by category at the bottom there's a list of ideas in the table if you're curious about any one of those particular ideas just throw in the chat mention it and we can talk more about it um um yeah so where should we start um austin maybe do you have a good pulse in what you think the very first topic might be to like throw an idea out that we could brainstorm well i think i i love going back to sign messages how how state channels work like very early especially with you here i feel like very early state channels and how like a payment channel between alice and bob might work how they can send funds or they can stream funds back and forth and it actually never has to touch the chain right and that's that's kind of the magic to to a state channel what do you what do you guys think sign messages state channels uh gas stuff side chains yeah i could i think maybe one thing that's worth calling out at least in regards to state channels that people often forget is kind of the um is kind of like house how just basically you now need to take into account storing data off chain at least in the concept uh obviously rob's a bit different you put the transaction on chain but what i mean specifically is you're thinking about state channels is you're actually now having a wallet that's local to your environment whether it's in the browser or if you're running a process that is signing things regularly um people often forget about the fact that you're not always just sending rpc calls to some endpoint you actually sometimes need to be doing things that require storing signatures um but yeah that can that can get a bit into the weeds there are a lot of state channel related projects that exist that um are doing stuff like this including uh connext is doing this they have support and lots of different wallets there's a product called statechannels.org which provides kind of end-to-end tool kit for the contracts the wallet architecture um the kind of easy tools to be able to send messages and signatures across the wire another one is seller protocol which is a bit more they have tooling for people to run nodes so the node will start the signature for you but yeah state channels is a lot of things to be done there um yeah i'm not sure how many people want to dive into state channels right now but i'm happy to go more in depth if you'd like the so i just pasted into chat a a line of code and this line of code is how you use metamask to sign a transaction so and then i'm going to paste in a second line of code that's going to be on the solidity side if you have that signed transaction given somebody's signature and the message they signed if you can put both of those things into the contract the contract can then recover who signed those so with a state channel you're you're going back and forth signing things alice signs a little bit more to bob a little bit more a little bit more and then their their session ends bob takes that last signature and puts it on chain but he knows at any time he can put it on chain and it can settle on chain and that's what's i think the the tricks here when we talk about scalability there's a lot of like tricks and the trick is keep it off chain but know that that can settle on chain at any moment sort of alice is streaming to bob and alice has signed a certain amount over to bob but she's just signing incrementally you know one dollar two dollar three dollars four dollars and then when they're done with their session bob can take that single transaction and put it on chain and recover his four dollars you know the highest one and there's probably some kind of with with all of these systems there's usually some kind of game in terms of challenges and if someone does something wrong and and some like a lot of adversarial thought that has to go into these the the optimism challenge stuff is good too and we could dive into those stuff but is there is there's challenges in state channels too and how do what do those look like liam do you just like prove that they were a bad actor or you you prove that there's a further nunce or something like that i i can't remember exactly the thing yeah yeah with with state channels um the way that that works is basically like you like you just mentioned you're all the time signing new transactions between a small group of people and there's a nonce effectively as you're saying more things the latest not is sort of the source of truth um either somebody could submit the chain a really old one in which case you just need to submit any of the new ones to chain and that basically proves that person was intentionally lying if it's one that they themselves signed not you if they signed an early one and you submit a later one that they signed that's an attention line um but the more likely case is that you're playing you're doing some application and the person goes offline entirely they don't sign any future thing they just stop in which case you need to submit your latest state um and start a timer prompting them to react if they don't react then it ends the channel there's this challenge period though that's the thing to think about is you have to so so knowing that you know that you have to write the thing and you know the thing's going to be good but you have to wait for that whole challenge period to end because you need that period for for the game theory to work out we should probably open it up for questions too good good conversation though i love this stuff yeah if you guys are understanding state channels also i'll just link in this for later a link in the doom there's a talk i gave a while ago that i think is the one that was the clearest about um this stuff i wouldn't recommend everyone watch it now or anything it's it's it's like a it's 40 minutes but if you didn't want to dive into state channels like the first half for that is is it does do a pretty good comprehensive overview of like how it works i just wanted to throw in there that that this this is a topic where i love to put on my like i'm not going to say ethereum maximalist i'll say smart contract maximalist hat and and say like they're like smart payment channels are also a thing on bitcoin lightning network most people heard of that but they're incredibly incredibly incredibly complicated because bitcoin doesn't have sort of any of the awesome tools that ethereum has for statefulness for defining kind of complex state machines with rules and so kind of a simple kind of payment channel on ethereum is like a handful of lines of code versus kind of the same payment channel on bitcoin is an incredibly complicated application so that's just kind of like it's a really nice way to kind of highlight what ethereum has when it comes to l2 scaling and to add to that if you had a state channel set up say any any old programmer can pull it off the shelf can figure out how to sign messages with metamask and figure out how to recover those messages in a contract but then once you have that solidity just doing that all of a sudden you can say okay well let's put in like some kind of timing factor where they get paid a different amount for for overtime or something like that right we just invented overtime and smart contracts if you've worked more than eight hours within 24 hours we start doubling the rate right and we put that right into the solidity so you don't trust anybody you don't just have to trust the code and now we've created a new product on ethereum for overtime billing for some reason just to answer a couple questions in the chat can multiple addresses contribute to a state channel um yes the way to think about a state channel and my experience is that the core api is basically deposit and withdraw um there is also the unhappy case where it's challenged but assuming actors are participating in the way the protocol is expected to work deposit withdraw and so the protocol should be such that anyone could deposit any type of funds or any type of state at all into the channel all that matters is that the participants in the channel are signing the corresponding messages a good state channel framework can handle any of that and it's really nice apis um i'm personally partial to statechannels.org because i spent as much of time building it but it's basically made to be as simple as possible for that sort of a use case um the other question by ivor was like can you have some sort of a lightweight router so the word router is very overloaded in layer two i would say and in state channels in particular um i think the word you're looking for is more like hub i know connect does use router but the over the hub is a bit more accurate i think because the way of thinking about it is if there's alice has money bob has money alice and bob want to transact but they don't have a channel but they both do with charlie you can use charlie as a hub you can route capital through charlie that's the route router idea through a hub um the hub does not need to be massive just and then you don't need to have a hundred thousand dollars it can be any amount of value but it does need to have enough value to support the the bandwidth the transaction um i think for demo purposes on an l2 you can kind of use your own token if you want you can just mint any number um but yeah you don't need to worry about literally the raw amount of volume of liquidity um the next question is like someone asked like how are state channels even useful if both people have to be online i would say state channels are best used in context where you know for sure everyone's going to be online so maybe not like in metamask could you close your laptop right but maybe if you have two node processes running on two servers like an example is with the graph the graph is an api for accessing blockchain data they have people that are accepting api requests and other people these are services servers like literally node processes and then they have node processes serving blockchain data so basically api requests come in to one party called alice and they send requests to the other party the indexer call it bob and alice and bob are doing state channel payments all the time and both of these servers are basically running 24 7. so that's a good state channel use case um and then just the very last question on topic of state channels um is uh how the hell is this stuff fit into each 2.0 i would say kind of there's not really much of overlap yet there's been a proposal that um if there were stateless clients for ethereum meaning you don't store the full state of the chain then maybe there would be an interesting use case where state could be stored in a way where you get you can get paid for storing it through some micropayments but that's more of like a idea that's been tossed around by the researchers that work on that as opposed to like a real thing so i would be hesitant to unnecessarily couple state channels and eth2 um but uh it might be it might be an interesting segue to roll-ups because there is a very interesting roll-up related thing with e2 which is i'll just say pretty briefly we can again keep asking questions even on your mic if you'd like but um just really quickly on on on rollups is the key idea is that you're putting the transaction data from the rollup on the l1 right so you're literally taking a bunch of data spikes send a transaction to l1 not to do anything with those bytes other than to like basically log them so the data is now part of the change history the problem is call data still is expensive however with eth2 there's way more data that can be stored because of as of sharding basically and since there's way more data that can be stored that means the you know through market dynamics the price will go down for storing data necessary not storing but rather like just allowing it to be a part of the call data on a transaction um so that's a great that's a great thing and it would be very interesting to see anyone experimenting with the uh reaganism eth1 eth2 bridge or emerge testnet that they're doing during this hackathon and putting roll-up transaction data on that on that that would be kind of a crazy like blinding edge hack but that would be very interesting uh anyway i've talked for a while uh anyone else please feel free to chime in i was just gonna add in there like one really cool the kind of roll up like roll-ups in the context of e2 are also kind of in this really cool position that that each 2.
0 is not like a single thing um it's it's multiple it's it's a single end goal but there are multiple phases of rollout and and we're already in the first phase and it's been going for for months now which is awesome um but it's not the phase that like matters to end users because it doesn't support like actually using it for smart contracts um and kind of the the other phases basically are kind of expanding out into sharding and then finally kind of expanding out and execution and there was this really interesting thing which is that the last phase was is kind of the most in doubt because it's the farthest way um and that's kind of how to actually kind of bring the execution in at the end um but it's kind of looking as though that won't even be necessary basically um because roll-ups will basically will essentially kind of solve that problem and become sort of a core component of uh of eth 2.0 in at least one like one pretty likely scenario and uh if i could yeah rush a little bit off um austin's meadow um well is it the burner wallet and meta transactions um i'm just going to share a line of code which uses the um bls um signatures and verification of those on chain to do effectively a similar thing um uh yeah i think at first it was yeah this is sort of a generic like equally generic i guess way of doing it but using different signature scheme um and the idea there is to uh save what is put onto l1 when um sending a transaction to l2 so it's to reduce the call data uh also in that file is some uh compression i think i've called it well it's an expander on this side but you'll be sending it compressed data as well so there's other optimizations people are working on around there one is just to deduplicate parameters in a function call because that will save you on l1 and also to potentially compress parameters but that's something i think there's another team working on that but there's a few optimizations around there that could be of interest yeah i would say probably in general like getting a knowledge of blf signatures as a hacker would be worthwhile because it's something that was not quite really right as far as i'm aware fully understood maybe even maybe even in existence when ethereum was kind of first conceived um wasn't yeah 2018 or something 2017 the scheme was proposed i forget but definitely it's recent i think and so um there's a lot of opportunities i think for using it for different sorts of scalability applications so it's a worthwhile thing to like know a little bit about yeah i think the key takeaway i got from it is that um if you have multiple signatures and you want to prove just one of them you can i think it is literally addition of the signatures but um you can just check it with one signature to say yes this data was signed by this single address even though the signature is one um uh in aggregate signature of many individual ones i probably could have explained that better but um you can ask me questions about that well even just thinking about a multi-sig wallet like uh the way a multi-sig wallet works is you have like m of n right like three of five people need to sign this so you have to collect three at least three of the signatures and then submit them on chain bls does some i i so i don't i i think i'm just a builder i don't know i don't know what i i just know that does like grouping right so you could have wha i talked to danny ryan about this one time we were talking about how eth2 has uh it's a hard barrier to entry to get your 32 eth together but with the way bls works you could technically have a like 32 different people all have one eve and they the way the signatures could work like you could all sign the blocks each time or something like that it had to do with group signatures and it got really exciting for me but i haven't played around with it i'm excited to try them out um just on the topic of brainstorming again uh um so one idea i would love to see someone work on or think about eth is with bls signatures one thing you can do uh it's kind of alluded to is you can have a multi-sig basically but built into the signature scheme they're called aggregate signatures so like four people can be required like like was this mentioned three or four people can be required to sign something um in order for a signature to be valid um and that's super useful but the but the problem is there's very little infrastructure that is made to make that easy in the existing stack that we have in ethereum and in particular with the ledger devices like it's a very specific idea with ledger devices um there's currently no way to like have four ledger devices and run a um what is a very specific word called horcrux a horcrux setup ceremony such that you can set up one of those m of n um like three or four uh bls signature scheme aggregations um with with literally ledger devices but it's not that hard to do like the ledger team is open to implementing parts of this also the apis also support bls signatures in general but that would be an insane hack like i would even personally like offer a prize around that like that would be a great thing to see um so a very specific idea i i would feel i'd feel like i'd be betraying my uh my co-founder steven if i didn't if i didn't point out that a lot of the cool stuff not not everything there's some stuff that's kind of unique to bls but a lot of the cool stuff that like austin you were talking about for instance is also actually possible with uh with regular old ecdsa signatures um that we use for ethereum every day it's called they're called threshold signatures um and it kind of allows that same sort of thing and i know there are a number of companies that have been kind of building threshold signature tech for for kind of off chain multisigs just with like regular old kind of ethereum and user accounts being multi-segs which is pretty cool maybe it might be cool to even talk about the difference between a multi-sig wallet that stores all the transactions on chain and a multi-sig wallet that does it sort of counter factually so there's kind of like two ways you could build your multi-sig wallet and i just i want to throw a solidity by example example in of uh multi-sig just so you see how it works but it's it would be a group of people uh all have to basically vote on that transaction right and if you check out this code i'm pasting into chat now you can see that we're tracking the transactions in the contract so all of that call data and whether or not each person has confirmed those each one of those goes into that contract and that's a lot of storage and a lot of transactions really what you want to do kind of moving toward this off chain stuff is what if the transaction information is stored off chain people land on a site and they get the transaction information from a central server they sign it and all their signatures are just stored on that central server and then you write the smart contract not to store all the transactions but just to say hey if you can collect some call data and three signatures from the four owners then we'll go ahead and execute this call data and i'll send a repo that i have that does this uh for multisig it even opens up streams too i'm pasting that in here and total tangent now total tangent i was thinking merkel trees and merkle roots right when when uniswop wanted to do a distribution to all of their users obviously they didn't want to like run through and make all those transactions they didn't want to set it up so some contract had you know a hundred thousand accounts in it and people would have to get in and withdraw right so what they did was use a merkle tree which again i'm a product builder not i don't know how this stuff works underneath completely but a merkle tree uh let me find the uniswap merkle tree and what they did is you you basically write you you create a merkle tree and then you take that route and you put the root in the contract and then if someone wants to prove that they exist somewhere in that tree you have an off chain service that kind of proves up the tree that they do exist in there and you give that to the user and the user submits that to the smart contract and so all the smart contract needs to know is like oh yeah that like they they do exist somewhere in this tree so therefore we can send them some money and check them off the list and so we created uh uh just to extend this even more an nft minting app where an artist could actually select like 10 000 different generative works that they've put together and then allow have the gallery set up so there's one smart contract that gets deployed and then the whole gallery is basically just all of the the artworks within that merkle tree and then if someone wants to buy that they click it and they also do the merkle proof that it exists within that tree and they can go ahead and prove that that is one of the artists work and it can get minted in the the contract and i'll send that along here too i feel like i've talked too much so someone else should go but merkel roots i'll paste in the unit swap merkle library i see my dude shanann showed up what up seanan how you doing man hey how's it going are you hacking uh yeah i'm thinking about i'm just looking into things right now um obviously i've never built with anything ovm related before so i'm pretty excited to dive into this i got an optimism starter kit for you let me paste it in here oh that sounds cool um i would also just um maybe we've said a lot really fast if for any folks that are in the in the room uh if you're literally if you're confused about something or if you came here hoping to talk about a very specific subject like please don't be don't be shy um you can if you want to put in the chat you can do that or if you want to you know take a moment now i'll let people like unmute if they want to ask a question or you know shout out a topic we can dive into like please please um this is for you so please um let us know how can we how can we help you hey this is shannon um one thing i've been thinking about is um you know as different chains like tezos are starting to offer minting platforms like obviously i can see reasons why artists would want to go to that platform versus eth to min but like collectors if you think about the marketplaces they would want to go to to buy nfts like they're going to be chain agnostic so like what from a technical standpoint needs to happen for like chain agnostic nft marketplaces that's a great question um i mean let me take something to think about it uh or harry james office if you have anything it's happening right because of the degentrification of ethereum like the spill-off is landing in all these other chains we're gonna have nfts in other places i think the saving grace is the places that it's landing they're all evm compatible so as long as your your stack works here on ethereum it'll work on a side chain it'll work in l2 it'll work on some of these other platforms i don't know about tazos exactly i doubt tasos has any evm compatibility at all but also like who's messing around with nfts on taseos come on come on with that but but it's evm compatible so a lot of your tools whether they work on the sidechain or ethereum they're just you're just going to have to kind of like parse all the different networks but the tooling will work the same evm compatible across a lot of different networks but i think yeah i mean the the part of the particular question about like kind of so there's chain agnostic in terms of like the same thing can be deployed in like independent ways in a lot of different chains and then there's sort of like applications that actually connect a bunch of chains together um chain agnostic kind of multiple deployments on different chains i think are like pretty easy but that sort of leads to like very kind of segmented ecosystems which is like kind of not not the best i mean i think with nft is the best example that's probably um nba talk shot on on flow um which is which has gotten a lot of usage and it's kind of like its own little world completely pretty separate from the ethereum world um nfts are probably are really the hardest thing to bridge between chains um and it's right in the name it's because they're non-fungible um and so there's kind of there's stuff you can do and it gets kind of tricky and interesting if you want to like move from chain to chain then you like take the nft on one chain and you lock it up and you somehow mint a token on the other chain that is redeemable for the original token and then you say well okay that's now represents this nft um so there's kind of a lot of stuff that can be done but it gets pretty kind of it gets pretty complicated and so like i would expect that a lot of work will be done around the edges with ux in order to smooth it out the first thing that will probably happen in terms of like a single shop and a single shop location for nfts that kind of crosses multiple chains will be something centralized will essentially be sort of coinbase for nfts where there's somebody who kind of escrows all of them and you can buy them and sell them on their platform and then withdraw them onto the chain that they're on at least that probably exists already i don't know is a lot trickier yeah i would mention like um it's kind of like a one i think one thing hasn't been like fully uh downloaded yet into the zeitgeist is the idea of um nfts being themselves marketplaces so there's a lot of talk of like oh there should be a marketplace for this type of nfp or a marketplace for that type of nft and like you deposit into the marketplace but like um i think actually the better way of doing it this is what a company called i guess a protocol called zora is doing is that the asset itself has on it like um functionality to bid or or like or basically like to have basically to buy and sell it on the asset itself so these marketplaces don't need to like have the assets in them it's more like the assets are wherever they are and the marketplace has just provided an api to or like an interface interact with them i think that's been like underexplored and under-appreciated personally we built that right into nifty ink too we noticed we we created the nft platform we're like wait a minute we need like one more variable to track whether or not it's for sale and we can we can build a marketplace into this like going back to that you add one line to your solidity and you create a new mechanic so we did that so on the side chain of nifty inc it's just uh is it for sale and how much is it for sale for with just one number and then someone can pay that to mint them and those those upgrade to ethereum too that that that counts that's topical you can mint over on the side chain x die and you can buy and sell these nfts for like a dollar if you want it costs a fraction of a penny to mint them and move them around but it backs with one of these bridges that harry was talking about where you burn them on the side chain and then they're minted over on ethereum but it's crazy right now you buy and sell them for a dollar and then it costs you like 209 dollars to upgrade them to main net so you can have them in your open sea um yes yeah exactly cool i'm just going to repost the list of the brainstorm ideas um shannon did that answer your question do you have any follow-ups uh i'm actually not a dev so i can't really follow up intelligently that was really helpful though no worries um anyone else summary of a lot of that it's complicated yeah yeah yeah well well how about okay real quick let's talk about the off-ramping of an nft from optimism so if if you're in optimism l2 and you want to off-ramp a fungible asset it is locked up and it does take weeks for that fungible assets to get unlocked but what happens is someone can i think joshua was that someone can uh create a market across that and say okay this fungible asset over here will eventually get released in two weeks i know it's going to get released it's just we have to wait for this challenge period we were talking about earlier well you create a market across that and someone can make a premium by giving you you know a loan on your stuff and then getting it eventually but an nft like you said in the name is not fungible and you can't you can't be like okay i'm gonna lock up my crypto punk over here and get a cryptokitty on the other side you have to wait for that one unique token to go through that whole challenge period and i don't think anybody's come up with anything better for for off ramping those out of those l2s isn't it isn't ave collateralizing nfts though already like with the avogadres like is that a workaround for that yeah that sounds interesting like you could like if you are assured that you will be in possession of it after a period of time can you act as if you have it then and then you know be able to generate revenue off the possession of it and then after it's released it then goes to the original owner yeah something like that that could be interesting yeah i think i think so i was sort of saying in the chat a little bit like the idea of making withdrawal withdrawals pending withdrawals tradable assets um i'm not aware of any like standards around that but it's sort of the same way you kind of like wrap teeth like if the standard of wrapping something like wrapped is that standard thing we do maybe like wrapped withdrawal eve is a thing um that should exist eventually but this here we are we here's the edge of the ecosystem like here we are as developers innovating and talking about like what are we going to build at this hackathon to solve this problem i'll say this is a this is a pretty good uh a pretty good opportunity to to plug i think one of the uh one of the project ideas that uh that we uh that uh working on arbitrage plugged in uh for contacts for anybody for anybody recently joined uh building an optimistic role called arbitram and uh along with that we have sort of a one-stop shop token bridge basically um for reporting tokens kind of to and from between from between the ethereum chain and the arbitrary chain um and one of the really cool abilities it has it has sort of a kind of generic plug-in facility um for a liquidity provider to purchase uh some tokens that are being withdrawn um and so kind of one of the uh one of the one of the project ideas that uh that we're uh we're hoping some people will be interested in is kind of exploring various ways that uh and kind of various trust models and various kind of price points um that that uh different types of applications can kind of plug in and provide fast liquidity to users it's awesome um cool any other folks want to like ask anything super specific or even just like ask for us to dive into a particular topic um i was hoping i could ask a question about a particular kind of nft um since we're on the subject uh i'm not a developer but i'm helping a developer research um and he's building a marketplace for harbinger i think it's pronounced nfts um and i guess uh i guess i would just want to know if you um if there's anything that comes to mind that you would like to see done as far as scaling is concerned with nfts and specifically with harbinger nfts if that's something that you uh you're interested in not sure how they would collide yeah so harvard taxes harburger taxes are like it's like part of the radical exchange stuff it's yeah but harvard nft nft would be you have to pay some tax to continue holding the nft and if you go delinquent on holding the nft someone can liquidate your your nft i think is is what he means by a harbor nft that's my guess but then i don't know how that would collide with scalability i'm not sure how that what tips and tricks we're using there to like scale i'm not sure yeah i think it ends up being the same question as before just ways in which you can scale nfts um which i think we covered i think i don't know i'm not sure if there's any like super specific hardware related thing i was just kind of like stirring the pot um but one i guess it just goes back to like minting the actual nft and how you can lower the gas cost for that if there's any kind of interesting workarounds about how about an nft that holds a whole bunch of other nfts and you can sell them uh kind of instead of selling 10 nfts at a time right you can just sell the basket of nfts they buy that one nft and you you actually make like just one little change to the ownership of this guy and he owns all of them inside so then you could buy and sell like baskets instead of having to spend all the gas to buy all of them and then like you could unwrap that one thing from that basket and sell it somewhere else i don't know just trying to think of like fun ways we could package up nfts or find some some gas hacks for nfts which speaking this is a fun like weird paradigm here a lot of our scalability stuff is like figuring out tricks to spend less gas but a lot of our l2 solutions and our side chains gas doesn't even matter man we're just throwing stuff at it like crazy so it's funny that like there's almost a paradigm shift when you get up into these l2s or on these side chains where you quit worrying about gas and you just start throwing everything at the chain just because it's cheaper and it's like you're you're not as concerned with those tricks so that might be just like a weird thing to think about go ahead yeah yeah it just goes back to i guess thinking of any startup idea that you would have originally before ethereum and before being constrained by gas and and now that's open again it's just sort of saying hey any wild ideas are now possible and bring them on to l2 yeah this summer yeah with just like regardless the idea of brainstorming like if you're just like totally not sure what to do um i think a really good like just default or fallback idea is just find something on ethereum that got really popular um and just put it on an l2 like fomo 3d on l2 tornado cache and l2 i just something that like is was really popular in ethereum and just like get it on an l2 and just do the run the exact same playbook make it so the ui works make it so that it's usable and like make sure the contracts compile is appropriate and you need to for optimism hardware trim or whatever it is you want to deploy on and that that that would be great you know like um there's not enough people experimenting with these things literally just finding something that already works putting on lt would be great and like the the like games like you can do you can do so much more on l2 that than we thought of in l1 one one thing that's really going to be fun is when you can ramp directly into l2 so if i can swipe a credit card and get ten dollars worth of tokens on arbitrum and that i i can run i can run for for a long time on ten dollars worth of tokens in our return right so like once you're once you're ramped into that l2 and you can buy and sell stuff man that that ux is going to be so smooth and fun that's one of the like and even flowing things is that like there's like every chance that in the future users just don't transact on on ethereum l1 like even with 2.0 that they just like are just in roll-ups or state channels or plasma like i don't know exactly what it'll look like but it seems like there's a pretty good chance that it's kind of all like a problem at that point l2 might even stop being called l2 and it's just like ethereum and just like sort of a flame's point if you have an idea um or something that you use like a financial app or like a bill sharing app so you know you go to a restaurant you pay well when we used to go out um you paid a restaurant and you split the bill like even bringing that to an l2 is now possible because you wouldn't have thought to have brought that to l1 but but ideas that are outside of ethereum that are working in the real world so hey let's bring that because we can bring it into ethereum now so some you know bill sharing app or any other ideas um like tax savings apps um acorn whatever it is okay um can i just uh jump in for a sec yeah i uh was thinking about um addressing some of the architectural issues in the ethereum not necessarily just for the hackathon because obviously probably not enough time um but some of the things i was thinking about is that it's you know it's uh it should be what i call more massively parallelized um you know currently what you have is you know as the state has the world and some transaction comes in and moves the state to you know next state at time t plus one um in the meantime you have the entire world waiting you know for transactions so i was thinking of ways you know of not exactly shorting but i guess it has a similar idea um of breaking things down into smaller regions like creating smaller worlds in in effect um so you don't have to put in locking um mechanisms because um the idea of of um having a single transaction come in while everything is paused it's sort of like locking in a sense um but that was one thing the other issue uh is the fees i've always thought that tying the fees to ether or gas to ether was probably a bad design you know i was looking at the dares while they were working in 2014 i think january and they were talking about that and and i thought maybe that was a bad idea but you know i you know i couldn't really say anything about it um so i i want to sort of look at that could that be done in a different way uh instead of say mining or staking could there be like a set of nodes that uh let's say the fastest nodes within uh us the subnet if you want to call it that region that could be the ones processing in some sort of round robin um maybe uh uh um the the concept of fees also had to do with um uh preventing uh infinite loops um you know i can touch on one element of what you're talking about um like when it comes to like the fees management like one thing i did that you're sparking in my head is that on uh okay let me set up a little bit like basically an ethereum if i want to change ethereum like there's a whole eip process it's a pain in the ass gotta get through months to months months of work gotta convince everybody in vitalik and it just sucks but on l2 i can just launch my own roll up or a small roll up and i can just change the structure of the protocol any way that i want as long as in the end of the day i'm still getting transactions on um so for example one thing optimism we've done is by default your eoa that you don't normally would have in ethereum right the account with ether balance with no code instead that's actually now it's a contract wallet so you by default you have a contract wallet um there's that's just one design we said ah let's do that and let's see how that works if we don't like it we can change it um you can do all sorts of stuff like that right now on rollups you can experiment like we could if we wanted to we could put eip11559 on optimism uh or someone else could deploy their own optimism um instance and put it on there and we could experiment and you can do this with anything like another another idea i had is what if we just like change like you to your point change the gap the way that gas is spent let's use some completely other token or arbitrary token or build in like totally different mechanisms um this is another area for exploration i think in layer two it's like just totally new protocol experiments that we haven't seen before yeah you know i understand i mean i'm just kind of on learning a little uh more about these rollups um and later too but you know just listening to some of the uh um presentations earlier um you know i was thinking that you could have you know like in the database you have two phase commits um you could have issues of that sort when you you know like in layer two and i think one of the uh presenters almost talked about that um i think he did talk about it um so uh you could have more complexity you know uh in the system you know the entire ecosystem because mainly what you're looking at is that um ethereum has certain i think architectural deficiencies and guys you know i'm not trying to bash ethereum but um and uh everyone's trying to create hacks if we want to call them that or solutions around that but at you know you might find and you know i'm a developer i've been you know developing stuff uh for a long time um you know you might find that what you're actually doing is that yeah you know you're bringing solutions but there's going to be a point at which things get very fragile you know and um you know or maybe it's just tough and maybe you really have to go back to let's call it l0 you know the idea of ethereum you know and say you know something's wrong in the architecture we got to like think of some you know here otherwise you know um things are just not gonna work and it's interesting someone on facebook asked me and he's not a programmer he did he asked me well what's web 3.0 and um you know i was thinking all right well it's decentralization it's maybe internet money it's smart contracts you know on one level on another level it stops you know like uh you know using ipfs so you're not centralized it's decentralized and then i looked up the definition and it talked about semantic programmable web and i was thinking yeah you know monetization and all of that sort of stuff and then i started thinking about the architecture and i was thinking well ethereum actually and you know that sort of like definition of semantic web um never really panned out right i mean i could be wrong but i've not seen it but in thinking about ethereum and if it were done the way i was i'm thinking you could actually get to that cement semantic web um where basically the leaves on the uh on on the on the chain um and you could have lots of chains and i'm talking about millions of chairs yeah i think i think what i think um oh sorry james go ahead yeah uh i'm yeah so i was just gonna say it sounds like it's um yeah one way to go about it is try to go from first principles to kind of say okay what if it was before ethereum um but in a way i think reaching that sort of distributed consensus is kind of solved with the single threaded nature of what we have and then sharding is the way of then fixing the other things that you're mentioning um and i guess it might take a sort of okay where are we today what's working um and where can we you know what's the next thing to build to bring it to something better um but it is sometimes good to reflect on first principles and think how could it have been done differently so i've gotta head out guys i'm gonna post in one last link one last challenge try building something on ethereum that never touches ethereum think about it think about what could you do so uh think about this what if you wanted to build a voting system for all the people who held die or some other token right how about how about like a personal token voting system that just uses signatures and if a signature says they vote one way you can go look at their token balance and apply how big of a vote and you never touch ethereum you never spend any gas and you get a cool vote from all the token holders so i left the last little link hearts hearts hearts i gotta go do another talk gotta go scarf some food real quick see you guys happy thursday good luck at this hackathon scale ethereum see you austin wow what a legend just wanted to um in there as well um that i think i think we should just make the theme of the rest of this roll up solve everything and are the answer to everything um because like the first part of the question also in terms of like kind of very like different different options for kind of even like models of blockchain at all um like all of that stuff is is like kind of areas that can be explored with roll-ups um like um fuel for instance is doing a utxo based roll-up and and so for that one of the things they focused on is actually kind of being able to do a lot of stuff in parallel um and so yeah it's it's basically just kind of like roll-ups are basically kind of everything we ever wanted in terms of flexibility um in order to like explore kind of what's possible in a blockchain all while staying within uh the security of ethereum which is just pretty damn exciting i'm not saying that's uh a bad thing i'm just uh i mean but let's see as the price goes up right i mean you still have to at some point you know uh you know pay for the gas and all of that sort of stuff and yes you could say well the number of transactions processed on the layer two well you could increase that so that you decrease the cost but um i just think that uh and i think you know i think i saw lewin talk about that where he said it's kind of like a poc proof of concept and uh maybe you know it did a very good job as a first version you know and someone i'm not saying this is this is why there's an ethereum 2.0 no i don't understand but the thing is that is it really hey yeah benson um just just because we're running near the end of the session i want to make sure we uh chime in and we should stay at the topic of brainstorming what not um lucas you've been here for a long time it's your hand raised do you want to chime in uh yeah so no i just had a question i want to know uh how do you synchronize uh sorry my english this state in l1 l2 what are the problematic that you how do you synchronize the data um i guess there's different ways you could interpret that question um i guess okay so i guess maybe what's worth understanding is the idea of um of moving data from l1 into l2 and maybe a better way of saying it is sending a message from l1 l2 and then the inverse which is sending data from l2 to l1 uh both are again it's a bit new on sending data from l2 to l1 and sending state from l2 to l1 okay so um if you want to send money into l2 what you can do even is basically you can send the transaction to a contract that's sort of like uh some people called gateway some people called a bridge where transactions that are sent to that contract are read by the sequencer slash uh block producer that the roll-up operator and they will read those transactions in that specific contract and interpret them as layer 2 transactions okay so that's how transactions can get put into the l2 one that's a that's the general way one example use case of that is depositing heat right you can send eth into this contract the sequencer will be like oh this user wants to send ethan to the l2 and that's the active depositing okay the inverse is an l2 user says i want to i want to send this transaction and i want it to be relayed onto l1 so that that case you're sending a transaction to the sequencer the sequencer will take it and say oh this is actually a transaction that must be um that is relayable that is put onto a contract in l1 and then anybody probably the same user that sent the original transaction can basically poke that contract in l1 that after the batch has been submitted and the timeout has been uh elapsed and then that transaction can be re replayed or re relayed as a better word on on the l1 um so you can move transactions in and out of l2 and that's sort of like the key mechanism for actually executing transactions between the two and then the other nuance is that like the way rollups work basically is the operator submits the full transaction data on to the l1 uh just for the data availability purposes so anyway the question you asked is like how do you like synchronize the data between the two it's a bit it's a bit ambiguous and i kind of described message passing and just the act of putting data on chain i'm just is that a helpful answer or do you think um yes no no you need that thanks and also uh but uh things like uh uh unicorn version two you can't scale it like that uh you just swap you can't uh how you scale i think yeah so the way the way you're gonna swap i mean the way you swap were you you went you meant your swap right uh yes yeah okay yeah i mean basically the way it's just it's not clear the way unit swap would work um is that on the l2 itself that's where the uniswap contracts would live so if you just want to use unit swap they would deposit their assets into the l2 or initially have received them on the l2 somehow users have assets on the l2 and they interact with the contracts on the l2 the l2 is fully evm compatible whether it's arbitrary optimism um or whatever your role of implementation is such that contracts can be deployed users can interact with the functions on those contracts and those contracts can be the unisrop contracts now what does that mean those transactions on l1 the gas price would have been obviously quite high because you know everyone's here is familiar how expensive it is but in l2 what ends up happening is the sequencer is collecting all those transactions and submitting the call data for them onto a one so the users only need to pay for the cost of the sequencer to put the call data on l1 which ends up being it's difficult to give an exact number but basically 100x to 500x cheaper um it's rough range it depends on a lot of factors but yeah so actually how is it scaled it scales because way more users can now use it that's one element it's no longer bottlenecked on like needing to pay 50 bucks to trade 50 bucks and because the sequencer does not need to deal with achieving consensus with a large number of nodes it can achieve consensus on its own it can respond to the apis creates really really fast your confirmation time is negligible it's in the order of milliseconds so you click a button to go to uniswap you click trade you pay five cents and done instantly basically uh yes but uh if you are using the contract unit swap in level one then layer one that ureth is here you can't uh you double spend on l2 i don't understand this no so the transact so that you so double spending is a good point because now we have multiple chains the way that theorem typically handles that is the transaction itself will have a chain id parameter in the transaction so that way you can't replay it the chain id is different per chain so for example layer the ethereum main net i think is 10 or one actually forgot um and the you know the layer two will be some other number um it could be like 420 or something like that so that's that's how you do the replay protection but like the question you're asking is pretty fundamental where do the contracts live probably the answer is in the near term they'll be in both places there will be contracts for you to shop in layer one lw contracts and layer two however there'll be this huge incentive for users that want to trade a lot which is deposit your money into layer two because it's way cheaper to do it there and eventually people will realize you know what the hell's the point of using the layer one i was using layer two unless you are literally unless you're like a mega whale trading with other mega whales and it's just not worth it to deal with that maybe but i think you know over time people will just go to layer two okay thank thanks all right just to piggyback off that a little bit though like say that you're doing you're transacting on layer two and uniswap like unless your end goal is you know to participate and trade and you know do defy stuff like whatever else you're going to do with those tokens has to be on that layer as well right otherwise you have to like yes that's a great point yeah it's a great point like so you just recently um yeah so that that's a lot of people are thinking about um this problem like you mentioned like the assets are in one place right um if you have you might have fungible assets like let's say it's dye or your eth or any erc20 token in which case you know you can have ethernet l1 you can deposit to l2 and you can withdraw it again pretty quickly because someone might be willing to trade that withdrawal for your asset in which case it's pretty fluid moving it around if it's non-fungible then you're kind of stuck until the withdrawal period is done and this is one side effect of the point you brought up which is that these assets need to be in one place or the other if i am on the ethereum maintenance and i go to metamask and i see how i have like two eth those two eth i can't spend on layer two i need to put them into layer two okay so but somehow whether i click a button on a dap maybe a metamask will have a button built in who knows somehow i gotta deposit that to east into layer two so on main mask metamask when i go to the main net drop down it'll say two then i click the button deposit and it'll say zero i'm like okay where's the money i'll go to the drop down i'll go to you know optimistic ethereum or arbitrary mainnet whatever and it'll say two there so you are literally you're moving your money across chains yeah um the short term oh it's gonna have to like in the short term there's gonna be sort of like a lot of moving back and forth i think the expectation is in the long term more and more stuff gets deployed into roll-ups until essentially your average user is going to spend most of their time into roll-ups and so like a lot of kind of what we're looking at is sort of intermediate growing pains which is important because essentially if we can't sort of overcome those intermediate pains maybe we never get to like the full awesome roll up future but essentially kind of the future we're targeting though is one where like 95 percent of users probably never even leave um so kind of how to get there is the question but like kind of in in the end it will it'll be kind of there won't need to be that much moving back and forth yeah even some ux improvements around that like as you said that if you're you know you've just sent something from l1 to l2 and then you see your balance go to zero that probably doesn't feel too good but if you see it and then instead change oh your two is now here and maybe it says would you like to go follow your ether or whatever you know smoothing those uh points of friction could be interesting things to address absolutely and i would say like each one of those little points of friction themselves are end up being little mini projects you have to think about and if you're a hacker thinking again what to do like even just like trying to do anything on layer 2 now and like finding the pain points and just being just saying like i want to fix that pain point will be enormously valuable um there's a shortage of developers building out the all the things that we need to make the experience smooth like butter so if you want to be a contributor to that you'll be like amazingly praised and probably win a lot of prizes also um i see like four emoji hands i guess um uh joshua i don't know have you oh no yeah joshua do you want to ask yeah sure thanks for all the discussions man um i i i do want to quickly brainstorm around a lot of the b5 uh issues and one one thing that as a developer when i was working on it was the time value of money concept ethereum never had a concept of actual time it was in blocks and it's implied um i'm just curious you know from from from anyone in the discussion to this you know share them how they see time come in because d5 really depends in the real world depends a lot on interesting question i'm trying to figure out how to relate it specifically to scaling i'm not sure um yeah so that's your hair talk about scaling in particular i think we use a lot of um calls like cleaning an alarm clock and other hacks which don't depend time that but depend on state for example um only measuring time at the point of protection uh to then imply that accumulated interest or something like that um and i think like every d5 protocol would eventually uh you know need a standard which has to be you know off chain and provided constantly um so i'm just thinking is there any way people see this improving in the blockchain environment it's a good question like having kind of secure knowledge being able to securely operate on short time scales is a really really hard problem um it's a problem where kind of you know depending on how secure it needs to be can be solved you're never going to get sort of like even even ethereum kind of blocks come in irregularly um with proof of work that'll be improved to some degree with with proof of stake um time stamps are kind of somewhat accurate long term but essentially kind of in the really short term could be manipulated so essentially kind of doing doing things on really short time scales is difficult um with kind of with roll ups running with sequencers um you can kind of you can get sort of quicker blocks um but there and this is kind of a complicated can of worms but essentially you may not want to trust on really really short time scales or you might want to consider how much you trust on really short time scales that the timing information will be precise um so you know there's kind of more we can do with roll-ups but even there kind of when you want to come to consensus over sort of things that occur in a really tight interval of time it's it's it's definitely a tricky area yeah i think um maybe it's the same with arbitrary but you can rather than rely on the um aggregate or um the one that's about bringing transactions together you can submit it directly yourself i think as there's that part as well oh totally yeah yeah but the thing is that that is kind of more on like the ethereum level of kind of timing granularity so essentially yeah yeah my only point was like yeah [Music] what was also gonna add um for joshua is uh if there was some rather than uh say a small timing thing you needed but if it were in fact a sequence of individual transactions you needed you could do something like a batch set of transactions um and some and obviously you'd need a smart contract wallet that did that so if there was a feature that was required to say we need these sequence of different transactions to occur um having a yeah maybe a generic smart contract that does that again i'm just going to say bls signatures because you then submit one signature for a set of transactions that you want to do and then if your wallet isn't able to do that that could perhaps solve some of the problems around time a lot of times like kind of the general area is like difficult to solve but like particular cases of it can be solved really nicely so it's the sort of thing i think that like the details matter or not essentially kind of exactly what you need to be able to do um since the general problem is so hard but a lot of kind of specific versions of it are totally doable um james your hand is up oh um i think veron and alex were before me my question was sort of answering i do have another question but uh okay um alex uh yeah sure uh so have a rather broad idea it's maybe like it may give some brain food for someone on the call to develop further but in general daos also known as decentralized autonomous organizations they i believe they have a hard time living on ethereum right right now because first of all of gas fees to participate in the governance and in general ethereum gives you like word like ux that is fourth then can be achieved on l2 i believe so if somebody wants to work on like a nice app with a cool user experience on altitude that can be a big thing to to to do i would um i would say a very specific thing um aragon uh the the project um recently it's had a bit of like ironically governance issues but it's an extremely high quality project um that is all open source and uh has a lot of projects using it as a it's a project it's a framework for running a dao basically with a bunch of french ui elements really great contracts excellent project excellent quality it's never really um it's been difficult these days for someone to use it because again the gas fees are super high on the same topic of what i mentioned earlier like taking this existing project putting in l2 i think eragon is a phenomenal candidate for that um because it's again it's all open source phenomenal quality requires lots of transactions but to run well and you can get it up and running pretty fast yeah that's true yeah i agree absolutely and a great example of kind of where just taking something from layer one and deploying it to layer two is you know an awesome powerful project yeah uh for for roone what's your question nope hello hey uh so the question that i had what exactly does this hacks on me has like can can we build like uh tabs or does it have to be specifically like i already has a question on the chat but i wanted some uh clarity on that sort of layer because um you didn't mention that we could sort of like uh take a dab which uh like a d5 application which is quite popular on the layer one and then uh ported to yep yeah you can do okay so okay yeah so i i'm also um a co-founder of globals i'll put my global hat um basically the way that youth global works is we want to make sure anyone can do whatever they want like when i'm not gonna say hey you gotta build this thing on optimism or else you know like it's not a it's not meant to be something prescriptive really the goal here is learn um meet new people have fun and build what you want now that being said there are sponsors and there's folks that are here to help kind of persuade you of what's awesome and interesting to work on um and the theme of the hackathon is around scaling which means the types of people around are going to be really smart people around scaling um and there's prizes around scaling so if you're interested in using the hackathon as an opportunity to like get into a network or to build something really valuable on the topic of scaling or to perhaps win some money around scaling or perhaps get a job in the industry of scaling which is scaling right now then i recommend doing something related to scaling that being said if you want to do something else go for it like the goal here is to become a part of a community and learn and make friends and have fun um like interestingly like i noticed the i think the ceo of block stacks in here if you want to work on block stack you can do that um but like it's not it's not part of the price set right now so i would do what makes you most inspired and motivated um but you'll win prizes if you do stuff really at the scaling oh right uh one more thing that i just wanted to clarify is that like a lot of the uh sponsors and the prizes they specify that uh like the application should be on their chain or uh something of that stuff does that mean that it has to be something specific to scaling or could it be just a dab that runs on the chain well the way the sponsors offer the price is totally up to the sponsor i would clarify that in the discord there's a discord like sponsor hyphen name of company um i would just like ask exactly what you just said for the specific prize um yeah thanks also uh is there any good starting place uh for a beginner to learn about like different scaling uh solutions and like getting more deeper into it um is there a great starting place i would say that um possible resources yeah there's a lot of national breakdown of different things yeah yeah i posted the notion of the brainstorming that's kind of useful for this particular discussion um okay so here's maybe what you might want to do on friday the tomorrow to kick off there's a summit right and part of the summit folks from various scaling projects are going to be giving the comprehensive introductions and they'll be just more of this sort of discussion i would make sure to tune in to that that's one um two is i would recommend to anybody really to go to ethereum.
org on ethereum.org they have great sub pages around sharding around layer two around all sorts of stuff that links out to all sorts of resources so if you really just wanna like get to know what's going on um across the whole space i would do that um and yeah that's another final like really great one that linked out to all the stuff that james just linked and then zoom also um there's lots and lots and lots of links there just to get started um yeah fully recognized scaling in particular is a broad broad topic um but really like for folks that are motivated there's an enormous number of problems to work on and lots of people motivated to help you out with them thanks a lot cool uh james yeah um so this is kind of a bit of a two-parter one is like is it winner takes all when it comes to l2 and if not is there a focus on like you know people talk a lot about l1 to l2 bridges but what about like from side chain to side chain like you know say i want to go on l2 and unit swap and like you know i want to trade my ether for usd because i want to stick that in a yield farm that i really like the look of on some other side chain like do you kind of have to pick your ecosystem or is there also sort of between layers is that a thing being talked about yeah i'll let harry answer this one yeah well so first so basically all the tech that's being built for kind of interoperability between like roll ups and ethereum is also kind of rel is also basically going to be useful for interoperability between roll-ups which is really really cool so essentially like you know that's that's you know 100 sort of the like the work done on any of these sort of interoperability problems is really nicely applicable to all of them um i'll say you know i definitely you know think that there's a future i think i definitely think that the future involves multiple roll-up chains even kind of at a fundamental level um even if you know for example there was only sort of like one zk roll up that was like the only type or one optimistic roll-up that was the only type you'd probably want to have multiple of them because you want to have them running in parallel um because you want to have sharding um so i i can't imagine kind of any world where each two launches and there's only really a single roll-up chain um because it would be really really hard to run a node for it um and so i think that kind of you know how the ecosystem developed is something that like you know everybody here at this hackathon is gonna you know play a part in because everyone's just figuring it out right now um we're very much on the cutting edge um and so i think you know interoperability is gonna be a big part of it which is why you know i know for arbor trim we have kind of um a prize that's centered around um interoperability i i'm pretty sure liam that that optimism has some something focused there probably not sure um i know a bunch of the sponsors are definitely going to have you know some seriousness there just because like it's such a kind of important area um and you know it you know i think that what's gonna happen is basically over time it's gonna become more and more seamless what chain you're operating on um and there's kind of a lot of work going on to that effect already and i think that's going to continue yeah regarding bringing state between them so that that'll um definitely get interesting if that's made seamless so if you want to do something on on optimism but then you realize there's something else on arbitrary that you need to use you can go there do that and then bring it back uh having that low cost and fast and still verifiable and correct would be yeah quite interesting to see yeah and i know um i think at some point um there's there's um i'm pretty sure um connext is uh gonna be in a number of uh of events here and they and i think they're probably i think they're probably the farthest along right now kind of like designing for example workflows where sort of adapt on one a user is kind of interacting with a dapp on one chain and adapt on another chain in kind of interesting ways um yeah yeah i think the number one is hot protocol um i know that some products you kind of build their own custom things um yeah it's i think that i think the space of cross chain interrupt just basically roll up interrupt ability is is underexplored there's like there's like new channels or like there's like this there's simple market making contracts to deal with fast withdrawals but there's not like people i don't think people have really fully explored what's possible yet thanks very much guys appreciate it absolutely uh jc your hand is up yeah hi um i just wanted to say that is this just focus on one solution alone or just we can do like zapper with ovm optimism um yeah you can do that go nuts yeah put put all things together this would be a there should be a best like um lego blocks hack like just go nuts honestly like i mean don't don't don't go nuts for no reason but if you find a way to get multiple things worked together then please um try it out we didn't end up doing it but we almost did a like kind of joke prize of most players yeah oh man yeah i heard some uh lame yeah sorry my bad i was just saying like um recently someone at consensus was saying like layer two is roll ups there three is um direct state channels between two people layer four is virtual channels um and it was just really ironic because like the company uh was working at was called l4 for the past little while so now we're coming full circle uh l4 is the next major scaling revolution um like anyway sorry i'm standing a bit more about some of the technical pieces of cross-chain interoperability that could be hacked um yeah there's quite a few actually harry do you want to tackle that one and i'm actually going to spirit back for like a minute yeah totally um so i think kind of the the very first thing that kind of people are already focused on and this is kind of where i think um connects and and hop and i know seller also have been kind of putting a lot of focus is sort of interoperability of fungible tokens um so you have like an eth token on one chain and an ethiopian in another chain or you know dye or usdc or what have you and and you want to be able to sort of migrate your tokens over um these these are different tokens that all represent the same asset but they're on different blockchains um and so kind of a variety of ways of basically kind of making the experience as seamless as possible of kind of having the token on one side and then moving the token to the other side um is kind of like where people are starting uh but it only gets crazier from there so kind of one one sort of like natural extension to that question is let's say you have kind of tokens and some smart contracts on on one chain and you want to have that smart contract itself interact with a smart contract on another chain and maybe kind of the contracts both hold fungible assets um and they want to interact in some way um so i think that kind of like the table stakes basically for sort of interoperability is being able to kind of do nice things with fungible tokens in order to kind of make the user experience nice uh but that like the the frontier is going to be basically kind of taking taking the core ideas from that and applying it to kind of more more complicated situations where it's not just sort of an end user who owns die on one chain who wants to also own it on another chain where kind of contracts and multisigs and and kind of dexes and stuff like that's involved yeah i would recommend checking next i put the link there website in the zoom also um they talk about this a bit that's super helpful absolutely cool um yeah i guess we've been going for a little while now thanks everyone for sticking around thanks uh harry james also for all of your time um is there any last thing like maybe we could end with like one idea that we each of us three maybe like specifically one specific idea keyword think about it for a second um james do you want to go sorry i partly broke up so one idea that we've got for the hackathon if you were hacking what would you build oh probably what i'm working on but um but basically the interesting application of i should say the the thing i'm working on is maybe the lower level tooling but maybe an application of that so i had a list somewhere i can find it um basically ways you can um yeah when you batch multiple transactions what advantages do you get in different circumstances um and i'd probably try explore uh yeah around that like to say if i needed to do an airdrop how could i do that all in one transaction um with one single signature and a bunch of data that would be kind of you know one application that uses you know what i'm making now airdrops and other things i could say i want to do a sequence of transactions just from my wallet to a bunch of other contracts i could prepare that and then send it as one so the tooling around that on the on the client side uh getting that nice and smooth for for specific use cases so you might just have a tab for air drops a tab for change transactions and so on so let's just say that a client side a smooth client side to do multiple transactions um having to jump in next yeah i think i think for me it's probably i don't know especially like after this after kind of talking through this and i think kind of the area i'm most excited about people working on is is interoperability there there are all sorts of like really hard problems at like helping people kind of understand what does it mean like the like the example that uh the leader gave like you have to eat on ethereum and then you deposit it and do a roll-up and then it disappears and then you have to like switch over to this other network and then like suddenly you see if they are like how does that that sounds pretty scary um you know and that's you know that's that's that that's optimism that's arbitrary that's you know any any any scaling solution these days um because kind of all of this all of this infrastructure was designed with kind of the idea in mind basically of like users were going to be on a single chain um and so kind of really kind of exploring and expanding how we kind of conceive of multiple chains and that's a little big but you know i i think it's an area that needs a lot of thought and there's a lot of area to run with that and build awesome stuff yeah totally um yeah yeah i totally agree that i think yeah i might i might normally have answered something around that but since you put that answer like i think maybe what i would do is i would probably like find something that i really want to play around with that's like a like sorry i think a protocol level change i'd really want to play around with like eip1559 and like deploy a rollup on testnet or a maintenance that actually implements that thing and then try and get a bunch of people in the community to actually use it and like let's just like get legitimate data on how that performs in it for real as opposed to like in theory um i think that would be a cool thing to do and you could like launch it it would be you'd have a landing page for like deploying into like the experimental ethereum you could even have a cool name like experimental ethereum and like get people to add it to their metamask it'd just be a fun thing to do um yeah yeah creating like an actual product people can play around with that uses the scaling stuff i think would be a great end result um cool um uh this is just one final question i'll just answer quickly does ovm opposition obama have a bridge um yes there is a bridge individual adapts have their own bridges i think same will be true for arbitrarium and then optimism will also offer a bridge um there it is there is a bridge now but the link is not public um we will uh for maine knit but we'll we're gonna put up one in the hackathon for test net uh probably tomorrow but anyway thank you everyone this has been super fun um and uh yeah i hope you have a great rest of your whatever times and you're in morning afternoon evening all right take care everyone thanks everyone hey thanks everyone thanks everybody
Automatic transcript — names and jargon may be misspelled.