Web3 Galaxy Brain đŸŒŒđŸ§ 

Subscribe
Web3 Galaxy Brain

Ethscriptions with Tom Lehman

1 August 2023

Summary

Show more

Transcript

Nicholas: Welcome to Web3 Galaxy Brain. My name is Nicholas. Each week I sit down with some of the brightest people building Web3 to talk about what they're working on right now. My guest today is Tom S. Lehmann, who goes by Middlemarch on Twitter. Tom is the creator of ETHscriptions, an NFT standard for inscribing Base64 encoded URIs in the data field of EVM transactions. Prior to ETHscriptions, Tom was the co-founder and CEO of popular lyric site and content company Genius. ETHscriptions are inspired both by Bitcoin inscriptions and the Ethereum practice of appending hex-encoded UTF-8 strings to the data field of regular transactions, a gesture that's been used by hackers and artists to communicate on-chain for years. The best way to think of ETHscriptions is as an alternative to smart contracts. Instead of executing and verifying logic on-chain inside of a function call in an EVM smart contract, ETHscriptions leave the validation of minting and transfer events to off-chain indexers, which can follow the protocol's standard to decide whether transactions mutated. ETHscriptions state or not. Instead of reverting invalid transactions when they're sent, ETHscriptions indexers ignore them, despite their successful inclusion in the chain. This makes ETHscriptions a more Bitcoin-style protocol experiment, where a new software reads new meaning into data stored using existing rudimentary blockchain affordances. At the same time, ETHscriptions is an artistic meditation that questions the presumed legitimacy of L2s and NFT standards like ERC-721, which both make certain assumptions about how meaning should be stored and computed on Ethereum and other EVMs. It was fantastic talking with Tom, who's an energetic builder and independent thinker. I hope you enjoy the show. As always, this show is provided for entertainment and education purposes only and does not constitute financial advice or any form of endorsement or suggestion. Crypto is risky and you alone are responsible for doing your research and making your own decisions. Welcome.

Tom Lehman: What's up? I saw you released that tool.

Nicholas: Oh, yeah.

Tom Lehman: The little metadata thing.

Nicholas: Yeah, a little metadata refra... It's a very simple thing, but... That's dope. It's handy. I did this on-chain NFT metadata thing and the metadata changes all the time. It's got like a timer in it. So even if nothing else changes, just the clock has to change. So yeah, I encountered this problem with the OpenSea caching, not updating and the refresh metadata meme. And yeah, there's no endpoint for it. So I made that little thing. So if anyone has... Maybe it's not... I guess ETHscriptions don't have this problem right now. Maybe I guess the Emblem Weaver Vault stuff would.

Tom Lehman: If there's... If the Emblem Vault stuff would. I mean, anything that is... But no, there's no... I guess there's not really... And we're working on this. There's not really like metadata in the actual protocol in any real way. It's just like there's just the data and the data can have like metadata in it or it can be JSON or whatever and that's fixed. But if you want to do like a generative thing, you could have some kind of HTML file and that HTML file can call out to anything. But I guess in OpenSea, there is that event, but you can't use the event because the event has to be a transaction. So your transaction, yours needs to be like every 10 minutes or every second or something.

Nicholas: And the other thing is that the event... Yes. So it's transaction bound. Also, if you have delegated metadata on your contract, so it's like a separate contract that provides the metadata, then you can't emit the event on that contract and have it bubble up to the contract or the NFT, the quote unquote collection. That's interesting. Yeah. So that's another problem. And as you point out, even if I could do that, if the clock is counting down, let's say every hour or minute or something, still need to update it even more frequently. So I think what would really be the best would be just OpenSea puts out an endpoint for refresh the collection and then you still have to have some kind of cron job. call it, but it would be something. But there's just too many NFTs, I imagine, for that.

Tom Lehman: Yeah. Yeah. No, it's a very tricky problem. You know, and I think gets to kind of like a lot of this stuff when people are like, oh, indexers, I'm scared the indexer is going to kill me. You know, that's how people say, but that's how I can see the fear in their eyes. You know, are we relying too much on off chain indexers? and indexers are scary, but it's like the problem you're talking about right now, you know, you're just casually living your life. You're like, well, I got to build this. But really, if you were an indexer alarmist, you'd say, what, are you kidding me? OpenSea doesn't reflect the state of the blockchain. What if there's an NFT that has metadata that says, go buy ETH because the price is good and that's out of date and I buy it and I go, what? This isn't. You know, so that's like the, you know, when, when the indexer is familiar, like in the case of OpenSea or EtherScan, everyone's just like, doop-de-doo, this is normal. I'll work around this and build my, I'll build my life around this, you know, like the song Landslide. And now with a new thing, it's like, you are, how dare you? So yeah, I think it's a fascinating thing. Totally.

Nicholas: So, okay, we're going to talk about ETH description state. There's three big topics. Well, actually two big topics that I want to talk to you about. We talked a little bit on DM about what you hate most about L2s. So that's one topic, which is kind of in a way off topic, although maybe not because ETHscriptions is like this. And that's the other big topic, ETHscriptions, obviously how it works, everything, all the details. Because in a way it is kind of like an alternative L2, right? It is a different way of looking at augmenting the chain.

Tom Lehman: So I give you the choice. Well, I am tweeting, just to, full disclosure, sorry, Ravi, just full disclosure. I just tweeted, you can see it. I'm trying to create controversies. I tweeted, ETHscriptions is not like an L2. Join us to discuss. I'm undermining the premise, okay, to create energy and confusion. But anyway, go on, sorry.

Nicholas: Make sure to comment on that, anyone listening. Pick sides. Picking sides is very important in social media. So if we want to make this topic relevant, we need to increase the vociferous nature of this conversation. So I give you the choice. Do you want to talk about what's wrong with L2s? Or do you want to talk about ETHscriptions first? We'll get to both, either way.

Tom Lehman: Well I'm about halfway through the movie Inception, and not to spoil anything, but there's a part of the movie where they're talking about something. and then how are we going to incept this person or whatever. And no spoilers, but one guy says, positive emotion always outweighs negative emotion. Wow. A character says that in the movie. And so, you know, it's a good movie. And so I'm going to go with that. So yeah, so what is ETHscriptions?

Nicholas: Yeah, what is ETHscriptions?

Tom Lehman: So, okay, so what is ETHscriptions? All right, so well, one way to think about this is what is Ethereum? Okay? And, you know, first of all, no one knows what this is. If you're in this room, you actually know what Ethereum is. You are 0.99, a lot of nines. Okay, there's like five nines is a meme, five nines. And the reason for this is that most people think Ethereum is the name of a cryptocurrency. So they say, what's the price of Ethereum? Some people within the Ethereum community actually call Ether, which is the actual name of the cryptocurrency, they call that Ethereum. And when they do that, I don't say anything out loud, but I lower them in my mind in terms of like the level. So yeah, I mute the account basically. I don't block them. They're never going to have the satisfaction. I'm never sort of blocking. Why would you give someone the satisfaction of knowing I just mute? But no, I actually don't mute. I've probably said it myself. I've never said it myself. But the point being, the actual nature of Ethereum is too revolutionary for the human mind to grasp, really. In other words, cryptocurrency is pretty revolutionary. It's like made up money, magic internet money famously. And finally, you can grasp that and that's it, you're done. But you can't grasp another thing, which is a magic internet computer thing that we can all use and runs on magic internet money and is a whole economy. And it's crazy. So Ethereum is a computer. It's a cloud computing solution that lets you do stuff on it without working in a serfdom, so to speak, with a giant corporation. So if you want to do a calculation, you can do it on Amazon AWS, which I do often. And it's great. It's cheap. Or you could do it on Ethereum where it's like a trillion times more expensive, but you're not in Amazon's back pocket. And so what is Ethereum? Ethereum is a way to compute, to have protocols, i.e. like interact with other people in predefined ways, to store data in a way that is not in a corporation's back pocket and maybe lasts a really long time. So that's really good. If you want to say a message and not have it deleted, it's better to do that on Ethereum than it is to put it on Amazon's server. If you want a protocol, and a protocol is just like a shared way of doing stuff, like a protocol with NFTs or whatever, it's like who owns something. Like if you want to track ownership or you want to see, okay, who's number one in fantasy football or any protocol that has state to it, if you do that on Amazon, you might lose it all. Right? Like Amazon might delete it. Who knows? So Ethereum is a great place to do this. So Ethereum is awesome. And I just can't emphasize this enough. If you know what Ethereum is, you are very few people know what Ethereum is. You think it's that few?

Nicholas: I guess you've got the exposure.

Tom Lehman: Basically zero people.

Nicholas: Really? Really? Because you've got the exposure. I talk to normal people sometimes. But also with these inscriptions, I'm sure you've got lots of people coming out of the woodwork, trying to gamble essentially, and not really knowing much. So you have even more exposure to what the masses think.

Tom Lehman: Well, it's just I think people at best think of it as, okay, it is a... I mean, some people know the catchphrase, programmal money, but just to understand the real thing is to say, okay, anything you can do on a computer in your house, you can do on Ethereum. Like that equivalency is not very... Whatever, it doesn't matter. It's a powerful idea. Now, the problem with Ethereum and the reason Ethereum is bad and will never work is that it's too expensive. Okay? This is one of the most shocking things for someone who is new to it and who first learns the potential of this thing, as I did once, and then has that collide with reality, right? Where you're like, oh my God, okay, time to register an ES name. That's how much it costs me to register in gas. Middlemarch.eve. And as I was doing it, I was like, this is weird. Why am I spending so much money on this? But of course I was gleefully whatever in the game and loving Ethereum, so I did it. And over time, I did more stuff like that. And at a certain point, it catches up to you, you think this will never work. This is... It's like in Zoolander, he says, what is this, a school for ants? This is like the opposite. It's like a cloud computing platform for rich people. For whales. For whales. Precisely. Thank you. That's exactly... For whales. What is this, for whales? And we are ants. If you're in this room, you're ants. Sorry. I mean, I'm looking at the thing. It's a database for whales. Exactly. And so it's like, it's not going to work. And that's quite a shame because there's nothing else like it. And sorry, I know there's other chains, but it's religion. You have to pick a religion where... It's really a shame. So Ethereum is great but expensive. Inscriptions is, let's see if we can improve the situation. Let's see if we can do something where you get the benefits of Ethereum. This is like a classic pitch. You get almost all the benefits of using normal way Ethereum at 140th of the cost. So if you want to do an NFT, you want to create an NFT or do... NFT is at a 40th of the cost and almost as good. That's kind of the core pitch. So don't worry about inscriptions if A, you don't care about Ethereum stuff and decentralization. Don't worry about it. It's not for you. Don't worry about inscriptions if you're a whale. You can just use NFTs and regular Ethereum. It's not for you. But if you care about decentralization, you care about not being in every corporation's back pocket and having every second being manipulated by them and you are an ant or at least you're not a whale, inscriptions can open up a lot of new frontiers in terms of letting you use this decentralized technology for cool stuff and not having to go broke. So that's kind of the idea basically behind it.

Nicholas: Got it. So let's walk through how one is actually made because I'm sure some people out there still don't know. And yeah, maybe can you take us through what the steps are to make one?

Tom Lehman: Sure. So how do you create an inscription? So first of all, I want to drop here. And I just want to say if anyone wants to take a look at this, I'm dropping a new docs site, not DOX. But if you go to docs, D-O-C-S, short for documentation, eScriptions.com. It's not public, but I'm working on this. So I just want to promote that. if anyone wants to give me feedback. I'm always looking for free advice. But basically an eScription. Free alpha.

Nicholas: eScriptions.com. And it's like a section on the site or something?

Tom Lehman: It's not actually linked there. It's just a subdomain. So it's docs, D-O-C-S, dot eScriptions.com. And you can see how the protocol deals with some... There's a lot of annoying stuff behind the scenes. Anyway, how is it created? Every inscription starts in the same way as every other thing on Ethereum. How do things on Ethereum happen? We were talking about this a moment ago. Things on Ethereum don't just happen. They have to be made to happen, initiated by these things called transactions. So every time anything happens on Ethereum, there's a transaction. And the person, there's an EOA, i.e. a person or someone who's pretending to be a person, someone with a private key, an end-operated account or a user.

