PeerDAS Breakout #2

PeerDAS Breakout · 25 Jun 2024 · 50:50

PeerDAS Breakout #2, held on 25 June 2024. PeerDAS, or peer data availability sampling under EIP-7594, lets nodes check that blob data is available without downloading all of it. These breakout calls cover specs, client work and testing.

Speakers

Topics

From PeerDAS Breakout, hosted by Ethereum Foundation.

Transcript

e hello

e e everyone it's Ken and

UTC too harsh for many people can you hear hello yeah it's good here hello George yeah so I posted the agenda and meeting notes in the chat uh so I only addit some spec items um so I think today we have bab buas here and we can probably talk about the definite status

firstly um do you think banabas um I think we can only start talking about DEET status once we uh have client releases some much ready I see and uh we were saying that uh client releases should be doing Alpha 3 release I'm not sure if anyone or if all of them are ready to go does any client things wants to share your um new release updates for the P Death part so is this an official release

or the alpha three yeah or like I I just need a branch I don't need a official release I just need a working Branch I think for prism it is already working oh okay all right cool we could also just launch a d without all the clients included if that's what we want so is it time to for CES to make a comit about like when will the P

Branch be ready um B which kind um software that you you don't are not available for you now for the defate uh loar loar Nimbus and grandine was not ready last I checked I see um anyone's in this Co want to share the updates I I can share the update for prism since uh last two weeks um

yeah we worked a little bit on Rec construction right now when nod receive 50% of the colum he the nod rep immediately all the Matrix but waits for 3 seconds into the slots before uh sending back the colums the node should have should have received but colums the no did not actually received before we were receding all the colums immediately now we we wait for 3 second into the slots it is about for construction uh and we we did we made some some progress on sampling as well

uh before about sampling we we were just iterating over peers until um a peer [Music] um give us a colon we need which is uh to quote famous researcher like if we TOS a coin until we like the result and we implemented last week ly d/ incremental D for that we use the actually the function get extended sub count which is not yet not yet not yet merged but which seems to work quite well and so yes we we implemented lo/ incremental D um and what we have to do

yet is to sample nod to sample spear in parallel right now we sample spear the one by one and especially if we once we once we meet the super no basically we sample all the column from this super node which is not the good way to do but we are working on Parallel samplings um yep it is a update for prism for the last two weeks thank you anyone else um I can give an update um on ligh house um this is jmy um yeah I got the

team right this time um so on the lighthouse side um we have implemented the latest um spec um so including a passing test for the spec 1.5.0 Alpha 3 um we've updated the um cust the subnet count enr key and format to match a later spec um so I think we are we probably um DEET one ready uh except for syncing um we're currently looking into a range sync issue um hopefully we have that fixed before we launch devet one and we've also made some improvement to reconstruction we've made U just a bit of improvement on making it like

non-blocking so we can continue to process um other gossip data columns coming in while we perform Rec construction um so that's um that's um work in progress currently we're doing a bit of testing on that um yeah so I think with DEET one ready um the branch is the same Branch F of us um we're still um working off the Das Branch same Branch I can link it later as well um and I've been running a local DEET for about four days now and it's and it's uh um for four note and still um seems to be working okay um just continue with testing a bit as well um also we've uh we've got Kev um like

building a um here kg um Library um integration for us um so he's got it integrated into Lighthouse um so um we probably going to try to test it out um so just just as a um as a fullback um from um ckg um we can do a bit of testing um on the new Russ P kg library and see how it goes um and then we also plan to work on checkpoints Sy um in the near future um what else I think VI sometime we'll probably try to do a bit of experiment on um um fetching Bluff from the e um mle so we could help with reconstruction

um from the supernes um Michael my team's been doing a bit of experiment on that um hopefully we can p that over to P soon um yeah I think that's all from Lighthouse I pass on to the next team thank you any other C updates today I could do a quick update for Te uh we have updated to be compatible with Alpha 3 spec and we reok do sampler now because it had some issues this implementation uh will match uh soon in

a few days I hope that's all the branch is still correct yeah yeah the branch is the same Yeah okay or any other uh client update and P Des no okay then we can move

