David Mihal Blockchain Engineer The Grpah Subgraphs Ethereum Foundation Maker CryptoStats Crypto Fees

GRTiQ Podcast: 84 David Mihal

Today I’m speaking with David Mihal, a blockchain engineer who has worked on several well-known projects in the crypto space, including Crytpo Fees and CryptoStats. David also did some early work on burner wallets, often used at industry events, and some cool projects for both the Ethereum Foundation and Maker Foundation.

I’m speaking with David today to talk about his newest project on subgraphs. We also talk about his background in web2, his experiences as a “digital nomad,” his grant work with The Graph Foundation, and a lot more.

The GRTiQ Podcast owns the copyright in and to all content, including transcripts and images, of the GRTiQ Podcast, with all rights reserved, as well our right of publicity. You are free to share and/or reference the information contained herein, including show transcripts (500-word maximum) in any media articles, personal websites, in other non-commercial articles or blog posts, or on a on-commercial personal social media account, so long as you include proper attribution (i.e., “The GRTiQ Podcast”) and link back to the appropriate URL (i.e., GRTiQ.com/podcast[episode]). We do not authorized anyone to copy any portion of the podcast content or to use the GRTiQ or GRTiQ Podcast name, image, or likeness, for any commercial purpose or use, including without limitation inclusion in any books, e-books or audiobooks, book summaries or synopses, or on any commercial websites or social media sites that either offers or promotes your products or services, or anyone else’s products or services. The content of GRTiQ Podcasts are for informational purposes only and do not constitute tax, legal, or investment advice.

SHOW NOTES:

SHOW TRANSCRIPTS

We use software and some light editing to transcribe podcast episodes.  Any errors, typos, or other mistakes in the show transcripts are the responsibility of GRTiQ Podcast and not our guest(s). We review and update show notes regularly, and we appreciate suggested edits – email: iQ at GRTiQ dot COM. The GRTiQ Podcast owns the copyright in and to all content, including transcripts and images, of the GRTiQ Podcast, with all rights reserved, as well our right of publicity. You are free to share and/or reference the information contained herein, including show transcripts (500-word maximum) in any media articles, personal websites, in other non-commercial articles or blog posts, or on a on-commercial personal social media account, so long as you include proper attribution (i.e., “The GRTiQ Podcast”) and link back to the appropriate URL (i.e., GRTiQ.com/podcast[episode]).

The following podcast is for informational purposes only. The contents of this podcast do not constitute tax, legal, or investment advice. Take responsibility for your own decisions, consult with the proper professionals, and do your own research.

David Mihal (00:00:19):

And if you’re on the other side, if you’re trying to index this data, of course, it’s so much easier to use an existing platform as a protocol, like The Graph, instead of trying to roll your own Indexer, or trying to wire up a database and comb through event logs and stuff like that. There’s been so much time and effort that’s already gone into making sure this is a robust tool, and an easy tool to develop on that. It just saves so much time that developers would spend otherwise building their own.

Nick (00:00:46):

Welcome to the GRTiQ Podcast. Today, I’m speaking with David Mihal, a blockchain engineer who’s worked on several well-known projects in the crypto space, including CryptoFees and CryptoStats. David also has done some early work on burner wallets, often used at industry events, and some cool projects for both the Ethereum Foundation and Maker Foundation. I’m speaking with David today about his newest projects that relates to subgraphs at The Graph. We also talk about his background in web2, his experiences as a digital nomad, his grant work with The Graph Foundation, and a lot more. As always, we started the discussion by talking about David’s educational background.

David Mihal (00:02:01):

So, my educational background is, studied computer science at a school called LWPI in Massachusetts. I kind of did a bunch of internships and hung around the Boston startup scene in college. But afterwards I went and joined Google in New York City, and didn’t spend too much time there. To be honest, it is a really interesting place to work, but the corporate culture is really just not my vibe. The types of work and the types of people that were there. It wasn’t the type of place that I saw myself sticking around for a while. So after a little bit, I left Google, and I wasn’t really sure what I wanted to do at the time, and so I figured if I don’t know what I want to do, I might as well just kind of go see the world, travel for a bit. So yeah, I left and kind of started traveling full time. Not too long into that journey, I needed to start making some money, so I started doing freelance development work, and spent a few years just traveling around freelancing, seeing the world.

Nick (00:03:01):

Well, I have a lot of questions about some of that background there. Certainly want to talk to you about your time at Google, and learn more about your freelance work. But before we do, we were talking before we pushed record that you’re currently located in Lisbon, Portugal. So you’ve moved from the east coast of the United States to Lisbon, and I’m curious about the influx of people moving into this part of the world. What is the draw for you to Lisbon, and what’s going on there as it relates to crypto?

David Mihal (00:03:23):

Yeah, the story of Lisbon’s been interesting. As I mentioned, I was traveling around a lot and I kind of realized, “Well, I need to settle down,” and started trying to think of which cities I wanted to settle in. I’d visited Lisbon a few times. It’s a beautiful city. It’s got nice weather, it’s got a lot of interesting people. And so, Lisbon was high on my list, but on the other hand, I was looking at Berlin, and Berlin seemed to have all the interesting crypto people there. And on one hand I want to be in this place that seems like it has really good quality of life and interesting people. On the other hand, I want to be around the people that are interested in the same things I’m interested in, which is crypto, and those are in Berlin. I ended up going to Lisbon.

(00:04:02):

I moved here full-time early into COVID. When COVID hit, I was actually in Buenos Aires, Argentina, and that was an interesting experience to be there when COVID hit. We talk a lot in crypto about inflation, and yacht money and stuff like that. Between what, March and June 2020, that was the time that I spent in Buenos Aires. Argentine peso dropped, I want to say almost 50%. It went from, I think maybe 70 pesos per dollar to 125 pesos per dollar. So, that was kind of crazy to get to live through that in real life. It worked out well for me as someone who has my money in dollars, and stable coins and stuff like that. But I had to buy Argentine pesos to get by, and I had friends that were texting me whenever they got paid. They’re like, “Hey David, I just got paid in pesos. Do you want to buy any pesos from me?”

(00:04:57):