Nicholas: Externally owned, yeah.

Tom Lehman: Yeah, externally owned account. A wallet.

Nicholas: From most people's perspective, a wallet.

Tom Lehman: Exactly. Something with a private key. Because that's the core thing. These things are signed by something. And if you don't know how that works, no one... Just trust me, it's a private key, it's fine. I don't even really know how it works. And a transaction is initiated by an EOA. This is so important because contracts don't do anything. They cannot initiate anything. They cannot do anything. They just sit there until an EOA does something. All of the creative energy in all the Ethereum comes, initiates from transactions that are created and signed by EOAs. And EOAs are people or things that are functioning as people. And we should say, parenthetically, in 2023, for now, that's the case. True, but... We are living now.

Nicholas: We are living now, so it's good.

Tom Lehman: I would say, but this is kind of this philosophical side, because I would say forever, or they could change Ethereum.

Nicholas: Well, account abstraction, you know...

Tom Lehman: Yeah, and I think the... We should talk about this. I don't get the account abstraction thing. And I think there's some weird thing going on with the account abstraction thing, but it does not make sense to me, because you can't just change that. I don't know, but we can talk about that later. Maybe you can explain that to me, because I don't get it. But the... Okay, so anyway, you want to interact with a smart contract, or pay interest, it's the same thing. It's the same starting point. And in fact, the technology that you are using, the sort of thing, is the same, even within a transaction, because it is a space in the transaction called input data. Which is sort of like the notes field, is one way to put it. It's sort of like... It's not even called data. The idea is you send a transaction, you can send Ether, the native cryptocurrency, but you can also send other information, or at least attach other information to the transaction, so people can see it. And so this is how you do a contract interaction when you mint, for example. You send Ether, like you send 0.1 ETH, or 0.01, let's be real, we're answering. You send 0.01 to the contract, and then in the input data, in the call data, in the notes field, you write, I want to call the mint function, and I want to mint five tokens to myself. Okay, and this is how the standard contract interaction works. Inscriptions is basically taking that same idea and saying, create a transaction, put information in the call data, except don't send it to a smart contract.

Nicholas: Right. That's the idea. Directly to another address that belongs most likely to a person with a private key on the other end. So I could send you, middlemarch.eth, a transaction with some transaction data. Normally, because yours is an externally owned account, it's not going to do anything when that data hits. But Inscriptions interprets, is like a way of reading the transaction data in transactions and interpreting them as representing NFTs, which in a lot of ways, so are smart contracts. There are some differences, but I guess the main difference is, well, let's finish out how you actually mint one. So people, I'm sure some people know, but let's get that into people's minds. And then we can talk about what some of the implications are of having that different philosophy about writing software for Ethereum.

Tom Lehman: Sure. So you can, so exactly what we just said is exactly true. And there are a bunch of different protocols that you could make on top of this idea. that wouldn't necessarily be, it wouldn't be Inscriptions. So Inscriptions specifically has a format for the data you send. You can't just send any old data. If you could send any old data, there'd be a zillion Inscriptions out there because people have been doing this for a long time. This is a new idea. I didn't make this up, but I did make up a very specific way of doing it that was easy to work with. Okay. So instead of just putting text in there, what you do is in this notes field, in this input data field, you put what's called a data URI. Okay. A data URI is just a fancy way of saying it's data plus information about what type of data it is. So it could be like image data, like PNG image data. And then it also says that it's a PNG. So you know what to do with the data when you get it, basically.

Nicholas: So it's basically just like a long string of text. Most of it is like garbled. You can't really tell what data is included there. But right at the beginning, it's going to announce, hey, this is an image. So interpret this as an image.

Tom Lehman: And, you know, that is, you know, a pretty standard way of doing data interchange stuff. Pretty normal. And then, and you send one of those. Okay, put that in the data, the two of the transaction will be according to the protocol, the owner of that.

Nicholas: So if I send to middlemarch.eth, you'll become the owner, I'll be the creator, and your indexer will or any anyone else who writes an indexer, whether they're using your implementation or something they write themselves,

Tom Lehman: will follow

Nicholas: the rules of eScription and determine, oh, looking at all the transactions that have ever happened on Ethereum, here's one that corresponds to the protocol, the eScriptions protocol. And thus, I will show an NFT on this website, for example.

Tom Lehman: Precisely. And then it gets more complicated because there is, you know, with protocols, you often have this notion of state, where, you know, you're creating this like imaginary world. and now you, you know, like NFTs, of course, have a ton of state like ownership and, you know, often, you know, fancy on-chain NFTs will have more state or whatever. So it's like you're creating this like world that you can kind of live in and do interesting stuff like trade things, not just look around. So eScriptions has state and state is, some of the state is unchanging, like the creator of eScription never changes, but the owner will change. So there's a way of sending an eScription to someone else. There's other ways too. But the main way, I guess today, is if you take an eScriptions ID, okay, and that is the ID. that is the same thing as the transaction hash of the transaction that created the eScription. So if you create an eScription and go to EtherScan, you can see in the URL, there's this long, you know, 66 character garbled thing.

Nicholas: You can use that.

Tom Lehman: And that is, you're, precisely, yes. And so you can take that and put that in the call data, the input data of another transaction and send that transaction to someone. And provided you are the owner at the time you send the transaction, that will be a valid transfer. And so if you are creating an indexer or a explorer for the protocol, you would need to store every transfer that happens. And then, you know, make sure that you filter out the ones that are legitimate, i.e. the ones that are sent by the actual owner. And then you can trace that, you know, transfer chain to the end. And then the two on the final transfer is the current owner. And so that's how you wanted to create a site for trading or a site for viewing like NFT style, you'd be able to compute the current owner. And that's the kind of core of the thing, the existence of the thing, the creator, and then the current owner.

Nicholas: So for example, Nicholas.eth sends base64 encoded data colon image png something, something, I send you a little picture to middlemarch.eth. And then middlemarch.eth can send a transaction where the TX data is the hash of that first transaction where I created the description. You can pass it on to somebody else by sending them that hash. And the indexers are kind of the ones that surface the information and check the veracity of the claims so that if you then send the same transaction hash again to somebody, that transaction will be ignored because you no longer own the NFT.

Tom Lehman: Correct. And then actually there is another element of state too that I did not mention, which is important, which is that all these descriptions are unique. So if you create an inscription and then you say, okay, I'm creating this, but there's another description with a lower block number or a lower transaction index and the same block number that has the exact same contents, then yours, the second one, the duplicate one will not be a value description will be ignored. That will be on the, you know, it'll be on the blockchain and the data's there and you can check it. And maybe there's another protocol that someone makes that says it's okay. But from the description standpoint, it does not exist. And anything claiming to show a list of descriptions cannot include that under the protocol. And so that's another thing that you have to keep track of. when you are, you know, creating an explorer or an indexer for this, you kind of, you have to know, you know, the whole history basically to know what's valid.

Nicholas: So I wanted to ask you about this. I had a few questions. First of all, why ignore duplicates? What's the philosophical or engineering reasoning behind that?

Tom Lehman: So yeah, so the duplicates thing was a quirky move, basically. You know, it typically not a good move for protocol to do that because it's now very, very difficult for a lot of things. And you know, it's a lot of problems. But I think the idea is basically kind of getting at just like the, it's just the fun. It's about fun basically, because if you look at anything out there right now, everyone's always talking about firsts. Everyone has this thing where they say, intellectually, I know firsts don't matter. Just look at the history of science. Like, who is the first person to discover oxygen? Such a statement, doesn't that? Yeah, that's what people say, right? Firsts don't matter. Priority claims are irrelevant. But then everyone's like, I'm the first blah, blah, blah. I'm the first this, this. So it's like a kind of homage to that duality and that paradox.

Nicholas: Everyone's going to see Oppenheimer this weekend for a reason.

Tom Lehman: Right. So yeah, people just want to know the first. So the idea was basically you can make a copy that is exactly visually identical and that will not, you know, that'll be a first of its own. But if you want to know that exact, exact, exact thing, you know, and it creates some issues front running and all kinds of problems or whatever. But like if you are an artist and it's just like, there is just one, just one thing. I think that's a thing that everyone will do anyway. And I'm just saying, hey, the indexers, the protocol maintainers, everyone, we're going to take it off of everyone's plate and decentralize, not centralize, but like, yeah, centralize. It's part of the protocol that you have to do this. You have to do this thing that everyone wants to do anyway. And yeah, it's also a digital artifact. You know, I just think that artifact is like singular, you know what I mean? Like it's just like, you know, contents like yes, every transaction is a transaction hash and every transaction is singular. But like if we're talking about artifacts, like content is content. And I think a better way to do this would say, you know, it's like IPFS is content addressable, but then that creates other problems too. But yeah, it's a weird move and it's causing problems. Definitely. It's tough. It's annoying.

Nicholas: Content addresses. I mean, I was kind of introduced to content addresses through developing NFT contracts and encountering IPFS in that context. And IPFS has all kinds of deficiencies, but actually content addresses are very cool because it means you can rely, like you can really know where something is. It feels like a major upgrade over something like magnet links in torrents. Those are typically lists of trackers, right? Or you have some identifier, but there's also where you can find it.

Tom Lehman: But IPFS is- I mean, I have no idea what torrents look like, so I couldn't- We wouldn't know.

Nicholas: So this also kind of like, you mentioned that there were other people doing things previously. The first example of it that I know of, maybe you know of another one, is the boobies on the blockchain, which is a reference that I picked up from Zero X Mon's project, where in his blog post about, I think it's called Cthulhu V2, he mentions this boobies on the blockchain project from, I believe, 2016. But we can double check the dates on the transactions. But someone basically did a similar process, but they weren't, I think, I'm not sure that they were putting the same format as you've chosen for each description. So a little less standardized, but someone put images of breasts from medieval artwork on super crunched down bitmaps and put them on the blockchain in a similar way by loading them into the transaction data. But in your docs, you also mention this hacker, the Poly Network hacker who was using it, speculating, oh, Ethereum could be a kind of decentralized Snapchat or because they were using it to communicate with the network that they hacked, if I understood the context right. Does two things. One, is there any part of that in particular that inspires you the most? And two, did you think at all about designing it to be backwards compatible to be able to sort of include these older things in the network? Or is that not important?

Tom Lehman: I think, I have not seen it, but I try to Google just the boobies. I'm interested in that. I think, yeah, I mean, that movie sounds cool. I mean, I think the earliest one, right, is the Bitcoin Genesis block one, where that's the inspiration for everything. Chancellor on the verge of second bailout for banks. Okay. It's basically just like saying, watch out, Chancellor. We're building the magic internet money thing. So we're going to get back to you. But it's a political statement. So it's a cool thing. I think the Poly hacker thing to me was just cool. And everyone should look this up. It's linked on the new doc site and the old one, where this person is basically saying, like, I'm a refugee. Now, obviously, they stole $600 million. So they're not exactly a refugee, but like, they're sort of saying, I'm a refugee. I can't use anything but this. Now, of course, there are reasons for this. And they're sort of saying, if you're a refugee, like, this is a way you can communicate. And that was really important for me to see that. And also just like the idea, I think it's like a super cool idea using, you know, Ethereum to, you know, trend, communicate in a low cost way. And of course, in that particular case, it led to the recovery of a lot of money. I don't know how it would have happened otherwise. So I just thought that was a cool, weird cultural phenomenon.

Nicholas: And it is very crypto native that a hacker kind of emerges from hacker culture, because it's the only way that they can communicate privately.

Tom Lehman: Right, right. And it's also just a feeling of going to Etherscan. And Etherscan is a pretty dope website. But go to Etherscan, you see the input data, and it shows you in hex. Hex is like an encoding way of doing things. And then you click UTF-8. And boom, out pops a message. It's like, that's a crazy feeling. Because it's like, oh my god, like this stuff's hidden everywhere. I didn't really think about backwards compatibility, to be honest. Like, I just think the semantics are, you know, kind of weird. It's like, you're sending a message to someone, it's like a message or something they own. I was quite surprised that there were so few data URIs ever. There were like 10 ever.

Nicholas: Oh, so there are grandfathered in ones because they were data URIs. Correct.