to the SP discussion or is there any other um questions issues of the definite one looks like Grand just joined in maybe they have a status update yeah hi guys sorry for late joining late so uh we still have some some issues not solved and my question is how ready are the other clients right now probably it was disclosed early in the call maybe somebody could do a very short summary

pris liouse te is ready okay so three clients already right yeah okay okay okay so so I think and do you have a date in mind foret one uh I mean we can launch without all clients being ready and then clients that are not ready can join in later so that's not yeah but but but was it discussed the potential date for launching with based on the feedback now I think we can even launch it today or tomorrow okay okay for me it's okay if if it will be decided to launch only

with three clients and the rest will join that's we support that idea oh any other questions about Def One okay then let's move to the St

discussion uh so than the most interesting discussion that is related to the p is the block oh sorry blob Max limit um how to pass that number to e uh we talked last time so I guess since it will be a um it will also be a an e update so we will also talk about it on the Su go um but so far um there are two open PRS in the space one is uh one 3800 that Alex stocks uh proposed which is it passed the max

block per block perameter to Y and the second one is D propose yesterday this one will will calculate the best free per blood gas in this uh C side and then pass that number to the E now I don't know if people have the chance had the chance to review it or not I have seen both the PRS and uh I would

basically favor uh passing Max blob gas limit uh and sort of then having Target half of it and he doing the rest of the computation uh so basically this is this is like the first solution and uh for the second solution I inan CL Computing and passing blob yes I am basically less inclined to it that is my opinion on the matter So what had a com that we have to

do math with you to 56 I'm not that's problem sorry the line could that we would have to do math with uh u in 256 and I don't I don't think consensus clients have that do they uh currently not it's nowhere in

the spec that we have to handle even to 56 me anyway this uh particular PR should be orthogonal to p and uh I mean I idly would basically favor any of the two solutions to go in Petra uh so that PS uh can use it so PS basically

uh is Al going on to it right so uh but yes the activation can of increase of the blobs can happen according to the plan that we can bake in pasas but uh idly this PR should go in pectra any reason this should be in pectra and not together with the fork in your death uh it's it's not possible to be in the fork with P do because it's technically a consensus change so it has to happen in Petra yeah first PS is not a fork and then I think it's better that it should go just with pectra so that whatever is

the block roll out limit even without PS it can be independently rolled out or again paired with PS PS is just totally orthagonal feature with respect to this particular PR makes sense so which solution is actually preferred by the Cent teams I I think one is better cuz you

wouldn't have to do the blob guas arithmetic in the CL we could leave it to the El as it is right now I would also favor run uh line what what do you think which solution do you like on chain boarding by validators that actually can happen in

solution one for example if there is an El contract like for example we have for uh 7702 where the gas fee Etc is sort of decided by the contract because I mean there is this particular formula but if there is an e contract where you know you send the transactions to uh for the blob and uh that can decide the block gas uh whatever the transaction has to pay so whatever is the logic whether it's a limit raised by some onchain voting or by some upgradation of the contract I mean that would be particularly nice and would sort of be

consent is uh hard fot free any other feedback all right so um can put it on the Thursday's Coast agenda as well to have

a deeper discussion and meanwhile please take a look on the at the pr and maybe add some comments Emoji s know like your favor of solutions here okay um so the next thing that I like to check is uh a PR um sorry iing the link so it's this P

byar so I added some test and so far the correctness looks good to me and I wonder if people in favor of merging it or is there any issue with this PR yeah just for information prism already implemented this uh this uh get extending s cons uh function and yeah it works well for us would you use it in your I mean defate one

yeah it is currently in the P branch and we use it for incremental d/ loid any other feedback oh no issue I plan to merch it before Thursday thank you um any other spec

discussion any SPC that issues that we want to discuss today for the cryptography part as well I also have another PR which is the I think it's the 92 let me see um no 94 which is this one yep thanks uh um so that's about the Reconstruction and cross seeding uh so that goes into the direction that uh was mentioned at the very beginning of the

call um I was adding things on on delaying the construction and on on seating based on the construction um but obviously I think it can use some some input based on experiences what can be recommended there uh what should be left to implementation to the point that it's not even part of the of the spec uh but please please check thank you yeah I think that V is also like ready

to merge nice to have so if there's no objection I can also merge it before sday okay any other B discussion today okay and then any other open discussion about pure death yeah I have a question about um