Because they’re all trying to get rid of their pesos and get dollars. So that was just an interesting time to be in that place. So after a few months in Argentina, like I said, I kind of already knew that Lisbon was where I wanted to spend time, where I wanted to start making my home. So managed to make my way over to Lisbon. It was tough to travel in 2020, as I’m sure people remember, especially with the US passport. But yeah, I made it to Lisbon and kind of have been here mostly ever since. But the interesting thing was in 2021, I guess right after the second lockdown ended, I came out of the lockdown and there was the first big crypto meetup in Lisbon after lockdowns, Lisbon’s always had some small crypto meetups going on, but in this first one in May 2021, I went there and I realized, so many people had moved to Lisbon in such a short period of time.

(00:05:52):

My friends from Berlin, from London, from the US, everyone just seemed to be descending on Portugal, which again worked out well for me. I’m glad I didn’t move to Berlin, because Berlin came to me here in Portugal. So, a lot of it is taxes are definitely a big motivator. If you are, I guess anyone except for American, there’s pretty great tax benefits to being in Portugal, especially if you hold crypto. But I think aside from the tax side of things, it’s just a place that it’s got a lot of bright people from around the world coming here. And the way I see it is, it feels like a bit of a blank canvas.

(00:06:33):

This isn’t like New York, which has a history of finance, London that has a history of finance, the Bay Area that has a history of technology. Portugal hasn’t had a strong technology scene until somewhat recently, and I think there’s a really huge opportunity for all these interesting web3 people coming here to make Portugal, and make Lisbon really like a hub of Europe for this new technology, and this new world that we want to build. So, I’m really excited to be here. I’m glad, it was cool to kind of be here a little bit before everybody else and front run that a bit.

Nick (00:07:06):

David, I’m starting to learn new terms myself. The more people I interview and the more I get involved in web3, I’m learning these things, and one of them is digital nomad, right? And so, I don’t really understand fully what a digital nomad is. And are you a digital nomad? Is that how you see yourself?

David Mihal (00:07:22):

I’d say I’m like a former nomad at this point, or a retired nomad. For about four years I was had no permanent accommodations. I was living out of a backpack, staying in Airbnbs, in hostels, guest houses, sleeping on friend’s couches, and just working wherever. So I think for those four years, I was a proper digital nomad. Again, I’ve settled down a bit in Lisbon here. I still, of course travel and heading off to Colombia for Devcon, so I’ll be kind of going back into nomad mode for that. But yeah, for the most part, the permanent travel is behind me. But the interesting thing in crypto is, it seems like a really common lifestyle in crypto, or at least compared to other industries.

(00:08:05):

I remember being at a crypto conference a couple years ago, and I was making small talk with a group of people, and usually you’re making small talk, you say, “Where do you live?” But I kind of got the feeling that these people might’ve also been nomad. So to the four people I was with, I just said, “You guys live anywhere?” And they all just went, “No,” it was like this group of people from around the world, none of them had any permanent base. They were just traveling around, going to the crypto conferences, to interesting places, things like that.

Nick (00:08:35):

In all your travels, you’ve seen a lot of different cities. You’ve met a lot of different people. What’s the one city you would recommend everybody who listens to this podcast should visit? Everybody should put on your bucket list to go where?

David Mihal (00:08:46):

It’s a great question. I mean, Lisbon is certainly, it’s the one that I’ve decided to make my home in. I think it’s one of the best places to stay long term. It’s again, good weather, it’s safe, beautiful, good people, but the other place that has a strong hold in my heart is Medellin, Colombia. As I mentioned, I’m really excited to head back to Colombia in a couple of weeks ahead of Devcon, but that’s just the place that I think has a different energy than anywhere else I’ve been in the world. It’s exciting. There’s a lot going on there. There is a growing crypto scene there, but there’s just also good music, good food, interesting people. Also, a lot of digital nomads, but the Colombians are just similar, like the nicest, most welcoming people who’ll ever meet, so that’s a big part of it too. Yeah, Medellin is great spot. Can’t wait to go back.

Nick (00:09:36):

Let’s talk a little bit about your time back in web2. As you were introducing yourself. You talked about some time at Google, and anybody that looks you up and sees your professional history will see you also spent time at other well-known brands in web2. You mentioned that it didn’t really line up at Google, per se, with your own ethics and what you want to do with your own career. How would you describe that web2 space? And I’d be curious also to know, how do you think these firms like Google will respond to what’s happening in web3 and crypto?

David Mihal (00:10:05):

Yeah, it’s interesting that you mentioned ethics because at the time my issues with working there weren’t really anything ethical. I think nowadays they would be, nowadays, that might be a high reason why I wouldn’t work in that industry is that I think some of these companies are net negatives on the world. At the time, it was more, especially some of these really big companies, they’re so big, they have so many people. You end up working on very small incremental changes, and even the small ones, even startups, it seemed like a lot of startups are looking for very narrow niches of ways that they can extract a little bit of value somewhere in the SaaS pipeline or the consumer app pipelines. So yeah, working in that type of thing didn’t appeal to me. So when I discovered web3, it seemed like there was just so much more value that could be created, so much more opportunities to really have a strong impact on the world that I didn’t see in the web2 space.

Nick (00:11:02):

Do you think this web2, web3, do you think it really is kind of a zero-sum game, web3 wins or web2 wins, or is there this future where they coexist?

David Mihal (00:11:12):

For sure, I think they’ll coexist. Chris Dixon’s talked about the idea of skeuomorphism, the idea that new technology, lots of people will try to replicate the old technology, which I think the good examples are early computers or early Internet. There were digital magazines where you would drag to turn the page, or digital encyclopedias where they just uploaded the encyclopedia, and the actual digital magazine is Instagram, the actual digital encyclopedia is Wikipedia. So the things that are actually take the most advantage of a new technology are things that couldn’t have even been built on the old technology. I really think that’s true of web3 as well.

(00:11:53):

I don’t think web3 is going to make a new Google and a new Facebook, and things like that. It’s more that there will be new things. We’re seeing that NFTs have a very social component to it, and you’re seeing, I think just today, Facebook and Instagram are integrating NFTs more, so I don’t think it’s going to be competition. I don’t think there’s going to be web3 alternatives to most of these big web2 things. We’ll probably see some synergies, like I mentioned the Facebook, Instagram, NFT thing, maybe some competition, but I think yeah, ultimately they will be symbiotic at some point. Maybe we steal a lot of the great developers over to web3 because guess we’re more interested in doing more fun stuff, but I don’t think it’s a competition at a product level.

