The EVM and EVM Object Format (EOF) w/ Danno Ferrin (Swirlds Labs)

5 Feb 2024 · 1:13:31

Rex Kirshner hosts Danno Ferrin of Swirlds Labs, an EVM expert with five years in the space, to unpack the EVM Object Format, a major proposed upgrade to how the Ethereum Virtual Machine packages and processes smart contract code. The conversation covers what EOF changes technically and how it fits into the broader evolution of the EVM.

Speakers

Topics

Transcript

[Music] hello and welcome back to another episode of The Strange waterer podcast thank you once again for joining us for another great conversation today's discussion is a deep dive into the ethereum virtual machine though you're about to hear from one of the world's foremost experts in a very technical topic don't worry too much we try to keep everything pretty accessible but even still before we dive in it's probably helpful to review what the evm is and how it relates to ethereum now evm stands for ethereum

virtual machine and it's the computational environment where smart contracts live and transactions are processed have you ever run a Windows emulator on your Mac now that's a virtual machine it's an independent Computing environment sandboxed inside of another Computing environment whenever you make a trade on Unis swap or donate to support the protocol Guild you're generating a transaction which is really just a set of instructions for the evm to process now stepping back ethereum is made up of thousands of individual computers each running a piece of software that spins

up the evm through the magic of proof of stake each of these computers are able to communicate and coordinate to ensure that their local copy of the evm is exactly in sync with every other node in the network the record of what happened within the evm exists across thousands of computers all across the globe as I hope is clear the evm is the Beating Heart of ethereum everything else exists just to create and secure this credibly neutral Computing space and it's within this space where all things that are recorded on chain actually

happen and so I think it's entirely appropriate that we spend some serious time thinking about how the EV M actually works fortunately today we have the perfect guest Dano faren has been working directly on the evm for five years including his time with consensus working on hyperledger Basu and at s Labs where he is currently working on bringing evm equivalents to herera today's discussion is focused around the ne next major upgrade coming to the e evm evm object format or eof over the next hour you'll hear a

little bit about how to think about this update to how code is packaged and through it you'll learn a ton about how the evm works and the evolution of the evm going back to the days inside Gavin Wood's head all the way to an ethereum far in the future one more thing before we begin please do not take Financial advice from this or any podcast ethereum will change the world one day but you can easily lose all of your money between now and then okay ladies and gentlemen Dan O faren on The evm Dan thank you so much for joining us

on the strange water podcast hello good to be here well man I'm super super excited for this one I mean as you know I first uh heard you on the peep and EP podcast talking about um ethereum or evm object format and um since then I've been trying to get you on the show I've been so excited by both your background and like the Deep interesting and like really important technical work that you're doing so once again just thank you and welcome to the show thank glad to be here I've been listening to it for a while um I love the Dune reference um I listen to Dune a lot it's my it's my sleepy time story that helps me fall asleep with my sleep mask but no man I I would love to do a whole episode on Dune but I will say like they start so good

and then by the end I I just can't even follow it anymore yeah it gets weird at the end and then his son picks it up and it gets even weirder great so um in Li of Dune podcast Let's uh let's talk about you and let's talk about crypto but um so I'm a big believer that the most important part of every conversation are the people in it so with that as a starter can you tell us a little bit about who you are your background I guess how you found technology and then um because I know a little bit about your background ultimately why you decided to make the leap from like maybe more traditional uh just accepted technology into this like wild west of crypto so yeah background about myself um I grew up uh as a child in the in the 80s and

70s and ' 80s mostly um so that's you know when when home computers started going on I was always fascinated with home computers my older brother the first computer was a mail order kit zx80 and like they had a solder the pieces together and that was just so interesting to watch I had no idea what was going on but you know I liked program computers and making um making it do things you know independent you know and the complex very methodical instructions a lot better than um you know the sort of fuzzy thinking that goes on in in you know English and and textual analysis and subtext it's just like there is no subtext with a robot tractor you tell it where to go and it goes there so that really appealed to me

so you know I did computers I I thought about doing Engineering in college I thought about doing Actuarial work funny thing about Actuarial work I was accepted at a college and um at the University and that's what got me in and I looked at the tests you have to take as an actuary and like the last few tests I want to know what I was really getting into and they're talking about you know building these shell companies putting them in the Bahamas doing all sorts you know it just is like this is not something that terribly interests me although the math was interesting so I just stuck with computers the whole time um worked in Silicon Valley for a couple years in a startup before the do com boom um and then my first real job was at a insurance company uh not I mean it

was they they were trying to build exchanges back in 2000 Insurance exchanges and that was like you know 10 years ahead of the time so you know to early is indistinguishable from wrong so they went out of business um then I worked at a internet startup that was doing network configuration automation um again ahead of its time indistinguishable from wrong um some of their Tech got bought but now you know software controlled um you know unified control plane of of networks is very common we just you know we're just a little too early to the game um then I spent you know six years at a defense contractor um doing front end work and guey work because that's really what I was doing at the startup for network configuration I was doing job of swing and I was doing the same stuff with the

contractor um and one of the last things I did at the contractor was this thing called graph analysis where you'll like take all the links of everyone put them on a graph and um one of the things about that is that most guey toolkits don't do that well you know at the time they were all based on squares and things not overlapping and the idea of moving stuff around and reshaping things arbitrarily and not having clear-cut boundaries was kind of hard um so the toolkits were mostly less about graph analysis and more about the visual layout of the graph uh so that's like the time the toolkits like flash and Java FX were around where they use this thing called the scene graph and I so when I left uh that job to go work at um another company I was working Oracle working on

backend tooling for Java I still loved the idea of visual layouts of stuff um even though I was getting out of front end and there was this company W Works they had this um visual layout you know a lot of exciting graph layouts and I was hooking that on the back end using Java FX in the front end and the problem is I needed some interesting data set that was legal for me to access um you know there's all sorts of interesting data sets of government work that you really shouldn't be sharing so I wasn't using those but what I came across um it was about the same time that Bitcoin had its first thousand Pop um like you know the the first big bull runaround happing and um I I did some read up I read up some of the technology on it and I was

reading about unspent transaction outputs and where those came from and I'm like that's an a cyclic directed graph if I ever saw one so I spent some time parsing the Bitcoin blockchain and getting data into the system um I did some test transactions of my own and I was able to um you know visually lay it out and get into this graph analysis stuff and that was pretty exciting for me so that's that's kind of how I got started in in crypto um I briefly thought about doing a um a Bitcoin forensics operation um couple of things got in the way um I'm not excited about Government Contracting you know regardless of how you feel about what the government does Contracting with the government is you know an entirely different Beast um billing and you you