Tom Lehman: Yes, there's about 10. The first one in 2016, if you go to eScriptions.com, slash eScriptions slash zero, you can address them by their number in order, zero, you can see. And it's a very funny image of a cat. It's a meme of a cat staring off into the distance. And the text is, human society shall be enciphered, which is sort of a weird text.

Nicholas: Oh, jeez.

Tom Lehman: Iconic meme.

Nicholas: Seven years ago.

Tom Lehman: Yeah, it's cool. But yeah, I use Google Big Data for this. If anyone wants to know how you search all data historically, it ain't cheap. All right, it's like five bucks a query. So get it right. You know, you're using this big data thing.

Nicholas: So what would a query in that would be like, how specific is a query in that? What are you searching for? Anything that starts with data colon or something?

Tom Lehman: Yes, basically. In the end, yes, that. And I search for a bunch of other things to try to validate it. But it's hard because how do you actually like, I mean, someone I forget who linked me to this BigQuery thing, because without the BigQuery thing, there's no way to search it. Maybe the graph?

Nicholas: I guess it's not emitting events. You can't. Can you just do call data like that?

Tom Lehman: To be honest, the graph is another thing I've never quite totally understood. I don't think the graph or any of these things has call data is just not typically like indexed in this way. Yeah, I don't know.

Nicholas: I don't think like we should look into that. But in any case, yes, it is. Certainly using the graph is more complicated. By the way, if anybody's curious, it's boobies.surge.sh. If you want to see that boobies on the blockchain thing, the website's kind of falling apart. But you can get to the transactions where they sent. Oh, actually, maybe you can. I'm not sure the links work either anymore. But you can take a look. I think this says 2017, 2185 days ago. Pretty good. So I wanted to ask you more about the indexer, speaking of BigQuery. So what does the indexer do? Because you mentioned that it's like easy, I think you call it, to write the indexer. So what are the steps of creating an indexer? if you wanted to think about doing something like that?

Tom Lehman: Yeah, as part of these docs changes, I'm going to eliminate where I say that. When I first launched the protocol, because I built it quite fast, the indexer, when I first launched it, I thought, yeah, it's not so bad. It's not easy. Okay, I will take that back. There are a lot of tribulations and so forth, trials as well, also. So basically, a couple of important things on the indexer. So one is that there are edge cases, okay? And that's, you know, annoying. So here's an example. When you create an inscription, the two on the transaction is the owner of the inscription. What if there is no two?

Nicholas: When? When does that happen?

Tom Lehman: How might that happen?

Nicholas: Is that a two or something?

Tom Lehman: I know, you really got to learn this nerd stuff. No, if you create a contract, and the bytecode of that contract is a validator URI, there's no two. And you're anyway, so this only happens.

Nicholas: How do transactions work when you deploy a contract? You're sending them to like a pre-compiled address or something?

Tom Lehman: Something, I don't know, to the blockchain. This is like, I don't know that much about how it works, basically. But yes, there's no, yeah, there's no two. And in an ether scan, they will show you two brackets contract created, sort of pretend that it's going to the created contract. But there's no two when you get from like Alchemy or in real life or whatever. So anyway, you have to deal with stuff like that. That only happened once only because someone was playing around with it. So that's pretty unlikely that that would happen. But when it does happen, it grinds the whole thing to a halt. So this is like the key with an indexer is because there is state, you have to do everything in order. And so if something unexpected happens, you have to stop doing everything and just wait, basically. Because if you continue processing, depending on how you resolve that weirdo thing that happened that might affect the state. So like, for example, in this particular case, if this was a valid description, even when there is no two, then that would affect other descriptions with the same data later. And of course, transfers are very, you know, order dependent as well. And so the number one rule is you have to go one transaction at a time in order. And if something weird happens, you blow up and just don't do anything until it's fixed. So you know, if an indexer falls behind, people can't rely on it. So that means you have to kind of watch this thing and make sure it doesn't blow up. And so, you know, there's edge cases like that. And there's the one at a time issue like that. And so one at a time means like really one at a time. So you have to do a bunch of like, you know, basically a bunch of work to make sure you don't mess that up. And then there's also edge cases surrounding like how exactly do you compute the hashes and convert to UTF-8? and what's about the URI. But the biggest thing by far, actually, is this notion of reorgs, which is this idea. Actually this is, once you, once, I think it works now. I've tried a lot. But not so bad now if you really figured out. But just like the idea of it is very scary, which is the Ethereum blockchain sometimes changes, right? The most recent blocks can change. Every block can change, I guess. I don't know all the details of this, but I thought this never happened. But it turns out it happens a lot. And so I don't know why everything works. Right? You really, it's only one block. But sometimes by the time you figure it out, a couple blocks have passed or something. So it can be like three blocks. So basically you have to periodically check. And if you discover that there is a reorg, that the block hash has changed, you have to kind of kill the blocks that are now compromised, re-index those. And it's a whole thing.

Nicholas: And you can just have the indexer trail by, I don't know, 10 blocks or 100 blocks or something?

Tom Lehman: You could do that. But then people are relying on it to know who owns what. And then they want to do a trade or they want to do something. So yeah, it's that kind of tension. At least it's not...

Nicholas: I imagine people who are into E-descriptions maybe have a little bit of awareness about ordinals. And it seems like ordinals is an even stickier problem. because if there's a reorg, the transaction of... Because it's like sat as the index, the sat is the index, the sat in that in a given UTXO is the index. If you get it off, like, oh, you maybe sent your NFTs to some, I don't know, Coinbase or something.

Tom Lehman: But can you recover that? Or in other words, if the reorg does that, doesn't the reorg undo your transaction of sending it or whatever? I have no idea how Bitcoin works.

Nicholas: I don't know exactly. I guess if you have transactions that are... Let's say you have... No, because you probably have like a nonce or something on the UTXO, right? Like the UTXO has to be spent. I wonder, could you have two transactions and somehow only one of them goes through and it causes... Because the ORD wallet and all these other wallets are like shuffling around the UTXOs to only send specific sats because they're all together in the wallet. I wonder if you could accidentally... I mean, definitely you can. And I know that there was some kind of reorg, or maybe not a reorg, but there was some kind of problem with their indexing that caused everything to be off by a certain number. So it essentially is like a crisis of provenance in the thing if the indexer has historically been wrong. So that seems even worse because here the worst thing is just, I don't know, you need to check that the transaction, the e-scription has actually been sent and no longer belongs to somebody if they ever tried and execute the same transaction. But there, every transaction that the person sends is potentially shuffling the location of the ordinals and the inscriptions in their wallets. Anyway, it's scary.

Tom Lehman: Well, definitely the ordinals thing is, I didn't do, and I don't know how I would have done, because it seems really complicated, the actual order. I think UTXOs, this thing in Bitcoin, like the second you said, I assume people in the inscriptions understand Bitcoin. It's like, no one understands. I don't understand it. But UTXOs are basically a thing that helps with this. I think you could still order all this stuff without UTXOs. It would be harder, is my understanding. Basically, I didn't want to do it.

Nicholas: Yeah, yeah, yeah. But you could do something like that on Ethereum. You could do, and maybe even people are trying this with like the BRC20 e-scription forks. I've seen these in the marketplace. I don't know if they're actually trading as fungibles.

Tom Lehman: Yeah, I think, well, so that's one. So I'm just saying that like, you know, looking at Bitcoin, it seems very hard to actually put the way in order and also unnecessary. I don't even see why it's necessary. on Bitcoin. I think that it's cool that you can have the pizza sap with the picture on it. Like that's dope to me. I like that. But I don't think that's a necessary, you know, I don't think, I think you could do inscriptions on Bitcoin without ordinals. I think you could invent another. It's all just like, you know. But yeah, anyway, the, yeah, in our case, the way to think about it is, you know, there's always a truth, right? And that truth though is probabilistic. So there's always like, who owns this e-scription, but just what's the probability? And no one can answer that exactly. But if there's one block confirmation, then the probability is, you know, I don't know, 80%, 90%, whatever it is. And so because no indexer can really express that precisely and no user could ever understand it, you have this, you know, more nuanced and more tricky like deletion thing. But you know, functionally speaking, it means that to your point, it's not the indexer should trail. It's that user should trail. So, you know, we do this, we warn about this on the website where it's like, if you buy something, you should wait five blocks before you sell it. Because maybe the thing that said you bought it actually got re-org and changed. You just don't go so fast, basically. And this is what Coinbase or whatever, this is what real people do. You send them ETH, they wait, Coinbase waits 14 blocks before it gives you credit in the account. But yeah, that's, that makes it tricky.

Nicholas: Right, right. It's interesting what you say about people then wanting to do subsequent trades. So you can't, you can't just trade or you need the UI just needs to represent it in a way that's safe. So we're kind of touching on the subject that I wanted to talk about, which is from Ordinals, I, because they have an, is a wallet. that's a fork of the Bitcoin node software that has additional functionality for doing the exact same kind of indexing that you're talking about with the descriptions, but for their system, which is, you know, quite different because they don't have the same notion of transactions and accounts as Ethereum. So they're finding new ways to achieve that in the Bitcoin land. But what I learned from Ordinal studying it, whatever it was, whenever it launched a year or six months ago, is that there's this alternate design philosophy inside of Bitcoin, which I feel ETHscriptions is really evocative of, which is that you can put data onto the chain in different ways, maybe more limited ways in the context of Bitcoin or cheaper ways in the context of ETHscriptions, where there's no contract, but instead you're just packing data into an affordance for holding data in Ethereum. And then you're indexing it, you're looking at the blockchain in a new way and saying, if we look at it according to this new protocol, we can suss out something. that's some information that's hidden here that wouldn't be perceived of if we were, if you know, just regular. Etherscan doesn't know about this protocol, but we invent the protocol, the social convention, and then we build software to make it easy to interact with it. that way. We don't need to add features to the blockchain or new ERCs or new IP standards or any kind of new software, aside from just a new way of looking at the blockchain. Do you think about this at all, that it's like a very alternate kind of design philosophy to traditional smart contract engineering on Ethereum and much more similar to Bitcoin?

Tom Lehman: Yeah, I think I do think about this maybe every second of every day of my life. Yeah, no, this is exactly what I think about every second of my life. Yes, I think everything you say is exactly accurate, like that I would say. I think the only thing I would say is, A, the idea of positioning this that we're talking about now as an alternative or different, I think is very interesting because talk to a normal person about NFTs and see what they say, right? They don't say, oh yes, the standard thing and ETH is the weird thing. They say, what are you talking about? Get away from me. This doesn't mean anything. Right click save. You're insane. So that's the status quo, right? NFT people are absolutely insane, right? I love NFTs. I've done a million NFTs. I've owned a million NFTs, spent a lot of money, lost a lot of money. You're insane, right? So there's no status quo of great, except it's not like counterculture thing. It's like both of these things are incredibly counterculture, okay? Yes, NFTs have greater adoption within the world of like 1 millionth of 1% and the world is hated by many normal people or whatever. And so that's real. But there's no objective or even close to objective way. you could say that one is like the normal way and one's the weird way. In fact, I would say the construct of a smart contract is weird, right? That was the weird one. Now, the way it was sold to us was it's weird, but it's actually sick, right? It's actually like amazing and weird. Okay. And it turned out to be correct, but it was also expensive. So I think the, you know, to me, the simpler thing, the more natural thing is to say, hey, people are doing things out there and that's real, right? Let's look at what the people are doing. Why do we have to copy what people are doing into another place that's super expensive and look at that? Why don't we just look directly at what the people are doing? So in some sense, right, this is a far simpler way of looking at the world because it's just, you know, it includes the same thing that the smart contract view includes minus a thing. So it's like you have less things out there. So it is simpler. So, you know, this is of course somewhat of a troll perspective because of course, smart contracts are the orthodoxy here and we're up against that or whatever. But yeah, I think it's an alternate way of looking at the world. And I would challenge anyone who thinks that smart contracts are just like the capital TH normal way when in fact, they are a competing worldview and you know, people should try different worldviews out and see what works best for them.

