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

Loading player…

Fireside Chat with Dieter Shirley, Flow, and Kartik Talwar, ETHGlobal I Pragma San Francisco 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Speaker

Join Dieter Shirley, Chief Architect of Flow Foundation, and Kartik Talwar from ETHGlobal, in a deep dive into Flow's major Crescendo upgrade. Learn how Flow now supports EVM compatibility within Cadence, dramatically enhancing blockchain interoperability, developer flexibility, and user experiences. Dieter shares insights from his extensive experience with CryptoKitties, smart contract scalability, and designing blockchains for mainstream adoption. Discover how Flow's architectural innovations offer unmatched speed, scalability, and decentralization. 00:00 Introduction: Dieter Shirley & Flow's Major Upgrade 00:41 Celebrating ETHGlobal's Impact & History 01:58 Exploring Trade-offs in Blockchain Development 02:25 Flow's Major Crescendo Network Upgrade 03:18 How Flow Built an Early Data Availability Layer 03:55 Flow's Improved Speed & Scalability Metrics 04:23 Cadence 1.0: The Next-gen Smart Contract Language 04:52 Introducing EVM Equivalence on Flow Blockchain 06:30 Why Flow Adopted EVM Despite Cadence Advantages 08:06 Technical Approach: Running EVM Inside Cadence 09:49 How Flow EVM Uses Efficient Native State Storage 10:27 Impact on Cross-chain Infrastructure Providers 10:57 New Opportunities for EVM-first Developers 11:27 Enhancing Solidity with Cadence Extensions 12:34 Advanced Features Exclusive to Cadence vs. Solidity 13:38 Example: Atomic Multi-call Transactions in Cadence 15:06 Benefits for Native Cadence Developers from EVM 16:38 How Flow Attracts Mainstream Crypto Adoption 17:40 Advice on Building Consumer-friendly Blockchain Apps 20:03 Balancing User Friction & Motivating Features 20:42 Flow EVM: Implications for Ethereum Ecosystem 22:23 The Superior Developer Experience of Cadence 22:56 Flow Foundation's Long-term Vision & North Star 24:35 Decentralization as Core Promise of Flow Blockchain 25:45 Conclusion: Building Sustainable Apps on Flow _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇺🇸 *Pragma San Francisco* Pragma San Francisco 2024 was a special gathering of founders and builders that took place October 16th and 17th at The Contemporary Jewish Museum in San Francisco, CA. Pragma San Francisco 2024 was an opportunity discuss the future of web3 and reflect on the past. Watch the full Pragma San Francisco playlist here: https://youtube.com/playlist?list=PLXzKMXK2aHh4LcwDpGf_itZrAu7XRNb07&si=3x3y9J3avgNTITUe ETHGlobal's Pragma series takes place in cities around the world, and is designed to be a different kind of event. Pragma is a one-stage conference with founders-only on stage, bringing together a small group of curated attendees and speakers to discuss the future of web3 and reflect on the past. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow Dieter Shirley* X: https://x.com/dete73 ✅ *Follow Flow Foundation* X: https://x.com/flow_blockchain ✅ *Follow Kartik Talwar* X: https://x.com/therealkartik Warpcast: https://warpcast.com/kartik ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal​ Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Transcript