can't really do a venture company based on we're going to sell this to the to to the three-letter agencies in law enforcement that's really hard that's a really different pitch you really got to have the connections the Tech's like you know third tier issue honestly in those situations um so I sold it off um for chump change um but hey it was a it was a crypto exit back in 2014 which was 2015 which was amazing um so that point I went to Google for a few years um I worked in their payments group for half the time and I worked in another group that was doing um ads measurements uh measuring eyeballs you know stuff like that and um about the time I was between one of those added measurements projects um we had shipped a good one for YouTube um I worked in

Boulder and the reward for doing a good project in Boulder is to take the and they sent it to the West Coast um so I was shifting to another project in the same ads measurement group and that's when a recruiter from consensus called me up um I've been doing a lot of java work you know Java still got a good big place in Google backend work and uh they told me that they were building a ethereum client in Java and would I be interested and I had been you know when I worked at Google I was going with the premise of that you know I'm just G to get blockchain out of my system everyone here hates it they can't say enough bad things it's inefficient there's much better ways to do it but I just could not stop paying attention to to it um I

followed the the Dow Fork I followed the Shanghai attacks on coindesk it was a very regular read even though it's was distant from it um so when the recruiter called up it was just like an obvious yes I mean I couldn't focus on my work at Google after that at all um you know they couldn't pay me enough money to get there so that's when I just jumped off and went full crypto and Pantheon was the name of the project before it became hyperledger Basu so for the past five years um through a couple of different companies I've been contributing as a developer to hyperledger Basu I've been on the allcore devs calls um you know so right now I'm working at hedera I'm working on the evm equivalance portion of it I used to be working at consensus so yeah that's that's where I'm at right

now that's that's how I got into the system how I jump full feet in it's got a lot of stuff that interests me and you know I love building things and there's a lot to build in ethereum well before we get to like what you're working on and what we're building in ethereum today and what needs to be built I just want to spend some time on your journey and I I think something that really jump jumped out to me is like look man you know this better than me we are in an industry that is uh let me just say the like median age uh is not allowed to drink in the United States like it is a very young group and I think like a huge reason for that is so I'm 32 like my generation of people entered a world where yeah computers were not great and

like yeah we didn't have you know broadband internet but we did have computers and we had games and we had internet and I think like my generation and you know I studi computer science at Stanford so literally four fifths of my class were working with you at Google um I I just think that like there's something about your story and then like being a kid right now where like you really understand the malleability and the fact that like this stuff is being created from nothing in real time right in front of us and it's an opportunity to be involved and like I think to me that like like explains a lot of your excitement and willingness to roll up your sleeves and jump in as opposed to

like a lot of the attitude I see of my peers of just like what's that I don't understand this therefore it's not real therefore I don't want anything to do with it and I guess like I just um wanted to to hear any thoughts or Reflections you had on like why people uh really have a problem like looking at crypto as like an actually interesting and for me it's an interesting Computing problem and I'm like so bored by things like hard money and finance and all that stuff like why why do you think that um people have so much trouble like giving crypto a fair shot so some of us were their biases like when I was at Google a lot of people that were um you know in their previous experience their

understanding of what their goals are um at the payment system at Google when I was there one of the you know Bitcoin was an nonstarter because you couldn't do like a billion not a billion but they had some absurdly large number of transactions a today um to to try and bring blockchain technology inside of Google would have been a non-starter because they could the you know the current technology could not sustain the amount of transactions they had just for people buying AdWords um just for logging that sort of information so I think that the issue with with Google is it's such you know such an absurdly large scale but at the same time I think what gets a lot of people's biases is they're 100% okay at Google with things being centralized I mean you know if they say that there's these three data

centers and you know control their database and they keep the synchronization and you just have to trust the controllers at three it's easy for Google because they literally own the hardware that's running that they can call up you know someone Bob or Alice in the Network Center and say hey is this wire just connected is your clock off and they can work with those people and they can make it work and with centralization like that you can get just crazy throughput going through and crazy high velocity because you have an essential level of trust um you have trust in the centralization you have trust outside of it so I think you know some people why they don't give crypto a fair Shake is because it doesn't fit their immediate needs so some of them they just don't understand what they're looking at and um on a vice versa they have you know no

appreciation for the needs of censorship resistance um because they have the bandwidth to handle everything it's like well why do we censor that we would lose money if we censored an ad or they're fully on board with ad let like no we're not going to you know sell ads about you know Zippy no NOS of pew pew pews because you know that might you know get our other advertisers to run away so they're all rational decisions based on what Google is which is that it's courts and advertising company um there you know now they're transitioning into a cloud infrastructure company um but it permeates and and I I think one of the hardest things I had with being at Google is there are by nature and by necessity a very judgmental company I mean they have 20

milliseconds to make a judgment if this is the right uh um search results return so they have to be judge it really quick and so people who understand that judgment appreciate it to get that personality decip say like I go to a fairly conservative church and I felt more judged at Google than I did at church I mean that's just but that's the nature of the company and that's what makes it tick and that's like a competitive Advantage for them um so like trying to get other people interested in crypto the other part of the coin is what they have works for them um you know they're not they're not operating on the fringes of society they're not trying to push boundaries they're not trying to um you know put a dent in the universe so they've never had experiences with banks saying oh we

don't like that transaction we're going to shut down your account um they've never you know I mean I live in America I'm incredibly uh you know privileged to not have to worry about people following me home and snooping for the government and you know various you know other I mean these these sound like you know when I say these these sound like stuff out of George Orwell 1984 book and you know concerns like that but there are places in the world and people in the world where this is a very real concern for them so the ability for censorship resistance to get a message out um is very important to them and probably the closest experience most um first world people have to this is just being careful what they say on social media because they're because their HR person

might be following them and listening to what they're talking to I mean that's like the closest that some people get to what concerns about you know freedom of speech and censorship are and they're they're more willing to make the exchange is just like I get paid good money so I'm not going to act like a fool online I mean some people are 100% okay with that exchange so it's so you know but the thing is when I came into crypto I mean I understand those those crypto um techno Anarchist I guess is one way to put it I understand and appreciate some of the places they're coming from but honestly what got me interested in it is just the ability to build stuff I love building things and there's really unique opportunities for me to build and I think that's where it's it crypto's created kind of a unique world where you

