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

Loading player…

Avail Workshop - ETHGlobal San Francisco 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Join us for an Avail workshop with Naruto 11 from Avail. DA layers are hard sometimes. In this workshop, we will understand how DA layers can be integrated with any rollup stacks and how you can build on top of AvailD. We will go over bounties, some tips and tricks to hack and some codebase as well! This workshop took place at ETHGlobal San Francisco, a 3-day hackathon held from October 18 to 20, 2024, which brought together web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com

Transcript

[Music] okay I think uh we have one person and I'm really glad for you guys to be here um I go with Naruto as my uh and a name it's just an anime that I loved um but today we're going to be talking about ail 101 what ail is and what you're basically building uh or what can what you can hit on bounties so what to expect during this Workshop we're going to go through a um Trinity a DA Nexus Fusion there are three different products and then from there we're also going to you know deep dive into the architecture of a veil and then some examples of what you can build with so first of all what is a Deal air you know so everyone keeps on asking what's a DL a um what they can do with it uh generally ethereum or any monolithic chain uh they're divided into four layers uh with different tasks so you have execution settlement con sensors and da which is the data availability da is basically where a nodes can look at the data and it's contained with all the blogs propagated through P2P Network the basic basic idea is that you want the data to be available all times um and then people can link through the notes and look what there is right so nothing um very super you know complex a data data availity layer is basically where you post all the data and then you make sure that data is is available at all times big picture so ethereum has so many rollups it's a l L2 landscape and at this point um there are more than I think 100 rollups coming in and that's what we want to do because of all these things you want to have these D layers where you where these rollups can post data because DK shotting or like you know the 4844 is way too ahead uh full full uh DK shotting 4844 is right there um what da Solutions do is that a da a da is powered by you know eraser coding kg will go through all of these things what they really mean how you can actually do stuff with these um and then what is the you know uh fragmentation of liquidity in ux that you keep on seeing with l2s I'll go with all the details but this is the basic big picture on what we're trying to achieve here um we have a d layer and then from there we have ail Nexus which is what unifies the L2 or web 3 ecosystem and then we have ail Fusion for macroeconomic security aail unification layer so these are three products ail da aail Nexus and a fusion what is a da a da is basically a very uh powerful validity proof basda um what it basically means is that you have blob space that can help scale through the light clients and then da Das or data availability sampling um there's an easy verifiability through kcg commitments we'll also go through kcg what they are and when they you know came out to be that was 2010 um but avda is on Main net now so we went main net three three months back and there's also a test net that you can play with then there is a Nexus so NEX Nexus is uh pretty interesting it's a permissionless verification Hub um what basically it means is that it's a think of a ZK coordination rollup where you have to do a lot of cross transactions but you have us you're trying to curve the un uh you're trying to curve the fragmentation that happens through liquidity so it uses proof aggregation proof aggregation is basically you generate multiple proofs proofs for different rollups so as you can see in the diagram you have like let's say roll up 1 2 3 um 999 whatever right and all of these basically generate a proof and then this proof is uh aggregated and all these proofs one um get submitted by one single proof so there's a lot of proofs happening and then a single aggregated proof is what generates it um and then we use AA da um data Li clear as a root of trust for everything here it also has a sequenc of selection so all the transaction sequencing and inclusion is coordinated via the decentralized sequencer so that's a different mechanism and we're working on that we're targeting end of 2024 for this um but right now we are going to focus on aalda because that's where your bounties lie and then finally ail fusion um it's a shared security layer um as I previously mentioned that we also want to look into cryptoeconomic security of the ecosystem so because of that we are building a fusion um big thing about this is that it can also take multi- assets from different ecosystems like Bitcoin e um for the additional security so that's what it does and it contributes the contributes to the consensus mechanism overall I'll skip this and then a okay so as you can see a is a modular base layer what it does is that it gives you the uh block space to the modular chains um you can think of it as a sequencing packaging and Publishing data and then it can segregate text uh transaction data or like for any rollup right so a DA will have a lot of like validator set and it uses something called nominated proof of stake for the consensus mechanic where we'll go forward later on for this um and then finally like each rollup it can be built on a da um for any kind of like custom things as well um so you can have app specific State machines you can change multiple things in your rollup that you Deploy on arbitrum stack op stack or Zing chains any questions so far good okay so a DA light clients leverages kzg commitment what kcg commitments basically mean um I'm going to just go forward for a second but kcg commitments are something that commits to the values of like you know um anything in a suent manner you generate very small proofs which makes it easier for light clients to verify the availability so think of this way you have nodes um you have a different validator network of nodes and then you have a light client these light clients are very much uh capable of instead of like just download the whole node they uh they can verify it without you know uh downloading the whole node or like whatever there is um so the idea very small idea is that there's a valid proof it can be generated you know computationally efficient to prove and verify the data is actually available and live so that this means that you don't as a as a Dev or as a user you don't need to like download the whole block space that was probably there um since like you know 3 months a year or two years long you can just verify through the light clients um going back we also use erasor coding and data will sampling so this allows you know as I said previously it allows the verification without downloading the whole block data so there's a multiple things that happens in the back um and then this is the whole thing that allows for you to build anything on top of a DA because you have um williums l3s optimums you can use anything to build these things um and at the same time there can be shared security because we have a whe fusion and then applications you know they do not need to uh have their own validator set there's uh validator set that we have so um in in very general terms you have kg commitments you have Erasure coding and then you have data will dis sampling I went through the kg commitments what Erasure coding is is that it's basically a method for protecting your data um and then it has been used for CDs to protect the data and what it generally does it that it adds the redund redundancy to the data and separate them into the chunks as you can see in this whole diagram that you have a data and then it gets you know um divided into multiple chunks and then finally you have data avity sampling Das is a very big thing that has been used by multiple projects and what it does is that it leverages light clients valid proof and erasor coding to randomly sample data from aail blockchain and the bigger thing is that you can get 8 to 30 samples um for the you know the random checking or the guarantees of the data okay uh this is the architecture it doesn't have uh just for theoretical knowledge it won't be for the bounties but you it's a good thing to know that how it generally happens is that you have an original data you have an extended data uh that is generated with the rasure coding and it generates a a wheel header or a block and that's the kg commitments now this kg commitments is later on constructed as a block you have a block which has a header and then data plus the extended data that came from before eraser coding and now this block is propagated in the network of the nodes or validators so every validator is going to you know uh decode it reconstruct reconstruct and verify and then finally um it can reach consensus on the Block so this is a very Bas layer architecture of how the AIL actually works um ail D actually works and then okay Bas L stack um as I said like there's also something that we very much focus on it's consensus babe plus grandpa so you have data availability and what babe is is it's a prod it's a block production engine um optimized for liveness at the same time we also have Grandpa this is another consensus algorithm which is a finality Gadget the reason why we have B plus grandpa is because we wanted to find a balance between uh data availability and uh we wanted to find a balance between the liveness and we wanted to have something for finality as well so finality not on the blocks but it's on the chain and then you can also have like different kinds of uh there are other consens algorithms as well like tenderman but we chose specifically for bab and Grandpa because of the um a good balance between liveness and finality um this is also not related too much for the hackathon but it's a good thing to know that you have a nominated proof of stake generally there's also something called delegated proof of stake um we chose this mechanism because uh it is more decentralized and um this allows for the for the whole chain to not be halted if someone has a large stake um in the pool and they get a large reward so because of this we chose something called nominated proof of stake um as you can see nominators can choose um not a single validator but provides a rank choice of validators so there's a fair elections of active validators set based on you know a different kind of election um we support up 2,000 validators in the active set um right now it's probably close to 100 but we can scale it up 2,000 that's the big thing about the um a TA and the nominated proof of stake light Cent networks so this is one of uh the powerful tool that we have in wda what basically light client work is it's an overlay P2P Network on top of the base layer um what it does is that it samples the data from P2P um and then you do not need to download the whole node as I previously said it just randomly takes in uh for verification [Music] purposes um okay what's the whe ecosystem that will be built on on a wheel so you can build anything that it's Sovereign rollups validium uh optimistic chain we call it optimums at this point you can also do app specific chains um and then general purpose Chains It's a joke that you can do L4 l5s but generally l3s are the ones uh that are coming up too much lately um so yeah you can build validium with ZK sync you have arbitrum arbitrum stack you have optim optim op stack um and then you can build Sovereign rollups as well okay so this is just a general diagram of you know like how the validum and optimistic change work um there's an L2 alium you see an ethereum and then data is being posted to aail and then there's an ail attestation bridge and then that's posted to ethereum for L3 volums it's a little bit different you L L3 valum basically settle on L2 rollups um and they post the data to aail and then aail basically s to a a testation bridge and then it goes to L2 rollups we want to skip the Sovereign rollup just for the sake because we are low on time I want to I want to show you some ideas on what you can do with the AIL Explorer what you can build on it um first we want to go through the bounties so bounties are basically you have a custom app chain um you can build a custom app chain using any ruup SDK so this means that you have arbitrum orbit you have op stack you have polygon cdk you have ZK in stack so you can use any of them uh integrate the AA and once the a is integrated you can uh build anything there's also stacker SDK which is very powerful it's a micro rollup SDK where you launch micro rollups write your code in JavaScript and you can build certain games you can work on some def5 projects you can make an nft project sorry um and then you have move VM plent uh we're not going to go too much into those but like polygon City kzn um arbitrum orbit or op stack works really fine building with a wheel um this is a $3,000 pool prise here you can use anything To Go creative you can use RIS zero or sp1 to build some custom application on a zvm um and then rero comes again um you can also do custom rollups using avda you can make liquid staking for ail there already out there some and then you can do a P2P address book which is basically utilizing the a light clients another bount is best code tooling project this is basically something that can work on the ecosystem or the tooling for a this means that you have an efficiency calculator you can build some kind of multi-chain or app chain explorers for example um something which will work with different kind of ecosystems or different chains um developer developer toolkits dashboards and then ZK Bridge autoc claim functionality so anything that um that works for the AIL ecosystem and develop Tool uh tooling you can build something and you can you know hit this bounty final thing uh final Bounty for $1,000 is testing uh documentation this is specifically for E SF Builders we wanted to give a chance for the builders or the devs to run our stack and see what they can build or what are the errors there um and then give us a feedback in an MD file or a GI up if you're hitting on another Project's Bounty you can also include um that MD file just name it a whale docs feedback and then add it onto the the project and submit it so there are multiple different documentation which I'll go through right now but you have orbit op ZK sync or you have a GS SDK uh go or rust and then you can go through those any critical value um add feedback on the docs that's also needed so anything you can hit any of these you don't have to hit all of these but just one or two okay that was a quick quick um you know idea on what ail da is what I'm going to do now is I'm going to show you how the Explorer works okay so this is explorer. aail and then accounts here I have a Dev Wallet account I have a Dev wallet to just uh simple names but what basically you're doing is you're submitting data to the DA how you submit a data to Da this is a UI but you can do it through the codebase as well but I'm just going to show you how you can do it through the UI you go on the developers you go on extern six and then now here you see uh they're using my Dev wallet too it's on the sub wallet so that's the uh that is the wallet that Avail uses you can also use other wallets as well but just make sure that you're not using any evm wallet because aail is not an evm chain it's a substrate chain um so substrate chain generally starts with a number five rather than 0x other the wallet addresses on the substrate chain sorry um so now we're going to see how you can utilize you know some kind of data availability here so if you see there are multiple different things that you can look at um we select data availability there's a create application key we'll go through what an application key is but generally you just do a submit data and we can type anything here so we'll just type hi e SF Builders and then you can just submit the transaction um as you see there's an app ID so this app ID can be anything but it's basically something specifically for you you can use zero as well but if you but if you have your own app ID let's say two or three or seven um every person can generate their own app ID and every data that is you know posted there goes on it and you can index it all your data through just that you don't have to like take all the block space uh or index all the block space that was submitted before and now all you do is sign and submit oh one sec okay so I submitted it here and it should go and hit somewhere here we have this open maybe the internet is too bad okay so the data got submitted you get a notification like that and after a small second or so it gets into the recent event this is basically a network Explorer here so now you can see that this was the dev wallet 2 from sub wallet and then it got posted over here um I can look into more things like what it is or what it does um I can look into the balance that was withdrawn the data that was submitted through uh on this data hash and then I can look for let's say extrinsic success so basically I can play around multiple things here but this is what the Explorer looks like if you want to check some other Explorer you also have a touring which is [Music] which is a Subs scan so it's a second Explorer similar to you know the previous one but it's a little bit you know looks nicer or the UI is there um so you can do multiple things over here now I want to show you the example that we had so this is ail GitHub repo um you see there's an ail ail GS and an examples and then we have node examples over here so I'll just show [Music] you for the AAL examp you have like typescript examples we also have it in go we also have in Rust um all you need to do is install the TS node and we also have this ail GS SDK which is a rapper of polka. SDK so now um just a general thing that we recently did over here we submitted a data from the data avity option so how you do it is you can look into this code here and here so this file is the basically the code base of how you submit a data um as you can see here it takes an API over here it takes an a app ID so you can choose zero or you can choose your own and then it takes for the options and the account so whatever the account you feed into it um you need to provide an nimonic the only reason why we're not doing it because it will just show my uh seed address uh sorry my seat phrase and then this line is probably one of the most important lines um or you know these multiple lines is that it calls in the API and then calls the data availability and then do submit data this is what we were doing on the UI side from the UI side then you sign and send and everything happens on how we perform this certain action so this action in the code base looks like this and probably this transaction call is one of the most important one you can use anything to post as I say like change the hello world to something that has meaning to you and that's how you are posting data to the aalda you can do multiple things as well for example here you want to create an application ID so you can create any kind of ID let's in 89 I can do the same thing through the codebase um application create application ID so this is the codebase where you actually create the application ID here um and and it does api. txw create application so it's basically calling the function and it's very easy to you know just write these lines uh you want to make sure that there's some kind of like you know error handling here and then here so your code base is just working fine so these are the examples that we have you can look here for any kind of typescript file that you want to look at so there's a connect estimating the transaction fee how much it costs and then there's a text uh transaction balance uh our transaction balance transfer so these simple um let me just show you the transaction balance [Music] here so here you're looking for the old balance that you had and this is the transaction call which is what takes the sign uh what takes the transaction from your wallet and sends it to different wallet so the line from 30 to 39 is what you know does the whole thing and these are the examples that you can hit to understand what's going on with the different you can just test it out and then finally I want to just go quickly on how you can deploy arbitrum orbit with the a da um you can deploy multiple things in in our documentation we have for the op stack we have for arbitrum and for valum we have zkm for polygon and then ZK sync or Madara but you can choose any one of them and how it generally happens and because of the bad internet I would just want to go through this line of codes you just have a Docker here uh once the docker is done you want to get clone the Avil project Nitro contracts and you want to build it at the end you want to have a EnV file change those EnV files and then copy paste this config for everything um there's a good explanation of what chain ID is what the challenge period is what is a stake token or base stake or owner and then once you deploy it all you need to do is Yan build Forge and then on run deploy e rollup this will you know just deploy the rollup and you'll see something like done here so this is a very you know spinning up your own arbitrum op uh sorry arbitrum chain uh um with avdm let's see once this is done and for people who are very much familiar with the aail sorry with the go or rust we also have examples over here so you can go at aail go and you can look at at different one second examples directory so you can look at the avilo SDK you basically need to you know go through these things you need to set up your speed um seed phrase you need to go for your API and you need to Define your AP uh app ID and then there's similar thing for the uh for the for the rest as well so these are the basic things um we have 5 minutes left anyone has any questions so far no questions okay so again what you can build with a I'll just explain you a few more things so that everyone knows for the bounties because there are a few new people bounties that you can make arbitrum orbit or op stack polygon cdk ZK syn um stacker SDK you can use any of these to to integrate a DA and launch your own app chain building with ail so this is basically using RIS zero sp1 or building some kind of liquid staking or doing a P2P address book and then bounties for best code tooling this is something that um builds a developer Focus tool which our developers can use it or people on the AIL ecosystem they can use it this include dashboards this include multi-chain explorers this includes like cost calculators or efficient calculators or visualizers and then finally the documentation if people over here want to test out the documentation you can test out for orbit op just create a MD file and then have some of these you know put into your guub repo and then also some screenshots of that it was finally running what kind of feedback you give that also helps us a lot some code was not running some um thing was broken some links were broken any kind of these things these are the major things that you can hit for the bounties okay got the picture okay any questions so [Music] far okay no questions thanks a lot um hopefully I can I could explain you if you have any more questions you can come to the booth I'll be there for until 1:00 a.m.

or something [Music]

Automatic transcript — names and jargon may be misspelled.