DEET um would it be beneficial if we um increase the block just to test out how the bandwidth looks like with p d the change that maybe we could change the the hard Cod constant um in the e um I'm not sure what's the best approach if we don't make any Chang in E does it just give us like like wrong gas prices maybe uh I'm not quite sure to be

honest we could try to increase it but uh do we even have now a variable that could be changed config um I believe it's currently a preset value so I think some clients support changing preset but some clients don't um l l house doesn't so we could like do a custom build for that test I would I would actually first move that to a config variable and then potentially discuss if we want to change that so like yeah this is an indication we should we shouldn't make the same error with Globs so we should make the

data structures have some value that's a very high upper bound and then have as a config the actual limit of columns same we're doing with lobs could we get a PR for that in the consensus spe and then I can make a adjustment for that in our gen generator and is it actually configurable uh by every client then should we make that a spec requirement like do we want this to be something for

devet one or should we like launch devet one today without it that's basically question I I think it would be better to launch de one without it um if we do have it it would take a bit of work for us to make it like a config variable like unless we're okay with delaying devet one by like a week or so yeah I don't we can we can just lch that one with this and then do tests with higher counts later so no need to

wait for this all right then I will spin up de one with similar set up say DEET zero and then let's see how stable that's going to be and then for devet 2 we could probably uh have this adjusted and hopefully have like a new spec for it ready uh another topic but I think it's relevant to mention so uh Michael spr has an initiative

to help uh peers access blob Data before they can do now uh the trick is that instead of expecting blob to come through gossip you can just go to the uh men of blobs in the execution client and just fetch it fetch them from there he has a Dr of concept for that with both a modification on Lighthouse and bre because we need some new engine AI route to expose blobs to be ped that way but in our tests it shows that we can retrieve blobs really really fast uh maybe like in 20 milliseconds or 30 milliseconds after we get the block uh the block

sorry so this can be a a this can be a game changer for uh basically people that are in locations with high latency like Asia Pacific or constraint lions in in home stakers that don't have too much man withd and they already have the Globs this can significantly uh help them make the correct votes and not be like penalized for high WID uh so I think that can also apply to p r uh because if you if you get all the plops then you can consider the thing available even though you don't have the columns at the moment you can eventually compute from there um and yeah I think that's that's going to help a lot uh to

equalize the play Shield people with differents yeah I think that's a really good idea so I I've been looking at the blob mle of my local node and um I do see a lot of blob transactions floating about so you know it is it makes a lot of sense to just use use you know these transactions rather than you know waiting for it to come true gossip so I'll be for this idea feedback I think it's it sounds very

good uh this is the one that was discussed also in the Discord as I understand um my question is is what what information you use there to to construct it from the from the man pool so how you how the node puts it together it was not clear to me maybe it's just myurs so if you got the Bon block you have a list of commitments that you can use so we still haven't settled in if we are going to index by transaction hash or the version hash but if I mean I hope we do verion has because otherwise we

need to make uh consensus cents aware of LP and uh to tell them tell the Y hey give me this transactions I think it will easy that you just compute the hashes from the commitments and then tell the Y hey give me this list of blocks for this list of version hashes that I got from the Block and then from that for the uh straightforward you get the blocks for PS you would have to uh compute extensions and then to all the TRS to get all the side CS so I'm not sure if there is a way to like let's say that this feature will be used I would imagine will be more interesting for people that don't have a high cost of

requirement so having to do all the work for two columns just doesn't sound too good but that's that's an optimization it should still be faster nice thanks which uh sorry just to clarify um the way I want to implement this in Lighthouse is at least for ti so you would ask the E for the blocks and then when you get the blocks you will optimistically whatever that words means to you uh consider that block to be a viable head before you get the columns and then on the background you

will compute the the column side cards so there will be some window of time that you have already attested uh but you still don't have your con requirements so hopefully that Delta is less than what PE will be asking for you on PP but yeah if if for some reason it takes too long you would be announcing to the network that you have some data that you don't have and could be penalized or down or delay something but I don't think that should be too much of a problem if some clients are going to do this and others not there could be an issue that

we will not actually check is it is it was it actually distributed or not sorry I didn't go that uh say if uh White House and prism uh will use this trick here and data was not actually distributed all Lighthouse and prism will think that it was distributed but but other clients uh which did not implement it uh will not see data available no because it will become it will be