got the builders and the idealists coming together on the same thing coming in from different directions um from orthagonal approaches and the intersection of those are just exposing some incredibly unique and valuable things that wouldn't happen if just Builders came in or just idealists came in you know just just looking at it at two different angles in the interplay is really opening up a lot of interesting things I mean I'm just going to be honest here and I'll say that I only entered crypto in 2021 so everything I said needs to be taken with eight grains of salt but I I do find that there's really only two Origin stories of people in crypto and one is kind of what you described which is like your work or some project or whatever put you in

proximity with it and just over time you realize that there is nothing like crypto just in the ability to deploy and experiment and to like mess around with stuff that hits like the the open market instantly and like they're really driven by building and then the other part are people that are like in some way have been actually betrayed by the let's call it the Western Financial system right and like I I will identify as one of those people I've got like many stories I have um well any the one that I'll draw the attention to is in 2022 so after I found crypto I was locked out of my assets at Wells Fargo for like three

or four months had nothing to do with crypto at all it w it's like totally Arcane thing but the the result was that I could not withdraw my money and that ended up with me going you know minimum payments and all my credit cards eventually I had to take a five figure loan from my mom until like all of that got worked out and then it did and all well that ends well but like so it in order to turn someone into it let me put it this way it is not hard for people to understand the value of crypto when you've just been like absolutely screwed by the system that crypto like is here to fix and um that's like not even talking about all of like the actual like idealistic reasons like um you know

political so self- sovereignty or like political persecution or being able to cross borders um all this stuff right and so I think um there's a lot of interesting stuff going on in the world but um there there is something like really weird and special about our space and yeah part of it the building and part of it is that we all have a chip on our shoulder for some reason or another but um yeah I don't know I hope this lasts forever because it creates like a very special building environment yep it's pretty weird it's it's a unique opportunity unique Serendipity of of events cool so um we can spend all day talking about your background but like let's kind of get into the the work that

you're doing so you said for the last fiveish years you've been like contributing to hyperledger Bas Su um as well as just been like contributing to the I guess like the Ethereal concept of the evm so can you talk a little bit about um like just give us a brief summary of like the work that you do the five years so far and then maybe end with like how did you end up finding yourself working at hadera but still contributing to the evm the evm for me I mean I've always been fascinated in Virtual machines uh one of the things that drew me to Java they had a virtual machine and I before I you know build complex things with it I read up about the virtual machine and the class file structure and just fascinated with the

idea that it would compile this bite code down to you know Intel or Motorola Mac at the time or now to arm um and you know it's it's a really old concept it's older than me Pascal used to use it um this whole idea of a virtual machine bik code and interpreting it and so it's it's not you know as as um as Greg cvin said at a conference you know that ethereum's future EVMS future is is the past of of computing so it's applying a lot of things that have already been there you know you got you got a stack machine which is a well understood and simple machine that you can be optimized out to other formats um you have your simple math you got you know some operations that help you cross the

barrier between simple arithmetic and the outer machine but when I look at look at these machines this is the first broad-based and widely used machine that um I think uh provides a solution to there's a computer science problem that you you're familiar with and a lot of the listeners are probably familiar with of that of the halting problem so you take these old machines you know they express it in a very weird ways so it could be mathematically analyzed um but the question is given a program without executing it can you figure out if it's going to Halt or if it's going to go on forever and lots of serious mathematical analysis later the answer is no you can't figure it out without actually executing it so that's kind of a problem

we're talking about distributed systems where everyone executing things and exactly the right way and not being able to attack each other is important so the evm introduces a notion of gas and the big thing that gas solves is uh the halting problem so every time you do an operation you have to decrement it um the gas you have to spend gas to do that so you can look at an any contract and the answer to that question is you know if executed will this program conso Halt and the answer is yes because you're going to run out of gas and you're going to shut it down so that's you know kind of of all the VMS that's a necessary change that evm needed to do to solve the halting problem because you can't run stuff forever when you're trying to come to consensus across thousands of

transactions a minute or a second or you know whatever the speed limit you're at if you want to impose some sort of limit and make sure people can keep up and keep consensus you have to be able to close the door on Long running transactions and say' no we're done so being able to to close it you know there's there's bad ways and there's good ways you could just say well we'll just let it run for 5 seconds or 500 milliseconds or five milliseconds and that's great until you start running on on a faster machine and then you have like a program that runs just of the five millisecond so someone's machine that's going to have a bunch of cash faults and swap stuff in is going to fail but somebody who's got everything loaded up in cash because they're not doing everything else it's going to work

so if you just use wall clock you got two different answers um so what the gas notion gives you is the ability to reasonably say no trust me this will come to the end spend as much time running it as you need to um it'll eventually end and when it ends everyone can can agree on what the state is at the end how it ended where it ended and very specific ways and that level of specificity in a smart contract is essential because there is no room for ambiguity when you're trying to you know consistently share millions of dollars of transactions um you have to be absolutely right on everything and there's got to be no room for argument so by introducing gas we can safely do these smart contracts you know not not the best name um verifiable

computation might be a better name you can verify this computation in a reasonable amount of time and come to a reasonable conclusion that everyone's going to agree with it it leaves evidence at the end that you all came to the right solution and so everyone can go on with with their lives that this has been done and you don't have to reason you don't have to continually doubt what's going on with the comp computation so as as far as what Dre me to evm I think those properties are you know very unique amongst all computations which is kind of different from like say you know a Google data center is just like you know if you give slightly different answers to the query based on whether you're you know dialing into an East Coast Data Center or a West Coast Data Center that's actually okay

um because you know some people I mean especially I was reading some stuff up on AI and uh some of the early GPT models they were concerned well why are we getting different answers you know this should be a deterministic algorithm there's no Randomness in there but they split up the algorithm across multiple machines and these tokens are getting processed in at multiple times so there's no Randomness in the algorithm but the implementation brings in a certain you know ordering changes and you can get different things and I think that's you know part of the the brown and motion that makes you know the current generation of AI look so convincing is because it's not always identical it's got these little you know flaps of butterfly wings that just have these huge impacts on the kind of output it gets yeah I'll I'll actually just to

hammer home your point the I I would not have like that would not have even registered to me except for just recently I upgraded my Twitter subscription to the highest one and so I got access to grock right and and the the craziest thing happened to me so or it's not crazy but it was so jarring that I asked it like hey I want to write a better uh copy for my next strange water episode like how can I I improve and you know my thought was like it has access to Twitter data it can tell me like very specific things and so it basically not only did it chunk out this like extremely generic uh just like how to make more compelling Twitter posts but it had like a full paragraph of