Nicholas: Absolutely. And that's one of the reasons I think eScriptions is very, very cool. Despite many in the mainstream NFT world dismissing eScriptions, I presume on the grounds of it not being ERC721 or even 1155, one of the more common smart contract standards. Instead, it's really exploring a new territory and saying, we believe in Ethereum as a substrate, but maybe we don't believe in some of the presumptions of the standards. So I think that's very, very cool. Regardless of whether or not you like eScriptions or collect eScriptions, I just think it's very positive to explore these other ways of even conceiving of what it is we're doing when we're working with blockchains, making art on blockchains, making infrastructure. That's very cool.

Tom Lehman: Yeah. And look, the other thing I would just say here is to anyone who doubts eScriptions or think it's like, when I first heard about Ordinals, I thought it was the stupidest thing I'd ever heard in my entire life. And if you had told me about eScriptions, I would have said the same thing. It is as any Ethereum maxi like. I was in that mindset. I was completely dismissing this stuff. I thought, hey, like, yeah, I thought indexers are centralized, like all this stuff, you need smart contracts. So yeah, so I think open your mind to this because it is a, yeah, I was there. It's a, anyway, yeah, I don't know what I'm saying. Good. Yeah. Open your mind.

Nicholas: So, yeah, open your mind. Open your mind to eScriptions. So, and more actually, I mean, really, it's a little bit tongue in cheek, but the truth is open your minds to thinking about using the blockchain in different ways. And this is a way that's actually been used many times by people and doesn't have, in some ways, as many requirements as the standards do. So the major advantage that you mentioned a couple times is the price. It's much cheaper to send a little bit of data along with your transaction and then let the indexer off the blockchain, figure out which NFT belongs to who and what are valid transactions and then show it in a UI versus interacting with a contract, which is quite expensive. And it's also like a big thing that the EVM, the Ethereum virtual machine is built around is quantifying the cost of interacting with a smart contract so that more complicated transactions that take more computation and store more data cost more. In this way, you're kind of avoiding the question altogether by just one time writing the images to the blockchain and then using an off-chain indexer to figure out the trail of provenance afterwards. So it is very efficient and very cost effective in that way. And it has a different relationship with the off-chain indexing, which, by the way, we're all using all the time when we interact with regular old ERC-721s on Ethereum like OpenSea and all these other tools, EtherScan, etc. that surface the information. My question is, how do you think about the difference affordances between e-descriptions and existing NFT stuff? What do you think is cool? Is the main thing the financial aspect, like that it's just cheaper to execute the transaction. or are there other things that you find exciting, too? Right. So I think it's good.

Tom Lehman: So just one thing I'll say, and I say it in the same way, and it's tough to actually get your language around what this is. But one thing you say, one thing I say, too, is like you do a thing, OK, you do something according to the e-descriptions protocol and put the data there and then you allow an off-chain indexer to tell you what happened or something like this. And so I just want to emphasize is the off-chain indexer is not like telling you. I mean, it's literally telling you like, I mean, that's like saying your computer monitor is telling you, yes, the off-chain indexer is a tool that is, but the protocol exists independent of all of this. And so similarly, the exact same thing is true of NFTs. Like I don't know of anyone out there who's ever actually gone up to a smart contract and asked the smart contract what their balance was of an NFT. I don't think anyone's ever done that because you can't talk to a smart contract. You type into your keyboard. OK, hopefully your keyboard doesn't break. You talk to maybe Ethereum node software thing, Geed or whatever. Hopefully that works accurately. You can go to Etherscan. Hopefully that works. You go to OpenSea. Hopefully that works. All these tools could break. And if a tool shows incorrect information, you don't go around and say, wait a minute, Etherscan says the truth and Etherscan says I own it, so I must own it. No, you say Etherscan is broken. Let's fix Etherscan. You know what I mean? And so the same exact thing is true in e-description. So from an epistemic standpoint, there is literally zero difference. Literally zero difference. You are using tools to understand what is going on in the blockchain in either case. Now, in e-description's case, we're early. And so just like in the early days of anything, it's not so easy. But from an epistemic standpoint, from a philosophical standpoint, it's the same. And the reason for that is smart contracts have no information in them. Smart contracts don't exist. It is a construct that plays out through your interfacing with these tools. But if you are watching someone use Ethereum through these tools, there is no way for you to know whether they're using e-descriptions or the smart contract version. It's impossible, right? Because smart contracts don't have any unique... Anyway, so this is my thing. The other big advantage I would say is that not having to create a smart contract is liberating. You don't have to decide what you're going to do before you do it. Like, OK, I want to do art. OK, first I have to play a smart contract. What am I going to call that? What am I going to... Is this going to be a collection or what? And so, you know, that's annoying. And, you know, I don't think anyone really likes...

Nicholas: Do you have a way for people to... So each transaction is always one NFT, one e-description, I should say?

Tom Lehman: Right. So this is a challenge, broadly speaking, because you might want to have, you know, a hundred of them minted in one transaction. And I can't say for sure that won't happen ever with the protocol, whatever. But yes, the whole point right now is it's one transaction ID, one transaction hash prescription, so one prescription. And so if you want to create a collection, you either have to do it manually or give your private key to a JavaScript thing you write, which I've done this before. I could expose some of this code and be careful. But you can also automate this process. But yes, there is no way right now to do the NFT thing up mint 501 transaction. And, you know, I think that's kind of cool. But it's also a limitation, depending on how you look at it.

Nicholas: Right. But of course, the protocol, as you kind of hinted at, could evolve to allow, for example, one transaction. And somehow in the data, you mentioned how many you are minting. And then the indexer could allow you to transfer. Let's say you mint a hundred of them in the initial transaction. Then you can send a hundred times a transaction with that transaction hash. And the indexer will just follow them around the blockchain. It's conceivable that it could be integrated into it. There's nothing deeply philosophically incompatible about it.

Tom Lehman: Correct. Yeah. And we will do this. But it's just more so that I think the most likely outcome will be not that multiple e-descriptions are allowed for a single transaction, but rather multiple logical things happen from one e-description. So I like the idea of the e-description just being kind of like, you know, the richness thing on top of the transaction. And the richness thing can be an image or the richness thing can be a hundred BRC20 type tokens or the richness thing can be a hundred NFTs. It can be a lot of stuff. But just like I like that one to one correspondence of like transaction like, you know, hey, this is all business. And then the same hash corresponds also this rich world. Anyway, this is like kind of head in the clouds. But yes, there will be a way to do this for sure. Just like the exact way to do it. We got to be careful with. But yeah, it's.

Nicholas: For now, I'm just thinking through for a little bit of future speculation, of course, no commitment to anything here. But let's just say there were a BRC20 style, essentially what a BRC20 is, I guess, for people worth who are caring about it. Maybe you can explain in more detail. But again, without creating a contract, you create an issuance event and then an indexer is able to interpret subsequent transactions and determine if they were valid or not in order to track something like a token, a representation of a token without having a smart contract. And that's why it can be achieved on Bitcoin as well. So something similar could be done with e-scriptions. I guess it would give you huge gas savings and also probably significantly reduce the surface for security problems, especially for something as simple as like a meme token where if it's a meme coin, there's no there isn't substantial logic in the contract. It's not like a stable coin or something complicated. It's really just tracking provenance of some fungible token around Ethereum. So you get probably a better risk profile with something like that and way cheaper transactions. Right.

Tom Lehman: Yeah. I mean, I again, when I first saw people do the fungible tokens, I thought it was stupid. Right. This is like the guaranteed way for something to be cool. I think it's. I think it's dumb. So I thought, well, this makes sense on Bitcoin. Maybe it's still pretty dumb there. But here we have the smart contracts in the ERC20s. But then I started to think and realize, hey, maybe there's something really important going on here with tokens and even beyond it. So, yeah, everything you said. When I think of tokens, though, I think, OK, what actually is happening here? It's less about tokens specifically, although tokens are leading the way and more about just that idea of like what you would call a higher level protocol, which is to say a protocol that uses that assumes e-scriptions are real, which, you know, already that's a step. Right. You have to like e-scriptions. But assuming e-scriptions are real, it defines higher level concepts and a particular higher level state in terms of e-scriptions primitives. So in e-scriptions, there's a very small amount of state. There's like what's valid because of the Dukes rule. And there's who owns what. That's the state. These people, right, the people into this want to want to add new state like balances of tokens like. that does not exist in the e-scriptions protocol. But can we figure out a way to represent it using e-scription primitives? Like if you transfer, if you announce your intention to Mint, you know, that can be a form of digital artifact. That's not actually an image or whatever. It's like an announcement. You announce this, you know, someone sees this, they can know. So that I think is a really, really, really powerful idea, which is to say the big question of what higher level concepts and crucially what like higher level state can you represent here? Because fundamentally, if you're just, quote unquote just, if you're just doing cheap NFT, it's like, that's amazing. You're serving a ton of people and that's brilliant. And I love that. And if I can just do that, I'd be a huge success. But there's limited semantics there. Okay. You really can't go that far. You know, you can't do tokens with just that semantics. You need something else. And tokens are just one part of it. So I'm thinking very hard about this. And I'm interested in doing this in a way that is not reinventing the wheel every single time. Like you don't want to invent a protocol for tokens and then invent a protocol for domain names and then invent a protocol for this. And you see this happening somewhat in the Bitcoin world. Kind of like, what is the thing that is happening right now? Like if I go to a website and I see my inscriptions, am I going to have this interpretation of the BRC20s on top or not? And there's maybe some inconsistency here. I don't know much about it. So if I'm wrong, like I'm probably wrong. But my sense is there's some inconsistency and that comes right now. Ethereum very cleverly did not create this type of problem because they didn't say, hey, here's a way to do tokens. Here's a way to do this. They said, here's one thing. It's called the smart contract. You could do anything with it. Right? And that way, everyone running an Ethereum thing knew they only have to support one thing. They don't have to support tokens. Like if you are, you know, you have to, if you're spraying smart contracts, you care about this stuff. But at the protocol level, no one has to worry what tokens exist. They just have to operate by the same rules. And so, you know, I think that is kind of the bridge to cross where, you know, I'm not trying to say like, we're going to kill smart contracts for everything or whatever, but just like.

Nicholas: No, no, smart contracts are coming to e-descriptions.

Tom Lehman: There's got to be some way of talking about these protocols. It's not one by one. And the EVM provides one example of that. Maybe there are other ways of thinking about this that are more correct for e-descriptions, but there's got to be some, some mechanism to that. Because if you think about it, right. And now I'm going to say we are going to kill smart contracts. You don't need them. You do not need them for anything. Okay. That is a hard and fast truth that a lot of people don't like to admit or won't even admit. But it's true. You do not need a smart contract for anything. And so practically speaking, you do. On planet Earth, you do. But in the fantasy of an inscriber's murderous, you know, eyes, you know what I mean? But no, we're not going to murder smart contracts. We love smart contracts. But yeah, so that's so. yes, I am interested in these things very much so.

Nicholas: So basically, to summarize, if you come up with a smart enough abstraction on top of e-descriptions, like you did for the data URIs, but in this way, allowing a person to describe something additional about how an indexer should treat the asset that's being created in the mint transaction, the issuance transaction, then you might be able to capture a lot more use cases in the same way that smart contracts capture many, many use cases, instead of prescribing a specific, you know, format for a fungible token and format for domain names, as you say. So if you can, essentially, you give developers, third party developers, an affordance for writing standards on top of e-descriptions, which is really just to say, you're giving developers a way to communicate with the indexer in a way that the indexer can anticipate, understand, and sort of enact when it does its indexing of the entire blockchain.

Tom Lehman: Precisely. And of course, I don't, I would debate the exact phrasing of the way you're saying indexer, but I think you're making yourself understood. That's more important than my philosophy. But yes, developers, developers, developers, developers. Remember this? Steve Ballmer has this famous thing.

Nicholas: I do, I do.

Tom Lehman: Like there needs to be...

Nicholas: Sweaty Steve.