Nick (00:14:08):

When you moved out of web2, you started a career as a freelancer. We’re going to talk a little bit about the projects you’ve been working on, and some of the work you’ve been doing. But during your time in web3, you’ve worked for Ethereum Foundation, you’ve done work for Maker Foundation. I’d be curious to know what you’ve been doing with those groups, and some of the projects you’ve contributed.

David Mihal (00:14:26):

Yeah, so since I’ve kind of gotten into the web3 crypto space, I’ve worked on a lot of different projects. I’ve worked on a lot of interesting grants. The most interesting one out of the ones you mentioned was probably the Maker Foundation funded a bunch of grant projects that we did, back a few years ago. I guess anybody who’s been in the Ethereum space for a few years might remember burner wallets. This was a really cool thing back in 2019, I guess I first experienced a burner wallet when I attended East Denver 2019, and the idea of burner wallet, it’s a crypto wallet, but it’s one that runs in your browser, your private keys and local storage, although as a user, you don’t even need to be aware of that. The idea is, it’s just the easiest possible way to use a wallet.

(00:15:15):

You scan a QR code, like a paper QR code, and it pops open this wallet. So, when every attendee showed up at East Denver in 2019, they could scan a QR code, it would open a wallet right in their web browser, and they would already have some tokens in there, and you could go spend them in the food trucks. Some of the sponsors were taking them for swag. There were some happy hours where you could spend these tokens on drinks, and stuff like that. And I just kind of fell in love with this idea. So, I was kind of following the development of it. Of course, these were built by Austin Griffith, who’s a very well known builder and educator in the space, and just an overall amazing person. So, I started hanging out in this Telegram chat with him and a bunch of other people, and started building newer versions of the Burner Wallet and other stuff around that.

(00:16:04):

I built something called the Burner Factory, which the idea was to make it so that anybody could build a custom burner wallet for their event. And we started doing all sorts of burner events, which people often would confuse with Burning Man type parties, but these were burner wallet parties where we would give people a bunch of tokens in their burner wallets, let them pay for beers, whatever, and it just was the best way to onboard new users to web3. My favorite part was just seeing someone who hasn’t really used crypto before, see their face light up when they’re like, “Wow, I have $10 on my phone and I haven’t even typed in my email address or anything.” And so yeah, we did it everything from these big hackathons like East Denver and East Waterloo to small little happy hours. I did a 15 person event in Medellin, Colombia where we just bought everybody a bunch of beers and told them about DeFi, and let them pay with their burner wallets on their phones.

(00:17:00):

And to tie that back, the Maker Foundation was really supportive of that whole project. They funded a bunch of grants around it because we were getting people to put dye on their phone and to see how cool it was. They could have $10, pay for a beer with it, and again, you don’t even need to type in your email address to use it.

Nick (00:17:19):

Are people still using burner wallets?

David Mihal (00:17:21):

I don’t think they’re used quite as much. I think the idea has really stuck around. There’s still some people that are using it. Sometimes you’ll log into a dapp and there’ll be a mode like burner wallet mode where it’s kind of like, “Oh,” if you just want to try out the app without connecting your MetaMask and wallet and everything, they’ll go to burner wallet mode.

(00:17:40):

But yeah, for me personally, my work on it, I kind of transitioned away from it when COVID hit, because we had all these plans for all these really cool things we were going to do at in-person events, and then COVID hit and it was like, “There’s not going to be any hackathons. There’s not going to be any conferences. There’s not going to be any just bar meetups.” So it stopped putting quite as much energy into it there. But I think the idea still lives on, and I hope people keep doing burner wallet events. If anyone that’s listening runs a crypto meetup in their town, this is a really cool engaging way to get people actually using crypto and seeing how this can work in real life.

Nick (00:18:20):

When I have the opportunity to speak with someone like you, a younger person who has had time and web2 to work at notable firms, a firm like Google, but you eventually escape, and you leave and you go to work in web3. I want to understand what pulls people like you out of web2 and into the web3 space, and particularly as it relates to blockchain. Why are you passionate or interested about blockchain? What pulled you into that?

David Mihal (00:18:43):

Yeah, so the original thing that got me into blockchain was really just how much impact you can have on the world with this technology. As I was saying, at a lot of web2 companies, the work you’re doing is incremental tweaks to the user interface or adding some new, very small features to some SaaS product. And in web3, you can redesign the incentive systems of the world. You can redesign money, you can change the way commerce works, you can change the way art works and NFTs, and you can do it with relatively small pieces of code. So the amount of impact you have is just massive.

(00:19:25):

That was the thing that really originally got me so excited about it, was seeing that much impact and seeing that this was still very early days for this technology. It felt like it was the ’90s of the Internet. Most of the big web companies today started in the ’90s, early 2000s, and I think we’re still maybe in that time period for web3, if you want to make an impact, now’s the time. You can get in at the ground floor and build some of these really great projects that I’m sure are going to be massive in the future.

Nick (00:19:58):

There’s no way blockchain goes away, right? This is really something with a lot of utility that the world is slowly but surely going to adopt. Is that what you think about it?

David Mihal (00:20:08):

I mean, the only way blockchain goes away is if there’s something better. We’re not going back to kind like the centralized, one massive server owned by Facebook, one massive server owned by Google. If somebody builds a better system for decentralized, trustless ledgers, then we’ll use that. Blockchain is just kind of a technology at the end of the day, but technology can’t be un-invented. So yeah, this direction we’re moving in, I can’t imagine it slowing down.

Nick (00:20:36):

You must have friends or family that aren’t totally familiar with web3, crypto and blockchain. I’d be curious how you describe, or help educate people about what fundamentally a blockchain is for people that are non-technical.

David Mihal (00:20:50):

Yeah, it’s really tough to try to explain something so technical as a blockchain. I think a lot of people get hung up on the technical details of it. I remember trying to explain blockchain to some friends once, and I was going into double spend problems and proof of work, and my friend’s eyes just glossed over. So when you explain to people that aren’t in the space, I think the focus really has to be on, what is the impact to the end user? And if you’re trying to explain the blockchain itself, the technology, the focus needs to be on, how does it change the real world? How does it change applications in the real world? And to me, the fundamental thing that makes blockchain so useful, a lot of people would say decentralization, but I think decentralization, that’s a very blockchain word. Most people don’t know what decentralization is.