jokes and then I was like okay this is useless like I need something that's actually specific to what I'm asking to my tweet so I re I like rewrote the query and the exact same thing with the exact same jokes came out and that was the first time that I'd ever experienced one of these chat Bots like actually acting like deterministically like a machine and and it was so much unlike The Human Experience like that I really felt exactly what was happening there and so um no real point to that story other than to say that it's just like really interesting um that the emergent properties of the system actually like end up being so important to the user

experience of it um and I guess this like completely outside of evm world but just thought that was a fun anecdote yeah but I mean I mean user experience I mean that's that's kind of an interesting tangent to go on there's so much things to go into user experience than just like the pixels on a screen um because when I was at uh at my uh defense Contracting and startup where I was working in in front end user experience is something that's talked about a lot but user experience is a lot more than just front end work um if you're working in Dev tooling they'll recall it developer exper experence because they users or developers and when it comes to AI the experience is not just you know the text that comes across it's the feel and when you get an experience where you give a radically

different query and get the same answer that just like ruins the illusion um that you're talking to a person versus um you know when you are working on you know chat GPT your bar and you give a slightly different query and you get a radically different answer um and then you try and refine it and they say oh I'm sorry I got that wrong or you know it it provid provides more of the illusion is those those subtle things um that really add up to the user experience um that you don't notice I mean you know like uh what like a 90% invisible podcast that you know used to be around um a lot of the things you just don't process consciously contribute very much this developer experience this user experience and um so so to bring it back to crypto I mean

people complain a lot about how crypto's got a ux problem and the is what I think people are noticing is there're just subtle friction points that are so different from the way they're used to interacting with with a computer or with a phone or with their bank account um because like you have to you get one shot to do a lot of transactions and you get one one particular thing just a second let me turn my Robot vacuum off no worries I think its ears were burning it heard me talking about artificial intelligence and it's like I'm going to vacuum the floor and show that I'm doing a good job except it's actually on a timer so it's that's not quite the same but that's those subtle things that you might interpreted as saying oh the robot vacuum is listening to me talking about

Ai and you interpret it and you put this this this extra layer on top of it that wasn't there and that's the essence of the illusion um but like you know the the friction you get with um trying to do transactions with with with crypto and you get one shot you sentence the wrong address it's gone forever um that's not the case in Banks and the reason is you know having been on the backside of Google there's entire processes where they balance stuff out they have people change things and there's actual processes around manually moving money around and manually fixing Ledger lines um to comply with laws and regulations because you you know it's it's pretty well understood that Banks and places can't just steal money even if it is out of um you know out of uh

negligence you know if if someone sends it to the wrong address and you refuse to give them payment for that you know they still have ways to get it back and that's that was what was eye opening working at the back end of payments of Google is just how much of the Global Financial system is still run on duct tape and bailing wire and it works and it continues to work and the reason it continues to work is because there's people committed to make it work and so I think that's why like you know your bank feels so much more human and personable is because there probably is someone on the back end when your transaction um doesn't add up or they gets sent with the wrong tax information someone's there fixing it and making it work when the when the um accounting reports come back and say oh you're off

by two cents you got to go figure out what went wrong they'll spend hours going through figuring it out and you know if a block comes back in ethereum and it's like you know too too way off um it'll just get thrown out and say nope try again so it's kind of a different experience yeah well and just to uh be on the crypto side and not give like um traditional institutions too much credit I think like part of going back to the experience um conversation like yes like they kind of feel more human and like yeah like more things can happen just to like fix a mistake but like the flip side of that I think the further we go into the 21st century the more all of us understand that like okay

if we complain hard enough loud enough and like big enough like maybe we can get a company to like bend a little bit to our will and so like I find like my experience in life these days is like so much time like whining to companies and businesses and corporations about like hey you guys should have done this I know that you don't want to do it the right way but if I like make a big enough stink like you'll probably fix it and I think something that's like really refreshing and different and yes scary but different about ethereum or about blockchain is that like you just know that you like you're going to get what

you're going to get and there's no one for you to argue with like and it to to where we started this conversation like it is deterministic like if you do this it'll happen and it's over there's no one to talk to about it and for me that's much needed in this like more and more chaotic and like needing to fight for yourself world yeah I mean it's the downside is code is law bugs and all um but on you know on the flip side you know it's very dispassionate and not targeting anybody for a particular reason it's just you know unfortunately you trip the you trip the wires and you get a deal with the consequences so uh let's go back to talking about the evm so we we started this conversation

talking about um like all of the the nuts and bolts of the VM nothing is new there it's all taken from things you know from decades and Decades of computer science research um but what and then then we talked about what the introduction of gas does is allow us to solve the halting problem and because we can solve the halting problem we can now you know um feasibly build a distributed computing system um but like that's the evm as it is today right and like it works like I use it often like it's great I love it but to the like you're still working on it right so can you talk a little bit about like what are

the big gaps in front of us today that um like let's say we completely aifi got too political every core Dev decided to go work for a bank like what would the evm as it stands today like where are the big problems that make like ethereum not yet the world computer so there's a couple of things um in the current way the evm is set up that we're trying to fix with a project called ethereum object evm object format it's not ethereum object format it's evm object format um in a core it's I would say it's mostly a container format and a few key changes to some to a few base assumptions of the way the evm works um the first thing about a container format

it's you know it just says here's the data here's the code here's some stuff about the code go run it we're not changing anything about the messaging model we're not changing anything drastic about the operation codes we're not changing anything about the account model at ethereum we're changing one part of how we're packaging it and it solves another problem um and these are all kind of interrelated problems it's like you know the S there's a hole in the bucket um we can't have you know immediate arguments because um know we can't have static jumps because we can't have immediate arguments we can't have immediate arguments because we can't verify the code we can't verify the code because we don't have a container format we can't have a container format because there's already code out there and it's like this this whole thing you can't

just fix one thing incrementally you got to fix it all in one go to fix everything at the same time so so I mentioned um um Dynamic jumps um one of the things that that the evm does that's that's fairly unique amongst most EVMS is allows you to do branching control based off of data off the stack um most other VMS like you know Java and net and wasum they have very you know they either don't let you do it they make you have your jumps be static or they have very restrictive rules about how you can introduce that value into the stack um and the problem is with you know and and an ethereum solution to try and solve this is they introduce the jump test argument meaning there's only certain places you're allowed to jump to it's kind of like it's almost like there's an

