Anna Rose (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 promised to change the way we interact and transact online. Anna Rose (00:00:27): This week, I catch up with Gubsheep from 0xPARC. Once again, this time we have a look at the dark forest game and how this has evolved in the last two years, as well as dive deeper into the 0xPARC ecosystem. 0Xparc is focused on blockchain gaming and zero knowledge education. So there is a lot to cover. We also give an update on the recent Gitcoin ZK tech side round that we collaborated on. It was ZK, validator and 0xPARC who managed and coordinated the round. Lastly, we explore future moonshot ideas for ZK projects, which could be the ZK applications of the future. There is so much going on in ZK at the moment. And this interview was a glimpse into the creativity and activity happening there. So hope you enjoy it before we kick off, I wanna highlight the ZK jobs board for you. Anna Rose (00:01:09): If you are looking to jump into ZK professionally, I wanna remind you to head over to the ZK jobs board. There, you can find job posts from some of the top teams working in ZK. You can find the project or team you may wanna work with next. I also wanna encourage teams who are hiring to use the ZK jobs board to find your next hires. We have teams like Aleo, Anoma and Mina posting there. So be sure to add your jobs as well. Now I'm gonna let Tanya share a little bit about this week's sponsor. Tanya (00:01:36): Today's episode is sponsored by Polygon. Polygon is the go-to Ethereum scaling platform for developers. It is arguably the most adopted scaling protocol with over 130 million unique user wallets. In simple terms, polygon is scaling Ethereum. Polygon is committed to bringing web 3 to the real world by lowering the barriers to entry and fostering the network effects of Ethereum. The team is working on a spectrum of solutions like polygon edge, which offers developers, the capability to build sovereign EVM compatible chains to a fully EVM compatible, zero knowledge roll up solution like Polygon Hermez, as well as solutions like Polygon Miden, Polygon Nightfall, which is built in association with Ernst & Young. And the recently announced acquisition of Mir protocol, now known as Polygon Zero, all of which inherit the security of Ethereum. Last but not least Polygon POS chain. One of the most popular chains built on top of Ethereum, sometimes clocking even more daily active users than Ethereum itself, visit polygon.Technology to learn more about their solutions. So thank you again, Polygon. Now here is Anna's interview with 0xPARC. Anna Rose (00:02:42): Today I'm here with Gubsheeop. Gubsheep has been involved with research projects at 0xPARC and also started the dark forest blockchain project. So welcome back, Gubsheep. Gubsheep (00:02:52): Hi, Anna. It's great to be here. Thanks for having me. Anna Rose (00:02:55): So the first time you actually came on this show we talked primarily about Dark Forest, and then just recently you were on the episode we did on ZK funding, but it was a very short interview. I felt afterwards, like there's so much we need to catch up on. I wanna hear about what's going on with Dark Forest since we last spoke about it. And since I played it, which is like over a year ago, and I wanna hear what's going on with 0xPARC, which has been created sort of since that initial interview. So yeah, let's, let's kick off with a little bit on Dark Forest. When I played, I think it was the third round. It was like still, you know, there wasn't ton of animation. There was like very, it was pretty simple and yet I managed should get like pretty addicted to it for 24 hours and I had no bots, so I was like manually clicking this stuff. But yeah. Can you tell us a little bit about Dark Forest? What it is, how far it's come, maybe where it's at? Maybe that's a couple questions maybe just start with yeah. What is Dark Forest? Gubsheep (00:03:56): For sure. Um yeah, so Dark Forest is a fully on chain RTS game that is basically entirely implemented in smart contracts. So the idea behind the game is it's sort of like if you've played Civ or StarCraft or have heard of EVE online, these sorts of games, it's in that kind of genre. So RTS slash persistence strategy, there's at this point a couple of different game modes now that people can play in. And there's a couple things that I think are specifically unique and pretty cool about Dark Forest. The first is that it is entirely on chain, as I mentioned which means that it is extremely programmable. It's client agnostic. So you see people writing scripts, writing third party clients, bots, all sorts of really interesting things, even, you know, smart contracts for player cooperatives or corporations. Gubsheep (00:04:47): Wow. marketplaces proxy contracts that, that do all sorts of crazy stuff. The second thing that's really interesting about Dark Forest is the way in which it uses ZK. So the original idea for the game came out of this realization that, you know, for a lot of these strategy games strategy games oftentimes rely on some incomplete information or information asymmetry mechanism in many strategy games, for example, that's a fog of war where you maybe don't know where your opponents base is or where their resources or units are until you have you know, uncovered some part of a map. And this is really challenging to do naively on blockchain because on, you know, systems like Ethereum and these decentralized transparent platforms, I guess exactly the data layers entirely transparent. So everyone can see everything. How can you, you know, hide the location of your base. Gubsheep (00:05:44): And one solution to that that allows you to hack in incomplete information into these transparent settings is to use ZK SNARKs in order to hide your movements or hide other aspects of your private state when you're going into the game. So combining these two things together is really interesting because now you have this game that's fully on chain, it's infinitely hackable, it's super programmable, and there's this, you know, very active dev community that's grown around the game. And at the same time, you do get to have a lot of these more advanced mechanics that oftentimes you would normally have to trade off against if you're building a game with this kind of an architecture, Anna Rose (00:06:21): This sounds so cool. I'm curious, what is your role at Dark Forest today? Because when we first spoke, I mean, it seemed like a really small team. You were very much like doing the user testing as you go, but it sounds like it's grown a lot, so yeah. What's your role? Gubsheep (00:06:34): Yeah, I would say at this point, Dark Forest has evolved into, you know, something of a proto ecosystem. There is a core team that builds out the game that is led by ichub, or I think he maybe change his Twitter handle to chubivan on Twitter. As well as a number of other court developers, there are also a number of different player, guilds or teams or individual developers that sort of contribute to various tools or community functions externally as well. So you have this really interesting community of all of these different orgs that are sort of like you can think about as maybe like concentric rings around the core team. I, myself stopped being like super operationally involved, like day to day writing code about six months ago and passed on the Baton to Ivan who now leads the core team, but I still help out by, you know, jumping into some discussions and sometimes like hanging out in discord and, you know, bouncing ideas around with the core team and a few other orgs. And generally just trying to be a, you know, community cheerleader at this point, I think that like dark forest has evolved far beyond any single person or any single vision. So to the extent that I can be a contributing force, I'm, I'm happy to do so. Anna Rose (00:07:52): Very cool. There's a leaderboard in Dark Forest, right. Who are those people? Are they people, are they teams, do you know them? Are they the contributors themselves or is there like a different set of participants? There's the players and the developers. Yeah. I'm curious to hear. Gubsheep (00:08:09): Yeah, for sure. Anna Rose (00:08:09): What's the connection there? Gubsheep (00:08:11): It is really interesting and it's something that we don't even have full visibility into either. I know that, you know, there's a saying like on the internet, no one knows that you're a dog, you know, you can, you can say a similar thing about, you know, in Dark Forest. No one knows if you're a bot or if you're a smart contract or any manner of interesting entities. And you know, that's sort of fun. Like that's kind of, you know, it's a callback almost to the dynamics of Dark Forest, both like the thought experiment. And the book, the game is inspired by, I would categorize the participants in any given Dark Forest round into a number of buckets. There are solo players. Okay. Which was sort of the, like, this was by far the dominant category for the first couple versions of the game. Gubsheep (00:08:54): Like, you know, you have a right. I was playing, right. Like you have an Ethereum account or you spit up a new burner wallet and you just play on your computer. But since then, a couple of other categories of like entities have emerged and I think are super interesting. The first is the DAOs the player collectives teams guilds that collectively work together to operate a single account or a smart contract account that basically tries to achieve, you know, a maximal score on the leaderboard through cooperative mechanics. So this can take several forms. I think like some early forms of this were you would have a single account, like a single private key. And obviously I don't recommend this for actually interacting real money on more substantial blockchain applications, but you would have people sharing these private keys amongst the trust and set of like two or three or four people. Gubsheep (00:09:47): One reason someone might do this is because Dark Forest is a pretty adversarial game where 24 7, your empire is up for attack. So you might pair with it's someone who's across the world. And co-pilot this account where you take shifts. You know, someone in east Asia is online at this time. Someone in north America is online on the account at this time. Someone in Europe is piloting the account at this time. So that's one kind of entity that's emerged. And it's been really interesting to watch I think a couple of the most well known names, of course, to folks in the, in the Dark Forest community, these will be very familiar, but like OrdenGG is a group of largely Eastern European players who have dominated a lot of these 0.6. DF DAO is a collection of players from across the world with a bunch of different backgrounds who have been running all sorts of crazy experiments. Gubsheep (00:10:34): And they're very competitive as well. And Marrow DAO, which is a collection of players. I think a lot of whom are based in east Asia. They run a lot of interesting community functions, build out a lot of infrastructure and also have a lot of very competitive players. So that's another category, a third category that I think is very interesting. And that I hope we'll see more of is the idea of a smart contract player. So this is an account that is not an EOA, but the Dark Forest core contracts will basically allow you to whitelist into the game, regardless of whether you're an EOA or a smart contract. So you could build these contract players that do a variety of different things. One early example was Onscar built a simple proxy contract early on to, you know, exploit a bug and also enable a couple of interesting functionalities back in V 0.5. Gubsheep (00:11:29): You can also have smart contracts that act as these like interesting cooperatives. So I think like the earliest visions or the purest vision of decentralized autonomous organizations where people are just coordinating an emergent behavior comes out of this smart contract, maybe the smart contract allows players to deposit resources into it, or make moves via the smart contract interface. All sorts of mechanisms here I think are ripe for exploration and DF DAO launched one called the Astrocolosus, which aggregated a bunch of player, resources and points. And you know, there is some super interesting questions about identity from that as well. Anna Rose (00:12:05): But what you just described is that almost like your crowd sourcing a lot of the decision making, would multiple parties be doing that, or is there still sort of one person at the other side of this smart contract? Gubsheep (00:12:16): I, I think that's the magical thing is that, you know, you don't have to choose one or the other smart contracts give you this expressive language for defining how you want people to interact. So you can imagine, and I'm speculating here because you know, this is a direction that I think we're just at the beginning of the exploration path, you could imagine smart contracts that are very democratic, almost like an Arctic where anyone can submit a move and that smart contract will simply execute the move on behalf of the player. You can imagine smart contracts that have a governing council where any action that's like greater than a certain level of importance must be you know, relief by what might be the equivalent today in a DAO of like a multisig holder. So there's all these sorts of governance experiments that you could imagine doing. It's not like naturally smart contracts must be one way or another. And I think chaosGod from DF DAO has a really great blog post out about how this kind of experimentation that you'll see with like governance and games could even hopefully provide a template for governance in the wider crypto world as well. Anna Rose (00:13:20): Cool. You sort of mentioned like a marketplace. What are people actually doing in the marketplace? What is that? Gubsheep (00:13:27): Maybe the first thing that I'll say is to give a little bit of context around why this kind of thing is really powerful, like the ability to build marketplaces or other constructs as a player, you know, I'll sort of make an analogy back to web2 games. So if you are in a traditional web2 game and you are the developer and your players are clamoring for a new feature, such as like a player to player trade feature, then there's really only one way for that feature to get introduced into the game. Anna Rose (00:13:55): You have to lobby the company. Right. Gubsheep (00:13:57): Right, right. So you, the developer have to write code on your backend to introduce a new type of data transformation. Then you have to write an API route that your canonical client then has a new button or UI or model or something that triggers that API route that triggers that data transformation. So it's very much the case that the only way a new feature can get into the game or a new, you know, coordination mechanism, social mechanic, whatever else is via the core developers. The really interesting thing about this you know, Ethereum based architecture with smart contracts is that now you can have new features, new global features to the game added permissions So if someone wants this peer-to-peer trade feature, then all they have to do is they can, permissionlessly spin up a smart contract that talks to the core smart contract, and maybe acts as like an escrow saying, you know, if you deposit one ETH into this smart contract, it will programmatically trigger my planet to release some X resource or ships or whatever from my planet to your planet. Gubsheep (00:15:05): So after you do this, you could imagine that the developer of this new functionality rights, a front end JavaScript plugin, and, you know, dark force has a plugin system where basically you can take additional JavaScript client functionality and just plug it into your own end user experience. So you could write a plugin that basically hooks into this escrow smart contract distribute the plugin via various community channels. And people can inspect to the plugin code, make sure that it's doing what they think it's doing and install it. And then suddenly everyone now has access to this new trade feature that you've just permissionlessly deployed to the blockchain. Anna Rose (00:15:43): There are open source games too, though, right? Like there are games that allow contributions from external parties. Where's the difference there? Gubsheep (00:15:50): Yeah. I, I would say that like the big distinguishing factor here is there's the notion of open source. And then there's the notion of interoperability and open source means, you know, in the context of some games, for example, you can create a modern version of a game that runs on your computer, so you can customize your own gameplay experience. But one of the cool things about interoperability is that it means that anyone can contribute to the global shared state, the canonical universe, that everyone is a part of. So you're not just modding your own gaming experience locally in a way that doesn't, you know, interact with the rest of this whole creative space. But rather you're adding new things that anyone can plug in and play into. And the versus sort of co-evolving alongside all of the players in this whole shared world. Anna Rose (00:16:38): Are you worried though about like, you know, malicious insertions in that regard? Like, could there be someone who's like, I'm gonna break dark forest and then they just like put in a bunch of stuff. How do you like guard against that? Gubsheep (00:16:51): There are limits. So you can't do anything that, you know, breaks the core rules of the core smart contract. Okay. On top of that core smart contract, you can do anything that you'd like to do. So this core smart contract almost defines like the laws of physics of this universe, subject to those laws of physics. For example, how fast can a ship move from planet a to planet B there's almost like a, you know, universal speed limit or like a speed of light. Yeah. That's just like encoded as a constant in the game. Subject to those rules, you can build any, for example, coordination mechanisms on top, or you could imagine building new resources or even nested games, but just like, you know, in reality, we can build buildings, but we can't mess with the laws of physics that define how buildings can be constructed. So there is a distinction there between the levels of abstraction. And that kind of means that game design is almost more like laying out a set of physics that we think might lead to some interesting expressive and emergent behavior, rather than specifically defining like either like total chaos, like anybody can do whatever they want or total order, or just top down saying exactly what you can and can't do. Anna Rose (00:18:01): I am curious about the spaceships. I saw that in one of the recent newsletters. So when I played what it was, was like, you'd be basically capture a planet and then the planet would sort of shoot out at another planet. Right. Mm. Like what's been added since then? Gubsheep (00:18:16): Yeah. Yeah. Spaceships are a really exciting primitive that we're you know, designed and deployed by Ivan and the rest of the core team. So the core idea behind space ships is that they're almost like these, you know, hero units in some sense that are not bound to the same kind of constraints that other resources in the game like energy or silver, which is like, these are like economic resources are bound to, so your spaceship is a little token that you can move the universe, even to planets that you don't own. You can park your spaceship on a planet you don't own and still have control over it. This is not true of other resources like artifacts in the game. And they're basically a way for you to project power or different functionalities across space in ways that don't sort to just reflect the state of your own local empire. Gubsheep (00:19:13): So spaceships might have different effects. For example, there's one spaceship that nullifies the effects of a planet. You can park a spaceship on a planet and will halt the energy regeneration of that planet. And that is a common harassment technique, essentially. You're, you know, fighting in a poem and they have some big energy factory. That's like shooting a ton of forces that you, you park your spaceship on that planet and sort of disable its effects. There's other spaceships that amplify the effects of a planet there's other spaceships that convert planets to have different functionalities. And all of these things are basically almost like, I think, you know, Ivan and the other core team members who design the mechanic and speak more to the motivation. But one thing that I find fun about spaceships is it's like moving little chess pieces across the universe to kind of do your bidding. Anna Rose (00:20:00): When you start to add those kinds of levers, basically you start to open up new strategies to winning and what it sounds a lot like, and I'm gonna nerd out a little here cause you mentioned CIV my favorite all time game. I think, I think I can say that and I've played it. Gubsheep (00:20:16): Yeah. Of course it was amazing Anna Rose (00:20:16): Forever. Like I've played almost every version at some point in my life. And the early versions were very much just about dominance, right? Like you had to like capture all the cities and there wasn't really any other winning conditions. And then later they introduced stuff like religious wins, diplomatic wins, space, race, like this kind of thing. I think you need that nuance to start to have those other winning conditions at this point though, how many planets are captured is the winning metric, right? Gubsheep (00:20:43): It's some combination every round, usually some new objectives get added to the game. So, In early versions it was pretty straightforwardly. Like how much silver have you mind, or like in combination with what are the biggest planets that you own, according to some scoring function? One of the cool things about Dark Forest though, is that even this is something that can be customized and tuned. So a couple of rounds ago, the team implemented a scoring contract, which is basically a contract external to the core contract, which tracks different scores and actions of players that were relevant for the specific round there. Ah, so you can imagine worlds where, you know, via scoring contract or a different index certifying function, the game is won in accordance with like the number of how many such and such planets you have. You can imagine another version where the game is won depending on who has harvested the best artifacts. Okay. Some combination of these things, something totally different. We did around where it was a race to the center of the universe. So there was a wow big level nine planet at 0,0. So this is very customizable and in the most recent round of Dark Forest, the scoring function was a combination of a bunch of different objectives. Anna Rose (00:21:55): Amazing. Now it's starting to look a lot more like some of these more mainstream turn base role, you know, strategy games that are very, very famous and have kind a legacy of their own multiple additions. Now you have multiple rounds, Gubsheep (00:22:09): Right, right. Yeah. It's almost like each round is like another chapter in a story of ongoing development, both like game development and community development. And I think one thing that's really exciting also about like the way that these mechanics have shaped out. And it's something that we've kind of hopefully been trying to be intentional designing to since the beginning is that like, ideally each subsequent mechanic should have a multiplicative effect on the game where, because you have these previous mechanics, you don't want to just add a mechanic that allows you to do one new thing. You want to add a mechanic that allows you to expand the space of strategies exponentially, because you can use it in all these interesting combinations with other mechanics. So for example, spaceships and artifacts have a certain relationship, spaceships and planets have a certain relationship artifacts and planets have a certain relationship. All of these things have different relationships with potential marketplace constructs or the mining and information hiding construct. And you get all these neat little combos and people pull off like heist where those use like five different artifacts in a spaceship to do something crazy. And it's a lot of fun to watch. Anna Rose (00:23:15): That's so cool. Would you say that in that community, there's also like any additional contribution to ZK? Like is it oh yeah. Is it purely on libraries? Is it, yeah, I'm just curious, like, what's that interaction today? Gubsheep (00:23:27): For sure. So there's a couple of different touch points. One of the first things is that like I think that Dark Forest is one of the first applications where really you're putting zero knowledge proofs in the hand of an end user who is interacting with a system via a browser client. So over the course of developing Dark Forest, we've found that we have certain developer needs in terms of, you know, writing and deploying these circuits. We've also found that like players who are making large volumes of zero knowledge proofs oftentimes might find the need for certain tools once they scale beyond like wanting to do a certain throughput of moves. So a number of our community members who have discovered either crypto or specifically ZK through Dark Forest have ended up contributing substantially to the ZK ecosystem. So one example is Blaine who was one of the top two players along with Jacob back in round V 0.4 more than a year ago. Gubsheep (00:24:31): Since then the two of them have built a lot of useful infrastructure for ZK apps and ZK developers. Blaine nowadays is one of the co maintainers of Circom actually. And he also helps out a lot with just that whole Circom JS stack as well as various plugins and tools that allow developers to have an easier time doing all of this. We've had players built out like remote snarking web servers. So that way you can like offload computation and there's a project in progress now to build other marketplace for, you know, encrypted data in Dark Forest, secret data. So you can transact map data privately and that use ZK SNARKs as well. And that's actually a part of our latest 0xPARC ZK learning group. So cool. A lot of things have either been inspired by or motivated by the game. And I think this is one of the really powerful things about out building out these kinds of experimental applications that can take a technology all the way into the hands of the end user. You figure out what you're missing. You figure out what's actually hard. And you start to get a sense of the roadmap necessary to take this technology to production. Anna Rose (00:25:42): Very cool. Like in that marketplace, maybe the one that's coming or the one that already exists are the, those objects being sold as NFTs, like with the planet being NFT or something else? Gubsheep (00:25:51): Yeah. So there's a couple of different constructions here. So one of the very first third party contracts that was built on Dark Forest was an information marketplace where you could put bounties on planets to have their locations revealed. Oh, so this is not like trading NFTs or anything like that. This is trading information similarly with the data marketplace. Well, the concept of a data marketplace is actually very, very flexible, but in this case you could imagine that you're simply buy and selling information. You're buying hash pre images. There's other constructions where you can associate this with an NFT. And actually we have a couple of objects in the 0xPARC community that are exploring that as well. But I mean, these are all primitives, they're very flexible, these totally new landscapes that are opened up by ZK and kind of like how smart contracts enable a lot of programability the ZK primitives should enable a lot of new permutations as well. Anna Rose (00:26:46): Nice. Is it still on Xdai AKA gnosis chain? Because I know that that's where it was when I was playing. Yeah. So has the evolution to gnosis chain changed anything? Gubsheep (00:26:57): Yeah, it's actually been really helpful to be able to, you know, build Dark Forest and continue development on gnosis chain. And there's been an interesting kind of back and forth between the game and the infrastructure slash the chain. I know that like early on when we were bombarding the public RPC end points with all of these requests for data from thousands of different players one thing that I know that that helps certain teams with was you know, it helped nevermind actually discover a couple of various performance optimizations or bottlenecks in their client implementation. And it also provided sort of a stress test for Xdai public node fleet as well. So,uyeah, being on gnosis chain has been really helpful. It's something of a, like, it's more real certainly then initially we had versions deployed on stuff like Ropsten, but at the same time, obviously mainnet today is in feasible. Anna Rose (00:27:53): It was even when you started, I think, right. Yeah. It was already crazy to do it there. Gubsheep (00:27:58): Right. Each move would've been like 25 cents each or something. Now it would be like 10 bucks. Yeah. Anna Rose (00:28:04): Wild. Gubsheep (00:28:05): So this is a theme that's true of all 0xPARC projects, including Dark Forest. And it, I think in a lot of ways, Dark Forest set a template for a lot of these other projects. We're not building for what's necessarily feasible or even like commercializable today in April, 2022, but we are trying to explore, or what will the decentralized apps of the future, or like the applied crypto applications of the future look like when the cost of consensus is cheaper or when ZK SNARK proving systems and libraries are much more well optimized than performant. And trying to understand, like, you know, one question we kind of ask for example, is what can you build an, a world where you have 1 trillion gas per second throughput? Right now, if you look at Ethereum mainnet, there's a 1 million gas per second throughput and this means that it really constrains the sorts of applications that you can build. I don't know that gas is necessarily the correct measure of the future in terms of measuring how much computer storage you can do in these decentralized systems. But to the extent that we can think about like, what happens when you have the world computer or the world data availability engine that is much more scalable than it is today. I think that these experiments are, are super valuable for trying to envision that future and make it concrete. Anna Rose (00:29:21): Nice. Now this is kind of the end of the Dark Forest part of this interview. I did wanna say one last thing, which is, I'm so happy that you introduced me to the book series, cuz I finally finished it just recently. Oh, I'm glad that you, I got a little stuck on the third one I read quickly and then started and then waited and didn't quite get back into it, but finally finished it and it's a great series. I totally recommend it. Yeah, it's amazing. And I know it inspired the game, but would you say that thematically, do you still see a link between the book series and the game? Gubsheep (00:29:53): I would say that like in practice, a lot of the mechanisms initially envisioned in both like Dark Forest, the E and the Dark Forest book, didn't end up playing out exactly as how things play out in the dark force game. There's a lot of reasons why, for one thing, it's a game it's not like the future of your stake. And I think that when you have those kinds of different preconditions, you end up seeing very different player behavior, there's all sort different externalities. And I would say that like the game itself has taken a lot of directions that, you know, we have this community now it's no longer just like there's a single vision of what to do or what to put developer resources towards. So it's, I think even if we wanted to say that there's this like single unified coherent thread, that Dark Forest is going down at this point I don't know that that's like whether it's possible or desirable. I think that we have this backbone that is very much inspired by this core mechanic, but from there, everything from the different resource types to spaceships, to even the round structure itself, to dark forest lobbies to all the governance and team experiments, you know, this kind of like explosion of creativity, I think has taken us probably out of the realm of necessarily like a, a single specific vision for the universe or the game. Anna Rose (00:31:17): Cool. Well, I wanna now switch kind of gears and start talking more about 0xPARC, which is the project that I know you're very focused on today. Maybe just to link to that. What is the relationship between Dark Forest and 0xPARC? Like is there still a connection between these two orgs? Gubsheep (00:31:34): Yeah, for sure. So when we were building out Dark Forest over the first two-ish years, I found that about 70% of the time, just in terms of like raw linear, you know, months for example, were focused on developing the game. And about 30%, we were like, you know myself and the various other team members involved were spinning out all sorts of other like ZK hacks, educational programs, just like spinoff initiatives, these sorts of things. So for example, ETH uni is one thing that came out of that also collaborations with reboot, which is a collective of young writers and technologists as well. We explored a couple of different ZK constructions at various times. You know, we had a couple of other ideas for ZK games. Anna Rose (00:32:18): Yeah. We did one. Right. Gubsheep (00:32:20): Right. Right. Anna Rose (00:32:20): Remember? Yeah. At the ZK summit six, you showcased boat fight in Gather, which was so cool. Like Gather the virtual space. Yeah. All the players could kind of crowd into the special room and then play the ZK game that you guys had developed. It was so cool. Gubsheep (00:32:35): It was super fun. And, you know, you were able to like integrate into like the virtual event on gather and we had this whole kind of like card game construction using SNARKs as well. Okay. So there was a lot of exploration during this time. And also during the time we met a lot of other, you know, friends. So for example Ludens on Twitter, who is now building Lattice, which is another like sort of, or component of the 0xPARC ecosystem reached out to us because he found out about Dark Forest. We ended up getting in touch and really hitting it off. He actually ended up like building out a couple of experimental features for Dark Forest. We chatted more about ZK games and crypto native games. And now Ludens is now working on a number of very interesting crypto gaming experiments around Lattice and Ember, which I won't say too much about, cause I don't wanna spoil things, but a lot of these experiments will be announced at our upcoming devconnect event in Amsterdam on the 19th. Gubsheep (00:33:31): So one way that I like to think about 0xPARC is it's almost like this Alliance of projects. You've got Dark Forest, you've got Lattice, you've got these educational programs, you've got all these now we're getting a lot more involved in a lot of like ZK R&D directions. And the cool thing about having all of these programs in one ecosystem is that there's very tight feedback loops between for example, end users, developers circuits, builders, dev X-builders, researchers. These sorts of feedback loops, I think, are really powerful in terms of accelerating the work that gets done. Anna Rose (00:34:07): Very cool. I'm actually so excited to have you on to explore this because I mean, our interaction recently has been primarily for the Gitcoin ZK tech side round. So I know more of the funding aspect 0xPARC, but I don't know that much about the projects and the use cases. So this is really cool to get a chance to dive into it. I do wanna sort of take one step back before we do that though, which is like, what is 0xPARC? Cause you just referred to 0xPARC community. Like what is the work? Gubsheep (00:34:38): Yeah, yeah. So the 0xPARC org is fully funded by donations and grants. And our mandate is basically to allocate these resources over a period of about two years to accelerate application level research and development on decentralized systems like Ethereum as well as, you know, pushing forward applied photography. So for a lot of our applied ZK efforts, so this funding goes into ensuring that projects like Dark Forest and Lattice which are, you know, the two like largest kind of like closest to production projects that are out there right now are able to iterate creatively and iterate in an environment with very few constraint on just like interesting research projects. We also run a bunch of these educational programs for university students, as well as technical specialists who are looking to get more into applied cryptography. So for example, like our applied ZK learning group we're very involved with this program called Hack Lodge. Gubsheep (00:35:41): We have ETH Uni as well as, as sort of an undergraduate education arm. We have a student research program and then we have a bunch of different applied ZK, R&D projects as well around, for example, building out core circuit primitives for the applications. So we support work into implementations of elliptic curve cryptography in Circom. We support proof of concept applications such as you know, private message boards with ZK SNARKs private, airdrops all sorts of like different experimental applications of ZK for end user facing apps. And then finally, we also do support work on DevX dev tooling and infrastructure for the ZK ecosystem. So this is things like various contributions to the Circom and snarkJS tool stack. Right now we're trying to build up internally like a stronger opinion about where the next generation of proving systems and tool stacks is going to move. Gubsheep (00:36:41): So we can start contributing there and, and allocating resources there. And then maybe a final thread of our ecosystem activities is we are getting more involved in the public goods conversation. Well, you know, pretty much all of the things that we do internally are, I would hope to say public goods in the sense that like these are all reusable things that hopefully can be permitted by other people in the future to build other awesome stuff. But in terms of things like Gitcoin and other, you know, ecosystem funding that goes beyond our specific areas of focus recently, we've been helping to allocate the proceeds Sequoia's NFT sale last year towards things like ZK tech and other ecosystem initiatives. Anna Rose (00:37:25): That's so cool. Is there other kinds of support that you would see 0xPARC giving other than just funds grants and stuff like that? Gubsheep (00:37:33): Yep, definitely. So I think one of the most like legible support vectors that we have is grant giving. So we accomplish most of our work through grants and contracts where there's a team that is trying to build something. Maybe it's a team that's coming out of the 0xPARC learning group or the 0xPARC working group or by some other mechanism. And you know, we award grants to help them get there. But I would say that actually a lot of the support that we're able to provide is in less tangible directions. So by having a community of projects that are working at different levels of the stack, for example, one team is working on circuits primitives for various cryptographic primitives. Another team is working on developer tools. Another team is working on proof of concept applications, even when you just look at like those three layers of the stack, if you're getting them together and having them in conversation on a weekly or biweekly kind of basis, then you end up with these fast feedback loops, where if you, someone at the application level is running into a problem, they can talk to someone at the circuit development level. Gubsheep (00:38:34): Someone at the circuit development level is running into a problem. They can talk to the library, maintainer. They can talk to someone who is an expert in tooling who might be able to give them what they need. And what we found is that because ZK is such an immature space and everything at every level of the stack is moving so fast, creating that space for people to come together and just have easy access to all of the learning is in all of the knowledge that's coming out of the rest of the ecosystem is extremely valuable for folks in our community. So to that end, you know, that's why we do all these educational programs or various events, retreats, stuff like that. And I would say like the final, like vector of support here is also in providing some sort of a unifying framework for projects to think in terms of not, not necessarily one that's like top down directed, but something that like when you put a bunch of people who have a bunch of different perspectives on what ZK is and where it might be going, then you sort of naturally have this almost like collective vision emerge where you're like, oh, here's the place that like this ZK identity primitive might fit into a larger context. Gubsheep (00:39:45): Oh, here's the place that this tool might fit into a larger context. Oh, here's where these, you know, like the timelines on these proving systems, we might be able to make some prediction on because this person has been thinking about like that system very deeply. This person has been thinking about the needs of the application level developers. And what happens is everybody's able to, I think like get a much better sense of like, what are the most important problems to actually be answered? It's very immature and very fast moving tech space. It's a place where it's like really easy to lose your footing. It there's, there's just so much going on making sense of all of it and understanding what are the bottlenecks and what are the real like points of leverage is something that I think happens when you bring a lot of people together. So people just have, I mean, I would say like higher quality project ideas as a result and better ways of getting involved in the ecosystem. So cool. Building those entry points, creating those ideas. Anna Rose (00:40:34): Yeah. And sort of linking it back to this funding thing though. I mean, when you do grant giving, I mean, there's lots of entities doing grant programs. A lot of ZK projects will have foundations that are giving out grants. But I mean, our recent experiment with Gitcoin was basically crowdsourcing the decision making on which grants get how much. So like anyone can write a grant, put it in Gitcoin. I mean, they do have to go through a few steps. Like not anyone like you have to sort of semi KYC or something to be in there. But after that, you know, they could put themselves into a round. People can actually see their grants, decide to vote with their cryptos, basically donating DAI or ETH or USDC and then having that be matched by what we had collected, which was a matching pool for ZK tech. I mean, we just completed this one, I think at the end we have around 20 projects that were funded. We had 275 K we already did an episode on this, so I won't spend too much time on it. But now that it's over, like, what are your thoughts on that? Like, do you see this as a very scalable way to get funding into the hands of these projects or, yeah, I'm curious what you're thinking? Gubsheep (00:41:43): Yeah. I mean, first of all, I would say that like, you know, this past round I think was a huge win. We got a lot of funding in the hands of a lot of really valuable projects. And even beyond that, there's kind of the second order effects of even just bringing together a group of these matching partners for the first time to publicly make this commitment to funding public goods projects. Totally. And also holding up beacon for various ZK projects that, you know, otherwise might not have known about these kinds of avenues for funding. Like it's not entirely clear. I think a lot of times if you're looking to get into ZK, how do you fund your work? What is a path forwards if you see that there's this need for like a very important, like open source library or something like that, how do you get started on that and how do you get like compensated for that or to basically have to do things in the context of like a company or a university or a startup or something like that. Gubsheep (00:42:41): So any experiment that allows us to iterate on how work in the space gets done and how work in the space gets made legible, I think is a step in the right direct. And by and large, like that's also a high level mandate of 0xPARC as well. It's an experimentation with organizational structures. It's an attempt to make space for different ways of producing knowledge and useful tools. So the Gitcoin round was a huge win. And I'm looking forward to more collaboration with the matching partners and between the grantees. And I think that, like, there's definitely a lot of iteration that can be done here. I think of iteration in a couple of different dimensions. So one dimension is just like, can we get more valuable projects? And can we get more funding into the space in these values aligned and very kind of neutral and ecosystem aligned ways? Gubsheep (00:43:34): I think that that has to be done at pace. However it's not clear. I think that money is always the bottleneck in technology. Like you need a language for how to even discuss the technology. You need vision for the technology you need strong technologists you can't just like throw money into the air and see progress, come out. The other end. It has to be a very, a deliberate process. And I was really grateful to be able to work with the ZK validator folks on pulling together matching partners and high quality grantees that were doing at least what we assess to be impactful work. That being said, I think that there's also plenty of directions for iteration as well in these more quality senses. So one thing I think about is, you know, ZK tech is still something that's pretty early on, could credibly be considered deep tech. Gubsheep (00:44:25): And it's not always the case. I think that it's not always easy to help people make informed decisions about what projects are actually like doing what. So I'll give an example of like one of my favorite projects that I would love to have actually seen a lot more support for, but I think like had some, you know, difficulty being legible to a more general audience. So a very important direction that we care about is verification, auditing security tools for ZK circuits. So these are tools that make sure that your circuits are bug free. You're not missing any ZK SNARK constraints. This is especially important in ZK because if a bug is exploited in a circuit, it's not even clear that you can tell, you can detect that. And that is precisely because it's in ZK. So this kind of tooling is of the utmost importance and we have a project ongoing right now called ECNi. Gubsheep (00:45:19): That's actually come out of the 0xPARC student research program and is affiliated with our identity working group. And Ecne has shown some really tremendous results. Basically they have verified the witness uniqueness for huge parts of Circom-lib, as well as some of the circuits that we are developing with 0xPARC community teams. Now, this is something, however, that is really hard to really sum up and explain the importance of, I think, in a half pager blog post, right? Like I think, you know, Franklin wrote a description that was something like Ecne is the first R1CS constraint, soundness verifier. It's like, Anna Rose (00:45:58): Which is true well, but hard to market's. Gubsheep (00:46:01): Exactly. And it's like, how do you make that easier to market? Like, I don't know if it's exactly the right solution to be making this a game of kind of like mass market appeal either because I know you do want to be honestly representing, like what's going on in a way that other specialists can understand and totally determine the value of that's definitely one of the limitations and it could be interesting to explore. Like, I think you need a portfolio of funding mechanisms. You need the democratic public goods funding mechanisms. You probably also need more curated grants programs. You also need, you know, grant givers who come from all sorts of different perspectives and, and areas of expertise as well. Anna Rose (00:46:35): Totally. And what we've been talking about is also this idea of like, what do you do after that initial push? Like when the library's been created and you need to maintain it, it's even less kind of attractive to fund in a way, because for like the average person, because it's just something that's there, it's not new. Like it's not shiny Gubsheep (00:46:53): Exactly. Maintenance is not sexy, but it's very important Anna Rose (00:46:56): But you need people, you need people to be doing it. And that's the challenge. How do you keep those maintainers going and paid and excited and all of that? One thought that I know in our takeaway, we did a little debrief this week on just the Gitcoin round, but it was this idea that this is a phenomenal place for new projects and individual contributors who are like, just arriving into ZK, just starting out because the sums cannot. I mean, some of them can be quite substantial, but if you're new, you maybe don't raise that much, but you can start to almost like build up your project through creating a grant. Like, you know, you do one round with us and then you get a little bit of seed funding, something to start you out. And as you develop that grant, you can actually be in subsequent rounds, potentially see it grow. So it's like, it's great seed. That's sort of the idea. It's a great sort of seed funding. Gubsheep (00:47:46): Yeah. And I think another great second order effect here is that your project gets in front of so many more eyes. So even by putting a grant up, that's another awareness factor for people to know like, oh, this is the sort of work that's going on. This is a team that's actively involved in the space. We found all sorts of projects that same applied to join the grant round. That just weren't on my map at all. So... Anna Rose (00:48:09): Yeah. Yeah. I totally agree. I mean, this is a really good way to also get in front of Gubsheep, and me for sure. Cuz we're staring at it all the time. Yeah. Gubsheep (00:48:18): It's just like every day, I'm just refreshing over and over checking Anna Rose (00:48:21): To see who's submitted. Right. But yeah. Thank that was really fun doing that with you. And I think it's good that we talk about it now on the podcast also to give people a sense for like, this is ongoing right. There will be another round. Yeah. I think one of our challenges was actually like, there are lots of small ZK teams that maybe weren't aware of the opportunity and you know, I was at the same time running ZK Hack. So I like sort of trying to double my marketing efforts. But yeah, for the next round, I don't think we have a date yet, but it, they happen almost every quarter. And so if there's someone out there who has a small ZK project or idea, or they wanna start of get that seed funding, please look out for the ZK tech side round. It comes every quarter it's on Gitcoin. We'll be announcing it probably on the 0xPARC, Twitter and on the ZK validated Twitter and on my Twitter. So definitely like keep tabs on that and we would love to see more projects. So that's my, that's my call to action for the mid episode. Speaker 3 (00:49:16): Oh yeah. Anna Rose (00:49:17): But I have more to ask you before we wrap up this show because I've sort of been holding off on this, but this is to me, some of the most exciting stuff coming out of 0xPARC and that's these use cases, the six ZK moonshots blog posts that you wrote, you already mentioned ZK identity, but like maybe we can dig a little bit into what that means Gubsheep (00:49:36): For sure. Yeah. I think that identity is definitely starting to become a hot topic. It's something that I know a lot of the, you know, earliest people in the applied ZK space have been thinking about for a long time and it's something that's really exciting to see like more and more buy-in for, as the tools have become a little bit more mature and we can start seeing what these applications might look like in concrete practice. So at a high level, one thing that we've been thinking a lot about is what does a world where you have these more neutral or permissionless identity protocols actually enable? Mm. And so I think that ZK identity is becoming increasingly a hot topic within ZK. At least it's starting to see more and more traction. It's something that a lot of the earliest people in applied ZK have been thinking about for a while. Gubsheep (00:50:29): I know that like Iden3, for example, has had this vision of permissionless identity for a long time now. Totally. But as the tooling has become more mature and concrete practical applications and what they might look like the pathway there is starting to look a lot clearer. We're starting to see more and more in the space pickup. I think that, you know, in terms of decentralized identity protocols where you have these like permissionless and neutral self sovereign identity protocols, the reason that ZK SNAs are such a big unlock here is because they allow for a much more general and expressive kind of identity language than was possible in the past. So one framing that I have for the history of like a lot of useful cryptographic primitives is that like over time we've been gradually expanding the set of possible claims that you can make using cryptography. Gubsheep (00:51:21): So initially when you have public key cryptography and public key signature schemes, you can make these claims that are basically like, you know, I know the secret private key corresponding to Alice's publicly declared public key. And therefore you can probably assume in your interactions with me that I am Alice, and this is a huge step up from just not even being able to prove anything at all. But obviously it's a pretty specific kind of claim. And over time we've seen, you know, new primitives and new kinds of claims that you've been able to make with cryptography. For example, group and ring signatures allow you to say, I know the private key corresponding to one of Alice, Bob, or Charlie's public keys, and I'm going to attest to this message. So you don't know specifically who I am, but you know that I'm a member of this group. Gubsheep (00:52:10): And you can imagine someone signing like on behalf of an organization or a whistleblower proving that they're, you know, someone in a company or, or agency you can imagine someone proving that they're a politician and signaling consensus on some measure. So you have group and ring signatures and all of these protocols have sort of different properties and you have aggregate signatures, threshold signatures, all sorts of things, again that are just allowing you to widen the space of claims that you can make one of the problems here though, with, I think putting these things into practice is that each of these kinds of claims requires you to like, do new math. So suppose you want a new kind of claim, a new kind of identity claim that you want people to be able to make. Well, what you kind of have to do is you have to go to a cryptographer, they have to like invent a new math. Gubsheep (00:52:54): And then like this math in particular might not be interoperable with the previous math that has been driving like previous public private key registries. Mm. And, you know, because of this, it's, it's just difficult to get a lot of these claim languages off the ground in practice. But now that you have ZK SNARKs and we have a couple blog posts on this as well. So if you're interested you should check out the ZK group, signatures, blog posts and our ZK identity series. With ZK SNARKs, ZK SNARKs turn a lot of these math problems into coding tasks. So you can basically write code that says stuff like I know a private key, such that when you run it through the function pub Keygen, I get this public key value X and X is equal to one of A, B or C, but all of this is happening inside of a zero knowledge proof. Gubsheep (00:53:42): So I won't tell you which one it's equal to. Oh, and then, you know, you have all these properties, like, for example, if you want to enable people to disavow messages after the fact, then you can like write another line of code that like ads or removes, like a salt to the message attestation. And as a result, you now have this language for expressing identity claims, which is interoperable with all the other languages, because you're building from the same ZK SNARKs primitives. And furthermore, it's not like you have to be a mathematician in order to generate a new like type of claim. I mean, you do have to know enough math to like code ZK SNARKs, but it does reduce down to something more of a programming problem. It's much more configurable. And I think that's one of the big things that's enabling all of this new thinking around decentralized identity. Like I know, you know, decades ago the cypherpunks had kind of this vision for the world where you'd have these like self-sovereign identities, people proving all these things to each other on like neutral protocols. It's only decades later when we're starting to get these much more powerful cryptographic tools that a lot more of that is, you know, becoming in reach, Anna Rose (00:54:44): It's getting closer to the actual user. Yeah, Gubsheep (00:54:47): Absolutely. Yeah. Mm. Anna Rose (00:54:49): Still not quite there. Right. We can, we have to admit Gubsheep (00:54:52): There it'll be a while still, but we can start seeing like the shape that this might take down the line. Anna Rose (00:54:59): Yeah. I've been thinking a lot about the ZK identity or identity generally. Like, so I just recently heard about some AI program, which can take audio voices and basically just start, I mean, it's deep fakes basically, but they it's already there, it's like a commercial product where you can just take audio and just get them to say stuff. And that's kind of terrifying as someone who Gubsheep (00:55:21): Absolutely Anna Rose (00:55:22): On air a lot. Right. Yeah. And then I was thinking like, oh man. So I, I, you know, potentially my, you know, some sort of signing with a, Ethereum address or some sort of address will potentially actually be the only way that people can know that it's me, but then there's a lot of data spilled and like, which address would I use and would I feel comfortable sharing that that's my address if it has, you know, funds on it or something like that. And that's where this ZK identity, all of a sudden starts to become very, very real for me, at least. And I think the problem of identity has been voiced for many years, but I think now it's getting to a point where it's going to be a need, not like a problem of the future, but a problem of now. And I hope that does push it to become much, much more usable. And I think there's ZK identity, but are there other like applied cryptography solutions to that? Is there like FHE identity or I don't know if it would really make sense, but Gubsheep (00:56:19): Yeah. Yeah. I mean, one thing that's really exciting that recently came out is Dan Bonnet, some of his collaborators I know recently released a paper about basically like MPC friendly SNARKs so you can collectively generate a snark proof with a number of other people, all of whom have their own secret data, who they're also not revealing to anyone else in the collaborator set. And there's certain kinds of claims that you actually just can't make. If you are only allowing a single person to generate a ZK proof on just their specific private data. So that kind of thing just continues to expand like the level of generality with which we can use these tools. I think that ZK SNARKs are actually the first in what will be a much longer line of what I think of as like next generation of like really powerful and more general cryptographic tools, FHE, MPC, maybe someday, even like, you know, people talk about like IO indistinguishability obfuscation. Gubsheep (00:57:21): And I think that these tools are gonna be really important for combating, like we've already seen in the last decade, a lot of the pitfalls of the gradual like centralization of online identity and personal data. It's been like one of the biggest topics regarding like the evolution of the internet in the 2010s. And I think that, like you mentioned, this is only going to become more and more of a problem, like perhaps as we move to biometric identity systems in the longer term, do you really want your biometric data to be stored in places where you don't have control over that? Like that's something that's so close to you. Yeah. There's so many different kind of like attack vectors. I think that like a lot of technologies have the tendency to make the powerful, more powerful, especially like communications and information technology. Gubsheep (00:58:09): When you think about things like you know, surveillance technology or data analysis tools getting more and more powerful, like maybe one of the issues with biometric markers is as cameras get better and we're able to like store and process larger volumes of data and could imagine that it gets scary and scarier, if someone's able to like reconstruct some part of your face or something like that. And, and use that in a deep fake, or use that to try to like authenticate on your behalf. So I see the other side of this as these cryptographic tools, which inherently give the defender an advantage over the aggressor or, or the person like a on offense here. Yeah. So these kinds of tools for preserving individual Liberty ensuring that like individual people and entities can maintain their own boundaries are only gonna become more and more important as tools on the other side, continue to get more advanced as well. Anna Rose (00:59:00): Let's dig into some of the other moonshot ideas that you had covered. And I just have the list in front of me now, but we'll one was fog of war, which I think we've covered quite well, which is this idea of on chain gaming, I guess you could do other games which use fog of war, maybe very easy to use fog of war libraries. Maybe that already exists from Dark Forest. Does it? Gubsheep (00:59:20): Not quite yet. The Dark Forest like hashing construction is like pretty specific. It would be very cool to see it used in elsewhere though. Anna Rose (00:59:27): Cool. The second one was private data marketplaces. Is that what you were talking about before within the Dark Forest context? Or is this something, I guess that was an experiment of that, but it could be anything. Yeah. Gubsheep (00:59:39): So the idea behind the private data marketplace is that blockchains are really useful for enabling trustless escrow of, you know, assets that can only be owned by one person. So for example, if I have an NFT, then it's really easy for us to spin up an escrow contract that says all right, like, you know, as soon as you've deposited one ETH into the escrow smart contract and I've deposited the NFT, then both of those items can be swapped and the NFT sent it to you. And the one ETH sent it to me the problem with data, however, is that data is something which once it's made public, everyone can see it. Yeah. So if we're trying to exchange like some sort of content or some secret or something like that where I'm selling you data in exchange for some compensation this construction doesn't really work. Gubsheep (01:00:32): Like, no, let's say that we have this smart contract, you deposit one ETH I publish the data to the contract. As soon as the, the contract checks that it's the correct data. Then it releases the ETH to me. Well, there's this kind of problem of like, if everyone can see the data, why are you paying for it? Right. so the idea behind the private data marketplace construction is that what I should be able to do instead of just sending the data up in plain text to the smart contract, is I should be able to encrypt it with your public key and then provide a ZK SNARK proof that the plain text message corresponding to the cipher text has search and properties. For example, like the plain text message is indeed the coordinates of a Dark Forest, you know, planet hash, or this plain text data is a high res image that when down sampled down samples to like public thumbnail that you're buying. Gubsheep (01:01:24): So one of these projects zero XE basically is building out like NFTs that you can't right, click, save, which I think is a really fun tagline. Ooh. So I think that there's like, you know, this is an important primitive. You could imagine it being used for a bunch of different things. Another thing in the very, very long run is one of our students at one of our Ethereum programs built out a decentralized tag proof of concept that I just thought was really awesome. So you can prove that you have an ML model that achieves a search and performance on a data set, and then you can send the encrypted parameters of that model to the smart, as well as a SNARK proof that you've run this on the data set. And in this way you can like sell basically a model with X performance to someone. Gubsheep (01:02:12): Cool. Yeah. I think that's a really cool application as well. I think we'll only see more applications as the amount of data that's like stored on chain increases because you have more data now that you can make claims about. You can have like more secret data that can be checked by contracts on chain, but yeah, a number of interesting experiments there, I think once the first proofs of concept applications of this get released, hopefully we can start to generate even more ideas. And there's some really smart people who are thinking about this. Anna Rose (01:02:41): Cool. Should we go through some of the other ones that you had here? I know you just mentioned the machine learning one. Gubsheep (01:02:46): Yeah. Yeah. So, I mean, that's a nice segue into some of the like machine learning experiments. So you know, it's, it's hard to define like a single application here, but this feels like the sort of primitive, if that's very valuable, because for example, like if you're able to implement a machine learning model inside of a SNARK, then maybe that like changes the, or widens the scope of claims that you can make about information that is being sold in these encrypted data marketplaces to this effect. Some folks in our community have implemented you know, a demonstration of like linear regression inside of a SNARK. There's a group right now from the last ZK learning group that is working on implementing an MNIST classifier inside of a SNARK. Anna Rose (01:03:33): What would that do? What is that? I'd actually don't know. Gubsheep (01:03:35): Yeah. So, so MNIST is basically this dataset of hand drawn digits. And the problem here is to, for any given image classify correctly with high probability, whether or not it's a hand drawn zero or 1, 2, 3, 4, 5, 6, 7, 8 or 9. Anna Rose (01:03:50): Is that the like captcha you sometimes have to fill out when you have to put in the numbers? Gubsheep (01:03:54): Kind of, yeah. It's somewhat like similar. Okay. In the sense that like, you know, you're trying to recognize like a handwritten symbol but here the question is like you want to build a machine learning model to be able to do that. So this is one of the relatively like simpler benchmark tasks that people often look at and trying to build out a ZK SNARK to do that would be an interesting primitive. Anna Rose (01:04:19): What would that be used for though? Like what use is the ZK in that one? Gubsheep (01:04:23): Right. Right. So there's a couple of dimensions here. It depends on what you're keeping private and what you're keeping public. So first off, if everything is public, then this is still potentially useful as like a decentralized computation Oracle. You can imagine that like inside of a smart contract. So let's say like inside of a smart contract I want to execute some ML model on some data that might be very expensive to do inside of solidity. But if you can do it outside, like off chain and then roll up that computation with a ZK SNARK, and then post that ZK SNARK proof on chain, then suddenly you sort of have the ability to execute ML models that you've pre-committed to inside of a smart contract. So this is a sort of like roll up like application. Ah, now if you keep the model private, but the data public, then what you can do is things kind of like this decentralized caggle thing where you're proving that you're executing this private model on a publicly known data set, and this is the result. Gubsheep (01:05:23): Maybe you don't want to release the model. So that way people can't like game it or something, but you do want to pre-commit to it. So that way, like people are like, yeah, like this same algorithm is being executed fairly on all of these different inputs. Then, then that could be another application. And then finally you can sort of think about the reverse, which is public model, but private data. So you are maybe in this case, and this has ties to identity as well. You're proving for example, that you have some like biometric data that like does indeed authenticate to you, but that private data is never actually go going over the wire. You're just proving that you have it. And this is kind of like almost like a, you know, imagine a password system where you don't need to ever send your password in plain text over the wire and have that be manipulated in server memory for sensitive kinds of data where verification of the data does involve like passing through an ML model. All this could be something that's valuable very far down the line. So these experiments are super early, but Anna Rose (01:06:22): I guess there's a reason you called it a moonshot. Yeah. Gubsheep (01:06:25): Right. Anna Rose (01:06:26): You were like, it's probably pretty things we're building now, although yeah. So you just said there's a working group actually building on this right now or what? Gubsheep (01:06:33): Yeah. So like we have this basically ZK identity working group with about like a half a dozen teams working on various different applications, primitive tools, etcetera just various groups from the community that are testing these kinds of things out. And the working group is just a loose structure for these teams to come together and share their progress, share their learnings and knowledge. And yeah, I think a, a number of these groups are going to have writeups in the next couple of weeks, which will also, you know, post and share on Twitter and on the 0xPARC blog. So be on the lookout for some exciting new proofs of concept. Anna Rose (01:07:12): Yeah. I'll just mention a couple of the other moonshots from that article, which was procedurally generated virtual worlds. Although I think we covered that in our first interview actually, where we talk a lot about Gubsheep (01:07:22): Pearl noise. Anna Rose (01:07:23): Yeah, exactly. All of that. So I I'll link to that in the show notes. If people wanna hear more about that one, another one that you had mentioned was this private asset and inventory commitments, but I feel like that's somehow related a little bit to the data marketplaces. The one I wanna focus on is actually the ZK message board. So what is the ZK message board? Gubsheep (01:07:43): Yeah. So this is one of the first applications of a lot of the ZK identity primitives that I think is maybe most obvious, but with this idea of a ZK group signature, where you're proving that you are a member of a set. So for example, I am the holder of a Dark Forest planet, or I am someone in this organization. So these ZK group signatures allow you to make claims like this without revealing your exact identity. And one of the first applications you could imagine for that is these message boards where you can post as a member of a group without revealing your exact like Ethereum address or username or whatever else. Maybe you were just, you're gonna make a proof saying I'm posting as someone with at least 1000 karma. So, you know, that I'm like someone who's invested in this community and a, a trustworthy member, or you might post saying like, I am someone who is even permission to post in the first place to this whitelisted message board, but I'm gonna be posting anonymously. Gubsheep (01:08:39): So there's a bunch of different potential constructions here that you can imagine. And another dimension that these kinds of applications can vary along is which identity registry they are using in order to bootstrap these groups. So we have a demo up at zkmessage.xyz that shows a message board where you generate a message board specific public and private key. And you can then generate these like signed messages signing as a member of say like a 20 person group where you select all 20 people. But one of the exciting things about the Circom ECDSA project enables ZK proofs about Ethereum addresses. So now you can claim, like I possess the private key of an Ethereum address that holds a crypto punk or a dark forest planet, and I'm going to like, sign my message basically with that information. And because of that, that allows me to post this particular message board or, or whatever else. Gubsheep (01:09:39): And you can imagine like a world where you have like Reddit, like boards or something where people are posting, like, yeah, I'm posting as part of the moderator humor, like discord server, where it's like I'm posting as someone with a particular role. This is just like another interesting social mechanic. There's obviously a lot of different ways that it can be used. It's hard to say exactly like what the exact like emergent behavior will look like. But once you have this, I think you're kind of on the pathway to other applications around things like whistle blowing or other credibility, preserving mechanisms where anonymity and privacy is important. Anna Rose (01:10:16): It's like you're taking an idea that I know we had heard about a couple years ago, Semaphore. I remember Barry talking about this sort of like fully private board where anyone could post anonymously. I remember finding that like actually terrifying because there used to be this app called secret. That was like the same thing, but in mobile, and it wasn't really private, but it was private that people felt comfortable sharing stuff. And all it became was a like horrible gossip turbine of like falsehoods about people that knew each other. And it just sounded like kind of cess pool. And that really kind of scared me when I heard about like, just pure Semaphore which is just like, you can always be private. You can say whatever you want, sort of uncensorable, but also like unmoderated, I love the idea of the roles and the idea of reputation somehow being built into it, but still being kept private. I think that is in a way, the solve to that concern that I had had, which is, it's not just like an anon coming for like one second and just making up stuff. So that is kind of cool. I like that. Gubsheep (01:11:16): Ideally like, you know, we also want to be really careful around that kind of stuff as well, because one of the scary things about anonymity is that there's questions about accountability that, that raises I think we will have to evolve new standards and design patterns. For example, like there's a bunch of different axes that you can tune here in like, dials that you can play it with. One is that you can have like moderated and still sensible message boards where yeah. Maybe like there is a centralized service provider that is like hosting the data and stuff. And they're just like, not going to allow any, just like content of certain types. Or you can imagine that like the primary mechanisms here are like, you do have to prove that you have posted before you have a lot of reputation, you're a valued member of the community. Gubsheep (01:12:02): And, you know, that ensures that like you have a disincentive to post stuff that isn't going to be helping the community, you know, that isn't in for the betterment of the community. And only once you reach a search and threshold of reputation which again, you can prove in ZK, do you have access to this kind of functionality? I think it is the case that like, you know, new technologies do unlock like cool new things, but also scary new things. Yeah. Technology itself is not like inherently like, oh, just because we build this, like it's better for the world or something. So, so that's why it's extra important here. I think with communications technology to be very deliberate and thoughtful about the ways in which we're putting these out into the world and kind of the design patterns that we're espousing. Anna Rose (01:12:44): A lot of these ideas and concepts and experiments, you know, do have these two sides going back to something like identity, which is obviously, you know, something that I've definitely, I've been thinking about more. How do you actually see something like this truly developing so far, obviously it's been proposed and there's been groups that have sort of championed it. Is there like a way that you'd like to see this evolve? Are there some things you're worried about how this could also evolve? Gubsheep (01:13:09): Yeah, definitely. I think that, like the next couple years are gonna be really crucial for the evolution of identity systems, as well as other ZK enabled tools. One thing that I've been thinking a lot about lately is what are the structures, the structures, the organizations, and the communities, which these standards and patterns should evolve from. I think that with something that is as impactful and has such a breadth as digital identity does, it's really important for the stuff to get built in, in values, aligned ways that take into account a bunch of different perspectives and are truly developed bottom up. So, you know, I think that ZK identity is something that ought to be bigger than any one particular company or organization or see or anything like that. It has to be a joint community effort. There has to be a lot of collaboration and back and forth. Gubsheep (01:14:03): If we do want to make truly neutral self sovereign identity protocols. So to that end, the ways in which we are wanting to support this kind of effort is through you know, open source R&D through more collaborative modes rather than for example, like, you know, I, I think it would be a huge shame if like the identity protocols of the future were built and governed by like startups. Like, I, I don't think that that's the right model in the same way that, like, there were a bunch of attempts at building the internet, like protocols and proprietary ways. Those eventually lost out to these like much more permissionless and neutral and unpeated protocols. Like TCP/IP. I think that that was really good for the internet. Anna Rose (01:14:49): I have a bit of a counter example there, which is like, do you remember, I mean, Facebook became the automatic login. Now it's Google, maybe for other places, and that is sort of your ID and it's kind of, it's exactly what you're describing. Right? Like it, that is kind of the nightmare scenario it's already kind of happened yeah. Where you're using those centralized services that totally sell your data to, as your identification, which is yeah. Super scary. Gubsheep (01:15:17): Yeah. Yeah. So we definitely wanna avoid things like that. I think cryptography gets us a long way there, like there's certain things that even like a startup that's attempting to do identity stuff like just can't do by virtue of, you know, your private keys are private, like their mathematically unbreakable nonetheless, it seems very important that if you want this stuff to be built in a thoughtful and deliberate way, it has to emerge organically from a community of, of values aligned technologists. Again, rather than like a company with a token, or like, like what would the implications be of some actor holding like a 20% financial interest in the identity protocol or the attestation protocol of the future? Like, I, I think that makes no sense. I think that that's, that's crazy, probably leads to a bunch of like weird externalities where someone is trying to push for something in this way, because, you know, they're misaligned with the good of the community. Gubsheep (01:16:10): And I think, like you said, like a lot, these tools are quite scary and one of the ways that we can defend against tail risk and the worst possible outcomes is getting a lot of voices in the room to help patch things up as they come up, you know, someone from this kind of a background or this corner of the ecosystem says, oh, you know, but have you considered this? Or maybe they, they realize that like, there's this important tool that needs to be built that allows for some sort of like audit of such and such thing or you know, whatever else. So the plug, I guess I would make for how I hope ZK identity to develop is in this more collaborative way. And, you know, I, I think that, like I would basically extend the invitation to anyone who is interested in developing in this way to join us. Gubsheep (01:16:56): We have a lot of different programs here, a lot of different like teams in the community that are working along these like lines of inquiry and 0xPARC itself hopes to be a vehicle to facilitate like, again, new ways for projects to be built. Like you don't just have to build these things as like Delaware C Corp, VC back startups or whatever. The structures we use to build things should align with our goals. And to the extent that we can keep options open by like giving grants, bringing values, align people together. I think that's the contribution that we can make to the space here. So... Anna Rose (01:17:27): It's super interesting how the funding plays into that too, because the minute you say that it's like, it can't be VC backed. You can't just stick a token on it. You have pressures to do those things. This also goes back to like when people have early ideas in ZK right now, ZK is very fundable. There's a lot of VCs that are gonna be interested and get you excited and be like, oh, we're gonna give you money. But there's, Gubsheep (01:17:47): It changes how you think in certain ways Anna Rose (01:17:48): It's change is how you're gonna act inevitably like you, you're gonna, and you, the pressures that you're gonna have to manage and the expectations from peers or guides, like a lot of those investors and VCs can be incredible guides and helpful in the right context. But in the wrong context, they could also be adding pressure, pushing you to market too fast, getting you to put it token together because they need returns too. Like, we always have to remember what are the motivations there? Like that's what their business is. So... Gubsheep (01:18:18): For what it's worth, I don't think that like, it's, this is like a bad thing. Like I'm not like anti, like companies or anti, like people making profited being rewarded for good work. I think that, like, in fact it is a net very positive thing for certain parts of the ecosystem. Totally. So for example, like there's a lot of infrastructure and like service businesses that I think should be VC funded, that's gonna accelerate that kind of stuff so much. And like that is going to benefit like that that's a rising tide. That's gonna lift the entire ecosystem. I think you just have to be careful about like a along which dimensions, like for what you're trying to do, what is the right funding mechanism or was the right like ecosystem for this to come out of? I think, like, for example, for open-ended research, a lot of times you're gonna be able to take advantage of the most open-ended and creative explorations when you do have flexibility and like, you know, you, you have like essentially no strings attached like mandates yeah. Gubsheep (01:19:14): To just pursue these like lines of inquiry. And then, you know, once maybe, you know, the thing that needs to exist in the world, and you wanna step on the gas pedal, maybe that's the time. And you know, that like this kind of alignment is correct, that can accelerate things, but then maybe for standards or where you're trying to build like neutral or canonical substrates, something like Ethereum or the internet, or potentially identity protocols of the future, you need to think about that probably a little bit differently. Yeah. and I think, yeah, it's, it's just important to be thoughtful there. Anna Rose (01:19:44): Cool. I wanna say, thanks so much Gubsheep for coming back on the show and having this conversation, you know, it went from Dark Forest and games all the way to identity and zero knowledge, libraries and funding, and yeah, I really enjoyed this journey with you. Gubsheep (01:20:00): Yeah. This was a ton of fun. Thanks again, for having me again Anna. Anna Rose (01:20:03): I hope we get to collaborate on more things in the future too. I know that we've done the Gitcoin together, but maybe we can get you involved in ZK Hack somehow. Gubsheep (01:20:11): Absolutely. Yeah. I mean, well, I know Kobi is going to be presenting some of the ZK Hack puzzles at our ZK learning group. Yeah. So there's always ways like the community right now is pretty small and whatever we can do to work together to expand it is that's up our alley. Anna Rose (01:20:25): Very cool. I wanna ask you about how people can get involved and people who wanna learn, they wanna learn about ZK. You have this learning group. Do you expect to be opening that up more? Are you gonna keep it to a small cohort? Like what's the future of this? Gubsheep (01:20:40): Yeah. So right now, like we have published a lot of the resources, pretty much all of them actually at learn.0xparc.org. So you can see various recordings, exercises learning group notes from the past learning group, as well as demos of projects from that learning group as well. We hope to do the same with this current learning group. A lot of what we're trying to do right now is first we're trying to get from zero to one on our like educational program grant giving programs, just get the engine started up. But then the next question is like, yeah, how do you scale beyond that? Our goal is like, you know, we really do want to allocate like substantial amounts of funding to move the ecosystem forwards here. Again, like money is not always the bottleneck, but to the extent that it can unlock freedom for values aligned technologists to just pursue an interesting line of work. Gubsheep (01:21:34): Then that's our goal. We're already seeing this with like Dark Forest and Lattice, which 0xPARC is the primary funding source for, currently. So we're looking to be able to run more learning groups in the future, larger learning groups, perhaps more open grant programs. That's just something that we're, we're figuring out over the next couple of months, but if you know, you're excited about what you've heard today and you want to get involved, you know, keep on the lookout. We have a blog, we have a Twitter where we like post updates. And yeah, we want to be supporting people who really want to work substantially on this stuff. So. Anna Rose (01:22:09): Cool. Thank you, Gubsheep for coming on. Gubsheep (01:22:11): Yeah. This was a ton of fun. Again. Anna Rose (01:22:13): I wanna say a big thank you to the podcast producer, Tanya, the podcast editor David who's filling in for Henrick this week and to our listeners. Thanks for listening.