Tom Lehman: Yeah, developers, developers, developers. Like, and look, I'm not the most model citizen here because like I'm putting out these new API docs and helping people with indexers on their own. I'm an open source, my thing. But like, you know, the real cool thing from a developer standpoint is contributing to extensions and making the protocol do more stuff, I think. And you've got to make that a good experience. Like if developers can't do it, if it has to be like, let's be honest, right? Like the point of solidity of EVM meant you didn't have to be some freaking genius to do it. Like, that's the whole point. If it weren't so expensive, it would be the sickest thing ever. It's like, when I first saw it, I was like, wait a minute, this is like basically JavaScript. Like, is this a joke? This is blockchain development. It's like writing like a script. Like that's amazing. So it needs to be something like that. If it's, you have to be a genius, you know, like the opposite of this would be like Casey with the ordinal thing. Like can anyone, who could ever come up with that? Like you have to be like really smart to do that. Like it can't be that, that's bad. I mean, that's great. that obviously kickstarted this entire revolution. But like, the expectation cannot be that innovation has to be that hard to do. It's just, it's, you know, normal people can't, you know, can't do it. So that's kind of the idea I think is, is have that solidity moment somehow. I mean, this is pretty young still, but have that moment where a normal person, non-genius can look at it and say, okay, cool. It's like writing a JavaScript thing.

Nicholas: Totally. And if you can make it, I mean, because you're already working in kind of web standards, you don't need to make something new necessarily. You just need to come up with a standard way of describing things. Is it you working on this solo or are there other people who are now helping you develop?

Tom Lehman: Got some other people. My main collaborator is a gentleman named Michael Hirsch. Maybe he's here. No, he's not here. I've been looking at my phone. Y'all should follow him at zero X Hirsch. I think H-I-R-S-C-H, but he's done an incredible job with everything. And, you know, I would also be remiss to not say, looking at this chat, I'm just gonna give some, some shout outs. Max has been huge. Okay. Tom might not be in here. Bread has been instrumental in making me even more extreme on many topics. Adam in the game on Emblem Vault. So yeah, there's just, it's a community effort and I'm leaving off like a zillion people's names, but yeah, it's cool.

Nicholas: Very cool. We have about 10, 15 minutes left. I saw a bunch of people were retweeting the room. Thank you very much. Happy to share out the space. And I should also let you know that I do this every Friday afternoon at 5pm. So please come through for interesting interviews like this. So we talked about how the eScriptions work themselves. I'm curious, how does the market work? Is it a smart contract or is it also in this eScription ethos?

Tom Lehman: Yes. So this, so it's a smart contract and, you know, someday protocol to do it with eScription. Right now, when you're changing hands with the money, money's changing hands, smart contract is really good because it's hard to just, what's the, it's hard to do the optimicity thing, where you buy and you lose the NFT, but you gain the money in the same transaction. So smart contract, you're good at this. Unfortunately, it's actually not so easy to do. Like writing a marketplace contract, you know, CryptoPunk's market was the original one of these things. It was a long time ago and it had its own exploit, but like, it's pretty simple conceptually. EScription's a lot harder because smart contracts can't know the state of eScriptions and that because their script is aren't stored in smart contract state at this whole point. And so you have to take some additional precautions about how to do it. And in particular, how do you have a smart contract transfer an eScription? And the core issue that...

Nicholas: How are you able to get it? How are you able to list an eScription if the smart contract isn't able within the listing transaction to verify whether you even own it in the first place?

Tom Lehman: Correct. That is exactly the problem. So how do you do it? Right. That's a good question. You know, the...

Nicholas: Let us know. Right.

Tom Lehman: No, please help me. I think we figured it out now, but we had a big problem with the first contract. But the concept is basically this. A smart contract has the power under the protocol now to transfer an eScription. Okay. The question is, is doing that a good idea or not? And so what we thought when we were going into this is like, we can figure out a way to give smart contracts enough information and let them use that information to decide whether to transfer an eScription. So for example, if you deposit an eScription and then you withdraw it, you ask to withdraw it because that's how it works. It's an escrow smart contract. That's just how it works. You have to deposit something to sell it. You deposit it and then withdraw it. The smart contract has to know, am I allowed to send it to you? Or are rather you a scammer who deposited it after the real person deposited it, but you deposit the same ID. I can't tell them apart. And now you're going to withdraw and I'm going to send you the real one. If that's confusing, like it is a confusing situation.

Nicholas: Or even you sent us an ID that's never been created or you sent us an ID that didn't belong to you in the first place. Because for people who aren't aware, the smart contract is not aware of the distant past history of the blockchain. It only knows kind of some things that have been stored on the blockchain. And these eScriptions are not stored in a way that it can access because it doesn't know the contents of all the transaction data of every transaction ever. It only knows things like data that's stored inside of itself and other smart contracts it can access. So how do you handle the deposit transaction even? Right.

Tom Lehman: So the first idea was let's give the smart contract more information. But it turns out you really can't do this trustlessly. The only way you can do this is I deposit, it's locked. And then I find a third party that's trusted, who the smart contracts trust and I trust. And that third party gives me a signature. I show the signature to the smart contract. The smart contract says, OK, I actually own this now because the signature told me you deposited it and it's real. Now you can withdraw it or sell it. So that's one approach. It's the approach that works today. Not the ideal approach in many ways because it is trustful. If the third party goes away, you lose your inscription. At the same time, people trust people. You have to trust people sometimes. So I don't think it's that bad. But it is not an ideal thing for the only solution.

Nicholas: You could maybe do like a Merkle proof on chain. You're still trusted, but at least you wouldn't have to do the second transaction saying it's OK.

Tom Lehman: Right. I think there's something you could. But then it's like, how do you... You cut the root after the last transfer.

Nicholas: Yeah. Like, yeah, you can only transfer up to some number of blocks and the index. So you're indexing off chain and then you're constructing something. You put a small bit of information on chain and then anytime anyone wants to deposit, the smart contract marketplace would check, is this included in, you know, at the state that was most recently written. It would get tricky, though. And you'd only be able to list things that were, you know, the state based on that block. Maybe it doesn't work, actually.

Tom Lehman: Yeah, it's tricky. And we, you know, ran into some real problems with this and it's like really hard. So we invented a new way. I'm pretty sure this was Michael's idea. Certainly on a call with me, we talked about it. I think he came up with this. A new way that basically says, hey, paradigm shift here. Instead of trying to figure out how we can get information into smart contracts, which is impossible to do, basically trustlessly, let's figure out how we can have smart contracts do what they want to do with less information and instead rely on the index. It's not actually relying on the indexer. It's how we talk about rely on the protocol, the indexer to do the necessary validation.

Nicholas: So for example, if I do the validation off chain, essentially, correct.

Tom Lehman: Now it's still on, but yes, okay. But here's the example. So you deposit something, you deposit ID4 and that's valid. So now the contract owns ID4, doesn't know it. I deposit ID4. Now the contract goes, I deposited it. Now ID4 is in there. But from the contract standpoint, you and I are equivalent, right? It doesn't know who is the actual depositor. So I go to withdraw ID4, the smart contract gives it to me and you've just lost your inscription. So the question is, who is the depositor? is the question, the escrow scenario, because the depositor has extra power over a random person, right? Like the person who actually deposited is a co-founder. And so we give smart contracts this tool, which we're releasing next week, which is basically a way for smart contracts to say, let Tom transfer this to Tom if and only if Tom was the one who transferred it to me. So when I go to deposit, we both deposit ID4, mine's fake and yours is real. Okay. Now I say withdraw and the smart contract admits an event that says, send ID4 to Tom if he was the previous owner. And then you withdraw and it says, send Nick, right? Okay. Sorry, I see the ends. Nick goes, Nick. So send ID4 to Nick if he was the one who was the previous owner. And so both of those events are perfectly valid.

Nicholas: Both transactions happen, but it's then the indexer that says, oh, well, this one was fake. Forget that one. I'm not including that in the front end. I'm not going to show this on the escriptions.com because it was never a valid transaction. So the transaction can still go through on the blockchain. If you're just looking at EtherScan, you wouldn't know, but you need the additional indexer off chain to just check and tell you for sure which one is right. Basically, and this is kind of the L2 gesture of doing as much computation as possible off chain and then just having the parts that you need to be stored on chain, stored on chain.

Tom Lehman: And just to be clear, the same thing happens even today. Like if you go to transfer something that you don't own, the Ethereum level transaction will succeed, but it won't show up. This is a more sophisticated version of that, but it is not, you know, it's... Likewise, if you create an inscription that is, you know, a duplicate, like anything that is like stateful in your actions are going to be potentially invalid and yet succeed on the initial transaction level. And yet, you know, and so this kind of raises another broad question about the protocol, which is how do I know what just happened? Right. Like in Ethereum, you know, if you've ever programmed Ethereum, right, with like Web3 or EtherSuch, yes, there's this concept of waiting where you do a transaction and you wait. And then you see, ah, here's my receipt. And my receipt has the logs and all this kind of stuff in it. And so right now, we don't have that exactly a protocol for that exactly. Like if you do a transaction, you want to see if it succeeded, there's no protocol for getting a receipt. You have to refresh the page and see. But yeah, that's kind of the thing here. And so basically for the marketplace... Solve the problem.

Nicholas: Yeah. So the marketplace, so anybody can list whatever they want. And I guess you can set a price when you interact with a smart contract to do a listing. And it's just that Eatscriptions.com and any trustworthy Eatscriptions website would not surface the listings that are not accurate. And so people wouldn't get scammed by them and send ETH to the wrong, you know, to purchase something that's not even a real Eatscription. How does Emblem Vault come into the picture?

Tom Lehman: So Emblem Vault, and first of all, I don't know a ton about the details and mechanics, but as I understand it, basically Emblem Vault is a way of taking your Eatscription and sort of wrapping it in and converting it into an NFT on Ethereum. that is a representation of the private key of an account who owns the Eatscription. So if someone buys the NFT, then they have the ability to get that private key and have the account that owns the Eatscription. And if you sell the NFT, you're sort of selling that. And so you have to, you know, it's obviously trustful with respect to Emblem Vault, but you know, Emblem Vault's trustworthy. They've done a million of these things and they've been a great partner to the protocol. But that's kind of how it works. You're sort of selling a private key in the form of an NFT, basically.

Nicholas: And just, I guess people should know there is a fair amount of custody involved there. It seems to, I don't think anyone has been scammed by Emblem Vault, but there is a fair amount of trust in Emblem Vault. So it's not quite as on-chain as Eatscriptions, the native issuance part or transferring part.

Tom Lehman: But at the same time, there is no trust this way as of today. Like that's what I'm, we tried round one. We didn't do it. Next week we're going to do it.

Nicholas: But yeah, it's a, it's a tough problem.

Tom Lehman: Yeah, we're going to, we got to get it to trust this way. But if you want to trade it now, you need to use trust. And you know, there are also benefits too.

Nicholas: Yeah, sure.

Tom Lehman: And it's cool if they're on, if you want to be on OpenSea and so forth. So good to have the option to do multiple things.

Nicholas: Very cool. So, and in the future, do you think that the smart contract marketplace would be replaced by something Eatscriptions native? Because you do need something to, I mean, you could pass the hash of the, you know, the token ID along with some ETH to someone and say that is a purchase. And they could in some reciprocal way have announced the listing in an Eatscriptions native kind of way. But, you know, it's just, it's up to the indexer and following the protocol rules to enforce. Do you think that's a likely future?

Tom Lehman: Right. I think that's a great question. I mean, I think the answer is yes. Obviously, like I would never say like, no, we're going to, of course we're going to do this. I think that the question is like, you know, I don't want to further, I want to do as limited increasing as possible of the, you know, semantics of the Eatscription protocol. Like, it's funny when I launched, I actually discarded the idea to do smart contract transfers, which I had already and postponed it. And then even then it was a bad idea. Like anything you do with this stuff is just like, who knows? It's like great complications. So I would like to bundle this. Yeah, just like take that higher level. Like this is a higher level question. Like maybe instead of paying with, you know, paying with ETH, you're paying with like a BRC20 type coin, like how would that work? Or, but at some point ETH needs to get into the equation or real value needs to get into the equation somehow. That's something to, to solve. But yeah, I think this would be...

Nicholas: Or an Eatscriptions native, I mean, what do you call them? They can't be ERC20s, that's already taken. But BRC20s on Eatscriptions could be a native token for Eatscriptions itself. And it would be relevant to everybody who, who plays with it, but it would be incompatible with Uniswap, for example.