old joke language called intercal they don't have go-to statements they have comes from statements so you don't say you come from this spot but you say but you could land here so it's it's kind of you know unintentionally you know going to some really old computer science humor um but the problem that this you know the dynamic jump that you could put so so the structure is you could have you know you could have something in through call data and you could put that call data value on the stack and then you can use that call data value stack to jump to anywhere in the program so there's a lot of analysis you can't do because someone could introduce um random values um from outside the system to undo all of your static analysis so it makes it so you can't statically analyze the evm you have to take it as

it is um and the other problem is then you don't know which one of your jump dusts you're going to go to at any point where you jump and you know when you're interpreting it and running it that's not really that big of a deal because you're just you just point it to the PC as you need it but looking at things that are going to be very important in the future of ethereum um there's you know zero knowledge proofs and so that's basically you know you can get a short answer of how you run the execution of the evm you can get a hash at the end of it but zero knowledge proofs to basically take a bunch of checkm data along the side and verify this check sum data and prove that you did the math correctly so that other people can take

this do a little bit of math on their end and be sure that you ran it correctly without having to run it themselves but when you have really complex things like you know static jumps that could go anywhere in the program it makes these zero knowledge proofs much more complex than they need to be um they've had to invent new techniques of how they're going to go about analyzing it the whole arithmetization off of solving some of these problems um and that's because we have Dynamic jumps but we can't replace Dynamic jumps jumps with static jumps

unless we can have an immediate argument and so that gets into the problem why we need eof is because well if we just introduce an immediate argument um what if there's old code that has that old op code and that immediate argument then contains a jump destination then you've changed the meaning of the code just by upgrading the software and that's bad for long-term stability so you know really I need to show a graphic about this and tell the story about it but basically because because of that we need to have validated code that needs to exist in the container from that we can get rid of dynamic jumps and only have static jumps and with that you know the the ipsilon team from the e theum Foundation has also introduced other long-standing and decades old concepts of things like

stack validation um you have to follow certain rules on your stack validation um and code validation and from those you can do some really interesting Transformations rather easily um the the biggest deal one is um with a well formed I mean you could do it with well formed evm but with eof you can always do it you can do a transformation where you take the stack machine and you convert it to a register machine and that's kind of important because that makes ZK Transformations really easy because doing Stacks in some of the ZK languages is not terribly easy um you it's like going back to my experience in uh uh math when I was doing um differential equations the last bid is

always about for your Transformations and it teaches you one of the greatest mathematical statements which is just figuring out where your coordinates are and how you view it can make a completely interactable problem trivial um so you take this these really complex um mathematical relations you apply the right for your translation on it and you're just doing addition um but there's complex rules about how you transform it and you got to do the right thing in the right place that's entirely what some of the class is about at the end is you know when you can do it and do it right um I bar scraped out of there with a B so I'm not a math major um but in that vein being able to go from a stack machine to a register

machine can be huge I mean what's what's surprising when you look at op code execution um stack manipulation is like a large percentage of the time spent executing the the VM it's not doing the math it's not doing the calls it's not access well storage takes a long time because it's expensive but from a raw op number of operations it's mostly um stack manipulation duplicating and swapping and pushing onto the stack and off the stack and if you can reduce those to register operations there's like you know 30% of evm execution that just disappears um because it's just moving stuff around so that's um so when I look at evm and eof one of the complaints that I get um from people saying why are

we doing this you know one of the first questions they have is how is this going to make the node's life easier how is this going to make things better for a validating node and there's some small things you know code will be slightly smaller you'll get a little better gas efficiency you'll be able to get more transactions in if everyone uses the but the real big benefits are outside the validating node and so having a well-defined VM that can do these Transformations is great for zks so they can move to compiling the the smart contracts into ZK directly rather than making an interpreter which will make ZK more efficient and easier to create and faster to create create um but also you could you know cross

compile it into llvm and you could make Java code or arm code or Intel code that would run these contracts and the people that are would be super excited about this are these Mev Builders um some of them have done this by hand already they takeen some of these swap contracts figure out what the real logic is in Rust and so they can look at these transactions and if they know that this addresses a swap contract they can calculate it much quicker um because a lot of people say well the evm doesn't need to be quicker if the data storage is if data storage is the real bottleneck but again looking even further down the road um veral trees is going to change how the storage works it's not going to solve all the problems but what's really going to solve the problem is State proofs veral trees make

the estate proof smaller and with these dat proofs the cost of caring the data from the disc goes away because in the proof you bring all the data that you need um so you can do this you know you could you could valid you could run a validator in your web browser possibly um if if everyone if you wouldn't be able to generate the state proof but you could validate the state proof and probably keep up in time if these are done properly because you wouldn't have to have the dis access so it's features like this that you know it doesn't necessarily make it good now makes it marginally better now but we're looking further down the road it just unlocks so much more potential and it's it's just like the that user experience thing it's the little things that you don't notice that are going to have

cascading effects down the road that are going to make things so much better and that's that's got to the hardest thing in advocating for eof is getting people to look from their immediate problems which are which are very important and very very severe to look further down the road and try and you know work multiple steps down the road but you know decentralized coordination is so hard that just you know working on the media problem is victory in and of itself so first to be clear like um this is g to be basic for all computer scientists but what we're talking about here ethereum evm object format m is about the way that your you write your code let's say in solidity or in Viper and then a compiler takes your human

readable code and translates it into machine code and what eof is looking at is that compiler today every single compiler might have like their own bespoke way of translating your code and creating the machine code and these things might come out differently or come out in different formats and what what you guys are saying is like because all these formats and we'll get into this in a minute but because all these formats are not the same the evm can't like make any assumptions has to treat each one as like an individual like just read each line and do each line and uh because of that like we have a ton of overhead we can't do any um like we we

can't do any analysis on the objects like we just kind of have to take it as it is and then hope uh you know so so first of all is that like a a somewhat huffle together understanding of like the problem it is today right yeah it's like going to the grocery store and what we have now is you have to take each individual item and carry it by hand and eof would be like let's have a bag for cold stuff let's have a bag for Meats let's have a bag for cans and so it comes down there you put it in bags and you have bags for different places and you know if you if you don't want your raw meat touching your produce great we don't that raw meat goes in the raw meat bag produce goes in a different bag and we can handle these things a lot quicker