[Music] we're going to do our third and our last Fireside interview for today and I'm going to jump right into it and for this one I'd like to bring on terer who is the Chief Architect of the flow foundation and they've been working on a massive upgrade to their whole network over the last year so we're going to discuss a lot of that so please give him a big round of applause [Applause] so I'm going to do something I'm GNA I'm going to grab the steering wheel from you for just a second before you get to start let's do it this guy is at every single eth Global event they are what like nine of them a year now and it's been seven years can we just give this guy a round of applause please thank you um it it's not all you obviously but mostly everybody else I'm just on stage but you know you you're you're here and I'm I'm glad for it so thank you carik thank you while we're we're on um going down memory lane um he was at the very first e Global event seven years ago that's right crypto cres was uh that's where crypto CES came out of and uh if anything I think you've helped get more people excited about crypto than than we have CU people definitely remember cats more on the internet and and that's clearly worked we have hundreds of people in this room thousand more coming tomorrow and uh and it's been awesome to see the growth there so no it's it's been a great ride um well let's see so I want to talk about a lot of things and um I'm actually curious so one thing we'll change for this discussion is we're GNA actually go a bit more into talking my trade-offs and um the thing that we've seen is a lot of experimentation in this space uh we've seen different blockchains we've seen different ways of thinking about building smart contracts we've seen different trade-offs of how you think about security and scalability and decentralization and uh and you've been part of all of that from day Zero and you've seen every version of this and you've experimented with things you've changed some ideas and uh this year has been pretty big um so I'll keep this fake but I'll let you kind of answer U this question which is there was a massive Network upgrade that the flow blockchain did tell us about what that was and why that happened yeah so we had a we had an upgrade that launched about uh a month ago um we we called it Crescendo um but internally like there was almost some talk of like maybe calling it like flow 2.0 or maybe even 1.0 because like when you start a thing you have a vision for it um but when that that only goes so far when people start to use it um and you know I'm incredibly proud of the work that um the architecture team did that the engineering team did so many of the calls we made um that many of which seemed very risky at the time we made them um Turned out they panned out very nicely um I I think you know uh there's a lot of talk these days of data availability we invented a data availability layer to be a part of flow we just didn't know to call it that because no one else was talking about it at the time that we built it we call it uh the The Collection uh nodes and so um what happened this summer was is that we finally not a thing that it where all of the pieces that we knew we wanted right are are in in good shape but even the things that we didn't anticipate um were introduced and um and so you know we'll get to the big one in a second because I know you'll want to talk about that but um just before we get to that like you know our performance increase we're we're at sub 1 second block time we have um very fast finality about 7 Seconds to finality um you know we're able to do between 500 and a th000 uh transactions per second using our own um uh uh programming language called Cadence Cadence is you know it's a step change over solidity and evm in terms of ease of use and um expressibility and and developer power um uh Cadence went 1.0 there were a number of features that in the initial versions of cadence sort of fell down on and Cadence 1.0 it cleans up a bunch of stuff um it allows us to promise forward compatibility so that any code you're deploying today is going to work in definitely on the network um and so it really is just sort of you know getting to that level of maturity that we we always dreamed of but the thing we didn't predict and the big feature that I think most people uh especially in event like this are going to be most excited about is is that we introduced evm equivalents um and evm is something that people have been talking to me both internally people asking me about evm equivalence externally lots of people asking the team about evm equivalence or evm functionality um and for years I had pushed against it um because as as much as I owe to solidity have to be nice no no no I I I want to be nice because like crypto kitties erc721 like those things couldn't exist um the fact that solidity is a pain in the butt sometimes when you're a smart contract developer I have no animosity towards it because who knew what a smart contract was going to look like before solidity was written like it it really was the thing that broke like created an entire category of software development on the other hand we shouldn't be surprised that the first time someone attempted to do this thing which is create a smart contract programming language they didn't get it all right and and Cadence is it it it depends on Research you know it's based on Research from Carnegie melon that was done um you know in six years ago it's based on um the object capability model which is research that goes back into the 80s I think um and it's just um you know it depends on so many things but it just brings us all together in a smart contract programming environment in a way that makes it's so much more expressive for for developers so we had this language we love it we think it's so much better but everyone's like well where is evm and I was like I I I don't like evm um it's you know it can do worse but people what the the requests made sense like they weren't people just being masochist they're like no I I get it solidity is pay in the butt but guess what I already wrote solidity right I already learned solidity my code is already audited or the smart contract I want to use is already audited and you're saying I have to rewrite that from scratch this is not a it's a non-starter um people like Circle right they had to do a custom integration in order to support flow because they had to do everything in Cadence um and that was difficult for them to do build but it was also difficult for them to rationalize going forward right that's a maintenance cost they want to upgrade their systems they have to upgrade the Cadence um implementation um and so um so the the last reason I pushed back on evm was that I I just didn't want there to be I didn't want there to be two competing environments within flow flow the whole reason we build flow the biggest number one reason we built flow was because we saw this vision of smart contracts working seamlessly with other smart contracts and the um the idea of app chains or sharding or you know like a dozen l2s all of that makes makes it difficult for smart contracts to work directly with smart contracts and creating two VMS was going to was going to ruin that and then we had an epiphany my my good friend rampton who's a researcher on the team came to me and and he framed it as what if we ran ethereum as a VM inside Cadence you can think of there being an an ethereum emulator which is exposed to the rest of the Cadence smart contract programming language as a smart contract and you can feed it transactions you can make State queries on it and we can then build a Json RPC that looks just like G that will take transactions from metamask from any um backend code and feed into the evm and when I realized that we could have evm support that to an evm only client looked just like ethereum or any other L2 but to Cadence look like an extension of the existing programming language it was a no-brainer maybe a very specific question um is this an extension or is this a Cadence smart contract that is an evm interpreter so it is so from inside Cadence it looks like a Cadence smart contract there is a little bit of cadence layered in that smart contract but mostly what we've done is you could think of it as a pre-compile right like the actual evm execution is a pre-compile inside Cadence where it's literally the GU code where we've you know carved away all of the API stuff and just have the the actual evm running in there we use a different storage layer because that's actually one of the um people think evm is slow it's not slow evm can easily do you know 20 30 transactions per second but the ethereum state tree is slow and the ethereum state tree can only do about you know 100 to 300 transactions per second um and so we built we we use our native we already had a a state tree for Cadence so we just use the our own state tree um and so we're able to get really great performance out of evbm and is this the same as transpilation or is there a Nuance there no it's um it's there is the evm as most people know it the code that you know that is in gu that is the sort of reference implementation of of of the evm is literally running inside our node software we took that code we forked it and and merged it into our chain that's awesome and it went live it did uh about a month ago yeah and uh what's been the reaction the reaction's been overwhelmingly positive um I think you can think of it as sort of three groups uh of of Builder builders on Flow and their reaction right so one group is um you know cross-chain infrastructure providers and this can be Bridges this can be you know stable coin providers this can be um uh oracles um and they they had for a very long time you know they want to support as many changes they can that that um that are legitimate um and we would often talk to teams that really want to integrate with us and the fact that they had to do custom infrastructure was was a pain and so we're like great now we can give them evm and those people those people have gone nuts there's ton of people that are in that bucket um the the second group of people and honestly I didn't expect there to be that a big wave of those and there's been a surprising number of those that have come in in the um even just in in the last month um our application developers who want us be they're not necessarily cross-chain but they are evm first right they're either taking an existing contract and modifying it they they already had a project and and they hadn't launched it on a chain yet and so those people um they're really excited to come because it's a green field opportunity um uh for them but they're also seeing the advantages of having Cadence available because when you run into the limits of solidity and anyone who's written any solidity code has bumped their heads against the limit of of solidity you have Cadence there to extend it um and so you don't have to rewrite your code but when you want to add features to it you can use this more comfortable more uh expressive language so talk about that so does that mean I have now access to new apis in solidity or I get to do other things to take advantage of cadence specific features so there so there's one big feature that we've been able to expose directly to evm code which is um uh we have a a verifiable random function built into the chain and we expose that through the randow field in um in the the block information um and so if you depend on Randomness the the source of Randomness you get in flow evm is much more secure um and and up toate than the randow on ethereum um but you for most of the things the the reason why you know it was so why it was imperative that we write a new language is is that a lot of the features that I'm talking about they're not possible in evm right so get some examples yeah happy to give you some examples so um I I think the the big ones that that uh you know are easy to explain is one the account um model uh in flow is I mean it's it's basically account abstraction without there having to be a smart contract running code and costing you gas to do the account abstraction so we support key cycling we support multi-weight Keys we support alternate key types um we support the ability to delegate um approvals from one account to another account so you know you sign with that account but you actually are running the code as this other account all that's built into the network um so that's that's a good one the other one that's really interesting is um you know if people know multi call or they think about batching um every Cadence transaction is a script um and you can do loops you can do you know if then else you can do um you know you can do whatever sort of logic you would Express and because Cadence can call into evbm you now can so let's say I'm an app developer um I'm I'm building an nft Marketplace and I know that a feature I'd like to give my users is that they they want to you know maybe buy All or Nothing there's three nfts and they want to have them all or nothing right it's going to complete a set for them they don't want to buy two and then have the third one disappear right and so um it's kind of a pain to do that in evm but what they could do is they could create a Cadence transaction that does those three evm actions that to the evm look like three separate transactions but to the Cadence side is a single transaction and if any one of them fail you can abort the whole thing and even if the third one fails the first two get Unwound because it's a it's an atomic transaction and so what but I can do that without rewriting my smart contract right like like I can if I'm open C and I have you know all of this you know code that I've written over the years to do the trading I don't have to change any of that that's all still solidity my back end that's like querying the chain and reading all of the events from the evm and whatnot that doesn't have to change I just get to add this one feature and yes I'm using Cadence because that's the only way to express that feature you can't express that feature in evm but it doesn't it's only in the part of the application exactly so so it lets me opt into the advanced functionality without having to rewrite the rest of my application and then the third group of people that um that at first when we started talking about evm some of them were actually a little bit annoyed and that is people who are native Cadence developers and and I understand their annoyance because they it was hard for them right they came they came to a new chain especially when many of them joined the chain was very early the documentation was not great the language wasn't you know solidified um and so um and so they had to put up with a lot of BS um and then they found out after all of that they they're like oh we love this chain because it has this better programming language it was kind of a pain for us to use it because it was early days now that you finally got the language you know nailed down um you're introducing evm like I I thought we were committed to Cadence here and so um and so they were a little frustrated and fortunately they they it didn't take very long before they realized that actually evm gives them big advantages remember those infrastructure those cross chain infrastructure providers I talked about they can access all of that from Cadence so if there's an an evm only de us just became bigger yeah H the user base just became bigger and so it the the opportunity well and not just the user based the the the capability base right so if there's a new Dex um uh in that's evm only every single Cadence application can call into that and use it right if there is a bridge that's evm only all of the assets that are bridged into the evm site go right into Cadence and they're and they work with a Cadence only application without any knowledge of evm and so it it um everything that comes to flow evm is coming to the Cadence side as well and so they have more users they have more assets um and they have more capabilities which is a pretty good win it's a win-win win it's pretty exciting um Flo and just Dapper labs in general over the last few years has been uh very good at getting a lot of people in the mainstream audience to use and and get into crypto um and also abstracting that experience so that it's not the the first thing that they're annoyed with and kind of disappear and you've had massive success there and um although you're answering a lot of this from the point of view of um a developer I'm kind of curious to understand kind of how do you think about what technical advice you can give to people who are thinking about building consumer apps here um are there things that you've learned the hard way are there things that you think are just now easy or things that you know that usually end up becoming a problem as you hit some scale as a product uh what kind of goes into that world from somebody who's seen that from zero to Millions yeah I mean obviously you know I was engineer on crypto kitties and and designer on crypto kitties um quite involved in uh the Top Shot development and then these days I've left Apper labs and now full-time on Flow Foundation but um you know I I think the biggest advice I can give to anybody who's thinking of building an application is to keep in mind that every feature you can build can fall into one of two G categories it's a it's a hygiene feature or it can be a motivating feature um and hygiene features are the the things that users complain about and motivating features are the things that people love and that is why like if you ask yourself oh there's this app I hate it and I love it right like why do you hate it because the motivating aspects of that application they you you you need them right and so if no one hates your application it's probably because you don't have any motivating features and they don't even need your application and so they don't hate the the little paper cuts that every application has in it um and so the the trick with motivating Fe sorry um how features is that you can't overs solve them right like if you have a bad login and um and that keeps people from using your app that's a problem you got to fix that but no one's going to use your app because you have the best login page in the industry like that's it's an absurd notion and so what's what's kind of Bonkers is that so many of the features that we built into the flow were from that standpoint they were hygiene features um and but but at the same time like I honestly think there's so much much about the assumptions that people in this room are don't mind anymore right you've you've seen the motivating features you're okay getting over the fact that you have to install a chrome Plugin or use a special browser in order to use this stuff but most users won't do that you're okay with the fact that if you need you know for various security reasons or security hygiene you want to transfer you want to use a new key instead of the key that you've had for the last 5 years you're mostly okay with the fact that yeah it's kind of a pain the that I have to move all of my nfts from one account to another but at least I can do that right most users aren't going to do that they're going to see that that frustration and they're just not going to cycle their keys well now we've created a system that is right for them to lose their assets and so it was a critical aspect of flow that we be able to cycle Keys um and so I think as an application developer I think you need to be really cognizant that that if you're going after a mainstream audience you have to solve those friction points you have to solve those hygiene problems but that can't be the only benefit you're providing you have to make sure there's a motivating feature that is is going to draw people in um and and figuring out how to balance those two sides I think is the magic of product development and so good [Laughter] luck um I have two questions I want to ask before we end this and um the first question is with all the stuff that you've uh done with bringing evm to to flow and giving now Cadence developers and also just other evm developers uh a lot more opportunity and access to just more success um does any of this go back to ethereum is this good for ethereum is this bad for ethereum kind of how do you think about that well it's great for evm developers right like if you have solidity code and and there's some aspect of your application that you wish you could do a more advanced version of like please come try out flow evm I guarantee your evm code is going to work exactly the same way but then you have access to Cadence and and all of the incredible powers of that um the way that that might reflect back on uh the the ethereum ecosystem is is that you know like most things in this industry Cadence is open source um I'm not aware of any other project that credibly promises a better programming environment for smart contracts then solidity that lets you start with solidity and then layer that stuff on like there is no sort of evm Plus+ um out there and even if it's not Cadence I think I hope that maybe this this uh um this example we've shown of how you can sort of run an evm equivalent as a like a virtual machine inside the uh the other the more advanced programming environment it hopefully there will be at least some l2s that that make an attempt to um either use the our language which which I think is is excellent and obviously I helped design it but but like anyone I've ever talked to who's gone from solidity to Cadence has been like like I I have people on my team who when we said we were doing evm they were so mad at me because they are smart contract developers they knew they were going to have to write solidity code again um and they're like I don't I want to do that again I'm like don't worry don't worry we have contractors for this but um but it was it it really is a more expressive and and enjoyable environment I mean the people who audit this stuff for us are like like they love it they love it because it's just so much easier everything simpler yeah uh so my final question to you is um what is the flow Foundation Northstar like what are you optimizing for what matters here and uh what is it that you're trying to do I mean the vision of flow from day one has been it's kind of funny that I'm like hey I've left Dapper and you know and what not but like the whole reason we built flow was cuz when we started Dapper and we just finished building crypto kitties I was asked as the CTO of daa labs what blockchain are we going to build on right because ethereum clearly can't scale to a million users um so what are we going to build on and and of course there were a bunch of different blockchains out there that that were were being pitched um and and I looked at every single one of them I was like I am not willing to bet my company on these and when we started talking to our investors about building our own blockchain they were they were not bullish right um and they they they got it in their heads that we wanted to control the blockchain and my answer my answer always was is no no no no like I do not want this my applications that I'm building because I always I still thought of myself as an application developer back then to be running on a on a A system that that anyone is worried it can be captured by a single organization whether that's you know governmental or or non-governmental um because the power that we're going to get in the long run is not just the applications we build but the ecosystem of interoperating extensions to that application and all of the users and if we can't credibly promise to our users that the thing that we're selling them that the experience we're giving them is going to remain free of undo uh control um and is going to run indefinitely even if we as a company shut down that's that we're not following through on our promise that's the promise we want to give to our us users and so from day one the whole goal of flow has been to be a a genuinely independent decentralized autonomous um blockchain that happens to solve the scaling trilemma and have a better smart contract programming language and and improved user experience and so we've we've followed through on the promise of of most of that but building all of the underlying pieces to get to um uh you know sort of an ethereum level of decentralization it's just because it's such a complex blockchain we're not there yet but you know we hear the same thing you know it's the same story from optimism and salana and all these things like they know that they're not done yet and we're not done yet but we're moving that way and so that's my my goal right now 100% is to be the the blockchain for normal folks and and the success metric I use is how many application developers are being are successful on top of our chain um and and so all all I want to see is all of you uh building on Flow and building a business a long-term sustainable business that's creating value for you and creating value for your users um and so if there's anything we can do to help with that um please let us know awesome well thank you so much for that amazing chat and please give him a big round of applause [Music]

Automatic transcript — names and jargon may be misspelled.