(00:21:37):

It’s almost kind of like a cliche to say decentralization. A better word, to me is disintermediation. It’s removing middlemen from any operation. So for basic economic uses of blockchains, the old world, you need to use a bank or some payment processor if you want to pay people. Blockchains disintermediate that idea. They let you send money directly from one person to another. In the traditional world with, say, domain names, you have to buy your domain name from some domain name company, and you need to store it with some company. And there’s essentially governments that are kind of running these domain name systems. With blockchains, you have something like ENS.

(00:22:17):

It’s just smart contracts that you buy your domain name from. You can do whatever you want with it. I can give examples all day, Uniswap, you could say disintermediates things like NASDAQ and Coinbase. But yeah, just in general, that’s the real value of these technologies. And going forward, I think we find more and more complex systems that we can disintermediate, more ingrained middlemen that we can find ways to remove from the picture with this technology. And that idea is, I think something that normal people can understand. Normal people know they hate dealing with middlemen, they hate dealing with bureaucracy, and that’s, I think, the most tangible value that people can understand about blockchain.

Nick (00:22:59):

As a follow-up, I would be curious to know how you describe what a blockchain engineer is. When I looked at your bio, you obviously are one, right? And spend your time doing that type of work. So what is a blockchain engineer, and what do they do?

David Mihal (00:23:13):

Yeah, I’d say a blockchain engineer is not too different than any other software engineer. Your goal is to understand problems, find out the right ways to solve those problems, like the most elegant solutions to these technical problems, and to implement it. And even a lot of the tools, I think people would be surprised that a lot of it’s not that different than traditional web technologies. Front ends are mostly built with your usual web technologies, with React, with everything else. Our smart contracts are written in Solidity, which is roughly derived from JavaScript, things like that. Subgraphs are built with assembly script, which is basically type script. The part that is different is, I think there’s a lot of different mindsets to being in blockchain. I guess one really simple example is in traditional programming, where when you go to university and you study computer science, you spend a lot of time learning how to optimize computer programs to be fast.

(00:24:13):

For most of computing history, it was like, “How can we make things faster? How can we make our programs go really, really fast?” When you’re building more contracts, you’re trying to optimize for costs, you have different resources. So you’re trying to say, “How do I make my smart contract execute with fees that are as low as possible?” It’s not really speed. It’s, “How do I not store data?” Because storage is really expensive. I just wrote a blog post about layer 2 is now call data is really expensive on layer 2, so you need to kind of think about these different resources a little bit differently. And I think the best way to understand that is just sometimes just to use these technologies a lot. Like anybody who’s used Ethereum gets a sense of, “Oh, some transactions are expensive. If I do a Uniswap trade, it’s a bit more expensive than a token transfer, and if I open a Maker vault, that’s more expensive than any of those other things.”

(00:25:04):

So just using dapps gives you a sense of the problem space that we’re working with. And I guess if any developer is trying to get into the web3 space, that would be my biggest advice is just try everything, use a lot, don’t put too much money into things, but the best way to learn is just to use these tools and understand, what are the applications we’re building, what are the problems we’re solving?

Nick (00:25:27):

As a non-technical guy myself, trying to understand L2s and like you said, the cost implications of transacting on blockchain and smart contracts. Are L2s the thing that bring costs down all across crypto? These are the gateway into lower transaction costs, or is there some other utility and value here that listeners might find interesting to know about?

David Mihal (00:25:50):

So certainly, layer 2s are one of the most promising technologies to bring transaction fees down. I’m super excited about the layer 2 space. It’s one of the areas I’m most interested, but a little more broadly, I think the way to think about it is a transition from this idea of monolithic blockchains, which is kind of every blockchain that we’ve known since the invention of Bitcoin, to a more modular stack. Blockchains have a lot of different tasks, a lot of different resources to allocate, manage, and by kind of breaking that stack apart, we can optimize each cost differently. So with layer 2s on Ethereum, the idea is that these layer 2s can execute really fast. They can have different execution properties, but still rely on Ethereum for Ethereum’s properties, which is like high censorship resistance, high security, things like that. So Ethereum and layer 2s have already kind of split the stack into two pieces.

(00:26:48):

Moving forward, I think we’re going to see even more modularization. There’s projects like Celestia that are blockchains just for what we call data availability, kind of like data storage. I won’t go down that rabbit hole. We’re seeing things like the Cosmos ecosystem, which is an ecosystem that is also super cool. They just have lots of independent, heterogeneous blockchains and they’re doing things with shared security, shared validator sets, things like that, and communication between those. So yeah, the move from these monolithic blockchains like Ethereum is today, or at least was like a year ago, to this modular future where we have layer 2s, layer 3s, Cosmos Zones, bridges between all of them. That’s kind of I think what really brings the cost down, and makes blockchains honestly a lot more interesting.

Nick (00:27:44):

If you had to just guess where we’re at in that process, of creating this layer 2, layer 3 environment that you just described, has it even started yet, or are we in the very early days, or are we a little bit more progressive on these types of things?

David Mihal (00:27:58):

It’s definitely the early days for this transition. I mean, if you look at the consensus narrative, a lot of people don’t even really know about layer 2s. I built a website called L2fees.info just to show people that a lot of people were saying, “Oh, Ethereum is so expensive,” and people didn’t even know that there was something that is still Ethereum that has low fees. You can send transactions for just a few pennies on most of these layer 2s. So lots of people don’t even know that layer 2s exist. And to be fair, they’ve only really existed for about a year. I think Arbitrum, one publicly launched about a year ago, and that was the first general purpose layer 2. And we still haven’t even seen the start of the ZK roll-up or the zero knowledge revolution. I think there are zero knowledge roll-ups today, but this technology still really, really young.

(00:28:52):

There’s still, this is the cutting edge of research in blockchains. It’s like zero knowledge proofs, zero knowledge roll-ups, things like that. So I think it’s going to be a number of years before that technology really matures to the point that it reaches its full potential. And once we get to that point, that’s going to be really exciting, because the amount that we can do with blockchain is going to be massive. This is moving from dial up to broadband. Think of how many things we do on the Internet today, that weren’t possible on those 52K modems.

Nick (00:29:25):

