The Hedera Journey: Combining the EVM With Hashgraph Consensus | Nana Essilfie-Conduah - Hedera
Ethereum Denver·Thu, Oct 9, 2025, 12:00 AM
🚀 Get Ready for ETHDenver 2025! 🚀 We're already hard at work preparing for next year's biggest Web3 event! Keep your eyes peeled for more info on ETHDenver 2025—it’s going to be epic! 🌟
Transcript
[Music] BM along with the hash graft consensus mechanism my name is Nana esopi Kia I'm the director of software engineering at hash craft and um one of the things I've been able to see out throughout my career is that technology though complex and with many of its applications honestly it needs to just be simple it needs to work right so one of the things that we as Builders and even technologists have to keep keep in mind is it doesn't matter sometimes all the amazing gains that we're doing when it comes to our users it needs to be simple it needs to be it needs to work so some of you may not know about herera some of you may have heard about it and maybe have some misconceptions so let me highlight hyera is an open source proof of stake evm equivalent Enterprise grade scalable blockchain right there's a lot in there but let me highlight some things herera is able to do 10,000 transactions per second n right I am able to choose any of you here today and maybe 10,000 of us could come together and that would go off without a glitch and This Is Us throttle so this isn't our limitations in terms of the technology This Is Us just saying that we think 10,000 is okay for now but every month I assure you that we run tests above this and we've had companies try and get to this level and haven't been able to yet so we're quite confident at this part but we'd love to have you test us out we also pride ourselves in having cheap transactions and so you can submit this you know crypto transfer for up to a third of a cent right we want you to be able to bring your users and as part of that it's important to keep the costs low we promis 3 to 7 Seconds of finality now i' I've given you a range there and I want to talk about those numbers in 3 seconds after you submit your transaction we assure you it will be in the blockchain it will be part of consensus you will know for a fact you don't have to guess and ask if it's going to be included within 3 seconds you will know within 7 Seconds you will have the results of your execution all right so you'll be able to see how the state has changed all the information around it and for many developers that's a game changer right you don't have to wait minutes you don't have to wait on that you know spin in clock to go see if it's really in the blockchain at all and for evm developers one really big thing is that it's 15 million gas per second so we have 2 second block time so 30 million gas every 2 seconds but every second we can support evm transactions up to 50 million gas now as a developer again ask yourself how many times have you had hit that limitation or add to weight what does it look like when you don't have to worry about the availability of gas for your applications we also pride ourselves in being really good on the environment and so we don't only like to say this but we like to be on the receiving end of independent investigations so fortunately the University College of London did a study on many blockchains out there as well as the Visa Network itself and you see that really small green blob up there that's us right so we are one of the greenest if not the greenest blockchain and in comparison every time you swipe your Visa transaction we have a thousand times less energy incentive than than that some of you may have heard that herera is not a blockchain let me clarify herera is a blockchain right sometimes what happens is that the definition of a blockchain ends up including things like the consensus it ends up including things like the actual data structure those are implementation details those are architectural decisions but if you think about it a blockchain is really just a distributed Ledger that orders transactions that's the important part right it links them together and allows for anybody to independently verify them using cryptography right so you again um on the basis that a block is a collection of transactions sometimes you may have heard in the past from traditional blockchains right you'll see what you see on the left here where the blockchain is moving forward in time but you have these offshoots some some people call unle branches unle blogs but there's this idea that you could submit a transaction and not know for a certain amount of time if it's going to be finally included in the blockchain right on the herera side we group what we call as transactions into first what we call as events and these are gossiped out to different nodes those events are ordered and then they're put together in in in a block and so on the herera side you have this single stream of Consciousness as it were and as I mentioned before within 3 seconds you'll know that your transaction is included you might ask how do we do that how do we how are we so quick one of the secrets about it again this is all open source so you can check this out one of the secrets is um our consensus mechanism um the hash gra consensus mechanism and part of that is gossip about gossip and it is what it sounds like you know back in grade school you might hear people gossiping we're gossiping about that gossip so every node is gossiping about what it's heard so in Simplicity you let's let's take an example if you look at um let's say Dave right all of these vertical streams are the consciousness of a node in the network Dave has received an event from Alice right that event is made up of a Tim stamp of this event that you know is about to submit all the transactions that the node is included and two hashes two really small hashes that allow us to do something very magical if if Alice includes a hash of her event and Dave includes a hash of his cast message of Consciousness once we sign that and you send that off you have this interesting thing where the moment I receive an event I know exactly what you know when you found out what you knew and from who right and so this this hash graph this data structure you see on on the right is the consciousness of the transactions and the events going throughout the blockchain and therefore this is very useful when it comes to consensus because I'm e easily able to say that the conclusion that you came to when we came into consensus is either right or wrong because I know exactly what you know you know what I know I know right and we all know when each other found it out and so gossip about gossip like I said allows you to know um basically the history of of the blockchain so coming over to the evm side a couple of you will know this very comfortably but let me highlight it for you the evm the ethereum virtual machine at its Simplicity is just a computational engine right it's a state machine what that really means is that with a start and state and a given transaction I can execute that transaction with some predefined rules and take it to a new state and at that point the network is responsible for persisting and making that new state permanent so in that case you can see that the evm should be Network agnostic it shouldn't only rely on ethereum you should be able to take this evm machine and move it to other places and specifically herera uses the evm as an execution client right so we take in EV M um transactions and we execute them within the context of our network but you know to me that's an idealistic View and that's how I see the evm and and some others the challenge is that when you're building complex things you make some assumptions you don't always get it right ethereum has done really great things but in my view some of these things should have been configurable aspects of the network I'll go over some of it the fact that every time there's a hard Fork you are taking away or adding capability that may no longer be backwards compatible is a challenge for many businesses right if you wanted to scale some of the applications that you're building companies and users might not be on the receiving end really happy that you know this functionality could be taken away on hyera we pride ourselves that with the features that we add we continue to make sure that they're always backwards comp compatible right and so we put a lot of thought into this and so that was one of the challenges we Face the evm Json RPC API is also very specific to the evm so it only really talks about addresses blocks and and contracts and accounts right but what happens when your network does more than the evm right should you be forever limited to what the evm does it's also only gas based in pricing which again is good it's a it's a great decision the evm was smart in what it did but all it's saying is that it can only compute the amount of effort that the evm does but again if the evm is in another Network all the other work that the network does the evm has no capacity to basically appreciate that and express that in its API so that was another challenge the evm also overfits for the 256 big uh elliptic curve this is actually something that um vitalic mentioned that if he had the chance to do it again he would probably choose the 32bit or the 64bit um curve in that regard and add you know some some considerations for more complex math and this is a limiting function because um for us this was not a limitation before the e M also speaks about specifically ecdsa based type cryptographic keys right and there's certain assumptions that are made here again a great choice for the time but something this something like this should have been configurable to other cryptographic types especially when you think about the future or Quantum computed and everything else this is going to be a problem at some point in time the kak 256 hashen is also another thing where it should have been you know configurable uh for instance herera natively was using the Sha 384 which is more you know secure um but again great choice should have been configurable and then finally everything that we're doing gets settled in ether which has 18 decimal points this was for a good reason but again shouldn't be something that people are locked into so with all these sort of uh implementation details assumptions and breakages we at hadera had to figure out do we want to support the evm do we want it to be compatible or do we want it to be equivalent there is this conversation about you know compatibility versus equivalence because of our user base we thought that equivalence was the right way to go and we didn't want to fudge things in the back right and you might ask why did we do the harder thing the simplest answer is our users were asking for it you give your users what they need right and so we wanted to meet them where they're at a lot of users have information like you said like yourselves who have already understood the evm you've you've written smart contracts and solidity you built up on a lot of knowledge and you don't we shouldn't have to force you to learn a whole new API or a whole new language we should be able to to meet you where you're at again we're all in the same web 3 space working towards a greater goal and we'll all make different decisions but we need to be able to collaborate as well so um we decided to adopt that the evm so that we could speak that same language as many developers and Builders and product owners out there and ultimately we also want to um encourage open source contribution in this way we can have people who are already in the evm space contribute to hadera's open source and herera open source developers can also contribute there so now that we made this decision I like this image because it's it's it's kind of early 2022 the journey that we set out on right you see this Valley it's it's not it's not even but you feel like it's table right you see these large Hills you don't know what's on the other side but you know you have to get above there right so this was the pursuit that we had ahead of us and we decided to focus on three main areas security node features and experience right so security is one of those things that when it becomes a problem you wish you had done it earlier so from past from past experiences we decided to focus on this early on so let me highlight a few things the evm has this really cool concept of an account can only modify its own account right the way it does this is by comparing addresses so in that top layer that green um figure is URI we take the wallet we sign a transaction we tell the evm that we're trying to execute contract a all right contract contract a has some details about who the sender was the address the code in execution if any value is being set and other things contract a might call contract B and you see the same thing contract B context it has to highlight to the evm what code needs to be run what state is being run the originator the sender the value these details are really important to ensure that the security of the evm is is is enhanced so if contract a tries to change something on contract B it's not allowed because the the the sender is not contract B however what's interesting is that contract a at the bottom could be made to call Contract b in a very interesting way some of you will know this as delegate calls but you can run contract B's code in the context of contract a so the business logic or like what the solidity code would do will operate on contracts a state this is useful but it can also be the place where a lot of security breaches happen this is a little different than what herera does herera initially says that you sign a contract or you sign a transaction you have given authority over any changes that might affect your account because the ownership should be on the user right so if contract a calls multiple contracts and they all do something on my account by me signing I've given authorization we don't necessarily think of it or we hadn't thought of it at the evm sort of contract to contract layer because again we put the onus on the the user or person signing right however not everybody looks into this not everybody takes a Keen Eye into what every single contract is doing so we had to ask ourselves what is going to be our security model so what we did is on the right you'll see we had three levels level zero level one and level two level zero we said that we will honor the evm security model so an account unless the addresses match up will not be able to modify anybody else's um contract right or anybody else's State you can only modify yourself level one we make exceptions for ERC capabilities some of you will know about you know approvals I can give you an approval to send some value for my account to somebody else an interesting thing here is that we do this not only at the Smart contract ERC level we actually do this for our cryptocurrency as well and that's something that many chains cannot do let me repeat that our native cryptocurrency the harar you can make approvals for that even though it has nothing to do with smart contracts level two is the final one where we add on the herera capabilities for example we have this function on herera that allows you to say that unless I have signed the Contra uh the transaction my account cannot receive any tokens or any native currency for some people that's really important for them to lock down their account right and so this was a security model that we decided to use going over to the node features we had a lot of decisions to make one of them was the layer choice right L1 versus L2 we decided to go on and L1 to give people that native experience that first class citizenship there we also had to choose an evm client that matched we used to use ethereum J we switched over to hyperledger Basu to really allow us to push the Forefront of evm equivalence our evm transaction API support we decided to not reinvent the wheel but support rlp encoded so we do this really Nifty trick where all we do is we take the rlp encoded transaction give it as an input to herera transaction and then we feed it off to the evm so that everything works as you would expect the transaction ID is an interesting one on the evm transactions are identified by the hash again a good decision but not very human readable right on Herer we provided a transaction ID that gives you some information about who submitted it and what time and so on the back end we make those connections so that evm developers can still search for the transactions using the their hashes but also are aware of the transaction ID we had to uh think really hard about key type support the evm only supports ecds a based type accounts on herera we support Ed 2549 as well as well as key lists and threshold keys so you can say two of five people need to sign a transaction before it's going to go through and so we had to figure out how to support both of these things we Expos the concepts of blocks and we also added free queries on the archive as well as increasing traceability um by exposing logs and um bite codes and state changes um on the account interoperability side as I mentioned we did EDSA type accounts first and Herer sorry the evm does ecdsa there's some interesting math that relates a private key to its address in the end this was something that hadera didn't need to do but for evm equivalence we added it so our account entity we added a property called an alias which will hold the evm address but also on the evm accounts actually don't need to be created they're just addresses but on herera our accounts are a lot more complex we did account abstraction before account abstraction had a name right we were able to add these properties but to be able to support these creations we added a new flow in which if you send any value to an evm address will automatically create the account on the back end for you but if you decide to use the native approach you can also specify the evm address we also expanded our token support we have native tokens outside of the smart contracts that can be transferred at 10,000 transactions per second but we said why not hook it up and make it so that native um tokens can be addressed as if they were erc's so our funable tokens can be treated as ERC 20s and our non-f funable tokens can be treated as um ERC 721 and within a smart contract you don't really need to care and you shouldn't have to we also had to focus really hard on the user experience right we we brought all of this capability to the node but we need to make sure that developers and users have it exposed we didn't have a Json RPC around that time it was like sort of mid early 2022 and so we added a Json RPC that essentially acts as an abstraction layer on top of the consensus and mirror nodes that hadera has so to evm tools and wallets you know hadera looks exactly like another evm Network we're just complying there and making it so that developers don't have to reinvent the wheel or have to do any special cases we also added things like you know contract verification up until this point you could deploy contracts but you might not be able to see it again we didn't reinvent the wheel we looked in the ecosystem we found out Source fire was doing great work we partnered with them and we brought that functionality to the Explorer and then finally we we kind of use this as a check-in point right this end to end flow of I start from a wallet I look at a faucet I use some evm tool I deploy we use this process to keep checking how close and how much progress have we made along evm equivalence and you'll find out that evm equivalence that that goal it keeps mov moving because it's more than just the features on the Node it's also the developer and the user experience so if a tool gets highly utilized by some people like you know hard hat or VM or Foundry in a sense it breaches into evm equivalence and if you don't honor the expectations of your users you're non-compliant and so this was a good um sort of litus test for us to be able to see how far along we were so looking at post equivalence considerations 2022 we challenged the status quo we brought in a new evm client we added a Json RPC relay in 2023 we committed and you know rest strategized and really dug in our heels and were heads down on development 2024 we were in full swing and we started to see Integrations come along the pith and the super oracles came along chain link and layer zero we have the graph support as well and in 2025 we're really going to push in and bring things to the next level some of those things are we're going to add Dynamic token support I had mentioned before that we have 15 million gas per second that's just a limitation that we put in so that people wouldn't be confused we do not have to stay at 15n so we we plan this year to expand that 30 50 100 the limitations are really out there to be seen right we'll be adding support for the pectra hard Fork as well and then really pushing the boundary on our consensus node executions we want more articles and we want more bridges and so finally our goal is to provide the best evm experience and expose you to mindblowing hadera teaches right so if you want to learn more go to docs.com check out our hips comment on them in in in GitHub and check out hashgraph decom careers as well we're looking for great Engineers as well thank you very much [Applause]
Automatic transcript — names and jargon may be misspelled.