and a lot more efficiently and make better assumptions about all the cold stuffs in the cold bag versus if you just take each item coming down the grocery um checkout lane one at a time you have no idea what you're getting and it could it could be a head of lettuce followed by a raw steak and in this analogy it's like you get the head of lettuce okay then you need to Google what to do with lettuce and then you get the steak and you have to Google what to do as stake and each time you get a new thing you have to figure out what to do that's great analogy so it sounds like uh based on what you just said to us that there's two major things worth picking apart on the benefits of eof the first is about the static analysis and

we'll pick that apart in a second and the second is the implications for ZK slash um other Computing environments so on the static analysis so let me repeat back to you what I heard and you tell me if this is correct that today because of the jump D this is a machine code argument so no programmer ever writes jump D this is what the um the compiler puts out there no no uh developer with asteris but um so what that command essentially says to ethereum is okay when you reach this jump to this instruction based on like the information I'm giving you right here

and the problem with that is this information I'm giving you right here like that may not be known before the program is actually run like let's say you're getting that information from chain link because it's the like it's generated on a second byc basis or let's say that you're getting that information from a smart contract that updates once a year or the point is is if it's if that information is coming from an external Source like you just your analysis is over until it's time to actually run it is that correct right I mean it's like it's like having a street map and knowing where all the turns are but you don't know what direction you're going to turn until you get to the turn and with with static jumps you get a list of turn left turn right turn left

turn right and you can look at the map and you can draw a conclusion of where you're going to be but if all you have is like there's five stops um and you don't know which turn you're going to be at you can't really optimize for where you're going to be so yeah the dynamic things is basically you get to the stop sign and you go to the person back say which way now um and they'll tell you the backst driver at that point will tell you vers verus if the back street dver says you know take a left on Main Street and take a right down Fifth Street and then take a left down state and you know if they tell you that ahead of time then you can say well okay you're going to state capital I know a faster way to get there and you just

take the other way makes a lot of sense and I I know that you weren't um necessarily involved like in day negative one of creating the evm but do you have any sense of why the evm was created with the jump desk problem and I'm just queuing off this because you said that most of the other VMS don't really have this problem like they either don't allow jump dusts at all or only allow you they only allow the compiler to introduce it with really strong safeguards what happened in E theum that even allows it forces us to have this problem so the other systems had multiple additions where they could figure out ways to break it in ways that cost Security tax and they had lots of

time to think about it and years to actually come to a solution and ship a new version that's incompatible with the previous version and they can just say too bad recompile your code um don't really have that option in ethereum so when evm as it was shipped on the first launch block or the Genesis block there were certain Commandments we had to keep forever and you step back from that and the stories that I've heard is the evm was written basically in a weekend and it got to the point where it was good enough and there's there's a lot to say about this approach to solving software is like when things are good enough the right thing to do is to move on and deal with more existential threats like what's our proof of work algorithm um so I wasn't there but everything that I've

heard it seems to indicate that what they worked on on a weekend um got them to the point the central point that they needed to get to and there were much bigger um problems that need to be solved that required a lot more attention so in that sense you know it's like it's like you know being a middle child you know um the younger child always has more things to do and the older child's always causing more problems and if you just fly under the under the radar um you're not going to get the the the you know the level of concern and attention that your other siblings are going to get and it's just because you know of unfortunate circumstances there's you know I don't think it you know so so the jump dust I think someone had brought out a concern that you could jump to any point of the

code and it would cause problems and that was one way um to make sure that things were fine and I think the big issue one of the big issues Beyond jump dest more than just jump D is there's a secondary that you can't jump into push data um so when when you write the code you say push one push two push three and what you're saying is the next one two three or 32 bytes in the code is data and is not code so what the jump test analysis is really doing is making sure that the jump desks are not existing inside of that code so in that in that push data so you can't jump into stuff that's never intended to be executable data so I think you know jump dust and jump dust analysis are there to solve those problems of you know getting the

the the minimum viable product on code validation that they needed and you know when they moved on it got them where they needed to go and dealing with the problems we're having with evm object format and and ZK snarks there in a category of problem I call problems related to success if ethereum wasn't successful this never would have been a problem and they could have just started over launched a new chain done it quote unquote the right way I mean um what you know Libra and DM and now abas and so we have with with Mo VM they're really building a off of that prior experience and they had the privilege of having the time and the people with you know who obsess over VMS and knowing the impact and seeing what

it was to get it right on the first try because it's not their first try it's like you know the third or fourth revision um when you look at all the other systems so you know I think it's just you know the reason why we're in the situation is because it was the the most simple thing that could possibly work and it worked great and now that it worked great you know we got to work our way out of it yeah well I that it's a great way to uh segue into the second point you made which is eof like really changes the game and makes things like ZK more viable and I think so quick anecdote um back in I want to say November of 2022 so a year and a half ago a little less I was up in Seattle

and I met with SRI Ram Kanan of layer one of the comments he made to me which has stuck with me ever since was he's like Rex you know once we are actually looking at verifying ZK snarks like those are so computationally expensive that like it's Pro if you're looking at a full gas block of 30 million gas right so it's as much like computation as you can possibly do in one unit of time his estimate was like we're only going to be able to verify like 12 to 15 snarks per block and um I have been like I've I've asked this question on the show a few times to different people I I've been thinking about this whole time because if that's true then as much as like the modular

blockchain thesis and and all this ZK technology is like going to scale a theum like it's not g to it's going to scale by one order of magnitude but but what I finally found the answer I'm looking for and it sounds like you're working hard on it is like by changing the by creating eof and making some like small but like really important and really compounding changes to the evm we're able to like make much more space within the evm for more ZK and to make the evm itself more um hospitable to ZK and so like if a year and a half ago it was 12 to 15 snarks

like without even being more clever about the ZK or any of those kinds of solutions like what you're saying is that with eof we'll be able to get like much much more uh let's say verifications per block than we are able to do today and even beyond that I mean there's more than just ethereum mainnet and so you have ethereum main net and the goal is to like you know one day snarfy ethereum main net and try solve the execution layer but you have like all these layer 2os and these alt l1s and so with eof you could even change some of the rules of your Layer Two For example you could say only these five contracts are allowed you know you got Unis swap you got the um you got the pool contract maybe you

got a few other contracts so if you set up a system where only those contracts are allowed then you can take the evm ver evm the eof version of the evm and if you wanted to you could you know interpret it and come to the correct answer but you know instead you could just you know make ZK snarks of each one of those fives chain those together and then you have two steps of this narc you you know do all 200 transactions in parallel they don't depend on each other which makes the proof smaller chain those together then you have another ZK snark that recursively um groups those together and you prove that each transaction was done properly and you prove that each transaction was grouped together and so you could have a chain that could get these outlandish numbers um for defi if they want it because