Well, it’s incredible and it’s an exciting time, and I too am still learning about L2 and L3 myself, and your answers have been very educational for me. Another thing that I’m still wrapping my mind around, and again, as a non-technical person, smart contracts are sometimes hard to understand. Why you need a smart contract engineer. What these smart contracts do, what can you share with listeners that are like me who are still trying to figure out what a smart contract is?

David Mihal (00:29:50):

I think the easiest way to explain a smart contract is, it’s like a vending machine. You go to a vending machine, and there’s only so many things a vending machine can do. You put in money and you press the candy you want, and the happy case is, it gives you your candy and gives you a little bit of change, and then you’re done. Or maybe you didn’t put enough money in, so then maybe it gives you the money back because it can’t give you your candy. Or again, if you give the exact amount, it just gives the candy. If you give too much, it’s going to give you some change. So a smart contract’s kind of like that. With Uniswap, you give it some tokens and it gives you back some other tokens. If you don’t give Uniswap enough tokens, it’s just going to give you back the tokens that you originally gave it.

(00:30:35):

The part about smart contracts that is really interesting is the immutability. This is kind of one of these properties that we can only have with blockchains. You can’t build applications that are immutable with previous technologies. So the immutability gives you a lot of different benefits. For a user, you know exactly what this smart contract will do. So I know, if Uniswap was safe yesterday, Uniswap is going to be safe. It’s going to do exactly what I want it to do tomorrow. I know that nobody can go in there, and they can switch out the code and steal my money or something like that. But I think even more importantly is, to an application developer, this immutability means if you want to build on top of somebody else’s protocol, somebody else’s application, if you know that that protocol is immutable, then you have a really high assurance that you have a strong foundation to build on top of.

(00:31:31):

The example of how this could go poorly in web2 is, there used to be this thriving ecosystem of Twitter apps, back in the day before Twitter had their own app, because Twitter had an open API. So people were building really cool Twitter apps, and then one day Twitter was like, “Well, why are we letting all these other companies get value off of our platform with their apps, when we could have our own app and we could push ads to users,” things like that. So they made their own app and then they basically got rid of their API. And anybody who built their business around having the best Twitter app, they were out of business all of a sudden. So the immutability of smart contracts lets you know that that’s not going to happen. If you try to build a Twitter clone on some open social network protocol, maybe something with Lens Protocol, something like that, you know that this protocol is not going to get changed from underneath you, that the CEO of some company is not just going to turn off your access.

(00:32:28):

And that’s what’s led to in DeFi, we’ve seen really interesting things with composability. There’s all these protocols that are stacked on top of each other that take advantage of each other. And this is really counter to what we see in web2. web2 is all about building walls. You’ve got Google, that’s got a million different applications and they’re all integrated with each other, but there’s a wall around them. It’s very hard for outside developers to interact. And then Facebook has their own walled garden, and Microsoft has their own walled garden, and Apple.

(00:32:56):

But yeah, in crypto, everyone’s just building on top of each other because these protocols are open. They’re mostly immutable. So, that has led to this Cambrian growth of, at least in the DeFi space. And now imagine as scaling technology gets better, once we see blockchains used for more than just DeFi, we’re going to see that interoperability, that composability, how that can benefit all these other industries. I’m really excited to see that.

Nick (00:33:51):

I want to go back to something we talked about is really relates to blockchain. And this has come up on the podcast before, and I’d love to take the opportunity to ask you about it and get your ideas, but I understand that blockchains are fundamentally designed to be written to, but not necessarily read from. And so, I don’t know if this is the read write problem or how it can be best characterized, but as a blockchain engineer, as somebody with your depth of experience, is that right? Am I thinking about that correctly? Is there a fundamental issue here with blockchains, such that they’re intended to be written to but not necessarily read?

David Mihal (00:34:28):

It’s a fascinating question, and I think it actually goes against a lot of the way people have thought about blockchains since, say Ethereum was created. When Ethereum was launched, it was marketed as this world computer, and what can you do with a computer? You can read to it, you can write to it, you can do it whatever you want with it. So the people I think really imagined that Ethereum would be, you could write programs the same way you write programs for any computer or website. And it’s like as we’ve run into these scaling problems that we’ve had to rethink, “Okay, what is a blockchain good at? What is the minimum that I need to do with this blockchain?” And as you mentioned, this idea that a blockchain should only be written to and not read, that’s kind of an important feature to really scale blockchains.

(00:35:16):

Blockchains are very slow. They’re like these very slow and inefficient computers. They’re very resource constrained. So one way you can optimize the resources you have is to not do all the computation that we’re using chains like Ethereum for on the chain itself, but to move those somewhere else. A funny example is, you could actually build a token that isn’t a traditional ERC-20 token on-chain. You have a token that only emits events in an Ethereum smart contract and then have something like The Graph protocol read those events and reconstruct the token state. And you’ve now made a token that’s much cheaper to transfer, to do anything with than an existing ERC-20 token. Now, of course, it won’t work in any DeFi applications. It won’t work in all the places you expect it, but that idea is kind of the same idea as roll-ups.

(00:36:09):

Roll-ups are essentially just hosting data to Ethereum, and doing as little execution on Ethereum as possible. They’re using the layer 2 to execute the transactions to keep track of token balances. So yeah, I think that’s going to be the direction that more and more blockchains move towards is separating these concerns where the core blockchain is just a really simple bulletin board where transactions get posted. Transactions might not even get validated, aside from paying a small fee. And then you have a roll-up, you have a subgraph, you have these other kind of environments that are somewhere else that are actually doing the more complex stuff.

Nick (00:36:47):

I appreciate that answer. It certainly helps resolve some of these topics in my own mind, and I want to now turn our attention a little bit to the projects you’re working on, and particularly as it relates to The Graph. You’re doing a lot of really cool stuff, and I’m excited to shine a light on some of the tooling that CryptoStats and the team there have been working on. Before I ask you some of those questions, I always like to know when someone became aware of The Graph and what their first impressions were. Do you remember yours?

David Mihal (00:37:13):

