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

Loading player…

AMA with Toni Wahrstätter | EPF5 Office Hours

Ethereum Protocol FellowshipWed, Oct 9, 2024, 12:00 AM

Transcript

here another very valued uh interesting researcher joining our office hours and um yeah um so just to give some background uh so before people jump to the AMA and ask you all kinds of questions uh to get some uh background about you uh so what we know is that uh Tony is from the applied research group of ethereum foundation which suggest he's a researcher uh you might probably know his work from uh um the uh dot pics uh websites uh many interesting uh empir empirical analysis of uh data from theerum uh but Tony also worked on privacy stuff and actually I believe like this uh this goes back to your roots and we we talked about this uh uh when we met before uh but uh I'm more interested in the complete picture like if you can uh give us more about your background your uh journey to ethereum like how did you end up uh working on this res search and joining the the AR again and so on yeah yeah sure happy to do so yeah to begin with I definitely have to start with Bitcoin I would say so my crypto Journey started um by now over 10 years ago with Bitcoin I basically got into the Bitcoin space because there were some very interesting websites that already um allowed you to use Bitcoin in a very practical iCal way and this was basically the first time I um discovered crypto but then I really forgot about it for approximately three years so I didn't care about blockchain at all basically I knew what Bitcoin was and then at some point this was in um late 16 I heard I first heard about etherum and Bitcoin had um was right into the block size War which was a topic I was very deep into by the time and over time I more and more shifted my attention towards ethereum and yeah this grew um I then started to become an open source developer so I was doing um privacy stuff um mostly as an Anon um and being anon on Reddit and at some point I think in 2020 I stopped being Anon and yeah half a year later joined the Firm Foundation and since then since one and a half years ago I officially work for the film Foundation now in the applied research team and before that I was basically um doing grants work and yeah as Mario said working on privacy stuff a lot um big advocate for privacy tools like Wasabi wallet um Samurai wallet on bitcoin but also tornado cach um or Umbra flu key all those very tool um privacy tools that are built on a FM and yeah definitely a big fan of those yeah I guess that's um good enough for first in I hope yeah that's awesome uh yeah I like I like uh you to sh your story because uh it comes from uh bu of these interesting values which which uh people often forget these days so yeah it's uh also like you being Anon in First Years uh contributing stuff like it's really cool uh yeah thanks for sharing that and maybe like more about what you're doing right now uh what's uh some interesting projects that uh you are doing these days or be excited about in near future some uh some interesting research yeah yeah these days I do a lot of data analysis so I'm basically looking into um L1 data so execution layer data and Beacon chain data um doing the MEF boost data visualization Stu like Mario mentioned with MEF boost. piix which are there many of those piix websites which are just I would say small side projects um that no one want no one else wanted to do because you know it's it's funnier to build a a nice um application a dashboard on tune than building a dashboard on reorgs for example but apart from the the data analyes stuff um definitely research so heavily research focused um like the team name might suggest very applied research so looking into eaps trying to support eips if people come up with new aips they can reach out to me if they need anything um that touches data so I'm always happy to to help with analysis and yeah my current day-to-day work includes pushing EAP 7623 which is um a proposal to increase the call data cost as well as um anti-correlation penalties which is a proposal to increase the penalties for missed um attestations when there are many people that miss their attestations so basically if you're running thousands of validators from one note and they miss to ATT test then your penalty will be higher um compared to someone who runs only one validate on a note and this is um e [Music] 7716 I think awesome yeah thank you so much for sharing uh that uh yeah definitely well lot of um lot of cool stuff happening also coming from you but generally from the ethereum research like um maybe something something that you find yeah I want to I want to ask like more specific questions maybe but if you guys have uh questions like feel free to raise your hands up um we will get to those uh yeah I was wondering uh like uh also talking about the censorship resistance privacy like what are some most feasible ways to achieve this like people are generally very skeptical very pessimistic about like the state of things on ethereum so I wonder like whether uh you I I see that you didn't lose your fate there like what is uh what there some um uh yeah feasible or you know in the foreseeable future Pathways to some sort of privacy uh on ethereum uh because yeah we talk about like bunch of PBS C resistance stuff but uh I don't hear much about privacy and uh yeah whether yeah yeah it's privacy is a very interesting topic because on the one hand everyone or many people in crypto if you talk to them they care a lot about privacy so everyone will tell you yes privacy is super important but on the other hand when it comes to yeah building privacy there is definitely lack of of deaths I would say so there are more people caring about privacy than people building privacy and then in the end the question is do people really care about privacy right because if they would care about privacy wouldn't there be more um Supply if there's the demand so I think privacy is a super hard topic um if you bake it into the protocol on L1 so kind of let's say we include a mixer between all the firm transactions then of course you get um great privacy but you also lose some of the traceability and sometimes maybe traceability is is kind of nice to have depends right other blockchains like Monero cach they are a different opinion there but yeah when it when it then comes to privacy you can basically differentiate between do we want to have it in the protocol or kind of do we want to leave it to the apps so do we want to trust that apps will be the ones that pick that topic up and in the end build a solution this is a very difficult question and I think the majority of the eum community is more leaning towards leave it to the apps then really yeah let's come up with some EAP that could improve the Privacy situation but definitely super difficult super difficult to to to answer that question because also for me I would be in a conflicting situation there because on the one hand of course PR guarantees will be nice to have on the other hand um yeah putting it into the L1 might be too aggressive oh I see some some hands up yeah I started with a bit aggressive question there I wanted to wanted to get your thoughts on this because yeah it's always always this uh juggling between transparency privacy and ethereum sales wondering link where uh where you're uh coming from uh yeah uh yeah thanks you so much Tony um we have questions then then uh K yeah then go ahead hey Tony uh still in the in the spirit of the of Mario's question uh if was the legal uh was the legal compliance implications of uh you know enshrining uh privacy in L1 and leaving it in the app because we see what what's happening with developers you know in in apple layer uh is is moving it to L1 changing ethereum's you know legal status because if they're hunting developers on app you know but again uh SEC sa lost the the lawsuit with uh with calling ethereum security okay it's a broader question but do you see any legal implications in moving it to to L1 uh you know in no yeah that's a that's a great question and I think to answer it shortly I would say no so I don't say uh any legal implications because for example ckash is also doing it and CC is also a foundation that is very open with what they're doing of course etherum is much larger than ckash so um yeah it matters much more than cach um to all the legislators around the globe and we want etherum to be a settlement layer in the end yeah a global settlement layer yeah so I I wouldn't say that the having privacy on L1 is the biggest problem it depends a lot on how you interpret situations for example what happens if some Bad actors um start exploiting good people on your privacy chain right we haven't seen that much on on privacy plock um for F blockchains but we have seen that on ethereum so yeah super difficult question but I wouldn't say that um the L1 privacy support itself would already trigger some compliance problems that's strong yeah that that means that basically ethereum can really support U app layer into implementing or into uh like uh enforcing this uh privacy part yeah yeah okay thank you Tony thank you thank you guys um Kath maybe not she's muted yeah can you hear [Music] us otherwise folks feel free to raise your hands to make a the jeury uh Tony is a very interesting person to talk to I hope you have a bunch of questions already guys come on be shy um yeah it's the J issues uh yeah uh anyway meanwhile um yeah can I try again yeah yeah all good go ahead yeah hi everyone hi T thank you for being here with us um my question is um uh how do you build these Peaks do you use any specific tools and uh the second question is uh how do you work with client metrics and uh how do you deal with it uh do you use databases or dashboards or Etc how how do you get data from the clients yeah so the Topix website that's uh definitely an interesting topic itself because it started out very dirty so basically what I first did was creating a few dashboards and then making sure to update them on an empty HTML page so this was the starting point and then over time I more grad gradually improved um the websites and by now it's it's still a very dirty setup but how it works is I have my parer so my parer is connected to uh local node and I con um constantly Powers the blockchain everything that's happening so coming from blocks transactions everything happening on the C with attestations um reworks and all that kind of stuff and then I pre-process the data using some Python scripts so you can think of this pipeline in between of my node and some other server that just pre-processes the data to a point where I have tables that I can eventually that are already reduced in size so that they are small enough to be then used inside python to plot them so everything is python it's 100% python from the parer to the um pre-processing to the um final visualization everything is done in Python and for example the do pck and the MEF boost. piix website it's even a static page so it's a static page that updates every hour I think I once had it even every every 30 minutes or something so every 30 minutes if you look at the GitHub report there is a complete new HTML page push to the to the GitHub repo which is which where I then use GitHub pages to host it for free so the dot the MEF boost. piix website is basically really um for free I have my node which I have anyway I have my Paras that are so small I can run them on the on the smallest AWS instances I think the micro instances with half a gigabyte of of ram so they're fully optimized to cost nothing and this is this is yeah it's a it's kind of a cool setup but also kind of hard to work with as soon as it's set up because of course things can go wrong but I'm actually surprised with with how stable it is so far so do you get your data from API or from maybe Prometheus metrix um I TR I always try to avoid using apis just because I always try to only use the local node to get all the data there are some great data sources if you want to get in into things very quickly um the data source you mentioned or using infura or EOS scan gr sources but um I always try to only use a local node so basically if someone runs a full node he should be able to produce all the data I have without um yeah reaching out to anyone asking for tokens or anything else thank you I think uh just to just to clarify on that also Kao was may be asking like more specifically when you use uh the client locally like do you use the Json RPC do you use the beacon API or the metrics and points which are fed to prome influx DB uh yeah whether whether you're using using metric as well mhm yeah um most of the times the Chason RPC Yeah so basically very unoptimized JPC I know ref has um this XX engine or this attachment that that you can now put on your your note that also allows you to do to do some data post processing or setup um alerts and that kind of stuff G has something similar too but yeah I'm I'm still very um doing very well only by using the Chas NBC got it got it thanks thank you Mario yeah um yeah because uh it's also interesting to see how you directly work with the client and just just one more little thing on get are you using IPC connection the local file because that's the fastest it's really improves things um I think the def hops team might do so so I personally don't for my local data I sometimes use data of the foundation devops team and I would expect them to um optimize on those things but I'm actually not sure yeah because like when you are using like I don't know like web 3i or something to talk to the uh client like it has uh you can talk through the IPC file instead of the RPC uh so it's it's much faster than doing the like HTTP calls through RPC you just read a file basically locally and when you are manipulating with a local node that's that's the fastest at least on get like on uh Aragon or the red it's it's probably different like they are very optimized for the RPC but don't get when I was handling a lot of data I noticed that it's little interesting for you to know just yeah uh for people to know yeah um the IPC connection uh anyway um we have question from ch um yes um so mine is more of a ask for opinion kind of question uh so uh in the fellowship at least like a few weeks back uh we were discussing uh what is the one thing that uh we would not we would like to be removed from ethereum and since you have gone through a lot of data regarding ethereum what what would be something that you would like you know does not make sense for you in the ethereum protocol and uh or shouldn't be there and you know yeah generally yeah this is a good question yeah because basically if we if we have a consensus on something that we shouldn't have then we should actually at least discuss removing it right because a good example and I would say an example that many cevs would give you would be the sync committee right the sync committee is such a thing where a lot of people from time to time claim we we might we might not need it um in times of of snarks we can do anything with snarks and the Sy committee is kind of this Tech depth that we introduced because we were Cipher Punk Maxes and wanted to have like lines everywhere but maybe eventually we don't need them anymore so maybe that's a potential answer of course the problem is always there is some path dependency right we cannot just ship a feature and then remove it um S easy as that right so there's always some dependency um a node must always support it no matter for example the self-destruct op code right you cannot just forget about it completely because nodes have to be able to sync until the point where self-destruct was removed so up until the point where self-destruct was still in place nodes need to know how it works right so this is kind of the problem with blockchains if you ship something you have to maintain it forever or you you can you can remove it of course but at least you you will always have those traces of of that feature even though you remove it and another point would be a very um present topic would be the new curve right the SEC 256 R1 curve which is basically um The Proposal of adding a new pre-compile um a pre-compile for that elliptic curve that is already used in a lot of um phones and this will make it cheaper for L1 app developers to use your biometric information to for example sign a transaction right you might have seen those wallets that supported already it's a very cool feature but currently there is the discussion and it's still ongoing if we should include this curve or not I would say 90% or 80% of the CFS are for shipping that curve but there are still some opinions that say okay we have to think about the fact that we also have to maintain that curve um that curve is very different from the SEC 256 K1 curve that that airm already uses because the the constants the parameters were not um we don't know how they were choosen to put it that way right so no one knows um how the constants were chosen and that's that's why there could be a back door right and we we never know so that's why um yeah I think there is it's it's still an ongoing discussion about this EAP but that's one of those features where kind of we can ship it but then we will probably not remove it anymore so if it if it's shipped and it works then we will probably not remove it anymore so that's kind of we have to be cautious when shipping things because we never want to end up with tech dep the same applies to um thinking of the pack hard for the upcoming one to maxb right to the new um feature that allows validators to have an effective balance of over 32 eeve when you ask people many say if you if we would have done it from the beginning it's a good idea right no one would have said um it's a bad idea to allow validators to have a max effective bance that is higher than 32 e but now we had some um opinions during the hard for planning if this feature is really worth it right if it's worth to touch so many parts of the firm protocol just to add such a feature and this is kind of a yeah you you has it's a very interesting question because it's always this this balance between we don't want to touch too much and if we touch something then it should be worth the the the feature that we try to implement through changing something but yeah to to answer your question probably the sync committee okay that's fair enough thank you so much it was elaborate answer and uh uh yeah it was also interesting about the curves uh like uh basically modifying ethereum to include some of these cures which we don't know uh where they're coming from that's that's interesting point because also I saw a discussion the other way like the for example TPM in computers is missing uh our ecdsa or BLS signatures it would be really cool to have the hardware uh the secure chips and computers like TPM uh include these uh existing curves because we also have the pressure on the industry right there's a lot of users who be interested in doing that so that might work uh both ways um question from Rahul hey Tony um so I'm doing some analysis as part of ppf um I find um you know ensuring the accuracy of my analysis to be a difficult task because um you know because I'm so far deep into a particular Niche um it's very difficult to get someone to maybe look at your analysis and uh verify it and there are often times very like very few people who could actually understand it or they might be busy so you're you end up um actually verifying your own analysis and then it's very difficult to get someone to like it's very difficult to be really sure that if if your analysis are really correct so how do you like go about checking um you know getting a second pair of files on whatever you do yeah super important question um for me so I basically use telegram chats with all my colleagues and at some point I just Dro my blog post into that chat and ask for comments but this is basically what everyone does right the thing what I learned over time time was I sometimes just throw out all the Texs that my colleagues don't need so I don't need to explain what MEF boost is what all that kind of stuff is even if I tell them hey you can skip the all the text and please just look at the charts and tell me if you think that's reasonable you know if you open a big file and you see okay it's 15 pages then it's much harder to get into it um as if it would only be a few pages so that's kind of what I try to do with um quantitative analysis more and more to keep it as short as possible um sometimes this is not not really feasible this is super hard then to to find people that can evaluate your work but even if you don't have um someone that um can provide valuable feedback I would just post it on E research um yeah you're not no one is we're not forced to to be right every time and E research in my opinion is is definitely the best place to to get a lot of feedback um also then maybe share it on Twitter um so that your your closer peers can already can can directly see it but apart from that yeah it's difficult it's difficult to get um um high quality feedback to to one's own articles um yeah apart from yeah shrinking things down to make it more easy for them to grasp it um I don't really have a a better a better um answer for that thank you um then another one for me uh I recently read your um your your e research post on timing games and attestations uh first question is uh and it was also something that was discussed in epbs Channel how did you get that data considering RPC bids are no not public uh and uh second is more on the on the research side of of timing games um if since it looks like timing games is something that is going to be played you know for as long as As There's an opportunity to do so do you think it's worth to consider as researcher as and also also for somebody who tries to bring uh Improvement proposals to the protocol to consider um honest but um uh what What's the term uh when when somebody looks into their own uh interest on us but uh uh not practical as in a valid validator um um comport um okay let let me just uh look it up I have a rational rational okay yeah so would it be worth it to Worth to consider you know using or or uh calculating with honest but rational behavior for validators in the future because once once we have the opportunity as protocol participants to play some games that will give us more you know revenue or more uh uh leverage we will probably do it and I mean in general when when I say we so should we consider maybe that everybody will have a rational behavior and maybe you know tweak the protocol rules into that uh Direction and also the first part of the question with RPC calls sorry yeah so to answer your first question um I'm using the MEF boost data API so this is basically the API that must be implemented by every relay so every relay publishes its own data through the MEF boost data API and there are two end points the payloads delivered and the bits received and the bits received as the name tells you it's basically all the bits that the relay received and also the time stamps which are Super valuable in this in this manner and the payloads delivered is basically the Endo that the where the when the relay claims it has just delivered a block to a validator then it puts that block into the um payloads delivered so this is not really onchain data but good enough and if you want to download some uh some data you can go to MEF boot .p there is a data section where you can download I think the year-to DAT data of all slots with all the builders all the relays and that kind of stuff and apart from that to to just say it um if you for it um yeah for anyone here if you need any data you can just reach out to me I should have all the data that um exists and I think if if you need anything very EX um I can at least help you how to get it but yeah to your second question um which was help me uh if we should consider uh Honest by but rational validator Behavior yeah yeah this is a very philosophical question because usually we should already be doing so right we should already designed the chain that we can rely on a honest majority right 51 % are honest but those 100% of players are rational so basically this would also mean solo stakers over in the long run will also um start playing Time games and in the end we will end up in some equilibrium where everyone plays timing games to the hardest and we we see way more reorgs yeah this is a super difficult topic and I think timing games is still one of the very big open problems of etherum today um one could say it's still me right timing games is just one symptom that originates from me but definitely one of the very big problems just to recap um for those that haven't read about timing games a lot the problem is that proposers delay their block proposal in order to make more money why do they make more money because by delaying the block proposal their Builder so the Builder that is building the block for them has more time and if you as a builder you have 13 seconds instead of just 12 you can produce a block that is 1 second more valuable and so it's just a uh yeah an empirical thing to find out what is 1 second of me Worth right it's it's about 112 So it's very easy and that's why certain validators started to delay the block proposal in order to make more money in order to give their Builders more time which will then makes them more money higher apis and especially the big pools can then go to their customers and be like yeah we have the highest apy of all the s sters which is great for marketing so timing games is a is a big problem for the consensus because if you play timing games as a proposer then I as a validator might want to wait maybe an additional second until I attest because this additional second of waiting until attesting gives me some security to attest for the right block because what could happen is I I um see no block I attest to the parent block and suddenly you publish your block and your block um makes it into the canonical chain which would mean I attested to the wrong block and I will lose out on those rewards that I should normally get right because I was an honest participant and I couldn't um and I was basically affected by someone else's bad behavior which was proposing late so timing games one of the very big topics at the moment um people try to solve it through new block construction markets right through concurrent block proposals through epbs through um fosil the new um inclusion list design but I to so far it's not really solved so there are some people working on it but timing games is still a big problem fortunately we only see it happening for proposers so for people proposing their blocks um in a delayed manner but we cannot yet see it let's see let's say we we don't have clear indication that someone is also doing it um with attestations and that's kind of the good news here and could that be because attestations are somehow uh like like consensus clients have this coordination point about that uh around that fourth second and you know ATT testers just attest so they earn the maximum also the head and the target uh uh uh reward MH yeah this could definitely be one explanation so that basically you don't touch it because the head is as as is one portion of the whole reward anyway and I'm happy to foro the for example the head vote a few times more because in the bigger picture it doesn't matter I agree to that right I would also say it's not worth the reputational damage you would get right because manipulating with attestation would definitely be perceived um worse than playing with block proposals right which was already perceived not very well by the community but playing with attestations goes even step further just because attest is really the core of a firm and yeah I I think that's the that's the reason why no one is yet doing it I could imagine that some solo stakers might be doing it right just playing around um hacking the protocol I've heard about that I can definitely tell but apart from that that big stakers would delay their attestations yeah difficult topic if they're very sophisticated then they would maybe do it for the first slot in an epoch just because in in the first slot of an Epoch the head vote um points to the same block as the target boat because the head is the Target in the first um slot of an Epoch so what you could do if you're afraid that you chose the wrong block you could wait for one slot more and then you would miss out on your head votes but at least you would get the target votes and I think the target votes are double the head votes rewards so for for a correct Target vote you get double the amount of the head vote so this might be even worth it right if you're if you're not um save what the head is wait a second longer and then maybe you get both the head reward and the target reward but for sure you will get the target reward yes interesting topics yeah I I can invite everyone to to to join those topics from a from a research perspective a lot to do especially on those concurrent block proposal epbs um meth boost alternative research um yeah definitely a lot to do I guess protocol doesn't look very final on on that front a lot of challenges to work on for sure um folks any any more questions maybe regarding yeah Baston uh hey hello um so since you're working on like researching and privacy and security and checking the uh eips and uh like all the other things I'm interested to know if uh you have any like exciting story or like a cool thing that has happened uh while you were doing the research and maybe something dangerous that you found uh yeah something like this maybe yeah sure um maybe one story that would come to my mind would be let me actually think do I have the screenshot somewhere here let me quickly pull out some screenshots do you guys know Perry from the devops team I guess some of you have already met him he's the greatest guy holy F I can tell you that and I have this very cool um um Google Slides very nice conversation that I had with Perry and it was basically um the time when I was researching Big Blocks so I was um you know Big Blocks this was already a topic for me from Bitcoin back then I was more on the yeah let's scale the blocks without having much clue what I was really saying right so I was more a troll on Reddit I would say when it came to that discussion but then on bitcoin I took the topic very seriously not only because I'm also running um a note on a very low hard um Hardware device right so I know what it what it is um how it feels to have a a very weak note but um more because I really saw the the struggles of some notes with Big Blocks so if you create very big blocks what can happen is that you dos certain notes out of the network right they can they don't have the bandwidth for that and you basically push them out of business and this will not happen to someone running a note in the UK right or the us or I don't know Canada I almost wanted to say Germany and Austria but because I'm from Austria but we have quite bad internet too right so to to take out better examples there but yeah where where the people you would push out would be basically those that run noes in in poorer countries and that's something we cannot do do right um there's no way um to do that because of many different reasons credible nality sensorship resistance and so on so my goal was basically to propose reducing the block size and how I wanted to do that was basically by first researching the impact of the BLX size and then by showing everyone there is huge impact we should do something I thought this should be enough to convince people to do something okay let me quickly share my screen I will try if this works right can you see the screen right this was my talk from from Eve bur and it was called I Like Big Blocks and I cannot lie so let me show you this chat I had with Perry right so this was my chat with Perry I basically wanted to create a big block and I needed Perry from the devops team to please submit that block to some Network for me so what I did I reached out to Perry and I'm like yeah I'm looking to get a big transaction to theia could you help me Perry is like yeah we run a validator you could submit it to through flash Bots and so on I was like yeah that would be awesome could you please expand the limit of your note to a Max of fre megabyte you know if you talk about three megabyte transactions then you know we are going very big and then I was like or better 4 megabyte and he was like yeah do you have the sign transaction for me and as you can see here in the time stamps um yeah a few minutes later 10 minutes later I sent him this text file which was called nice transaction.