distributed actually just not by the the one who was supposed to distribute it so they they will it will get onto the onto the gossip sub right so so it will it will be yeah the way for this mechanism to fail is if you propose a block which includes a block transaction and you don't reveal this block transaction that's the only way for this to fail uh in that case when you have your list of version hases and you ask the Y for them then you will get an error because the Y has not received this blob transaction and then the tri will not work but if all the blobs have been made available and distributed on the men pool then data is

available so bit you're kind of decentralizing the the calculation of the of the extended structure exactly because you if you have the The Blob you can always compute extension but when it comes in on Gossip sub but when it comes in in the sampling you are always validating it against the commitment so it it cannot be something not formally part of the structure the the notes which are not doing this

T don't even know that this tck is is being done you just don't see the difference because we are having a few neighbors um one of them will do this or will get it from someone who is doing it and then it comes in on Gossip sub like if it would have been sent out by the block producer it's binary equivalent so you you don't see the difference lion do you have any document or write

up to the proposal or as to do on you on you very long least uh no I do not but I can make one good thank you m do you want to talk you are muted oh yeah um sorry yeah so I just had a tangential question um in the bandwidth estimates that we have done I've noticed it mostly encompasses the consensus layer but do we know how much

bandwith the execution layer would take up in terms of you know transactions propagated I guess that question is to Lion yeah I guess for anyone who

can because like for gossips you know we know the amplification is you know roughly like 6 to 8 but in the execution layer um let's say you have full dang chatting and you're sending out like 256 blobs you know every slot do you know how much amplification comes from that there seem to be no that's here so just

ask on Discord but I would imagine at that time if we have so many data then people that are SP with constraint will not be using blocks so then you can just disable the M but you know wouldn't p d be effective for them because now they're getting saturated by trying to basically propagate these blobs in the E and all our works optimizing the C right blobs work a bit different uh they are not propagated by theault you have to so it it works like on Gossip

the I have I want you have to actually tell your your beer to actually um send you the plot transactions so you if you want you can can opt out of the bandw for Block transaction is this implemented in El so it's just like this a suggestion right this is implemented since the net oh okay but I would I would imagine that now all clients uh pull the blob transactions but uh as the spec is written today you don't have to do that if you want to so that could be like a flag on gu I'm not sure if it already exists okay cuz I was monitoring get me pool

and I basically got every single blob transaction that was included in the network so I was thinking if if the average node Runner doesn't know about this you know they're going to be incurring a huge amount of baning if we increase the block down any y love feedback

so B want everyone to check if this parameters are correct please take a look in the chat yeah Discord so we don't have it lost yeah and do we have any other topics to discuss today I want to ask um us um what's the plan for the de structure are we planning to run um multiple super nodes per client think it be it may be

useful to have a few more supernes in last time um so we don't just walk out because we don't we can't get the columns I think that's what happened to defit zero um what is the proposed structure so I'm thinking of launching three Lighthouse three prism three teu noes each with 100 validator so that would be 900 validators plus one extra node from each of the non-working clients uh so that they will be able to debug on the nodes so would we want one super node per each working client would three

total super nod be sufficient I think at a minimal it would be um ideally two per client if just in case if we do an upgrade and and don't start again um at least we still have one working but um yeah I think I think I think one per C be nice I think we already have three that that probably be better than just one or two okay so I think I know what what the flag is for Lighthouse but I'm not sure if I know the flag for the other clients uh could you maybe drop it in Discord this is for Lighthouse I know

that but I'm not sure about prism and te I will send to disc Cod I'm sorry I will send to Discord for T okay thank I also have a question about the withholding some colons for a BL proposer is it possible yes for um at least some nodes to uh enable the

withhold um flag in order to be sure that the roon function is working well for other NES and for sure for Super NES on pres we have an option we have a flag if you if you use it it will prev the proping notes to to to to se all the columns so

see our client doesn't have such flag I think Lighthouse have has this hack for at least Lighthouse prism as well I don't know for other clients yeah I think it'll be useful to test it out let's keep discuss it on the

Discord uh any other topics to for today no no okay thank you for joining the call thank you for make for making it um talk soon bye bye thank you goodbye than by bye bye