Yeah, I’ve been aware of it for a while, just from coming to hackathons and everything, but the first time I really started using it was when I built… Well, the thing that I’m probably most known for these days is a website called CryptoFees.info, which is a very simple little dashboard info site that shows fee revenue for various crypto protocols. And I first built that site back in the early days of DeFi summer, when DeFi was just starting to take off for the first time. Uniswap was starting to see a lot of volume flowing through. There were all these new tokens that you could only get in DeFi, you couldn’t really get them on centralized exchanges yet. And people started talking that the amount of fee revenue that Uniswap was making was comparable to Bitcoin and Ethereum. I threw together this really simple little website that kind of showed, it basically showed layer 1 blockchains, Bitcoin, Ethereum, other smaller chains like Bitcoin Cash and Ethereum Classic, and Ripple and all these other chains.

(00:38:15):

And it had Uniswap V1 and Uniswap V2. And for each of those, it showed how much fees are paid to that protocol in one day. So for blockchains, that’s a transaction fee. And for Uniswap, for decentralized exchanges, that’s a trading fee that goes to the liquidity provider. And so to build that site, I used a project called Coin Metrics to get the Ethereum and the Bitcoin host fees. But for Uniswap fees, I had to use this thing called a subgraph. So I was diving into the Uniswap subgraph, and figuring out how to get the fee data from there. And then, I shared this site on Twitter and it got way bigger response than I expected. People were really interested in it, probably because I think it was one of the first fundamentals-based websites for DeFi crypto. And as people were really excited about it, they kept saying, “Oh, can you add this protocol to it? Can you add Synthetix? Can you add Balancer?”

(00:39:12):

And was like, “Okay, Synthetix. They have a subgraph too. I can get the feed data from there.” And I think Balancer did, as well. But at some point I started running into protocols that didn’t have a subgraph or they had a subgraph, but it didn’t have their fee revenue data. So I was like, “Okay, now I got to learn how to fetch this data myself, how to index this data.” So that’s as I went down the rabbit hole of building subgraphs, just trying to get data to feed into these sites, trying to get the data that people were asking me for. And as a programmer, I just thought the idea of building these Indexers was really fun and really elegant. And so, I started enjoying it more and more, and using it for projects outside of CryptoFees and CryptoStats. But yeah, that was my journey down the rabbit hole into The Graph ecosystem.

Nick (00:39:59):

And CryptoFees is still active. You can still go online and take a look at that original work. So it’s got some staying power, right?

David Mihal (00:40:04):

Absolutely. So yeah, after running that as a side project for a bit, I started putting a bit more time into it. Not the site itself specifically, and you’ll see that the site still looks a lot like it did two years ago when it launched. But by running the site, we started realizing a lot of the challenges in this data ecosystem. On one hand, we were dealing with all these projects that were coming to us, asking to get listed on the site saying, “How do we get listed? How do we get our data there?” And on the other hand, people were coming to us, we had the best new revenue data, and they were saying, “You have an API. We want to use this data on our own websites, can we have access to it?” And it was coming from one of the first projects, if you want to call it that, to come to us was Bloomberg.

(00:40:49):

And so I was going, “Wow, there’s a huge demand for this data and there’s also a huge demand to put the data into this system.” So, that’s when we started this project called CryptoStats, and the idea of this is to be one source for all data in the crypto ecosystem. And so, the primary way that we were addressing this issue of making sure that anybody can have access to good, trustworthy data was to build adapters. I see adapters as being this small layer of this data pipeline essentially, where data starts on the data source, which is the blockchain. This is your transactions, your transaction events, just the raw data, and then it goes through the indexing later. This is like, I think ETL is the technical term, and this is where things like The Graph come in, this is where you’re ingesting large amounts of data and you’re transforming it.

(00:41:44):

You’re doing computations and you’re loading a large database of index data. The next thing you need is, you need some way to pick data from all these different subgraphs, from these different protocols and put it in one ordered data set. So that’s where we came in is, we built this protocol for building adapters, which are just small little snippets of TypeScript that pull data from subgraphs, we’ll pull it from other data sources, pull pricing data from CoinGecko, put this data into a bunch of queries that all have the same format. So if you want to get fee revenue for all 40 protocols or whatever we list, you can just run it against all these adapters. And the adapters will pull from subgraphs, pull from whatever data source is necessary and give you a nice, easy to use output. And then I guess the final layer of this data stack would be the presentation layer.

(00:42:36):

So that’s the websites like CryptoFees, like DeFiLlama, like L2Beat, even things like Bloomberg or any centralized, closed source website. These are all sites that are taking data and figuring out how to best present it to users. So, our goal is to make sure that those presentation layer projects have all the data that they need. If someone’s a really good data visualization person, they don’t need to worry about getting data from all these different projects. They can just come to us, we’ll give them the data, and they can focus on putting that data into a format that lets end users understand it. So, that’s the current state of CryptoStats and how CryptoFees launched that project.

Nick (00:43:17):

So a lot of the tooling that you’re talking about here as it comes to adapters and using subgraphs does relate to subgraphs in The Graph ecosystem. So can you describe in greater detail some of the tooling that you’re developing at CryptoStats?

David Mihal (00:43:30):

Yeah, so the first tool we built was this browser-based editor. We wanted to make sure that anybody could build these adapters for CryptoStats really easily, without having to go on their command line and open up an editor and stuff, because we were thinking of it kind like Wikipedia. Wikipedia is great because anybody can come, they can edit Wikipedia. You do have to kind of understand markdown or whatever templating language they use, but for the most part, it’s easy enough that anybody can make their updates. So, we wanted to make sure that anybody could come to CryptoStats, and they could look at the code for adapters, and if they saw an improvement they could make, if they saw something wrong, they could just click edit, make their small change and submit that edit for review. So we built this really cool browser based tool.

(00:44:18):

It feels like an IDE, feels kind of like VS Code. You can test adapters there, you can do a lot of cool stuff, and you can publish them right to IPFS from there. So, we’ve gotten really good feedback on that editor. So after we kind of finished that, and we’re kind of looking to, how can we continue to make it easier for anybody to contribute to this open data ecosystem? The next layer of that data pipe to address was going down the stack to the indexing layer, and that’s protocols like The Graph. So, we decided to kind of take this browser-based editor that we’d already built, and see if we can modify it to also let users build subgraphs. So, this is something we’ve spent the last couple months building. I think hopefully when this podcast comes out, we’ll have publicly launched our beta version of this subgraph editor.

(00:45:07):