txt and this basically included my sign transaction everything was ready to go and Perry then tried to submit it so what happened is he tried to submit it through his SCF node and he always got some strange errors back right we were not sure why it's not working I was I was refreshing my page every few hours and this was um by inid in the middle of the day right by noon and by 600 p.m or something I was still refreshing every from time to time to to check if my transaction finally made it on chain looking at ephra scan zolia and it never made it right and what per then did was he this happened early in the afternoon already he reached out to Justin from baso from the baso client and ask Justin to please put that transaction into some block and propose that block because yeah we want to try something so Parry forwards my nice transaction. txt to to Justin Justin responds something like yeah that's totally not suspicious let's submit it and the next thing was basically this one a few months later we had a aoia incident so what happened was Justin got that transaction into a block my my transaction was valid right because we we thought originally we thought the transaction is invalid because G rejects it but it turned out that transaction was actually valid and as of that point theoa almost went down right because my transaction was in that block that was proposed by baso which was a valid block but all G nodes would consider the block invalid so all the minority clients saw that block as valid and G would reor the block out every time so for every GFF proposer we saw a reor right every G proposer tried to attack the parent block because my parent block had that transaction in there and because my transaction was paying so well every proposer from now on tried to include at my transaction except the G proposers so after a few hours um Perry and the def Ops Team reached out and was like yes aoia has some struggles at the moment and I still remember in the telegram chat I was basically writing like yeah LOL definitely my transaction and something like that and then after a few hours I realized okay this was really my transaction that is causing the problems so started canceling the transaction because it was still floating around and the biggest problem was um why it was not funny by that time right because it could have happened on mainnet too so we knew this is now a open attack Vector my transaction is floating around so there could have been someone that saw it that analyzed why his own G node is not um yeah working with that transaction and then it would be a basically free dos Vector on Manet and the problem was we were also two months away from the tenun hardwork and we needed G people to update their notes and you cannot um go in public and say like yeah um we found a major bug please all please all update your notes because then it's too late right so what you have to do is basically fix the bug and then pray that nothing happens until the hard Fork because at the Hard Fork when everyone has to update you know it's now fixed on every Noe but up until that point we we had no clue and every one was yeah just hoping that no one dosses the network with Big Blocks and I was actually surprised that this is possible right because one might think okay someone has tried to build a block that is the maximum size why not right it's kind of a a yeah a thing not I I wouldn't say a thing to do but definitely yeah among the things you can do when you're bored right you build a very big block cost you almost nothing but yeah in the end uh turned out to be very a very funny story especially with with the interaction with Perry thank you so much Tony I love the story I think people really loved it uh it's really cool and like yeah I wonder like that's it's a good question you POS at the end like why nobody tried this uh like I remember Martin doing this uh it was a while ago I'm not sure if the security team is still doing this but it was part of the testing process is part of the fuzzing where uh or may maybe it was like you know between some releases but um but I remember him testing the biggest or maybe Mario as well testing the biggest possible blogs in various clients um but yeah I think the problem the problem back then was um until until that time we basically F that the gas limit divided by the price of nonzero by its C data which is 16 right is basically the maximum block size so 30 Millions 30 million divided by 16 right so 2.7 megabyte and I think that's that's correct right let me let me do the math here 30 million uh 30 million divided by 16 30 okay yeah 1.78 megabyte so if you do 30 million divided by 16 you get 1.

