Anna (00:00:05): Welcome to Zero Knowledge. I'm your host, Anna Rose. In this podcast, we will be exploring the latest in zero knowledge research and the decentralized web, as well as new paradigms that promise to change the way we interact and transact online. In this week's episode, Tarun and I chat with Noah and Moody from Uniswap. We talk about the history of Uniswapp from V1 to V2, the learnings along the way, and how V3 aims to add more flexibility and options for liquidity providers. We touch on Sushiswap, what operating on multiple rollups simultaneously might look like and more. Anna (00:00:45): But before we start in, I want to let you know, once again, about the upcoming zkSessions event happening next week. In this session, we will be looking at DAOs and NFTs and how we may be able to incorporate zk or privacy into these new systems. I will also be hosting an interactive community discussion about if and how the zk community could potentially start using some of these tools as well. Event happens on June 23rd, and I've added the link in the show notes. Hope to see you there. I also want to thank this week's sponsor, Aave. Aave is an open source decentralized non-custodial liquidity protocol on Ethereum. With Aave users can participate as depositors meaning they can provide liquidity to earn a passive income, or they can act as borrowers to borrow in an overcollateralized way or an undercollateralized way. Think: one-block liquidity Flash Loans. The Aave community has unanimously voted to introduce an Aave Grants DAO to grow the Aave ecosystem. And if anyone's interested in building on Aave or learning more, be sure to go to aavegrants.org. We've added the link in the show notes. So thank you again, Aave! Now here is our interview with Noah and Moody from Uniswap. Anna (00:02:03): So today Tarun and I are chatting with Noah and Moody from Uniswap. Welcome to the show, guys. Noah (00:02:07): Thanks for having us, Anna. Moody (00:02:09): Thanks for the invite. Anna (00:02:10): So primarily we're going to be looking at Uniswap V3, but actually this is the first time I have anyone from Uniswap on the show. And so I think it's worthwhile for us to do a little bit of backstory about Uniswap. I should say, though, we did last year do an episode about Sushiswap, which I can link to in the show notes, where we definitely talked a lot about Uniswap, but yeah, this is the first time I actually get to talk to you guys about it. So let's do that. Let's start. What is the history of Uniswap? Where did this project come from? How did it become what it is today? Noah (00:02:43): Sure. Happy to be a primary source here. So Uniswap started way back when, before I was even around actually, with Hayden, of course, really just riffing off of an idea that had been sort of floating around in various forms: we want to make sure that we credit the appropriate people. And I think that's been done in Twitter threads and things like that, but the most, I think, relevant motivation for Uniswap was a blog post about automated market makers that Vitalik made on ETH research two or three years ago at this point. And Hayden ran with that, with a grant from the Ethereum Foundation of about 100K, which I think mostly just paid for an audit and maybe some out of pocket living expense as well, while Hayden was doing the development. And that was how V1 worked. I had read about that after he had launched without having any insight or knowledge of the process or really anything that had led up to it. And I think that's how most people actually, who weren't involved in those very, very early days heard about it. They maybe read a blog post and they thought it was some wacky fun idea. They thought it was like Bancor, which was sort of a historical precedent. And I didn't think too much of it until I actually met Hayden in person at a meetup. And he was just like someone who you'd expect to have built Uniswap. He was super in the weeds, very passionate, really, really excited, and just brimming with ideas of what he wanted to bring to the table next and what he wanted Uniswap to become in the future. And so I think I was very, very excited by that. And that was really, those were again, the very, very early days, DeFi wasn't even really a term back then, or it was in its nascency. And so I was in this circle and he needed some help, he had some ideas about what he wanted to do next. And I thought, "You know, this is maybe a great opportunity". So along with Cal who is the design guru and genius behind the user experience of Uniswap, we were the really early team members and we worked on just these really fun early ideas, including Unisocks and of course V2, which introduced Oracles and Flash Loans and all kinds of things. But without getting too much into the weeds, that was the genesis. It was an Ethereum Foundation grant, which transitioned into Series A, which transitioned into fully fledged company, which is what it is today. And so that's a bit told from my lens, but that's how I saw it. Anna (00:04:51): What were you doing before Uniswap? You said you were around, but what were you working on? Noah (00:04:56): Yeah, so I actually started my sort of "career" at the New York Fed. So I was doing economics research in preparation for a PhD, which I very quickly realized I wasn't cut out for it and so bailed, which is the best decision I've ever made. And I actually worked with Andy Chorlian, who was a guest just a couple of weeks ago, I think, on your podcast. And we were very close friends at a small crypto startup in New York and we had a great, great team and that just didn't work out for a variety of reasons. And I was, at that time, I was going to meetups and things were a little frothy, so it was always fun to see what people were building and try to cut through the chaff and find the wheat and things like that. Anna (00:05:36): That was 2017, I guess, when you say "frothy". Tarun (00:05:40): But one thing that's funny is, I think, that that company has produced a lot of founders in DeFi in the last three months. I feel like it's it's actually kind of crazy that you guys worked at probably the best little DeFi dev incubator that I can think of. In spite of the fact that... Was it called Hydrogen? Did it ever launch? I guess you had a token. Noah (00:06:07): Yeah, it was just at this awkward in-between stage where it was trying to appeal to the open source, what we now call "DeFi ethos" and sort of a more corporate version of a FinTech app, and it just never quite hit the right balance, I think. And ultimately I think it just didn't really work out in that sense. And so it is funny, I agree, that there was this big exodus and we've since gone on to some very interesting projects in the space, so. Anna (00:06:33): Cool. All right, Moody, where do you enter this story? At what point did you join Uniswap? Moody (00:06:40): Yeah, so I joined about, I think a year after Noah. Mike was actually trying to recruit me for Rainbow, so he invited me to a tweetup and I met Hayden there and I was also trying to get Hayden to come speak at Google about Uniswap with the blockchain group. So I heard Hayden was hiring at Uniswap and I kind of forced my way into the office for an interview. And... Anna (00:07:06): Wait, who is Mike in this story? Moody (00:07:11): Mike is the founder of Rainbow, the wallet. And he is very social, very, very fun guy. So he throws these tweetups in New York with all these crypto people and all these Twitter people, which I had never experienced before. So that was a lot of fun. Tarun (00:07:28): Did he buy your ENS domain? Does he have Moody.eth? Moody (00:07:33): No, I actually, I front ran him on that. So he might have some moods now, which I'd be a little sad about. Tarun (00:07:42): A little background on this. Mike's entire growth marketing strategy for his startup is to buy both engineers' and famous celebrities' ".eth" domain names and squat on them until they use his app, which has worked. Crazy! Anna (00:07:58): That he releases it, if they use the app? Tarun (00:08:01): Like markcuban.eth, for instance, he bought that and he got Mark Cuban to use his app and now he is the investor in his app. Anna (00:08:06): Amazing! Noah (00:08:06): Well, it's genius. It's supply side and demand side too, right? Cause he's got the celebs who have the clout and then he's got the devs who are like, "Well, what is this?" And then they get hooked. Anna (00:08:14): Amazing. That's so good. Moody, what were you doing before? What were you doing before this meeting? Moody (00:08:21): I was at Google doing privacy and ads and in the meantime I was studying crypto. And I have no idea how Mike found me. I had like 30 total Twitter followers and he's just a good scout, I guess. I had been going to hackathons, like ETH New York, ETH Denver, ETH Waterloo, and just... Anna (00:08:40): Getting to know people. Moody (00:08:42): Yeah. Building a bunch of silly projects, I'd say. Anna (00:08:46): Cool, we have now your two start dates. So 2017 was Noah. 2018, 2017.? Noah (00:08:53): I think 2018 was the official date I believe, but something around then. Anna (00:08:58): And 2019 I guess was Moody. Moody (00:09:01): Well, I think, I started a year ago, so 2020. Anna (00:09:03): 2020. Got it. Let's go back to the story of Uniswap. We've done V1, that very simple mechanism, this idea that had been originally proposed by Vitalik and maybe also by Martin? We had Martin from Gnosis on the show recently and I think it was like a conversation between them. What happened after that? Let's continue through that story of this company and this product. Noah (00:09:30): Well, Anna, if I'm being honest, we spent 4 months building Unisocks. That's exactly what happened. We literally paused everything and built Unisocks, which... I'm somewhat self-trained as an engineer. I don't have a CS degree and I had been working on smart contracts almost exclusively and then I get hired by Hayden and the first thing he's like, "Hey, what if we build some sort of web UI to interact with these tokenized socks on Uniswap V1". And I was like, "Well, sure. I haven't done that before, but that seems fine." We built this whole redemption scheme. And for those of you who don't know Unisocks or if you don't know Unisocks, you're probably not listening to the show, but we tokenized 500 socks and put them in a Uniswap pool and let them be bought and sold freely. And you could redeem them on our website for an actual physical pair of socks, which we are still, to this day, safeguarding in the Uniswap office. So it was a lot of fun, it was actually great because it really showed people what Uniswap could do. And those are the kinds of things that Hayden saw in his head, but needed to actually bring into reality for others to be able to buy into, to that essence of what made Uniswap interesting to him. Anna (00:10:36): Unisocks, were they NFTs? Were they the 721s NFTs? Noah (00:10:42): Sort of. So there's an NFT element to Unisocks, but really the core Unisock, it's just an ERC-20 contract with a total supply of 500, and so they're fully fractionalizable. And it just takes one full denomination of a Unisock to redeem it for an actual sock... To a pair, of course, a left and a right. But once you've redeemed your ERC-20, which is fully freely tradable, you do get, in addition to the physical Socks, nonphysical, non fungible NFT token. And so those exist as well. And they're exactly corresponding to how many NFT socks have been burned. Anna (00:11:17): What was the connection though? It sounds like a super fun project and it's good for branding and stuff, but could you use these in Uniswap, as it stood? Were you able to actually trade your... I guess if they're ERC-20s, you could. Noah (00:11:31): Yeah, absolutely. And the algorithm pricing was very, very interesting to us about this experiment. And I mean, they're the most valuable pair of socks I think ever created, which is just a funny little meme and I think it showed both the mass market appeal that Uniswap could have, while demonstrating the underlying mechanism in an extremely simple way. And also frankly touching on some of the pain points of that first V1 design, and I guess we'll get there, to V3, but there's this capital efficiency that V3 brings to the table and we just didn't have that in V1. And what we did is we actually had to lock up a bunch of ETH alongside our SOCKS to see this liquidity pool to support trading it. And so there's very interesting tie-ins to Unisocks that go much deeper than a one-off little project. Anna (00:12:19): Very cool. Was this still with V1? Was this still being built in tandem with the V1? Noah (00:12:24): This was post-V1 launch. And so it was just we were using the Vyper contracts, V2 in sort of ideation phase, and we were just riffing on some fun things. Anna (00:12:34): Cool. So when was V2 and what did it do? Noah (00:12:38): So V2 was about a year after that, so I think late 2019, maybe early 2020. And there were three big ideas. The first was Oracles. The second was non-ETH-specific pools. And the third was Flash Loans. So you Uniswap V1 worked only with ETH. So V2 opened up the flood gates and allowed any token to be paired with any other, which is incredible to think about, because that's just taken for granted these days, right? But that was one high level feature. Oracles, which are very interesting to me, I think, still underexplored in the DeFi and broader crypto ecosystem, introduce a way to trustlessly and with certain known risk parameters obtain the price of assets that are trading over Uniswap, which can be used as a primitive to input values and data into other systems which rely on these relative prices. And then third of course is Flash Loans, which doesn't always have the best reputation, but the Flash Loans are this feature that Uniswap V2 pools have, where you can come to the table and say, "I'd like to borrow all of your assets, Uniswap pool, and then I'll return them in the same block. So it's totally safe for you, but don't worry about what I'm doing with them." And basically that can be used for ill effect, if the people borrowing assets are willing to do something unsavory, but I think there's a really positive narrative to Flash Loans. And the reason why we introduced it really is because it allows no capital arbitrage. And so really Uniswap is about democratizing trading and finance and LP-ing. And so I think being able to arbitrage without any upfront investment is extremely powerful and basically how that works, just post-it note version is: you borrow a bunch of assets that are relatively overvalued from Uniswap, you sell them on an external venue,it doesn't have to be on-chain, it could be off-chain. And then you return the now correctly, appropriately priced assets. That process is normally only available to professional market makers, but this Flash Loan feature made it available to everyday people. Anna (00:14:38): Which Flash Loan came first, Aave's or Uniswap? Noah (00:14:43): I think Aave, we certainly didn't originate the idea, we can't claim credit for that, but it does work quite nicely within the Uniswap ecosystem, like making a swap and simultaneously returning assets and things like that. Moody (00:14:52): I think the Flash Swap, was that originally from Uniswap? Noah (00:14:57): The Flash Swap yes. That's our coinage of it. And I think that was a novel thing, because with Aave, I think it's exclusively single asset, but Uniswap has this interesting dual asset property, where you can Flash Swap optimistically and receive your output before you're actually required to pay your input. Anna (00:15:11): Were there these LP tokens on V1 and V2? Or was that an introduction with V2? Noah (00:15:17): Yes, the LP tokens existed on both and they are were just a way to track relative asset values and so we needed that for accounting purposes. Anna (00:15:28): Got it. So Moody, you were joining 2020. Was V2 already out? Moody (00:15:32): I think, we're about a month out from V2 launch or a month before V2 launch, when I joined. A lot of the first work I did was just getting into the interface and modernizing the code base. I did a lot of conversion to TypeScript on early days and some unit testing and just building. I actually wrote the first naive routing algorithm, which is still unfortunately a little naive, in the interface for the V2 swap, since we had not just ETH pairs, but we also had token/token pairs. So it got a little bit more complicated than V1. Anna (00:16:08): Cool. Okay. So I think we've set it up nicely to start talking about V3, which just hit mainnet on May 5th, a month ago, I guess. So this is pretty fresh. I'm excited to actually dig in on this. V2 was out, at what point did you start planning for this V3? And what were the initial challenges or things that you wanted to fix with this new version, things you wanted to change? Noah (00:16:38): Well, Moody, maybe you can speak to the technical aspect, but I think just to tie this back to Unisocks, I think something that's pretty illustrative to people is basically what we wanted to do is to say, we wanted to support a Unisocks-style token issuance, without having to lock up this ETH that we knew is never going to be sold below the starting price of SOCKS. Because we control the total supply, we have this guarantee that there's a floor price, a reserve price for SOCKS, and that they're only going to be sold on the way up. And so Uniswap V1 and V2 just didn't allow that kind of use case because they were constraining liquidity providers to a single shared position, which behaved exactly identically economically in terms of risk, in terms of required capital, in terms of fees earned. And so the underlying motivation of V3 is to introduce a level of flexibility in LPing and allow users to customize their risk preferences and then their expectations over future prices. And so that's really the core idea and innovation, we can get into how that works, but that's what it is doing. And I think the motivation for this really began much, much earlier on than V3 at all. But V3 specifically began to form as a coherent idea and as something that could actually be implemented basically right after V2, unfortunately. And so we didn't have too much of a rest period after V2 launch. But that was when Dan Robinson from Paradigm began to really flesh out the math here and figure out that this could work. And Hayden began pushing and prodding and seeing what strings could we pull together, how could we start staffing this, things like that. Anna (00:18:08): Tell me a little bit about what did happen under the hood, what changed? It feels like it's pretty major. Moody (00:18:14): Well, yeah, from a technical perspective, you don't just have these two token balances from which you can determine everything. You now have to have this price curve broken down into these things we call ticks. So all the different, discrete prices are bucketed into these ranges for which there's different amounts of liquidity that are staked in supporting trades in those ranges Anna (00:18:36): And this, timing wise for this, I'm trying to picture a lot of this work was happening, I guess, before Sushiswap even was on the map, right? Noah (00:18:44): It was certainly in the works, but before that, yes. And frankly, we were not focused too much on V2 because we felt that the core reasons why V2 had come about were thriving and it was its own self-sufficient system. And we had bigger plans for what we wanted to work on next. Anna (00:19:02): I am curious now though, what happened the day that Sushiswap emerged in the company? How were you guys feeling? What happened? Was there like a "What the hell?!" moment? Like the music executives in 1999, when they discovered Napster or what? Noah (00:19:16): I mean, I think that there were mixed feelings because we felt that Uniswap was an important thing to exist. And so we were happy in some sense, the code was being put to good use and we open sourced Uniswap for a reason. And we have GPL code for a reason. And so from that perspective, we didn't really notice too much until the numbers started cranking up. And ultimately we were actually quite busy and so we didn't want to devote any time to this, what felt like a distraction. There's an important element at play here, which is in an unpermissioned fully adversarial ecosystem anything can happen at any time. And so I think we did react as a company. And we had to adjust our expectations about what people wanted from Uniswap or from something like Uniswap. And I think it actually taught us a lot about the community and there's really important foundational things at play here, like venture capital versus crowdfunding versus governance. And all these things are very core to what crypto and what it means to build a crypto company is. And so I think that basically it taught us a line and forced us to introspect a bit more about why we're building Uniswap and what we want Uniswap to mean to different groups of people. And so I actually think from that perspective, and I don't want to go into details here, I think the history is you can look up what happened and all that. But I think what we took away from it is we need to be intentional and involved and engaged and just make sure that we're building things that people feel involved and engaged in. That's what I got from that experience. Anna (00:20:50): Cool. Moody (00:20:50): If you are interested in the details, I would say there definitely was a reprioritization under the hood. And Sushiswap got big and gained a lot of traction. We shifted our engineering team just a little bit, I think, towards governance and community work. Anna (00:21:11): So I'm just thinking all of this history is on the way to the launch of V3, but was originally the plan to actually include, because there was the airdrop that happened in September, but I'm curious was the idea originally include the token in V3 and then that was moved up? Or was there always a plan for tokens? Or was that something that actually everyone was like, "Oh, yes, we should". Because from the outside, it wasn't completely clear, there'd always been sort of the no token ethos. It was actually always cited as the example of the project that doesn't have a token. Actually, the episode that we did, we did this 3-part series on Sushiswap, and in it, we did the whole episode the day before you launched the token. So then we had to record a third part because it changed the entire narrative in a way, once you guys had dropped on two. So, yeah. I want to hear a little bit about that. Was that always in the works? Was it sort of pushed up? I'm really curious about what's happenning. Noah (00:22:09): Yeah. Well, I can't say too much. I don't want to speak for Hayden and this official company position. I think it certainly moved the timeline up. I think that we always had the V2 fee switch, which was known to people. And I think we were pretty transparent about what that did and who is going to control it. We never wanted to have this as a company, we just felt at the time of launching V2, we weren't ready to concretize what it meant to govern this aspect of Uniswap. And so we sort of punted a bit. And obviously it's hard to replay things, but I think, in retrospect, if Sushi hadn't gained the traction that it did, we certainly would have been a bit more thoughtful — not thoughtful about what we wanted to do, but thoughtful about the timeline and the way that we prioritize from an engineering perspective the launch of what is now governance and the UNI token. So we potentially could have coincided that with the V3 launch or just done things in a slightly less frenzied timeline from an engineering perspective. There's a lot of code to get written when you're launching these kinds of things and a lot of tests to get written. I think that we don't feel that we have betrayed anything fundamental about Uniswap by launching the token. There is this no-token narrative and I think that the original meme was that Uniswap was just Bancor without BNT. Little did people know it was much better and more cost efficient, but no one sees UNI as an intermediary routing asset for the protocol. The protocol is self-sufficient, it stands on its own. I think that there is this interesting conversation to be had about the meta level of governance where you're thinking about incentives and incentive alignment and moats, and there's a point at which liquidity providers need to coalesce around projects and think about not just current profits, but future profits. And I think that there's a really interesting angle where multiple fragmentation across multiple DEXes creates exponentially many arbitrage opportunities, which furthers MEV. And I think that ultimately there have to be both incentives to build and have stable ground upon which to feel that you can invest in and write integrations for. And so I think that the token is tied into all of these areas in very intricate, delicate, interesting ways. And so I think that we see it as this meta incentivization governance layer for a core protocol, which ultimately is agnostic to this layer. Anna (00:24:34): Got it. Let's go into the price curve ticks, the ranges. There's a few words that are used in the new documentation that I actually don't know, for example, "ranged liquidity", I actually don't know what that means. So maybe you can start to break this down a little bit for me. What are these doing maybe on the user level? What would I see if I'm using this now? Moody (00:24:58): So in Uniswap V1 and V2, when you provide liquidity, your tokens can be bought and sold at any price. So let's say it's Ether in US dollars, you're providing liquidity and anyone can buy or sell Ether in US dollars in the pool, whether the price of Ether is $1 or a million dollars. So you don't have any control over where your liquidity is actually used, whereas in Uniswap V3 you can restrict the range of prices where your liquidity is actually used and not worry about providing any capital for liquidity outside that price range. So let's say you only think that Ether is going to be between the prices of $2,000 and $3. You can provide liquidity in that price range and get a greater capital efficiency, you have a greater portion of the fees that are earned in that price range. Anna (00:25:48): It starts to sound a bit more like an order book model then, where you'd actually say, "I'm ready to sell at this price and you're ready to buy at that price", and then you match it, but you're still an AMM, right? So what is this? How would you describe this combination? Moody (00:26:07): Yeah. I would say one of the core differentiators is that once someone takes your order, it doesn't go away. So they can always just take the other side of the order. So if they buy something, they can sell it right back to you, as long as you don't remove your liquidity. So you're still participating in market making, you're still buying and selling this spread, but you can limit the range within which you do it. And if you do limit it enough, it is kind of like an order book, where if you just limit it within 0.00001%, which is smaller than you can do in V3, but theoretically, than it is like a limit order taken to the extreme. But there's still that case where if somebody takes that limit order, they can just go in the other direction and give it right back to you, as long as you don't remove your liquidity, Anna (00:26:57): Are there some benefits? So I think you can imagine why this would be useful to people that you have a bit more control. I'm kind of curious, what does that look like? Does it say also that you'd receive a different percentage if you did a different price range? Does that affect actually how you earn the fees? Noah (00:27:15): It does. So just very quickly, in Uniswap it was very easy to think about LPing, because you just provided 50/50 value, so you'd just provide equal amounts of both assets, essentially. In V3 that's no longer the case and you can actually take fully asymmetric positions. And the limit, as Moody mentioned, that becomes a limit order. And so you can come to the table with differing amounts of assets, and in addition to that location parameter, which is where on the price curve, whether you're providing from prices that are between the current price and higher prices or the current price and lower prices, there's also a scale parameter. And so you can choose your location and your scale. And the scale is what determines the risk and concentration of liquidity. So the tighter your range, the smaller price movement is required for your range to be exited, and that corresponds to a higher risk of what some people call impermanent loss or inventory risk or what have you. And so there's two elements at play here, location and scale, and so I think that they both can affect fees differently, but essentially you're only earning liquidity provider fees for as long as your liquidity is actually supporting trades. And so that only happens when the price is actually inside of your specified range. Anna (00:28:28): Was the goal of introducing this partly to mitigate impermanent loss, or as we defined on previous episodes as opportunity cost? Was that something you were trying to do in creating these different ranges, where you could either expose yourself to more, or if you go, I guess, widerless? Moody (00:28:45): I would say it allows liquidity providers to specify their risk preference, their preference for impermanent loss. So if you have a higher tolerance for it, then you might choose a more concentrated range, because you'll be earning more fees with the same amount of capital. And if you have a lower tolerance for it, then you might do something like Uniswap V1 and V2, where you don't ever want to sell one asset at too low a price, so you provide liquidity across a much wider range. Anna (00:29:17): And actually can you still use it as you did with L1? Can you still set the setting so that if you're just really used to the way it was, can you still do that? Moody (00:29:26): Yeah. So if you provide liquidity across the entire price range, then V3 is more or less equivalent to V1 and V2 with the caveat that the gas characteristics are slightly different. Anna (00:29:40): And maybe what the LP tokens look like are slightly different too, right? Moody (00:29:43): Yeah, that's correct. V3 also uses NFTs. And then there's one more caveat, V3 doesn't automatically reinvest your fees, which some people might think is a bad thing. I think it's kind of a preference thing, cause I actually like that V3 doesn't reinvest my fees, because then my fees aren't subject to impermanent loss. Anna (00:30:08): Before it was an optional to do that, I guess. Noah (00:30:11): Yeah. Before the LP tokens had this automatically reinvesting property, where you were actually accruing pro-rata shares of liquidity and not underlying tokens. Tarun (00:30:21): Well, I guess one other thing is how do you view the landscape of protocols that build on top that will be kind of rebalancing for people. It seems like, based on at least what it seems like sentiment, is people want these passive investing vehicles that will go and reallocate to pools. Do you envision a world where the original Uniswap team is maintaining things like that? Or do you envision a world where there's like 500 different strategies, each focused on a different subset of the market and... How do you think about that? Because at the end of the day, I think there's still going to be demand for passive investing vehicles. And there's only a certain subset of the market that can actually be active in managing all this liquidity. Moody (00:31:08): I think some of us have different different opinions on how much Uniswap should be involved in that particular domain. My opinion is that it's a very opinionated subject, how you deal with reinvesting these fees and how often you should adjust your liquidity ranges and how aggressive they should be in terms of tightness or concentration. And because it's so opinionated, there's going to be many different implementations and people will have different preferences and sometimes one will perform better than the other. And then other times others will perform better. I think Uniswap should take a role. And this is just my personal opinion. I think Uniswap should take a role of enabling all these different strategies to exist, these automated passive strategies, and building all the right tooling for them, so that it's easy to make those. But building an actual automated strategy, I think we should leave up to the integrators. Anna (00:32:01): Would you expect there to be additional products that live on top, that actually articulate one of these, not just the individual liquidity providers who they themselves are playing a special strategy, but actually products that play that strategy for you? Or does that already exist actually? Noah (00:32:19): Yeah. I mean, I think people are thinking about this exact problem and the really great news, from my perspective, is that we don't have to worry about it. I mean, not to say that Uniswap doesn't want to productize this or think about it, we do. And we want to support people and build tooling that that enables us. But ultimately we don't have to be a monolith. And we could pursue that traditional growth path and try to offer a whole range of products that appeal to investors and traders, and basically the whole gamut of people that use Uniswap. But the really beautiful thing about open source and DeFi is that we can put things out there and then work on a very high level with other teams whose relative expertise might be a bit more suited towards these automated strategies, and we can give them the tools they need to make decisions on behalf of their users. And I think that's what is extremely interesting and powerful about building in crypto in general. And I think that, that's not to say again that Uniswap isn't interested in this or that we won't ever come out with some kind of product that does this, but I think what we can say definitively is that our raison d'etre is to let people who do have opinions and who do want to see very specific strategies implemented and give people that opportunity to invest in those or hedge their positions, or what have you. We want to let them do that. And so that's powerful. Anna (00:33:45): As you describe it, and you described these different strategies, for me it sounds more and more like a game, that people have been playing a game that's quite easy. And then some people, often those with a lot of funds, can play it well, but they don't have to put very much energy. And now there's all these different new ways to play this thing. And even if you don't necessarily come from one of the more legacy groups, you could potentially also play this game so well that you maximize it. Is that actually the case? Cause that's what it sounds like. Or do you think it's still really hard for the little guy to truly participate in this? Noah (00:34:24): No. I still think that Uniswap can be a medium for "passive" investment. That's the primary motivation. I don't think that the existence of the ability to potentially earn outsized APY by being active is at all a fault or a failing in the Uniswap core model. I think that those positions are almost inherently taking on more economic risks. And so being compensated for that isn't bad, I think, and it potentially might even net out in the long run, as we see these strategies rise and fall and win/lose. And I think that the important thing to note here too, is that traders really win in these scenarios, when people are playing games. And I don't think games is an innaccurate characterization. Like when you decide to make a big bet on what you think is going to happen in a pool and that doesn't go too well for you, that impermanent loss has translated into great prices for traders too. So we're not like trying to distribute loss from LPs to users or anything like that. But I think that the net outcome of this we're hoping obviously is positive. And I think that so far the early results seem promising. And I think that it's a very interesting, very multi-faceted complex system. And I think that we set up the rules of the game in a very abstract, sort of generic way having built V3. And I think that we're going to start to see very diverse strategies on top of that. And I think that passive LPing, either meaning just like single range, "just set it and forget it" style, or participating in an index fund that has some sort of automated rebalancing associated with it, it is still going to be a valid use case. Tarun (00:36:01): One other big change was the licensing in V3. And as someone forked it and put it on BSC this weekend or Friday, I guess, how do you view the future of licensing? I think the interesting thing, of course, from a governance standpoint, has been this Snapshot vote, allowing Arbitrum to have usage within the license, at least relative to the team's deployment. So maybe from the development standpoint, how do you guys think about the license and how does it either impact features you want to make or things you want to do and what was the thought process behind it? Noah (00:36:39): Sure. So just on a high level, the V3 code base was issued under a business source license, which was something that was developed by MariaDB. And basically what this license is, is it's a timelocked GPL. So it devolves to GPL after two years, which is specified in the original contract. And before then it's more or less restricted to people who are either Uniswap Labs, the company, or Uniswap governance specify. And so it has this exemption clause, by which governance is able to make exceptions to the license, but by default, any sort of commercial use of the code is prohibited within that timeframe. So that's the statement of what the license is. Anna (00:37:23): But you just said that recently there was a governance decision to actually open that up. Is that how people can use it? Moody (00:37:31): So what happened with Arbitrum is there was some community interest and appoint to Arbitrum. There was a thread on the governance forum, and then they created a Snapshot proposal. And because it reached the threshold of 40 million votes, which is what's required to get an on-chain proposal passed, we figured we'd just make it easier and deploy to Arbitrum for the community, since the community signals strong support. And so, say that Uniswap, Uniswap Labs, the company decided that they didn't want to deploy to Arbitrum, what the community could do is update our reference, which the license points to, to include a carve-out for Offchain Labs or an Arbitrum deployment. And then anyone could just go ahead and deploy the Uniswap code to Arbitrum. Anna (00:38:22): So they could go around the will of the company, through this governance mechanism. This is due to the license, the exact way it's described? Moody (00:38:30): Yep. The technicalities of it is that the license actually points to an ENS name, which can resolve to a file containing additional clauses to be appended to the license. There's one more thing which isn't relevant. It also has another ENS name reference, which points to the date at which the code becomes GPL. So you can override the date so that all the code becomes GPL on a faster timeline. Anna (00:38:55): But then what happened with Binance? With the B... Tarun (00:38:59): BSC, Binance Smart Chain. Basically someone just forked it and put it at... Anna (00:39:04): Yeah. What does that mean though? If somebody just forks it and puts it on BSC, what happens? Tarun (00:39:09): Lawsuits, if you find them. Anna (00:39:11): I see. Okay. So there is basically now, the community does have something to protect themselves maybe, but it is open source, yeah. So where are you guys sitting on that? Moody (00:39:22): Well, I mean, the community has this license to the code, it says the community can enforce it, if it wishes to. Uniswap Labs also has copyright. And I think as far as what we'll actually do, it's not really up to the two of us. It's sort of a conversation, but I think, from my perspective, the license isn't necessarily about enforcement. It's about legitimacy and it's hard to rally a community around an illegitimate, illegal project, which is not respecting the copyright or the attribution of the work that it's using. So I'm not as worried about the community rallying about, hiring lawyers or something, but I think it will work out just because they're not playing a fair game. Anna (00:40:14): Let's touch base on the NFTs, or LPs as NFTs, because you mentioned that before. What does that look like? What are these things? And maybe what were they before? What were LP tokens originally and what are they now? Moody (00:40:28): Yeah, so LP tokens originally were ERC-20s, which meant they were fungible. So if you have one LP token, I have one LP token, we can swap them. And as long as it's for the same pair, they're completely equal in value. But with V3, because fees aren't automatically reinvested, one user's liquidity position isn't necessarily fungible with someone else's, even if it's the same tick range, even if it's the same starting capital, because you also are entitled to these fees. As much as we wanted to make liquidity fungible for all the benefits it has, like being able to deposit into something like Compound and borrow against it, it was just very difficult from a technical perspective to make that happen. So the easiest thing to do was to make them non fungible. So that means when you create, when you provide liquidity to Uniswap V3, what you get back is this non fungible token, which represents your position and the parameters of your position: so what is the price range at which you provided liquidity, how much liquidity did you provide? Anna (00:41:38): But given that there was a lot of projects that use the old LP model, what does the new NFT model do with those? And I have an example here, like Maker using Uni pool LPs as collateral. Noah (00:41:51): Yeah. Maker was a little sad when we told them, because their governance system, it's a bit more conservative, it's a bit slower. And they had just, before we announced V3, they had just gotten around to starting to get V2 pool tokens into their system. Bu it's okay. We're still super excited about the longterm of that general phenomenon. It basically just makes it a bit harder, add sort of a speed bump. Ultimately there's nothing preventing a team Maker, Uniswap, someone else from choosing a method of making LP tokens fungible. Basically the core problem is more or less dealing with fees, which are collected asymmetrically, as Moody mentioned. And so if you're willing to commit to a strategy fo reinvesting these fees, you can actually make certain positions fungible. And I think that this is particularly interesting and relevant in the context of PSM, and not to get too sidetracked, but it's basically this program that Maker has dumped a bunch of collateral into, that lets you swap between Dai and USDC, and it's a pretty powerful backstop for these trades. And I think that there's a really interesting reparametrization of that system that could happen on V3. And I think that a tightly concentrated V3 position in Dai/USDC around the price of one, could serve a lot of the same purposes as the PSM does. And so I think that there's that, and then there's the whole, again, universe of possible ways of fungibalizing ultimately non-fungible positions by being opinionated about a fee reinvestment strategy. And so I think that, as people start to see needs for borrowing against LP tokens, supporting things like the PSM, we're going to see strategies evolve and develop. It's a bit early to say, which of these are going to come out on top or which may be most important, but they're gonna come around sooner or later. Anna (00:43:37): Do you think something like Fractional, what we were talking about with Andy would be one of those types of things, where you take something non fungible, make it fungible again. Noah (00:43:44): Yeah. I mean, in the context of a single shared canonical position that multiple users are pulling into still, that's just represented by a single NFT, I think yeah, you could apply Fractional to that NFT and then use that as the plug-and-play mechanic by which you're allocating fractional ownership. And that's, again, just the beauty of DeFi. It's so cool that [there] even is a possibility of working. So yeah, that might be awesome. Anna (00:44:07): Those NFTs, as they are, are those also getting mixed up in the regular NFT markets? Is it starting to be like, there's these new NFTs, let's put them in with the other NFTs and trade them around? What's happening? Are they falling into that category too? Moody (00:44:25): They are. And they actually... It's unfortunately a little confusing. I don't think everyone realizes that the NFT represents your liquidity in Uniswap. And so if you sell it, you no longer have the rights to that liquidity. And so somebody ended up selling it, selling one of their liquidity provider NFTs on OpenSea for much less than the capital was actually worth. Anna (00:44:49): Not realizing, thinking it was just this cool new thing to sell. Moody (00:44:52): Yeah. But they have real value and actually the image and the description that's all secondary to the core purpose of them, which is to tokenize your ownership of this liquidity. And so that's so you can send it around and see it in your wallets and all that good stuff that comes with that. Anna (00:45:12): Do you almost see a world where people are pooling together these NFTs, selling them in batches for the perceived value in the future? Something like this? Tarun (00:45:21): I mean, in some ways that's what owning a share in the index fund is. There's an index fund that's allocating to the pools and it also has a lockup, then it's exactly that. Anna (00:45:31): That's what it sounds like, this is old finance, right? Doesn't that exist in original finance? Tarun (00:45:37): The difference is at least you — anyone can use this. I would say it's not like anyone can go buy a VIX ETF, you can't really, you still need a third party who has a broker's license and blah, blah, blah. A lot of that stuff is removed. So I think that the game aspect you should view as a positive, because it means more people can play the game than normal finance, but I think it inevitably will converge to the same thing, there's no way around it. I know there was kind of the dream sold of not coming into that, but yeah. Anna (00:46:11): What do you guys think about it? Where are you at on that? Noah (00:46:15): Yeah, We were super worried for a while that V3 was going to be too powerful for professional market makers. It was a very serious concern that we had, I would say, an extended internal debate about... Moody's smiling for those of you on the video call... Cause we all feel really passionately about this. And I think that, especially given Flashbots' totally meteoric rise to prominence and all that, I think there's a really very real concern about the fundamental stability of blockchains and in a setting where massive amounts of value can be extracted somewhat for free from "retail" by "professional" in this case, not market makers necessarily, but just professional miners or arbitrageurs or what have you. And so the jury is still out on all of this. And I'm pretty optimistic about cryptography and open source ethos and adversarial thinking getting us past the threat that MEV and professionalization in market-making poses to passive investment or to just blockchain users as a whole. But it is definitely a scary problem. And in theory, in the limit, Uniswap could just, Uniswap V3 could have just devolved into this weird sort of a Flashbots bundle, like everyone adds liquidity before a single trade, which is observed in the mempool. And then withdraws immediately after to harvest all the fees. That hasn't happened, at least not yet, and nor do we think it will, but in theory that's a possibility. And so there are some scary edge cases, where things really do go down off the rails pretty quickly. And I'm not sure it would converge to traditional finance, but it would certainly converge to powerful players having extremely strong control over the system. And I would argue that's an aspect of traditional finance as well. Moody (00:47:58): In my opinion, the most important aspect of DeFi is that anyone who has skill and drive can come in and compete with those large players. And I think that's not going to go away, even if we give these players more tooling, more control over their liquidity positions and how they trade, that bar might be a little bit higher for what is a competitive market maker, competitive trader. Anna (00:48:23): You spoke about these edge cases or extreme cases. And one I wondered about was, you said you launched May 5th and there was a pretty intense drop, obviously, maybe not as intense as March, 2020, but that was, I guess, felt what. What did that look like internally? Would that have been a possible breaking point? Did you feel like the systems in place were stressed during that drop in price? Does that even have an impact? Noah (00:48:52): Yeah. For my personal sanity, I really don't even look at the prices. Maybe this sounds bad, but it just doesn't really register, I think for us in a lot of ways. And actually there is this counter cyclical aspect to Uniswap, by which when the prices are falling, people typically want to be in stables. Or they want to hedge out their position. Anna (00:49:14): Yeah. I guess the question here is, did it impact anything? It sounds like it didn't. I'm thinking from like the Maker, like there's nothing in Uniswap that automatically calls things, I guess. Tarun (00:49:25): I mean, there's no leverage. So one of the advantages of the concentrated fee models versus borrowing against an LP share to increase your share to get fees is that there is no liquidation. However, there is this kind of potentially worse loss due to lack of fee reinvestment and all, and/or the price moving really far out. So that's the thing you might be more concerned about, which, I think, there are people who have been complaining a little bit about that, but that's because they didn't read the code and didn't think about it very much. Anna (00:50:00): It's basically people wanting to get their LP tokens or get their funds out. Tarun (00:50:05): They just felt like they missed out on a bunch of fees on a mean reversion. If we, for instance, take a coin like COMP, which I think took like a 70% nuke and then went back up 40%, people want the fees on the retrace, but if they didn't adjust their liquidity, they're lost out on those fees. And so that's usually where I think you've seen some. But that's just because people were just aped into things and didn't read the code that's that would be my... But it's supposed to be a buyer-beware market in crypto. Moody (00:50:37): I think there's some things we could do from a UX perspective to address those things. V3 is a very different animal from V2, for the user, especially as a liquidity provider. So yeah, there's a ton of user education to be done there, it's a rabbit hole you could get on. Anna (00:50:55): It does definitely sound like you've just unleashed a much more powerful beast. I mean, to be honest, I have not tried it. I did try the V2 and was a liquidity provider for a short amount of time. So I do know what that looked like. I'm actually, after this interview, I'm super excited to go try it. Tarun (00:51:14): Don't sell your NFT on OpenSea! Anna (00:51:18): Don't sell the LP token. Got it. Okay. Rule number one. Noah (00:51:22): Yeah. There's a couple more leavers, I'd say, in the interface. One thing that's interesting to think about it and maybe a good starting place is stable/stable asset liquidity provision because that's the real home run use case for V3. If Dai doesn't break its peg, Dai/USDC is literally free money. And so if you want to put those assets in a very tight narrow range around the price of one, you're almost certainly gonna see some volume there, because there is this persistent interest in swapping between those two assets. So there are these differentiated use cases in V3, like stable/stable, like general, like just DeFi token ETH. There's SOCKS, Gitcoin SACKS, provision along a curve from a starting price up. You can now, in V3, expand your definition of what it means to LP. And you can pick subsets that you are more comfortable with, if you don't feel like you are capable of picking prices in the optimal manner and making sure that your ranges are appropriately updated when prices move. So there's options out there Anna (00:52:19): Cool. Yeah, it sounds like I'll try something here. As I understand it, recently, there was a proposal or some encouragement from Vitalik to have the Oracle world live more in the Uniswap world. And I'm wondering, given that there's constant trades happening, how do you actually do pricing? In the past you weren't using external Oracles, were you? Noah (00:52:42): No. So there's two aspects here. The use of the term "Oracle" has been a bit muddied. But so for pricing, V3 and V2 and V1 are fully algorithmic, the prices are determined by the underlying liquidity that's being provided by end-users. In V2 and V1 that's quite simple, it's just the asset value A and asset value B. In V3, of course, it's this aggregation across potentially varying tick ranges that end up providing an aggregate quote for people looking to trade. And then there's this second layer where, because of the incentives in Uniswap, the current market price on Uniswap is typically tracking the price off chain or the true price of assets quite closely. And so this is a valuable thing that we're getting literally for free. And so if we can figure out a way to expose this price to other applications that's potentially valuable. And so there is this internal mechanism, by which Uniswap V3 pools offer historical prices to other people looking to use those prices, to inform leverage, liquidation, things like that. And then there's this third layer, which is, I think what you're referencing, where Vitalik in a post on the governance forum, maybe a month or two ago, proposed that Uniswap become, I think, a dollar price Oracle was the proposal, and I don't have too much of an opinion about that, but it would certainly stray from the fully algorithmic ethos of Uniswap, the protocol. And it would instead rely more on economic assumptions about the market cap of the token and the behavior of token holders in an adversarial voting or Oracle updating system. And so I think the core protocol is its own little bubble. And then this Oracle proposal I think would build on top of the "core competencies" of Uniswap, namely having thought very deeply about pricing and MEV and Oracles and things like that, and then offer this service that would basically expose the dollar price Oracle, using Uni as sort of a backstop for the system. And I don't know to what extent that's actually gonna happen, or if that's going to be us, again, it's a fully on permissions, anyone could do this, we can't stop them, which is cool. But I think there's a conversation to be had there. Anna (00:54:59): Since over the last 2-3 months, we did almost 6 episodes on L2 solutions, and I know that 2 of them have publicly announced with you, that Uniswap is going to be deployed on them. And that's Optimism and Arbitrum and maybe some others, or you're in talks with them. Now, my question here is how do you deploy on mainchain, mainnet L2 and then another L2? Do you end up with liquidity pools on each one of these? Do they all have their own? I'm quite confused about what this actually means, when you say it's deploying on this L2. Moody (00:55:40): Yeah. So it's actually not that different from deploying to a testnet. I mean, it's an EVM-compatible chain, so everything is completely separate. That means the liquidity pools are separate. And so the liquidity is fragmented across L2 Optimism, L2 Arbitrum and layer one Ethereum. And so in the case of Arbitrum, we have this deploy script and we literally just pointed at the Arbitrum node and fired it off and it pretty much just worked. And Optimism requires a few more changes just because they made some different architecture decisions, but otherwise it's a lot like deploying to a testnet. And then the big difference is that you can bridge these mainnet assets over to these layer 2s, whereas with the layer one testnet you can't do that, in a secure way, at least. Anna (00:56:30): I wonder, from the user's perspective, what do they look like? Do they choose? Moody (00:56:34): That's a great question. That's something we're figuring out in terms of UX. I think early on it will be mostly user driven, the choice between which L2 they get, and even the experience of connecting to a layer two may not be quite as polished as it is, if you just go to Uniswap interface to connect to L1. So definitely a work in progress. And I think it would get a lot more difficult to create a really nice, polished UX as we deploy to more L2s, it may become a little confusing and that's a problem we're working through today. Tarun (00:57:16): Yeah. I think one further question, maybe both from a mechanical perspective and also the user perspective, is in the multi-L2 world there's a natural triangular arbitrage of: I have WETH/WBTC on Arbitrum, I have WETH/WBTC on Optimism, I have WETH/WBTC on mainnet. And so in order for me to actually synchronize prices, I'll either have to go through mainnet or, theoretically, a state channel relay, like Connext's or something, but for what it's worth, I think that Connext's thing seems to be at least starting to make L2 relaying possible. But I guess my question is from the end user's perspective, there's a couple of problems here. One is there's a lot of MEV that will be lost, if you have to do the leg through the main chain, right? Because front running the sequencer is now just way more valuable than front running any individual transaction in the bundle. And then the second thing is when you show a user a price, there's a sense in which the UX could actually go do the arbitrage and provide them median price, as the execution price, a little bit like what Robinhood and Citadel's arranging in some ways. How do you view this revenue sharing model that we'll now have to inevitably have to come up, given that the end user now has to manage this? And it's a little bit kind of an extension of your previous question. There's a lot of things there, so feel free to take whichever ones you feel most comfortable with. Noah (00:58:44): Yeah. I think the MEV thing is very interesting. And then each additional L2 introduces quadratically more layers of MEV and arbitrage opportunities here. So I think it's something pretty serious to think about. It sort of comes down to whether we think Uniswap is a piece of code that can just be deployed anywhere, or whether it's an experience, an app, something that users can bite their teeth into. And I think that it's easy for us to think about it as a piece of code, because we wrote this and we specifically set up the license so that these exemptions can be made, where we were very thoughtful and careful to the extent possible about making sure that this thing was going to be portable. The license was, you could disagree with this sort of motivation, but it was, it was quite thoughtful, it was quite intentional, we did this for a reason. And I think that it's going to come down to a question of how much our company wants to be involved or how much the Uniswap community wants to be involved in making use of a cohesive experience across L2s and across networks. And to be frank, we haven't deployed to any other chain, other than Ethereum, for a reason. And I think that's because there were security concerns, there were community concerns. There was just a very real risk that Uniswap wouldn't be living up to its ethos, to what we want Uniswap to be, if we were deploying on these other chains. And I think that's no longer the case with L2, because these systems are inheriting a lot of these security guarantees that Ethereum provides you. And so I think that this is a really positive step forward. And ultimately it's going to be a challenge and a test for these protocols to see if they can manage cross-chain stapled together, glued on like connect-style chains, or whether something like Compound chain, which is another alternative. If you just bring Compound into its own little universe and talk to different people or different chains' outlets, that's another option as well. So really, I don't have an answer for you, but that's where our heads at really, whether Uniswap, is that its essence just a piece of code that can live anywhere and fragmentation is this external concern that we don't have to worry about, or whether we can think about products that span L2s and sort of encompass the whole of Ethereum. And by Ethereum I mean not just L1, but these L2 systems that are hopefully just as secure, if not more. And so, yeah, I don't know, I don't have an answer, but that's just what comes to mind and we'll see what happens as time goes on. Moody (01:01:06): I'll just add that my early thinking on this, is that it's hard to say that L1 Ethereum ETH is fungible with Optimism ETH, especially because they have different security guarantees. And then even with these fast withdrawals, fast exits there's going to be different amounts of liquidity, based on the confidence that these market makers have and the L2s and the different parameters that go into security and the architectures, which makes it feel to me, like it's unavoidable, this choice that you give to the user, like they have to pick Arbitrum or Optimism. But I know that that's a product, people would probably hate me for saying that, but... Tarun (01:01:52): I don't know if that's true, because look at the staked ETH/ETH pool. It's proven that people are willing to actually hold an LP share of the multiple types of ETH, and use that as ETH. Like the Curve stETH/ETH pool, through all the crashes, it was the most low variance pool and all of it there on Uniswap or Curve or Balancer, Sushiswap, whatever. So I think that's a testament to the fact that people are willing to actually hold LP share of a bunch of different types of wrapped assets, as the real asset. And so then you have a settlement asset that's effectively the LP share on layer one. So I'm just saying there are some weird things that might occur like that. Lido, I think, has shown that... The thing about listening to all of your answers, and I say this, given that I maybe a year ago was quite quite negative on this ecosystem, but now I'm very positive, is that the introduction of MEV auctions and the fragmentation and having to do all this stuff is very bullish for Polkadot, because Polkadot already built that in, in their consensus. It actually looks very similar. Everything we're talking about looks like what DOTs look like with Crowd Loans. I've never been more positive on Polkadot until this conversation. Noah (01:03:11): Not what I was expecting from you, Tarun! Tarun (01:03:17): I know! I didn't expect to be either, but the way this evolved, it was like, "Whoa!" The Compound app chain model mixed with this settlement and multiple ETHs is kind of what Polkadot spent a lot of time trying to solve. And their auctions are very similar, in some spirit, to the MEV auctions for the sequencers. So, yeah, I think it's actually interesting to see these design spaces converge. And in the case of ETH, it's like Uniswap sort of enabled that, Uniswap plus MEV kind of forced the hand towards that. Anna (01:03:47): I feel like this is going to get retweeted by some Polkadot shills out there. Tarun (01:03:52): I know, I'm sorry. I wasn't trying to give a shill message. I'm just trying to point out that the Polkadot auction plus many chains thing is kind of similar to MEV auctions, determining which ordering of L2s gets executed. Anna (01:04:08): Okay. But bringing it back to Uniswap and the project, people who want to get involved or want to start building, maybe even some of these strategy bots or I don't know, how can they actually start participating in the ecosystem? What do you recommend they do? Noah (01:04:23): Yeah, that's a great question. And I think that it's important to understand that things we've all been saying this whole podcast about being involved and the community growth and all this stuff, it's not just abstracted, it's actually quite concrete. And so specifically the Uniswap Grants Program was created. It was the first governance proposal that passed about six months or so ago now. And it just funded a multisig comprised of some great team members, some community members that is, and it's funding all kinds of programs that are contributing back to Uniswap and the Uniswap ecosystem. And so I don't know the numbers off the top of my head, but you can actually just go, it's Uniswap Grants on Twitter, I think, there's a whole notion doc of all the projects that have been funded, the deliverables like what they've produced so far. We've seen so many cool community projects come out of that in just the early few months that it's existed so far. And we really want to make this treasury valuable to Ethereum, to Uniswap. And I think that putting it to good uses is actually quite hard. And I think that this grants program is a great first step to just really being inclusive, engaging to developers. And as Moody said, maybe the bar is just going to be higher to getting involved in DeFi and we do want to be inclusive and stuff, but it's also really pretty novel. If you're interested in engaged, you can get access to funding and start working on these ideas and be very, very close to the medal. And so I think that that's something to look out for, if you want to get involved. And really it's just about enthusiasm and time. If you are willing to put in the hours, we're not at the stage yet where you need to be a rocket scientist to get involved. You you can hop in and make an impact. Anna (01:06:04): Very nice. Cool. I want to say thank you to both of you for coming on the show, sharing with us the journey through V1, V2, V3 of Uniswap and definitely giving me a chance to dig in, ask you some questions I've had for a while. Thanks so much for being on the show. Noah (01:06:21): Thanks, Anna. This was great. And thanks, Tarun. Moody (01:06:23): Thanks for having us. Anna (01:06:24): Cool. Thank you to the podcast producer, Andrey, podcast editor, Henrik. And to our listeners. Anna (01:06:31): Thanks for listening.