But what this editor offers is kind of the same thing we were offering for adapters. So, we’re trying to lower the barrier of entry for any developer, or any person, even if you’re not a developer to build a subgraph. Right now, you can kind of come to our subgraph editor and just insert a smart contract, and start putting up your subgraph without needing to catch ABIs, without needing to write manifest files. You still do need to write your assembly script mapping file at this point in time, but of course, this is just the beginning of this project. Our goal is to really make it so that anybody can use The Graph and use these toolings to create data and contribute back to the ecosystem. We see that there’s so much demand for people to get data about what’s happening on blockchains. We see all these people using tools like Human Analytics and Flipside Crypto, and I mean those are great tools. I use them myself.

(00:46:01):

But there are also kind of web2 style projects, and what we’re really trying to do is say that The Graph and CryptoStats, and these other projects can be building blocks to a web3 data ecosystem, where someone can come in and they can build a subgraph to try to understand what’s happening on a blockchain. And now that subgraph is like a public good, that anybody can access to, anybody can take data from, anybody can build their own dashboards on top of it. So yeah, we’re building tooling to keep making that easier for anybody to contribute there.

Nick (00:46:35):

Well, congratulations to you and the team. And of course, subgraph creation is a huge focus within The Graph ecosystem right now, along with subgraph migration, migrating from the hosted service to the decentralized network. In relationship to your subgraph editor and some of the work you’re doing there. I’d be curious how the team has corresponded with Messari, for example, the first core subgraph developer team added to The Graph Network who are working and spending a lot of time on standardization. So how have you built that editor tool to account for Messari and the work they’re doing?

David Mihal (00:47:08):

Yeah, so we’ve been talking to Messari for a while, since their kind early days and I’ll say, I’m super impressed with the work they’ve been doing. These guys have been just cranking out subgraphs, which is amazing. And their work on standardization, as someone who’s consuming a lot of data, their standardization just makes it so much easier for us to get the data because the subgraphs, they all look the same, they all have the same data fields and stuff. So where I think we can play in with that is, this subgraph editor allows us to be a little bit more opinionated in terms of how we push developers to build their subgraphs.

(00:47:44):

So one thing we plan on adding to the subgraph editor is the ability to start off with a template, which can be the Messari standardized templates for, say a decentralized exchange that. If you’re building a subgraph for a deck, it’ll give you the Messari schema, maybe some helper functions, and let you start with a standardized subgraph, instead of having to figure out how to make your subgraph standards compliant. So, I think that this subgraph editor can be a really great tool to help Messari with their efforts to having this great catalog of standardized subgraphs for the whole ecosystem.

Nick (00:48:44):

As a point of comparing your contrasting listeners of the podcast and members of The Graph ecosystem are familiar with the recent launch of Soulbound Studio, which Soulbound Labs created, which is this interesting interface for somebody who has no technical background to go in and generate subgraphs. How does your subgraph editor compare and contrast with what the team at Soulbound Labs is doing?

David Mihal (00:49:06):

Yeah, so I think the Soulbound editor is super cool. I’ve played with it a bit, and they’ve built a really sleek experience. I think we have very similar goals. We’re both trying to make it really easy for developers to get started with building subgraphs. We’re just kind of taking a little bit different approaches. We’re starting with a little bit more focus on writing the assembly script mappings, and they’re, I think going for a very kind of a no-code approach where you’re just selecting contracts and connecting them together. So one area that I think there’s a lot of opportunity for collaboration is, we’ve been pushing for a lot more metadata to be included in subgraphs when they’re published. So when you publish a subgraph using our subgraph editor, first of all, you’ll notice that it makes you sign a message with your MetaMask to publish it.

(00:49:54):

So all of our subgraphs are signed by an account, which is really useful because if you see a subgraph, you’ll be able to see who created that, maybe who was the ENS name associated with it. But additionally, we include all the source code in the subgraph manifest. This is something that, if you see somebody’s subgraph that’s already published and you want to work it and change it, you kind of have to hope that they’ve put that code on GitHub. A lot of projects do, but oftentimes it’s out of date. Sometimes it’s hard to find. What we’re kind of trying to move towards is, I guess the equivalent of a verified smart contract on Etherscan, where you have the bytecode of a smart contract that’s running on the Ethereum blockchain, but there’s also the Solidity source code that’s right alongside it.

(00:50:41):

So we want to put the assembly script source code for a subgraph right alongside what’s on the bytecode that’s actually being run. And what this would allow is for anybody to just see a subgraph, click edit, and they can open it in our editor, or they can open it in Soulbound’s editor, or they can open it on their desktop computer or any other future tooling. So, I think this is one step to having an ecosystem where all these tools can work together really nicely, and where people can kind of collaborate on subgraphs using whatever tool that they’re most comfortable with.

Nick (00:51:15):

Well, it seems to me that you’re 100% right, and I think a lot of people in the community have recognized that we need more developers to be building, but you’re somebody who’s got a lot of experience building, and you could probably shed a lot of insight as to why a developer would find using a subgraph so beneficial. So do you mind just taking a minute here, and explaining how subgraphs make the life of developers easier?

David Mihal (00:51:41):

Yeah, so I think a lot of developers that are new to web3 will find using a subgraph very refreshing. Trying to get data from a blockchain can be kind of a difficult path. I was working on a lot of apps for a while, where I basically had to write my own Indexer. I was having my Ethers or web3.js, kind of parsing through events and trying to extract the data I was looking for. In web2, you’re used to be able to just hit an API and just ask for the data you want, and that’s kind of what a subgraph gives you.

(00:52:11):

If a subgraph’s already there, you can just say, “I want to know how many trades did this token have on Uniswap on this day?” And that data’s nicely formatted. It’s in GraphQL, which developers are used to, and very easily served to them. And if you’re on the other side, if you’re trying to index this data, of course it’s so much easier to use an existing platform as a protocol like The Graph, instead of trying to roll your own Indexer, trying to wire up a database and comb through event logs, and stuff like that. There’s been so much time and effort that’s already gone into making sure this is a robust tool, and an easy tool to develop on that. It just saves so much time that developers would spend otherwise building their own.

Nick (00:52:55):

David, I wanted to also ask you about The Graph Foundation grant program. It’s my understanding that you received a grant early on for CryptoFees, but you also received some support for the work you’re currently doing with subgraph editor at CryptoStats. What’s the background there?

David Mihal (00:53:09):