you're limiting it to defi um and those you know I think that's I think where some of the future of ZK is going is you just need to be smart about what you snarking and to have the wide openen sandbox with anything possible Under the Sun permitted by the evm you know that's that's where some of the hardest problems in Zite is and where some of the most expensive computations and in proving that what you did is correct exists and you put you put limitations on it and you can just you can go to the Moon um it you know it that makes it exponentially easier if you could say there's only five contracts and actually we've seen this like the market has shown us this which the the ones that that are off the top of my head are ZK sync and uh starkware where like the

first things we saw were like them developing this incredible Moon maath technology and then deploying it to like really really tight purpose-driven applications like dydx or zigzag or whatever and that's exactly what you're talking about um but what you're talking about is being able to inject it directly into the evm and then make it ethereum native right and probably the quickest path to Victory is to take eof code cross compile it into Cairo and then just let the rest of the tool chain do its thing very cool man so I think we can go all day on evm and uh object format and like just like the insights that you gave us already are so good but with our last few minutes here I really

uh want to take a moment to talk a little bit about herera and and what you're doing there and we can talk about hashgraph like I think that it is so like interesting but also maybe a little too visual to do in a podcast format so whatever is uh needed to talk about what hyera is I'd love to hear from you but I think like the big question is like what is really cool about your story and what you're doing is that you are ultimately always contributing back to like the Beating Heart of ethereum the evm but you've been doing it by like working for like for example um consensus and working directly on a

client to working on hyera which is its own independent chain and um so I guess like I would love just to hear some insight on like what you think the value of alternate let's say side chains l1's like things that are not directly tied to ethereum and how much uh your kind of work can contribute back to mainnet I think you know when you look at my contributions to hyera um hia itself I think what makes H unique is the gra algorithm the algorithm is something um that they call asynchronous bft and what's what's cool about it I don't you know I'm not I'm not the the I didn't invent it I don't know the much of the I don't work much on the consensus layer consensus really isn't my thing but you

can take your nodes that that are running this consensus and they they do their hash graph they they see that a that a transaction is given they share it with all their friends and what's unique about it is they use ayylic directed graphs to come to the conclusion of when a particular transaction was entered into the system and they come to a consensus agreement about what time it happened and that ordering is completely and totally separate from the from the subsequent execution of the transaction so that's one thing they've got a full separation of execution and ordering they do ordering first and then they do the execution um but another very unique thing about it is it's leaderless um it's not really block driven because um

you you do it and the order stuff comes in and the stuff you you do ERS with I mean they they put a structure well I'll come back to that when I talk about the ethereum bit but so so stuff comes in and you can independently come to the conclusion if if assuming everyone else in the network was voting on us this would be the state of the network and you don't need a leader to tell you that so it's a leaderless algorithm so everyone is basically producing transactions full speed fulltime um there's you know no waiting for Block election no waiting forestations to come back um when you know as you gosp around your transaction sets that basically serves as validation of all the other transaction sets and that's what's really unique about hashgraph is it's there's it's really

difficult to play the Mev games that you can with a blockbase system with a memory pool based system there's not really a memory pool per se there are some Corner cases but there's such a narrow time frame for malicious nodes to do malicious things I think it's it's got some state-of-the-art stuff um but padera when they first started building this they didn't you know know when they first put their algorithm together it wasn't as obvious that that evm was going to be the market winner so they made a lot of their own independent decisions based on their own independent experience about how they're going to build their token system um so they have a set of services built on top of the hash graph that is completely separate from the consensus algorithm and there's HTS a token service HCS basically a timestamping uh Providence service and

then the smart contract system um so what brought me into hyera is they were looking at their contract system and they saw that it was based on Old constant Apple code this is back during Berlin it was like you know three years old it was based off of a project that had since been Sunset ethereum J was their code base and they realized that they either needed to Sunset the smart contract system or come up to speed and be current with evm so I came on board and um one of the things I did is I took the Basu evm I made a library out of it I pulled the pieces out um so that there's an independent EV M library that fell out of the Basu code and it's part of the Basu client but you could take the uh the independent evm code and you

know there's another project that just came in hyperledger called Web 3j is developer tooling for smart contracts in Java and that's what they do they take the library so there's like three different users of it and so Hader is another user of it and so they've taken the library and they've layered it on top of their current system and one of the problems with um a system like that and I've outlined it in some of the talks that I've given and like Dev connect and uh previous devc cons is there's just an impedance mismatch they just do things slightly different and getting those things to fit together is where a lot of the work in ethereum equivalence is and I think we finally as a team gotten to the point where we can say from a tool perspective hadera is ethereum equivalent um so even though

things are put into you know like this unordered SE this ordered sequence we split it up into blocks we we make a a a something for a block hash that would support that so that all the external tooling like um hard hat and um Foundry can go in there and it looks like an ethereum system it's got Json RPC um hyera when they first built it they used grpc which in a void not knowing what's going to win the market is a very sensible choice but the market sense moved so they need to move where the ball is at and so they have ajacent RPC relay that can you can use your metamask wallet in um hadera also has an ecosystem of wallets that do talk native happy you can do more exciting hidea specific things with it like stake your

hia on a h on a hia specific wallet but you know when it comes to people who just want to run Unis swap or run their smart contract they written in solidity and get support on another chain you really need to have support of what are essentially industry standard interfaces of submitting a assigned ethereum transaction Json RPC to submit it Json RPC to query it um these standard things are are the things that I've spent the past two and a half years along with several other people on the smart contracts team I think it's about like five of us right now six if you include our manager um I mean you should the manager part of the team he's just not the one writing the code all the time so you got to give them credit but we know

we've been we've been building this along with the rest of hyera to actually get to the point where it looks on the surface just like any other evm chain um it's not perfect there's always going to be impedance mismatches you know it's that's just the nature of it it's it's most of the way there unless you're doing some really esoteric like you know if you're if you're really depending upon uh gosh there's like some weird strange Corner case that that you know you might be able to tell the difference that I'm on hyera and not on ethereum and it's like unless your code really depends on that you'll be fine and most code doesn't I mean unless you're unless you're writing um unless you're you know unless you're writing some real serious layer um some serious Dex Mev

