Stateless Implementers Call #26
Stateless Implementers Call · 21 Oct 2024 · 33:52
Stateless Implementers Call #26, held on 21 October 2024. These calls follow work on stateless Ethereum and the move to a new state tree, with client teams sharing progress and open questions.
Topics
From Stateless Implementers Call, hosted by Ethereum Foundation.
Transcript
all right welcome to stateless implementers call 26 uh starting off the agenda with the usual team updates if anyone has anything they'd like to share uh yeah I'll I'll share oh sorry um I was just going to say I'll share that the document should be accessible to anybody with the link perfect yeah I can start with the update this uh so I've been working on adding new tests in the execution spec tests um for bural these are
around um 30 new tests that mostly try to cover many border cases um regarding outof gas execution of transactions so the reason this is relevant for work call is that uh now whenever you run uh a transaction and you run out of gas whenever you add um things to the witness uh you might generate a partial witness compared to an a successful transaction and this partial witness makes uh the order in which you implement I mean if you if you if your
El client incorrectly implements the witness addition in the wrong place compared to other logic uh this is now uh observable so yeah I basically try to cover every place of all the potential places where you can run out of gas for adding things to the witness so this would make the created witness somewhat weird and yeah whenever our clients execute the fixture we will see if everyone agrees in the order in which they um added the logic so I will share in the chat the link to the latest
release so I would say that anyone that wants to join devet 7 is invited to run these fixtures um yeah that's mostly it uh I think I can go next so we spent most of the time like testing those testing and deing those High test that signature generated and except for that we are progressing on our implementation of the transition uh it requires kind of a huge fre factor in the client so that's why it's taking a bit longer but yeah that's it uh are we doing the client updates y
y exactly okay sorry I came in late um uh so yeah uh on the we working on the gas costs uh and um I we are only we're missing two tests two remaining tests that are failing uh regarding self district and we have all of the block has tests failing because um the the logic for implementing for pulling up out the the block has from the contract the system contract is still not implemented so we haven't implemented the gas cost there yet yet as well but that will be the next step um regarding Karim gave me his update he couldn't uh join the call today uh he
says that um he has integrated the first optimization for kev's rust vertical Library uh but is uh waiting for other API additions to get all the optimizations in um he also has a version of the flatb based on stem that uh uh that works um and I is now working on to generate uh pre-image to be able to run this flat TV uh with the main blocks and compare the performances uh the next step is to uh generate blocks and have to in here has
check with Thomas to advance on this subject um it also worth noting uh that we're still working on integrating Constantine into Basel in background um yeah so it's that's I think the update I don't have anything else oh um and big good shout out to ignatio uh for helping out on the gas costs uh to public thank him for for his patience and support thanks um yeah I just wanted to add
mostly the work has been around getting the the test net to work but uh I've also been working on speeding up witness generation um still ongoing and also yeah the rebase on top of Cancun so that we can try to uh um yeah try to get um the you know the rebas and be able to get better numbers compared to those I'm going to show later yeah cool did we good everybody anybody else
have updates all righty we can keep going next up uh we have on the agenda an update on or an not an update but a just bit of info on a seminar on Circle Starks ER yeah I guess I can take it but uh G maybe you w to say something an intro on Matan as well since it's his first tiess implementers call who are you again no just kidding
um yeah so uh I mean yeah I would like um Matan maybe to to make to explain what the seminar is going to be about but uh we are in the process of hiring Matan who uh is a mathematician I mean I assume M will make a quick intro about himself um because there's a lot of talks um about starts and you know either starking snarking veral or uh skiing veral Al together to do some fancy snarking stuff so um in a way as a way to prepare for the next items on the on the verge road map um I figured would be a good idea to um to run some
seminars and Matan is going to to tackle this um so those would be seminars um I mean a prior reserved to to people working on stat less so they're open to everybody in this um in this uh call basically if uh there's not a lot of demand uh if there's some free capacity we can look into adding people who are not working on veral or uh stateless in general um but yeah I would I would like to to um to see uh what the attendance is like and I'm sorry Matan I'm kind of speaking for you but I took the liberty of creating this form it's my first
Google form so I hope it's going to work uh I just copy pasted the link in the chat if you could please register there so that we can assess how many people are going to are interested in joining and when they they would be available and then um yeah we can see how many people we we would have and how many more people we can invite uh yeah so I talk too much Matan uh why don't you introduce yourself you're muted yeah thanks um so I'm uh I I spent most of my adult life in Academia uh in
doing mathematics um specifically I worked in a field called algebraic topology where I did a PhD and six years of postto um and then um three years ago I started working in blockchain companies first in in Aragon um and then later in the EF in um psse specifically um and I did some research and I'm still doing some research in zero knowledge and
fhe and ER and the other main effort I did was a course on elliptic curves that maybe some of you heard of um and basically what I um what I discussed with Gom is trying to do a a a seminar on Circle Starks ER that is similar in spirit to what we had with elliptic curves so the idea is to um to make the material accessible for a for the Layman and so you don't need to
have any any math background Beyond High School let's say um but ER but the the other side of it is that we will need quite some time to to catch up with the the Notions so I would suggest a a weekly twoh hour seminar like 10 minutes break um after an hour ER I sent a link to to my website so you can see in the Publications um the write up I did for
two seminars I ran one on elliptic curves that became a book and the other is latices um and I plan to do something similar on on Stark um So eventually there should be um a document that would be weekly updated with the all the material and so on and er what I usually do is H I mean I guess let me try to find the the link to the elliptic curve course and then you you can see the roughly the form
I write on a tablet and I share the screen um and I try to do almost everything rigorously that is a with proofs and full definitions and so on um we'll see how how it goes with the Stark paper but I think at least I mean from what I looked at uh the first two sections uh should be doable rigorously and quite easily um and and of course I'm open to suggestions h on on which approach is H preferable for for
you guys um yeah so that's I guess that's it for now uh thank you it seems that people cannot log into the form except those people working at the EF um yeah this is my first Google form I have no idea how this stuff works I've been looking for the the link to um like the the check mark to say everybody can could answer um if yeah if it doesn't work uh okay yes I I'll try to get to make a Josh and editor if I find how to do this otherwise we'll create another
form and share it on the veral Discord thing um yeah I'll keep working in the back on this in the background uh we can yeah we can close this awesome thanks Matan excited for the seminar to kickoff okay uh up next on the agenda Gom kindly put together an updated or a page with updated vertical metrics uh G did you want to walk through anything there yeah just uh briefly so it hasn't been published yet uh all right um we need to add it to vord info but uh if I can find I have
too many windows open as always if I can find the right page I should be able to share my screen and walk you through it always uh okay maybe maybe I should not be such a a Google meet fan um oh I cannot present is that because um like maybe I don't have the right to present uh Josh uh you should give me one second otherwise you can just maybe share your screen if it's too getting too
complicated yeah it says you should be able to share one second okay oh okay um yeah looks like I can now can anybody perfect yep it's working okay um great so uh yeah so I started I have a lot more in the pipe but I started sharing uh sharing some things um and um the some some like results or some some measurements I've been doing
uh I've been doing and uh so it's it's it's historical data wait I have I have a I have something that's currently blocking me no cancel okay now I can see properly um right so what was happening um is that I have a I have a database at chapella height because gu hasn't been rebased sorry veral hasn't been rebased on canun yet it's it's an ongoing project um so I but nonetheless it's recent enough that we can start collecting some data so uh this page is uh should be published on um on veral
info and share some measurements we've got so like I like it's explained on the page it's at the the Shanghai Fork it's uh replaying 200 200,000 historical blocks it does it goes through the transition and um yeah like for example we looked at how to have the best witness size so this is something I already presented in an old uh veral call uh veral implementers call um so you can see uh the three prop sorry the three new proposals for the witness form and which the one that's the that's the most uh interesting or the most efficient uh you can see the the amount
of uh of uh like the size of the average size of the of the witness or the minimum and the maximum we see replaying historical blocks um there are more things since the last time I presented those results uh for example there's how much of the witness is composed of what so for example the keys um it's on average 133% the vertical proof is on average taking 12% of the of the witness uh well witness plus proof and then the prev values take the bulk of the of the of the size and uh the post values are actually um not taking that much space most of the time there are some path
pathological cases but uh mostly it's it's taking pretty much nothing and um we yeah so we have some notes uh we should like the the main conclusion is that we should change the format of the witness for the next uh for the next call sorry for the next devet not not this one not this upcoming one um and then uh post values are not taking too much space but yeah um it's not really useful either so I think we should dump this as well but yeah that's uh that's one of the conclusions um the yeah so I looked at the database
after doing a a conversion so you can see for example that most of the tree like 80% of the of the nodes are depth four which is exactly what we were hoping for so that's good but there's still there's almost 20% like of the of the node like most of the remaining nodes are actually at depth five and then you have a few excuse me so these are the I should have uh I should have specified this I will fix the I will fix the warning after this call um but we're talking about uh Le Leaf nose right not not internal nose um so yeah most of them are depths four some of them are depths five there's a few pathological
cases that go all the way to eight but overall the this is what we expect like four to five um as like a depth of four or depth of five it's not it's not too bad um I still have some processing going on so I have more data to share so this page will be updated um but yeah currently uh I just wanted to bring your attention to this so you can have a look you can ask uh questions it's going to be updated in the next few weeks so yeah check check uh check back from time to time and uh uh yeah if you have any questions I'm happy to answer otherwise uh uh yeah I will just update uh and and notify when
there's an when there is an update um yep that's it cool all right uh next up on the agenda we have some spec updates yeah I guess maybe that's a continuation for you um yeah is it actually I was thinking yeah so um Lis would have some uh some comments uh Lu orish yeah so there okay just to provide an
intro uh it was just a um um some conversations as we were doing um like using the testing framework some some questions did arise and there were two uh one of them I can I I can address we had a call a non-public call last week among cor devs or people working on this topic interested in this topic and um excuse me um we we were thinking should uh some contract creation cost be um be covered by the by the contract uh
creation cost so the the contract used to be uh 32,000 right and the question was was it simply replaced with um excuse me I'm yeah I'm a bit sick I apologize for the for all the the throat noises um but yeah the the idea was should we get some cost covered and I did a bit of math uh sorry should we get some cost covered by the old cost right um and and my my conclusion is that no we should not but I was trying to see if LS uh I
think that was LS and Tanish could uh could basically summarize their position so that we can come to a decision uh I think I can go so uh what like what my position was initially that uh in the create gas cost the off Cod cost was like as G mentioned like 32,000 and we reduced it 2,000 for work and now we are charging some other work costs uh for the contract creation and there's this another discussion that happened in Kenya and before that as well like when should we charge those kind of gas like uh is it before the 1 by 164 gas
reservation that we have for like the internal call should we charg it after dedic that 1 by 16 1 by 64 or should be deduct the swal cost before that so my assumption was since we reduce the output cost which is always deducted before from 32,000 to, so my understanding was maybe we should deduct the work cost also before uh that like 1 by 64 deduction and we had the discussion on the on a call I think last week last or last last last or last to last week and the conclusion that we ended up is in like game was trying to explore if that 32,000 cost included the cost for
account creation or it was just for like code insertion so yeah basically that's the discussion like should we charge the work gas cost before that 1X 64 deduction or after that it doesn't make a really really big difference but it does make some kind of a difference on how much gas cost is left for the internal call and if it deducted before if it deducted afterwards that right so thank you for the intro that's it's a very good explanation and so yeah what I wanted to do is to say is I've done the math and those 32,000 right uh they're not enough to cover the creation per se um
so um my argument is that because those New Vertical gas costs are more than what would have been um that that what like imagine you didn't have um you didn't have um change those uh those this create cost you you had not reduced it uh you would have still um it would still have cost you like like the the cost that you will incur by creating a contract is much higher than those 32,000 so what I'm saying is you can't really uh sweep it under the rug is just
too much so it's not like it can't be considered as covered um and as a result I think we should not change the current way of proceeding because uh yeah this argument that this would be covered by the old cost no longer holds basically I don't know if I'm clear oh yeah then like if if that's the case then I'm like okay with proceeding how we have implemented it right now anyways I prefer the way how we have implemented it right now it makes more sense so yeah and then excuse me that um maybe L if you want to talk introduce your
problem yep yeah uh so what I raised was um since uh we uh lowered the contract creation from 32,000 to 1,000 for veral right um we I've I noticed that uh when we are doing account creation uh like eoa um we are still charging uh 25,000 um which is it's not even taking into account the witness uh cost Touch cost um so I was asking whether that was not a bit unfair compared to the
contract creation which is now 1, and the and the EA creation is 25,000 uh of course you you I mean for the contract uh creation you will also have the the cost for uh storing the contract in in in the tree uh the coach chunks um but at least the simple case uh my position was that it looks a bit unproportional uh not sure what you guys have to say about that um I I don't understand like where are we charging the 25,000 for
ea uh on so when the when we doing a call and the the address is not being does not exist yet uh for account creation I think we charge 25,000 additionally oh yeah okay that makes sense um yeah so my argument is that okay my argument is that we should not change it simply because um you know it's um it's already there uh it was there before um because when you look at the 21,000 for sending a transaction right we cover some of the
cost but those were costs that were already paid for by the 21,000 before veral namely uh adding like accessing the the code uh accessing the the sorry not the storage but the the balance the kns etc etc but the the contract creation gas cost was really distinct and if you look so still doing some math um if you look at what it takes to create an EA it's way lower then it's uh something like uh 7,000 um okay make it 8,000 so it's much
much lower than uh creating that this create cost so um that would be a huge rebate right um so I think at least we can still have this conversation maybe with uh with researchers at uh at the interrupt in in Bangkok um but I think currently we should you know we should stick to keep this cost it I understand why you think it's a bit unfair but at the same time it's a CA that was already charged before and it doesn't really correspond to anything new in uh in veral mode right because the costs are much cheaper so um so my my reasoning at least I'm
not saying it's the correc thing to do but it's uh um yeah I would say right now I would rather not remove too much gas uh too many gas costs um and we can still take take it with the researcher and think about it you know brainstorm about it in in Bangkok and uh and decide to change it then but right now I would like to stick to the stus sche yeah sure fine with me um yeah that's I would say also let's um talk with the researchers uh one one last thing to note is that the Sal district is also has the same uh kind of charging as well when you're uh sending the bance to the to the
beneficiary that's just yeah right the SRI still is right yeah it's the same case yeah if the count does not exist beneficiary you also charge the same okay so we would have to change it into locations into locations yeah okay uh I think I'm not sure if this happened or not but I think we had this discussion before as well not sure for self-destruct but call and I might be wrong but I think we came to this Con usion that we don't anyways we don't want to encourage a behavior where someone uses calls to create new accounts so that's why it's okay if we charge a lot to create a new account when someone like creates uh does a call
to account that does not exist I'm not sure if that happened but I remember something like that being discussed before right that's a good point um yeah we want to dis intensify this incentivize account creation because they can no longer be self-destructed yeah yeah okay that makes sense uh yes right Josh I saw you posted a new link is that correct yeah that's cool I just created a new dock thank you
anyone interested in the seminar there is a link in the chat cool uh if that's it for that topic the last topic we have for today is any update on testet and yeah I think targeting for this week is the plan as far as I understand it um and just any questions or yeah opening it up to any anything here on testm uh yeah I think the reason why we scheduled this is to ask uh I think everybody's more or less ready uh maybe not uh B exactly but they can always join
afterwards um I don't know if Barnabas or par are here but it was more like yeah are we go are we good to go and can we can we just do this I don't see them they're not here you can always ping them I can follow up with them if you want but yeah yeah um no there we can always um yeah End early I don't know if anyone has thoughts right just want to confirm everybody's is good to go or you know no one wants to to hold tested launch for some reason
okay thumbs up all right if nothing else should we end there yep sounds good cool thanks everybody thanks have a nice day see you bye bye