7 megabyte um if you produce a block with only nonzero bytes kind of you end up with 1.78 megabyte which is very large if you produce a block with only zero bytes right then it's four times bigger because Zer bites are four times cheaper so you can fit four times more into a block the thing is if you then use Snappy compression which is this yeah commonly used compression tool that is used everywhere in aerum if you Snappy compress a block that consists of only zeros you can Snappy compress it very well so kind of from 4 megabyte blocks you get down to 0.1 megabyte because the compression works so well if you compress a block that consists of only nonzero bytes So Random nonzero bytes then the compression works not right so there is almost no compression effect if you compress something random and then the the thing what I did with my big block was finding this sweet spot in between so how many zeros can I add to a random string to make sure the compression is still very bad but because I add zeros it is very cheap and this was then eventually the finding if you have I think 29% zeros so oh no you use 29% of the 30 million gas for zeros and the rest so 20 million gas for nonzero bytes and this is how you actually get to the max size block which is then 3.5 megabytes so we always believed it was 2.7 but it was actually um 3.

5 right uh it's it's interesting like the the uh block size being so big also now with um with blobs like it's quite of overhead especially for proposers um and yeah I didn't I didn't realize like people relying on the compression they like obviously the enthropy in the D data will uh will make a big difference there yeah yeah thank you so much for ding into that Tony uh we have last five minutes I wonder if there is somebody who wants to do like last week question or okay Glory hello everyone okay so my question is basically on advice for someone that want to go into Data analysis on the protocol level like what are the things that the person should be aware of or what are the areas person can look into and maybe you could mention good examples of protocol data that would be good to analyze yeah um great question so the the data space I would say it's still one of the most underdeveloped so protocol data analysis is still one of the most underdeveloped paths you could do I would say so it's very early because at thef at the moment there are not many data people there is the devop team for example that um does a lot of um data stuff and this is um very valuable then most of the data stuff that is done is very close to Forks so to testing doing Forks doing um doing um dashboards like um yeah the devops team has some dashboards also um tools we mentioned earlier so there's a lot of data support for cord defs but there is kind and on the other hand of the spectrum there is a lot of Dune dashboards for um applications right and then I would say there is this Gap in between that is basically analyzing L1 data right not really going that low level as the devops team so they are going very low level figuring out what what happened at a certain defet why did it break um what is the attestation metric how many people are online who is who is um participating right this is very lowlevel um data which is awesome but um this is kind of something that um people are already doing and are very good at and then when it comes to one data research there is not that much happening so for example if you look at eips and you reach out to people and be like hey um there are from time to time eaps that definitely need quantitative analyzers and I'm 100% sure everyone of those EAP offers would be very happy if if you would offer him to to help on analyzes um one tool I can mention is KATU let me type it into the chat KATU which is if you if you look for KATU EF def Ops e panda Ops something like that then you find this this database and I've recently built Pika 2 actually let me drop you the link P Patu which is basically uh uh Library oh thank you very much which is a library for interfacing theu database and you can use it to get every data that you would also get by running a note so the if pands team does a amazing job there in in producing that data hosting it um making it available just reach out to them um then you get credentials it's it's still very early so I think this is not that old that whole project um so one still needs credentials for now but yeah this is definitely one of the one of the things where I would say um yeah great to look into when it comes to data yeah thank you very much I see is there something in the chat yeah quick uh advice for aspiring EF researchers before we finish we have last minute have any quick advice quick advice yeah my would say the the best advice is to find out what you what you so if you want to do research right find out if you want to kind of focus on something and become a specialist or if you like the generalist approach because in the end EF needs both right EF needs generalists that keep the bigger picture that might not be the ones that are able to do a 10-minute talk on CK snarks but at least they know how

Automatic transcript — names and jargon may be misspelled.