Tom Lehman: Well, maybe Uniswap launches on, but yeah, I mean, you can really get your, you know, it's not that I think about this stuff a lot, but yeah. Yeah. I mean, I think, you know, if there were a way to have any native token, like SEC, whatever, but I suppose you had some kind of like, you know, ETH type. I don't know how it works with like the bridging of ETH or whatever, but like, yeah, you know, in six months, everyone probably bridging ETH into Eatscriptions and, you know, interacting with Eatscriptions smart contracts and buying, you know, things. It's all going to be in this world. So yeah, that, that I think you can look forward to, but, but yeah, I think there's just no reason. The reason why I say all this stuff, there's no reason that you can't do it.

Nicholas: Right.

Tom Lehman: You know, it's cheaper.

Nicholas: It will be cheaper. Do you imagine that an Eatscriptions specific wallet would be necessary or like traditional ETH wallets allow you to do everything and it can just be like a website that gives you the additional information?

Tom Lehman: Yeah. I mean, I like Metamask, like everyone hates on Metamask. I like Metamask. I think ultimately, like, what does Metamask do for me, even with Ethereum? Like I don't really use it to see like, you know, what NFTs I have. I use it to do transactions and you can transfer things like tokens, which wouldn't be, yeah, I think it has to be a good website. And, you know, it has to be like, uh, you know, it just has to be much more alive. basically, because Metamask or any of these other things, right? Like you get the, you know, you get the liveness on regular Ethereum by transaction validation and Metamask says, even a regular Ethereum, it's kind of ridiculous. They'll say like, uh, this is going to cost $20 million. Just tell me it's going to fail. Okay. Why are you telling me this? Yeah, you have this benefit of the protocol itself, you know, having this liveness thing where the transaction will fail. And so you need to be more alive in the world of inscriptions. But you know, who knows down the road you have, you know, indexer nodes who are piping the thing. And I mean, you actually don't have to be that alive. You just have to stop people from doing things when you're behind, you know, and so it's like kind of that combination.

Nicholas: Which is actually not so hard. I mean, even on the site already, you have like how many blocks behind the indexer is, if any. So you just, you know, make use of that. We lock them out. Exactly. There's, uh, we talked a little bit about like different kinds of ways the protocol might change, improve, add features in an intelligent way that's really extensible and enables a whole community to flourish. What are ESIPs? And maybe can we talk about the first two that have already happened?

Tom Lehman: Sure. So ESIPs, Inscriptions Improvement Proposals. When you start a protocol, one of the fun things you get to do is start this whole thing, right? It's like you get to copy paste the EIPs and their other EIP stuff, like Ethereum Improvement Proposals. So yeah, fun to kind of copy paste that. But yeah, you want to create a formal way of talking about what you're going to do because, you know, there's a decent amount of specificity here and, you know, it's good to kind of lay it out. So there have been two proposed. One final one draft. The first was, you know, probably a mistake realistically in terms of like the thing we were trying to accomplish. It was the smart contract transfers. It's a perfectly secure and good thing to have and something we needed to have. And I'm glad we have it like we need it eventually. But it's the first thing to do. Maybe we have to learn from it. But like...

Nicholas: Can you just explain what it is for people who don't get it?

Tom Lehman: It was just a very basic contract event. that contract would meet an event that would have a transfer description and have a recipient and ID. And if the contract owns it, it would transfer it to the recipient, the ID in question here. And that is, you know...

Nicholas: So basically, it enables smart contracts to emit an event that the indexer would pay attention to. So now suddenly smart contracts can also send descriptions, not just receive them.

Tom Lehman: Correct. And the way it was done was under a false notion of what simplicity means. Because I was thinking, we were thinking like, wow, this is super simple. Of course, let's just do the simplest thing first and go. And this is the simplest thing we got. In some ways it is, but it's not actually the simplest thing because to use it correctly is too hard. Basically, to use it correctly, you need to have a very, very specific idea that includes a third party, third trusted third party. And it's just a dangerous tool if you use it from the perspective of someone who is using smart contracts before inscription. So I would basically say, unless you really know what you're doing, you probably shouldn't be using that function. It still should exist. It's absolutely necessary for some reason. At the worst case scenario, if you have a contract and things are locked in it, you need to get them out. Then this is like, you know, you need this event. But I foolishly thought that this was a simple thing. When in fact, it looks simple, but actually using it was so complicated.

Nicholas: Where's the trust?

Tom Lehman: That brings us to ESIP2.

Nicholas: Where was the trust? Who are you trusting in the smart contract transfers?

Tom Lehman: This was just the idea that like you needed to trust a third party to tell you as a smart contract, what do I own and who to deposit it. That was kind of what we were talking about a moment ago. This was the thing that...

Nicholas: It opens the potential for the smart contract to rug you more easily because the source of truth is the emission of these events, which is the purview of whoever wrote the smart contract and however they wrote it, rather than like truly following the provenance of the thing in a more direct way.

Tom Lehman: Yeah, it's just thinking it makes it hard for smart contracts to express their actual intent. In other words, you know, without knowing who is the depositor in an escrow situation, you really can't use this event successfully. And so you need someone to tell you who the depositor is and that's trusted or whatever.

Nicholas: Okay, so the trust is that the smart contract doesn't know the truth. So when it emits an event, it may be changing reality without realizing it because it doesn't have in context without the help of somebody off chain propagating that to the smart contract. Okay, got it. Okay, so ESIP2...

Tom Lehman: Is fixing this. And that was the thing we talked about a moment ago where it's like, instead of saying, transfer it to Tom, it says, transfer it to Tom if Tom is the rightful depositor. It's like an if then. And so this is a more complicated ESIP. If you read this, make it all the way through, I would like to give you a word for this. I really had to get into the details here because we learned some hard lessons, basically. This one seems more complicated, but it's actually a lot simpler because it actually lets you express the expressive power, you know, is much greater and expressive power saves you a ton of other things. you're going to try to do to make it happen. And as part of this, actually, there's a base contract in there that I linked in the thing, which basically lets you, if you want to create your own marketplace, you can inherit from this base contract and that will handle this validation for you. At the same time, it's still pretty confusing. So if you want to do this, please, my DMs are open. Talk to me. But it's definitely... And also wait for me to launch this again. I think it's going to work this time. It's freaking better. Like, let me be the guinea pig, but if it does work, you want to launch your own thing, please, please let me know. Because I think we really try to make something extensible here.

Nicholas: So in summary, the two ESIPs so far have basically made it now possible or will shortly make it possible for people to write their own smart contracts that can handle custody of NFTs and also offload the validation that they're legitimate transfers to the indexer that you've created and that anybody else could replicate. Very cool.

Tom Lehman: Correct. I mean, essentially it is...

Nicholas: Yeah, go for it.

Tom Lehman: Yeah, both of these ESIPs was basically like, how do we build a marketplace? Fundamentally, I want to add generic features and these are generic features and everything, but people need to be able to trade these natively for it to be a real protocol. And so that's kind of another way to look at it, basically. But yes, bringing smart contracts into the game and smart contracts, some of the smart contracts bring a ton of power. As much as I hate them, I don't hate them. But as much as I hate them, kind of. They do a lot. And they are a huge advantage that we have over Bitcoin. And so we got to flex that advantage, but do so in a safe way. Because we know what we're doing because we thought about it. And that's like, you know, it wasn't as easy to do as I thought. And hopefully this nails it.

Nicholas: We're good. We're good. So the last thing I really wanted to ask you about was, we talked a little bit in DMs about what you hate most about L2s and it's come up a little bit in this conversation, but there are elements of L2s that are similar to E-descriptions, although you just tweeted, E-descriptions is definitely not an L2. So what are you thinking about? What's your mindset on all of this?

Tom Lehman: Sure. So, and I have a lot of, you know, how people like, you know, take a deep, deep, deep breath.

Nicholas: So sit down, everybody.

Tom Lehman: So yeah, you know, the thing about E-descriptions and people say index or this, index or that, they're wrong, sorry, but I will help. I was wrong too once. That's why I say that. Like E-descriptions are a hundred percent decentralized. And what that means is there's no one special. No one is special. Okay. I'm not special. You're not special. Everyone has the same power to read and the same power to write. Okay. And that's because all the writing and reading happens on Ethereum, which is like a pretty good thing. It's not totally centralized, whatever, but just like it's pretty darn good. And everyone is equal. There's an equality there. L2s are different. L2s are trying to be really fast and really cheap. And the way they do that is they write to and read from things that aren't Ethereum. Supposedly, right? The idea is they also write to Ethereum. That's the rollup thing, but fundamentally that's, you know, that's important. That's great. But the fundamental action that is happening moment to moment on an L2 is writing to and reading from something that is not Ethereum. And then, you know, it gets written in the rollup and you can verify what's ever written to Ethereum is real or whatever, but that is not decentralized because that is not something where everyone is on even footing, not even close. In fact, there's someone called the sequencer who is, you know, knows everything and has all the power basically. And that person is run by, you know, I don't want to get into the giant corporation, right? Like there is a powerful entity running L2. Now there's a powerful entity running Amazon Web Services as well. So why don't I hate AWS? I love AWS. And why do I hate L2s? I love L2s. I don't hate L2s. If you came here, what I don't like is people saying things are things they are not. I think misleading people and saying, hey, this is secured by the L1. It's just as safe. It's all good. Everything's good. Like that is not good because that is not true. It is not as secure as the L1. It is not decentralized. Maybe some miracle will happen in the future, but it is not. And what people will say is like, oh, like. actually, if the sequencer ignores you, then, you know, you could do this thing called forced inclusion. And so 24 hours later at greater cost, you can force it in with another bunch of million assumptions. It's like no one has any idea. It doesn't make sense. It's all fake. Now, what's real is L2s are dope. What's fake is the idea that L2s are giving you these decentralization or security or anything that you want. So my view is that everyone should use L2s. Everyone should use AWS. People just know what it is and not put their life savings on there. And so when it comes to inscriptions, my idea is basically, hey, we're not an L2. For one thing, we're not as good in some ways, not as fast, not as cheap in some ways, right? We're also decentralized. And we stand for the idea that that matters, that people aren't going to be able to trick consumers forever. And in fact, consumers are pretty smart. And that's why no one uses L2s because they know it's a little bit weird. There's something up and they can't put their finger on it. But you all out there should be able to put your finger on it. And you should say, hey, L2s, tell the truth. That can be like a chant, basically. So that's kind of my position on L2s. Occupy L2.

Nicholas: I like it. Yes. So the idea is basically that L2s are much more complicated. And there are elements of centralization, like particularly building the blocks and choosing what gets included or not included. Things could be censored by the people who are putting the transactions into blocks for the L2 chains and communicating them to L1. There are trapdoors. There's ways that you can force the inclusion, but they're really not something that everybody's going to get up to. The point is that there's a bit of, from your perspective, at least, some centralization is being smuggled in under the brand of L2, which purports to be fully decentralized, but actually does introduce a lot of extra technology and players with their own motivations, which by contrast, e-scriptions is really just a protocol. It's really just saying, here's a way to look at what happens on the blockchain. We're not adding technology. We're just adding a way of looking at what's already happening. And so you don't need your own separate security model. And you don't need all the complexity of having assets in vaults on L1 that are then represented on L2s or optimistic rollups whose fraud proofs are being disputed on L1 or the complication of having a delay period before you can be sure that some asset has traveled back from L2 to L1. E-scriptions kind of avoids this by just being way simpler and way more directly relying on the security of L1. It really is just an L1 protocol. It's not something that's happening on a separate chain that gets rolled up.