Yeah, The Graph Foundation was just supportive of us in the early days. I guess we’ve been power users of The Graph. Pretty much every protocol on CryptoFees, the data is coming from The Graph, and if it’s not coming from The Graph, we probably would like to switch to The Graph when it’s possible. So The Graph Foundation, they gave us some grants in the early days for CryptoFees, and then as we’ve worked to build the subgraph editor, they’ve been really supportive of that initiative, as well. We’re really grateful for that.

Nick (00:53:36):

Well, again, the subgraph editor you described sounds super interesting, and I’m sure will be very beneficial to a lot of developers out there. If listeners want to give it a try, and kind of go to work on it and test it out, what’s the best way to do it?

David Mihal (00:53:48):

Yeah, if you go to CryptoStats.community, which is our website, there should be a link right on the homepage to open the subgraph editor and get started. And yeah, if you have questions or need some help with it, again, this tool is still in beta. I’m sure there’s still some bugs there, but we would love to know about those bugs so we can get them fixed. Come join our Discord. You can join the Discord by going to CryptoStats.community/discord.

Nick (00:54:10):

And I’ll put those links in the show notes for any listener that wants to get their hands dirty and go try this out. So David, now we’ve reached a part in the podcast where I’m going to ask you the GRTiQ 10. These are 10 questions I ask each guest the podcast every week to help listeners learn something new, try something different, or achieve more. So, are you ready for the GRTiQ 10?

David Mihal (00:54:31):

I’m ready. Let’s do it.

Nick (00:54:42):

What book or article has had the most impact on your life?

David Mihal (00:54:45):

The one that’s actually had the most impact on my life was probably a book called Back Bonding, and it’s a book I read back when I was living in New York, back when I was thinking of traveling. And it was maybe one of the things that gave me the confidence that quit my job and go be a homeless hacker for a few years. But aside from that, there was a book I read called The Power of Habit, which is about how the brain is wired to tap habits, and it’s a good book, but it was the first book that made me think about that. By understanding the works of the human body, we can work with those traits, and find ways to improve our life based on them.

Nick (00:55:23):

Is there a movie or a TV show that you would recommend everybody should watch?

David Mihal (00:55:27):

The Departed is my favorite movie. I’ve seen it far too many times. I’ve made all my friends watch it, so I think it would have to be that one.

Nick (00:55:34):

If you could only listen to one music album for the rest of your life, David, which one would you choose?

David Mihal (00:55:40):

Definitely Kanye’s “My Beautiful Dark Twisted Fantasy.” That’s the best hiphop album of all time.

Nick (00:55:45):

What’s the best advice someone’s ever given to you?

David Mihal (00:55:49):

It’s probably that it doesn’t really matter if you fail. The only thing that matters is how fast you improve. And that’s, I think once I internalize that, that takes a lot of the fear away when you’re doing new things, that it’s okay to fail. People aren’t going to judge you too much for failing, as long as you have the right attitude, as long as you don’t repeatedly fail at the same thing. As long as you’re making progress and coming at things with the right attitude, people will really respect that.

Nick (00:56:18):

What’s one thing you’ve learned in your life that you don’t think most other people have learned or know yet?

David Mihal (00:56:24):

After all the years I spent traveling, you really just get to see that people are a lot more similar than we all think. The world is designed to show us our differences. You’ve got social media and politics, and even things like fashions that are all designed to put lines between everyone, but at the end of the day, most people just want the same things. They just want to be happy, be with their friends, family, safe, and so yeah, I think that’s something that really can unite people.

Nick (00:56:54):

What’s the best life hack you’ve discovered for yourself?

David Mihal (00:56:58):

Well, one life hack that had a lot of impact was, I got into travel hacking back before I started traveling, and by the time I started traveling, I didn’t have a lot of money, but I had a lot of airline points. So I knew if I ended up in some strange corner of the world, I at least had enough points to get me back to my parents’ house. Aside from that, I think a really good life hack is just to remember people’s names. People’s names are their favorite word, and they like to hear them. So you remember people’s names, they’ll like hearing it.

Nick (00:57:28):

Based on your own life experiences and observations, what’s the one characteristic that you think best explains how people find success in life?

David Mihal (00:57:37):

I think the most successful people in life are the ones who are just not afraid to go against the grain. Not afraid to do things that are different than what everyone else is doing, but that has to be combined with being open to new ideas, not being afraid to challenge the way you’re thinking, and be willing to change.

Nick (00:57:56):

And then David, the final three questions are complete the sentence type questions. The first one is, complete the sentence. The thing that most excites me about web3 is?

David Mihal (00:58:05):

The ability to re-engineer the incentives that drive our world.

Nick (00:58:09):

And this one, complete the sentence. If you’re on Twitter, you should be following?

David Mihal (00:58:13):

I really like technical explainer threads, and I think Bartek from Maker and L2Beat has some really great threads. Aside from that, Lito Coen from Hop and Cryptotesters is one of my favorite people in the Ethereum space.

Nick (00:58:27):

And lastly, complete the sentence, I’m happiest when?

David Mihal (00:58:31):

So, there’s these moments that I’ve gotten when I’m traveling sometimes, when it’s usually in really mundane situations, but in really remote warmness of the world. And I just get struck by the awe of the world, how crazy the world is, and how lucky we are to get to experience the weirdness of living on planet earth. Those moments are by far the happiest that I can feel.

Nick (00:59:04):

David Mihal, thank you so much for taking the time and joining me today. This interview has been a long time in the making, but you’ve been very generous and I appreciate your time. If listeners want to learn more about you and follow your work, what’s the best way to stay in touch?

David Mihal (00:59:17):

Yeah, you can follow me. It’s DMihal, that’s D-M-I-H-A-L on Twitter. And yeah, if you’re interested in CryptoStats, come check out Cryptostats.community.

YOUR SUPPORT

Please support this project
by becoming a subscriber!

CONTINUE THE CONVERSATION

FOLLOW US

DISCLOSURE: GRTIQ is not affiliated, associated, authorized, endorsed by, or in any other way connected with The Graph, or any of its subsidiaries or affiliates.  This material has been prepared for information purposes only, and it is not intended to provide, and should not be relied upon for, tax, legal, financial, or investment advice. The content for this material is developed from sources believed to be providing accurate information. The Graph token holders should do their own research regarding individual Indexers and the risks, including objectives, charges, and expenses, associated with the purchase of GRT or the delegation of GRT.

©GRTIQ.com