stuff that you need to figure out you know is this block the current block that I'm in um the one that I I proposed then you don't really need it I mean those are like the the very edge Corner cases of where it would matter of of the differences that are there and you know we get rid of those concerns Mev is not a thing on hadera everything shows up in the order you get it that's kind of a unique thing and it's yeah it's it's pretty interesting so that's when it comes to allel ones I think that the value of allta ones have even if if the evm dominates and you know you got movie you got fuel VM you got a bunch of other things coming in Salon VM Salon VM we're starting to see the growth of a modular system which I think is great so you can

have your own VM you can have your own data availability you can have your own consensus and you can mix and match these um and I think that's that's where hadera can provide you know some unique Valu they've got a different consensus mechanism um that is fairly unique in Industry yeah and listen like I don't want to um like talk anything negative to alt ecosystems I I think like there's so much there's our industry is so tiny and there's so much growth to happen like I encourage everyone to do whatever you need to do in order to be building that's the only thing that matters is be building I guess like my question to you though as someone who uh or coming from someone who like even though I don't like the label I'll just say it like I'm an ethereum maxi my question to you is

which like what are the lessons and insights that you're gaining by helping hyera achieve evm equivalence that that like you think are really interesting and worth bringing back to ethereum to make like the evm stronger than it was before you like really looked at it from this New Perspective see I don't know if it's something that could necessarily be brought back to the evm I think the probably the one thing another thing that's important about hedera is it has strong corporate backing all the nodes are operated by very large corporations um they have a council that operates the nodes I think there's 30 node operators and they make a point in the council to say that this can't be your only line of work so when you're operating a node

that provides an extra layer of assurance that you're not going to do anything unto Ward because that would threaten your livelihood and the thing that's a secondary to what your your node operation is so that's one of the unique things so one of the things I think you know alt can provide that that main that may not ever be able to provide is a certain level of regulatory comfort so so like if you want to run uh if you want to tokenize something three old assets and some regulatory agency says well we need to be able to identify and take to court anyone that's running software validating your system um there's no way you could do that in a theum because that's the point you don't know who's running the point yeah but in

something like hyera where you can identify by name who the node operators are and you can figure out who their legal counsel is that provides you know a layer that that some people are just going to need in the future and I think you know maybe not with uh ethereum itself but you know there might be layer twos where that is a core corporate value is that yes we're a registered company and some jurisdiction and if we do something unto Ward your insurance company can come and sue us you know if we validate something wrong and don't follow the protocol correctly you could take us to court and get the assets um it whether or not that is actually valuable to some people the possibility that they could do that is really what they need um so I don't think we'll ever

see any of these lawsuits that you operated the the blockchain wrong but to be able to think that you could go there and have legal standing against some entity um is something that I think a lot of bean counters are going to say that's what we need we need the option to do it not that we're actually ever going to do it yeah yeah and I think I I I think you're spoton and this is the world that um like the world that has the world computer pumping at the center like will look like that right and I can totally imagine a world where like we have let's say5 trillion dollar of real world assets on chain and like 4.5 trillion of those assets are in JP Mor Morgan Onyx new Wells Fargo chain

like new City Bank chain and like we you know these will all start as like private l1s just like JP Morgan Onyx is and then eventually all of these companies will realize like okay either this should be an L2 and settle onto ethereum or there's no reason to mess around with all this consensus stuff like we all trust each other we all know each other like might as well just Sue each other if something goes wrong and so like I I fully believe that like the endgame state of ethereum is that turns out all the assets do live in places tied to specific people where we can sue them if something goes wrong but like what ethereum provides very simply is the rage quit option and the the ability

to take your assets back into custody flee your country move to a new place invest in something your government says you're not allowed to invest in like whatever you want to do in this world that is becoming more and more globalized like ethereum will provide that option but let's be real man like how often have you done any of that stuff right you're not going to you just having the option is nice it makes you feel more secure to know that you could Escape very cool man well I could go for like literally another 2 hours like I there's a whole category of questions on hyera that I'd love to ask about but um for for the sake of our audience to schedules and ears and just ability to pay attention I'll cut us off here so

Dana before I let you go can you just uh share first like how can people find you follow you learn more about what you're working on and then second if they um are interested in eof or evm and like really want to be part of the team that's pushing ethereum towards the endgame State like how can they get involved so um I have a fairly unique username it's not widely used by many other people it's Shemon s h m n o n so I have that on Twitter I have that well X Twitter X I have that on GitHub I have that on um telegram I don't have it on Discord I have to be likeor shennon but you know those are the places you can get a hold of me my DMs are open um don't just say hi ask what you're asking

for um when you connect to me I I I get too many high uh DMS on X right now for me to just even deal with it but yeah you can reach out to me get a hold of me on those places um if you want to get involved in eof um it right now it's still in a very technical phase um but there's calls there's uh every Wednesday um at uh like 10 or 11 UTC maybe noon UTC I'll have to look up the calendar but there's a standard if you look at the ethereum call calendar there's an EF call that happens every other week on Wednesday um you can also um if you want to pitch in there's like on the ethereum research Discord there's an evm Channel um you can get a hold of people there um but I think the thing

about eof is if we do it properly um the way that you participate and use eof once it ships is you just use an up-to-date version of solidity and it'll just spit it out it'll be that transparent that's the goal we have is that most users will just say oh it's faster on the inside and they won't know the details and it'll have zero impact onto them and if if we can reach that level we've done it right but if you're Technical and want to get into the details and and ask about you know what's DC validation algorithm we're doing you know we're we're all ears um that's going to be in the ethereum Discord or if you just want to you know follow what's going on with it there's the alore dev Recaps that that um Tim and I think Christina Kim pass around on

Twitter a lot um from from Galaxy research I probably got her name wrong um but I follow it a lot um but yeah there's a lot of places you know hit me up if you have any questions and I'll do my best to answer them yeah man much appreciated and I hear you that we're in a technical phase of a technical implementation and so like it's tough right but at least for me who's non-technical like I every single day I just find myself like reflecting and just being grateful that like we're able to watch like a generational technology that really will change how like humans interact and live in this world like we have an opportunity to like literally

watch it happen on a call by call or a codeby code basis and even if you can't contribute in the way that you're thinking um you know like this is also a contribution right it's like getting people excited about it like learning why any of this matters and like hopefully for someone like me is eventually like building a company and an Empire using the tools that you're building for all of us but I uh I just I encourage anyone in that's listening to this that's interested and is not a hardcore developer to still get involved and still like just understand that like this is a special moment in human history and you get to be a part of the world computer coming online and cherish that yep pretty pretty neat time great

so Dan thank you so much I really appreciate the time and uh be well man sounds good n