Tom Lehman: Precisely. And just to be clear, my view on the L2 is L2s have rollups, L2 has fraud proofs, L2 has various mechanisms that on a local level can look decentralized and good. But there are also other things, transaction inclusion, strategy and censorship, the multi-key on the, you know, multi-key signature, multi-sig on the bridge, whatever. My position is that if you look at the entire aggregate of all of the facts in the ground, the end result at a high level is total centralization. In other words, the ability for the people in charge to manipulate the details and get exactly the outcome they want. Maybe it's through the mechanism of ordering transactions differently. Maybe it's a bit, but the idea is if you are sophisticated and you have all these details in your purview, you're going to get whatever outcome you want all of the time if you, you know, if you're smart, basically. So, you know, and I don't see this changing. So it's really, really sharp that like, I just want to say, I believe there are some individual elements that are good for consumers, but they don't matter because the overall totality is something that can be very easily manipulated. And the reason I know this absolutely for sure is because if L2s are so good, why don't we just turn Ethereum into an L2, right? We did the merge, right? We upgraded the consensus mechanism, which doesn't actually exist. You can't actually upgrade a consensus mechanism. I have my own problems with the merge, but we changed the consensus mechanism to something that was a hundred times more environmentally efficient. If L2s are so great, why don't we change Ethereum to be a hundred times faster? And the reason is you can't, because there's this whole thing about decentralized consensus, which has a zillion academic papers, a zillion people spilled a bunch of ink, and they say, decentralized consensus, which is a miracle, by the way, it even works at all. That's pretty freaking special. You can't just will that into existence. And so the L2s come and say, well, we're going to be like Amazon and we're going to be like, Amazon has transparency. I'm sure Amazon, they could have a website where they publish all their server logs, or they give you the ability to talk to a person. And but no one does that with Amazon and thinks, wait a minute, I'm going to like win against Amazon here. They think Amazon's going to get the outcome they want all the time, but they might hear me out and their incentive is not to screw me over because there's competition. And so you're not at war with Amazon. I use Amazon every day, but you're never thinking, I'm going to be able to use a tool within Amazon system to beat Amazon. Like, you know how absurd that idea is, basically. So that's kind of my thought. And I took a deep breath before that one. So that's kind of my impassioned pitch.

Nicholas: So some healthy skepticism of the L2 promise. It's funny because when I really started paying attention to Ethereum in late, middle, late 2020, and then into 2021, everyone was complaining about Polygon. Polygon POS chain was a side chain that was advertising itself as a legitimate L2, but actually had a different security model. And it was far less decentralized was the argument that was being made. There are various ways a multi-sig controlling the bridge, as well as the whole chain's validation being done by, I think now it's like a hundred partner, like known partner entities around the world and nobody more than that. So really not the same decentralization or risk profile around the security of the chain. And yet somehow L2s have, at least. maybe people are not familiar enough with the technology to be making kind of blanket statements about how much safer L2s are than side chains or alternative L1s. Because it does seem like there are several additional surfaces where there's risk that people are taking on. So having ETH on an L2 is not exactly like having ETH on an L1. I agree with you. It's interesting because we see before us like a forking path where it seems like either L1 becomes kind of just something where L2s are rolling up to, and it's not something that most regular people are interacting with directly, or it remains the chain of record where people want to trade things like art objects, where they can have some trust that the provenance is legitimate and that the art is never going to disappear. The transactions will never be erased. It seems like two very different paths. And I think 2023 is shaping up to be an L2 kind of year. So it'll be interesting to see if in the long term it swings back and people return to focusing on L1.

Tom Lehman: Yeah, I mean, I think that's a great point. And Brad actually put me on to this, the audience, which is, yeah, the L1 is not going to exist like it does now. It's too expensive. And also the powers that be are forcing it in this way. L2s use L1 block space very efficiently. L2s get going, they're going to take over L1. And they're going to turn L1 into basically Amazon's log storage website. Okay, like Amazon stores all its logs. Like if you're a big company, you don't want to just get rid of the logs. It's good to be able to audit your own logs. And so you store your logs. Maybe you store it in a secure location. Amazon probably does that. That's what L1 will be. It'll be a log storage dumping ground for corporate L2 centralized change. Now, let me ask this question, though. You mentioned Polygon, okay? And you mentioned the L2s. Now, it's like, why does one have a better brand than the other? Okay, let's think about this. Like, it's not all random, right? Like life is not random. There are generally powerful people who are running the show, basically. Like it's a, you know, when big things are happening, it's not because of master plans, necessarily, of powerful people. But it is the interests of powerful people playing out in front of our eyes in nuanced ways that the powerful people themselves didn't know. But who benefits, right? Proof of work, there were these people called miners, and they were kind of on the outside. And proof of stake, that's the stakers, the validators, right? They are on the inside. They are the super rich people who have a ton of ether and make more ether the higher the fees are. And so what world is amazing if you are a validator, but one where the L1 is just packed to the gills with insane amount of dumb data from Amazon logs? Let's fill that block space, generate a ton of fees, ETH goes up, validators make a lot of money, other people who have a ton of ETH, like Vitalik, make a ton of money, people who got the pre-mine, okay, don't get me started on that. So it's like the people who use Ethereum to actually do cool stuff, right? Use ether to pay transaction fees and create art and do cool things. The people who are using ETH to make money, they don't care about that stuff. They just care about the fees being as high as possible. And there is a equilibrium here because the people getting the fees do an amazing job securing the network. They deserve the fees. But I don't believe that the fees should be won in a sort of centralized kind of thing where we are paying money to basically secure the logs of L2s, which are sold as being... Like people should know what they're getting into, basically, is kind of my tirade here. I think if people love L2s and they're down to use them and have them take over the L1, then they should not be doing it because they are led to believe it's a true replacement. So I'm very much like... I think there's a real tension between the people who are trying to use ETH to build things, the people who are trying to collect fees. And I think that there is a great ecosystem there that both of those people should win. And I think that the role of the L2 eating the L1 is kind of an interesting element in this thing. I'm getting conspiratorial, by the way. Everything I just said is me kind of getting a little crazy. Okay, I'm trying to provoke some ideas. But there's forces at play.

Nicholas: Yeah, absolutely. It is something... I mean, I'm starting to be more... I feel a strong need to be more familiar with the ins and outs of exactly how all the different types of roll ups function and understanding. I think in future episodes, I'm going to try and bring on some people from Optimism and other places who are really deep in the stack of how these L2s work to understand what kinds of assumptions people are making when they're interacting with them. Because it's okay to make assumptions and take a risk and have trust in somebody. But it's just best to know that we're doing that beforehand, not just trust the brand of a moniker like L2. You're right to point out that there are obviously economic interests. I think the proto-dank sharding EIP-4844 upcoming is going to essentially make it cheap for roll ups to put their AWS logs, as you say, like the few transactions that they have to send in order to roll their chains up into L1 will be less costly, consume less gas and less space and not be archived for as long, if I understand the 4844 proposal well. So I think Vitalik, I think the Ethereum Foundation at least is interested in truly scaling Ethereum. And yet they also seem to, I think people who come from the deepest parts of the protocol building do kind of not really understand why you would want to do trivial transactions on L1 over the long term and think that a lot of the activity is going to move to L2. So it's definitely an interesting topic, but I like your skepticism. And I think you're not wrong to hear it coming from more and more corners of crypto Twitter these days that people are starting to feel like there are corporate interests that are really very powerful in the space and are potentially controlling the narrative of where people are doing their transactions and creating assets and trading, etc.

Tom Lehman: No, I appreciate it. Let me just walk back a little bit my craziest things on that, because I feel very strongly about my L2 position. And, you know, anyone thinks that's crazy, they should know that I 100% believe it. When I'm talking about the powerful interests and the stakers and the pre-mine and the validator, like that's a little bit more just like gestural. So just let me walk back some of my extreme stuff there. I do think I love Vitalik. That's why I criticize all the stuff. I love all the stuff. I love Ethereum. And yeah, I think there are a ton of benefits to the rise of L2s. The thing that makes me emotional and maybe gets behind myself is the idea of, you know, it's taking over. But yeah, look, I would love to listen to your show. And first of all, this has been amazing.

Nicholas: Awesome, thanks.

Tom Lehman: I actually do have a little more time because I just snuck into an Uber to go to where I have to go because I didn't think I could do that. Like I would love to hear because what I do is I try to talk to people. And a lot of people say what you say, what I used to say, which is like, I think something, I got to look into it more. And I looked into it more. I still don't get it, right? But I'm kind of like. my question is to you is my challenge is like I'm at the point where I'm saying I've looked into it enough and I don't think there's anything there. Now, I would love for you because you strike me in this great conversation, a very intellectually honest person. Yeah, maybe we could check in or something like. I want to hear from you. At some point, you should say I've looked into it because you're never going to be able to get the bottom of it 100%. It's like what is the call? And I think I would love to listen to someone on this show can really explain it, like really break down the details. So yeah, I'm open to that.

Nicholas: I'm going to get that person. I'm going to find the right person, maybe someone from OP stack, maybe someone from Arbitrum or the ZK stuff that's going on at Polygon who can really explain to us what kind of assumptions does a person make when they bridge tokens? What are all the different ways in which roll up can be challenged? How realistic is it for an individual? Do you have to have lost a million dollars for it to be worth challenging? Or is it something where even a small transaction and the one part that really I don't understand two things really the interaction between the sequencer, centralized sequencer and the roll up and also how a roll up would actually manage being like the seven day waiting period for bridging tokens back is because there could be a fraud proof in that period of time. So what would happen if you unwound a chain like days into its history? I don't really understand what the implications would be for the L2 itself. So there's a lot of interesting questions that I have for some experts in this field. So I'm going to make a point of getting some people like that on in August. I would be remiss if I didn't ask you anything about this. Is there anything about your life now, your work now, your passion that has anything to with your experience at Genius? I know I was watching the. I remember back in the day, I watched the Tech Crunch Disrupt, where you guys were on stage acting a fool, making a great time of it. Do you have any reflection on that period? Or has it informed what you're doing now? Is there anything you can say to this?

Tom Lehman: Don't wear sunglasses on stage if you're endorsed.

Nicholas: Doesn't look good.

Tom Lehman: Yeah, I mean, it's great to hear you say that, because that's kind of like the reaction that I thought people would have. That video, if you want to see me see the stuff that ruined my life, but it's not ruined my life because a lot of problems for me. It was like acting the fool on stage. I thought it's like what it's like Tech Crunch Disrupt is not like some like, super dignified, like it's like kind of like whatever. But like, anyway, it should be. Don't go on stage and act weird. Act normal. People like normal. Yeah, Genius was an amazing experience. You know, Genius, for those who don't know it, is a website and other stuff. But a website, Genius.com tells you the lyrics of a song, any song and tells you the meaning of the lyrics. You can click the lyrics, get the meaning. This was like, you know, just an amazing experience of having an idea that I thought was cool and then being able to build it into something and then also kind of having a lot of problems too.

Nicholas: But you didn't start as the CEO, right?

Tom Lehman: I did.

Nicholas: You started as the founder? Okay, you were the founding CEO.

Tom Lehman: CEO for 12 years, I guess. And, you know, grew it. Yeah, it grew to being, it was like 120 people at the end. Big enough to ruin your life, not big enough to be truly huge or whatever. But it was great. Worked with some amazing people and being able to be in culture is incredible. But the thing that got me going the most was there was this incident where we had this search results. So Google search was a huge source of traffic for us. And being number one on Google search means you get a ton of traffic. And lyrics are like the number one thing searched on Google, basically. Like Google should basically be called like lyric search box. Maybe not number one, but it's big. Like Google is like a lyric search machine. And, you know, huge. Like it's, now maybe Google's gotten bigger, but whatever. Lyrics is huge. And so that's how you can get a really big website. But Google, again, giant corporation, very powerful. Whether this is their grand plan or not, their interests became world aligned with the idea that we want to have our own lyrics product. And because of that, and we're going to have an amazing advantage because we run the search engine. So we are going to have a lyrics box that has lyrics. And it's going to go above everyone else in our search engine, right? Because we control the search engine. This is, you know, antitrust means that you can't use your monopoly in one area to kill everyone else. But this is what they wanted to do. So they did this. And it's like, okay, people are still clicking on us for a variety of reasons. One reason is we had the right lyrics, right? Lyrics, for those of you who don't know, it's a pretty interesting thing. Lyrics don't exist. There is no thing that exists in the world, abstract or not, called lyrics. And the reason for that is that when people ask for lyrics, what they actually want is a transcription of a recording of a song. Because lyrics aren't written in advance, typically, or a lot of times. And even if they are written in advance, if the performance is different from the written lyrics, people want the transcription of the song. And different versions of songs, different transcriptions, and transcriptions of all kinds of, you know, subtle things like, do you put little ad-libs in there? Like, if there's an intro that's a sample from a movie, you transcribe that. So there's no real thing called lyrics anymore, at least. So because of this, it's actually hard to get lyrics. You have to transcribe that, get a list of the song. So we would do this. But then what would happen is Google would copy lyrics from our website and put it in the box above our website. Okay? And so it's like, wow, not only are you doing this anti-competitive thing, you're also literally copying from us to do it.

Nicholas: You guys didn't scrape any other lyric sites when you started?

Tom Lehman: We did. We did. And we responded to, you know, whatever takedown requests or whatever. But this was not a scraping of a lyric site. This was getting a new song the second it came out. This was a hot news type situation. This was something where, you know...

Nicholas: They're grabbing it basically live from the site, basically. They cache it or whatever. But it's basically like as soon as it's on Genius, it's going to be in that knowledge graph box at the top of the search results.

Tom Lehman: Correct. In other words, there's something called back catalog, which whatever. I don't care about the back catalog. It's like, if you want to scrape that, that's fine, basically, because it's irrelevant. The most important thing is being first on the number one song right now. And the thing is, you don't need to scrape the back catalog anyway, because that's easy to get because it exists. Like other people have it. Like we were the only people who have the new songs because we were the people who... Anyway, you get the idea.

Nicholas: You're kind of incentivizing people with like points and stuff to do the work of staking out the new cultural objects like right away, right?

Tom Lehman: Correct. But we would also talk to the artists and just do a bunch of stuff like this. A bunch of work was a machine that we built to do this. And Google, though they could replicate that machine for back catalog, they cannot replicate that machine for new stuff. So they figured, okay, let's do something that we know is wrong, but we think we can get away with and copy and paste it. And there's like an interesting Wall Street Journal article. You can Google about this, how we caught them. It was a whole dramatic thing where we put fingerprints into the lyrics. So we had the lyrics and they would have straight apostrophes and curly apostrophes. And we alternated the straight and curly apostrophes so that it's spelled out red-handed in Morse code. So that was kind of like our trick, basically, because it's like, oh, how on earth could this have gotten there unless you copied it from our website? And, you know, so this was like a really annoying thing.

Nicholas: A little bit of an e-descriptions move in a way.

Tom Lehman: Yeah, just, you know, exactly the provenance of the freaking text. Yeah, extra data, precisely.

Nicholas: It's the exact same thing Yelp faced with them, right? And many companies, I actually have been thinking about it a lot, especially in light of the LLM GPT stuff. It's like, it's kind of fascinating that Google chose really the less ambitious idea of just like Sherlocking their most successful search results with Knowledge Graph and really relying extremely heavily on Wikipedia and maybe like a structured data variant of Wikipedia, but really not fostering an ecosystem where new content is being made. They really made it very difficult for people to make a living, even running a business that would generate the content that would be interesting search results in Google. Whereas like nowadays, and so the result is that the source of interesting text kind of like, it's not that there's, I'm sure there's in absolute figures, more interesting data on being generated online now than then. But they really, in the same way that Apple kind of creates a situation where the ecosystem can only support kind of pathological business models. Google did a very similar thing to a lot of people in the search results space. And the result is that they made themselves irrelevant ultimately, because re-indexing the tokens that are out there and calling it an LLM is really just a much more compelling and new, exciting way they can do new things. And Google is stuck like just returning these dumb Wikipedia results, which I mean, whatever they give Wikipedia, it's not worth the amount they milk it for search results, right?

Tom Lehman: Yeah, no, I 100% agree. And that's kind of the way it felt too. Like when I was starting to change, starting 2009, at that point, and my co-founder, Alon, worked in Google in 2008. I think in 2008, it was like, wow, like, Google is like the number one, it's like the modern day Bell Labs. You know, this is like the best place you could ever be if you are interested in technology. And then it's like, okay, well, really, they're like kind of ax murderers or whatever. And so it's like, you have to really feel that, you know, intense corporate, you know, there's no they, it's just the process of corporate interest playing out. But anyway, we sued them. And why do we sue them? We sued them because I was like, I'm not going to take it basically. And everyone said, don't sue the big company. And I sued them and, you know, it was a whole interesting thing.

Nicholas: And, you know, how long did the lawsuit last?

Tom Lehman: And that's, well, so the way it happened, and these guys have really smart lawyers. The way it happened was basically, the, they made very skillfully the argument that genius can't sue, because they don't have the copyright to the lyrics. And there's a whole doctrine about this preemption, whatever. The idea basically is we're saying,

Nicholas: hey,

Tom Lehman: if I have a lyric sheet, a piece of paper full of lyrics in my house, or like in the window of a museum, and you break into the museum, and you steal my lyrics paper, you can't turn around and say, wait, wait, wait, wait, you can't get mad at me for stealing this. You don't have the copyright to the lyrics. Or another example would be if you were a video store, videotapes used to exist. And on the videotapes thing, you say, if you rent a tape from us, from Blockbuster, you can't copy the tape, right? You can't copy all our tapes and start another Blockbuster video. And then I go and I do that. I copy all your tapes and start Blockbuster video two, Tom Tuster video. And you try to sue me, say, whoa, whoa, whoa, you can't sue me. You don't own the copyright to these movies. You have to go convince the copyright holders for all these movies to come and sue me. And hey, by the way, maybe they like me. Maybe they're my friends. They're not gonna sue me. So you are out of luck. So that's the argument we were making, is you can't just come to our video store and copy everything, and then go do this thing. It's insane, right? But better lawyers, smarter lawyers, more money, everything, who knows? I don't know. But what it convinced me is there's no chance you could compete with Google. Zero chance. And most people don't know this because I didn't know it. Most people think you have a 1% chance, you know what I mean? Like, or a 0.1% chance. And maybe I had a 1% chance and blew it. So maybe I'm just like sour grapes or whatever. But going through the experience and watching what Google did and how well they did it and how smart they were. Like you might think in a lawsuit, like, oh, Google is gonna, you know, do some drown you in paper. No, they said the smartest people. They're so smart, so precise, everything like a machine. You know, it's just game over, you know? And then we tried to take it to the Supreme Court, you know? And then we got actually closer than we thought. But, you know, they got the number one Supreme Court person. It's just like, you can't compete with a big corporation. And so instead, what you have to do is figure out, is there any place where you can live without having to compete with them in that way? Right, without having to be in their house and they're, you know, you're competing with them in their house that they own. It's like, you have to get a house no one owns. And that's kind of like the Ethereum idea. So this is what really put me onto Ethereum because I was just thinking, if we are playing in a normal house, we lose. And maybe the government will come in. Yeah, okay, maybe the government is more powerful than Google, maybe, or wants to do something, I don't know. But barring some kind of big change, we are trying to beat Google from within the thing they control. It's not possible. So Ethereum maybe is controlled by no one. And so maybe, you know, the little guy can, you know, win or at least have a fair fight and this kind of thing. So it was a very powerful experience for me. And, you know, really, yeah, it's just, you can't compete with these people. It's insane. So yeah, that was kind of my carryover to the Ethereum world.

Nicholas: Fascinating. Yeah, I'm surprised. I guess it wouldn't have been possible to argue something like, well, it's not the lyrics as such that we have copyright over, but we did the work for the process to generate those lyrics, which there is no record of anywhere. So in that way, it's our property. It's not possible to make that kind of argument.

Tom Lehman: So the work thing isn't there. But one thing you could say, and the thing that I actually believe is maybe true is to say, listen, these are not lyrics. These are recording transcriptions. And a transcription of a recording is a derivative work of that recording. It's not a, like, we are not copying a composition of lyrics that someone made. We are transcribing a recording that someone made and a transcription is a derivative work. And that's also a recovery. The problem with that is that no copyright holder is ever going to say, you know, that you're allowed to make a derivative work of their thing, even though the lyric licenses that are granted, basically, in practice, let you do that. Because when you license lyrics from a music publisher, they don't actually give you the lyrics. It's like you pay all this money and then they say, okay, go get the lyrics yourself. And you say, well, where are they? So you have to transcribe them. So you're not, like, because of the convention of the industry, you can't really say that, even though everyone knows that's obviously what is going on. Because if it weren't going on, why would Google be copying it from Genius? It's like, get it yourself. So yeah, exactly. It's just like the deck is stacked. But it was fun in its own way. I encourage everyone to read the Wall Street Journal article or look up the cases and see it. But ultimately, it didn't end good.

Nicholas: Any takeaway advice for people who are thinking of starting something? I mean, there's a lot of people who I think love the videos that Genius produced and access to the lyrics, the commentary on the lyrics. But it's a hard knock life for people making content like that when someone else owns the relationship with the customer. Use Ethereum or I don't know. Do you have any other thoughts for people who want to build stuff and want to avoid that misery?

Tom Lehman: Yeah, I mean, you know, I think Genius, obviously, I think it's a pretty special thing. We were able to do some pretty special things. We sold the company in 2021. I think that digital media is really tough. I think Genius was able to succeed and be great because we built this website. I think the Genius video content, all this stuff is amazing and made Genius what it is today, but it's on the backbone of the website. I don't know if it's possible to start a website today, basically. In 2009, there was no mobile. You don't understand how simple it was. I just said, oh, this is an idea for a website. You can just build a website and try to make it big. I think it's just a lot. Maybe I'm too narrow-minded just in terms of the lyrics thing because the idea of starting a lyrics website in 2019 versus 2009 is just like night and day, but I think it's tough. I think it's very, very tough. At the same time, I think there are other options in a way. I think Genius, we raised a ton of money. We raised $85 million, so that created a lot of... It was great in a lot of ways. It gave us the ability to invest and do a lot of cool things, but also created a lot of... It's hard to do the venture capital thing. I think maybe there are more ways to make money now that aren't... You have more options. Not to say that venture capital is bad, but to say that there's maybe more funding options and that connects to Ethereum. I mean, back at that day, I literally knew no one. I knew Y Combinator. Why do I Y Combinator? Now I can do more things, but I think it's tough. I honestly think it is very tough. That's why Ethereum and Lease is a question mark now. That's why I really like it.

Nicholas: Yeah, that's definitely how I feel about crypto in general, blockchain in general. It's a wedge. It's not a guarantee that there's a better world there. It's just an opportunity and we'll see if it plays out. Tom, this has been a fantastic conversation. Thank you so much for coming and explaining all this and sharing some of your personal story as well.

Tom Lehman: My pleasure. And just anyone out there, if you disagree with something I'm saying, I really am very open to feedback. And Brad has given me a lot of feedback. Other people out there, I really appreciate that. And I'm happy to talk to anyone who's trying to build something with Escryption or build something in general. I'm out here. DMs are open. This is a great conversation. Really appreciate it. And yeah, looking forward to having my mind changed on L2s. I would love that, by the way. I would love that. I'm rooting for L2s. So I'm looking forward to it. We'll see. But yeah, Escryption's a decentralized way to do cheap computation and unlock the future of Ethereum and maybe save Ethereum entirely or at least prolong the death of Ethereum. So if you're into prolonging the death of something you love, you are in the right place. Thank you all.

Nicholas: Escryption's this necromancer technology. Tom, thanks so much. If people want to check it out, Escryptions.com, middlemarch, your... What is your handle? It's dumb. What is it? DumbNameNumbers.

Tom Lehman: DumbNameNumbers. It's a childish name, but follow me. Follow me. I'll retweet. For more. Follow for more.

Nicholas: Okay. Thank you, Tom. Thank you, everybody, for coming to listen. This has been a pleasure. If you're interested in this conversation, future conversations, and especially what we talked about in L2 conversation, maybe I'll even invite you back, Tom, to ask some questions of the expert every week, 5 p.m. Eastern time, North American Eastern time. That is Web3 Galaxy Brain. And you can check out the old episodes on Spotify, on Apple Podcasts, et cetera. It's Web3GalaxyBrain.com. And it gives you links to all your favorite podcatcher. Thanks, everybody. And see you next week. Transcribed by https://otter.ai. https://otter.ai.

Show less

Related episodes

Podcast Thumbnail

Derek Chiang, CEO of ZeroDev

7 December 2023
Podcast Thumbnail

Ethereum's Roadmap with Domothy

6 July 2023
Podcast Thumbnail

ConejoCapital, CEO of Dora

12 December 2023
Ethscriptions with Tom Lehman