 So, hey, I'm Kevin Owaki. I am one of the co-founders of Gitcoin and I am joined here by my comrade Kevin Olson and we're gonna talk about the infinite game of civil resistance in this workshop. This workshop will be about 25 minutes of me talking about the infinite game of civil resistance and then we're gonna actually get into some code and take a look at Gitcoin Passport, which is a money lego for building more civil resistance from there. So find a seat and we will we will get going. So again, I'm playing the role of storyteller in this room. Kevin Olson is our engineering lead at Gitcoin Dow and is going to be talking about the Passport money lego and how you can use it to create civil resistance. And we also have an appearance by Kevin McAllister who is another Kevin, a very Kevin heavy lineup, and the tie-in with Kevin McAllister is that he's actually also in an infinite game between adversaries, robbers that are trying to rob his house and he is trying to prevent it. So we're gonna talk about civil resistance through the allegory of Home Alone and Home Alone 2. So the agenda for this talk is why civil resistance is an important problem to reset to address. We're gonna characterize the civil resistance problem, and then we're gonna talk about a civil resistance money lego. So just very briefly, civil resistance is just basically how do you prevent sock puppet accounts in your web3-based system? How do you create more one-human-one-vote-based systems in the web3? In this room we are all physical humans, and it's pretty clear that there's one human per chair unless we're getting weird if the session gets packed. But online it's actually really hard to tell that you've got a one-human-one-vote system, and that is what civil resistance is about. So maybe I'll start with a quick crowd engagement. How many people have used Gitcoin Grants? All right, just a pulse check, but I'm really proud that Gitcoin Grants has supported so much public goods funding in the Ethereum ecosystem. And it is the magic of quadratic funding that is how Gitcoin Grants works, and the reason why it's so magical. We're gonna do a quick quadratic funding calculation, but before I do that I just want to say that Vitalik, Buterin, Glenn Weil, and Zoe Hitzig are the ones that actually came up with quadratic funding. And I view it as this like perfect alien crystal intelligence that I just like inherited, and we're the ones who are kind of bringing it to the world. Of course along with CLR Fund and some other great projects that are doing QF. So anyway, the way QF works is that every quarter on Gitcoin there's $3 million worth of matching, and we distribute it contemporaneously, which is just a fancy word for at the same time, as a crowdfunding campaign. And with quadratic funding, if more people contribute to your grant, then you will get more funding from the matching pool. So in this example, both grants get $10, but grant get one gets way more of the matching pool because it has more identities associated with it. And what's really cool is this this gets you off your bum in order to contribute to public goods because now a dollar worth of impact can have a hundred dollar, a dollar donation can be worth a hundred dollars worth of impact, or a ten dollar donation can be worth a thousand dollars worth of impact. There was a thread during Gitcoin Grants Round 13 where a one dollar donation to CoinCenter, which is a grant that, which is a project that does lobbying in DC, a one dollar donation to CoinCenter would give a thousand dollars worth of impact. And people thought it was a scam because the matching multiple was so high. That's how powerful quadratic funding is. And if you look at it at a systemic level, we hit the meme number, $69 million worth of funding for public goods on Gitcoin. If you look at it at a systemic level, the contribution graph at Gitcoin Grants is what I'm most proud of. So this is every edge in the network is a transaction and every node is a user or a grant. And if you map this out, you're kind of coming up with a mesh network of the preferences of the Ethereum community and which public goods that they want to fund. So from up and coming projects like Uniswap and URN that are, that are, that are up and coming projects in the ecosystem or just pure public goods like Prismatic and Lighthouse. Those are the kind of things that have been funded on Gitcoin Grants. And it is the goal of Gitcoin Grants to build a channel for greater combinations of strength and intelligence to come together using quadratic funding to measure the preferences of its community. But there is a problem. Not everything is great in Gitcoin land and it's the civil attackers. So grant number two, when they realize they're getting jipped by the funding can just make up more identities and then all of a sudden they get all the magic pool. And that is the civil resistance problem. If you're me and you're the founder of Gitcoin, then you start to realize that Gitcoin kind of looks like a castle in the sky. Gitcoin depends on Gitcoin Grants, which depends on quadratic funding, which depends on civil resistance. And there is no good money lego for civil resistance. So I did not choose this problem. This, this problem chose me, but here we are. Public goods are good and important and we are trying to solve the civil resistance problem at Gitcoin. But the vision is larger than Gitcoin. What if we could build a money lego for civil resistance? We could go from plutocratic systems dominated by tokens and capital to one human one vote systems that are dominated by people. And I just want to camp on this point for a little bit because if we want Web 3 to go mainstream, it can't just be targeted at rich people forever. It needs to be targeted at everyday people whose financial lives are their jobs in their community and not just the investments that they're making in the S&P 500. There you go. So one human one vote is good. And so we've used civil resistance as this sort of prism that if we can solve for civil resistance and not only can we build quadratic funding, we can build quadratic voting, we can build genie coefficient measurements, basically measurements of inequality in these systems. We can build UBI based systems. We can do one person one vote dials or better, better air drops in general. We can build data collectives and build more human centric dials from there. So that's the importance of civil resistance. Why it's an important problem to address. And I'm going to spend the next part of the talk characterizing the civil resistance game. As I've seen during the last 15 rounds at Gitcoin and then we're going to talk a little bit about a civil resistance money Lego preview. It's called Gitcoin passport and it's how we're trying to at least advance civil resistance in the ecosystem. So let's start by meeting our adversaries. This is my fun. This is like where I just get to have fun during the talk. Script kitties. I know this guy because I used to be one of them when I was 14 and I would just download script off the Internet and hack into stuff. And it's just the script kitty persona is just kind of like someone who's copying the scripts in the hacks that other people are putting out there. They don't have any real skill or ambition. They're just kind of looking for the cheapest way to make a buck online. One level above the script kitty in the level of sophistication and planning is you got your petty criminals. Maybe these people are able to run a little bit more of a sophisticated operation. They have a little bit more capital to dedicate to civil attacking your system. But they're still not really producing their own software or or ecosystem in order to do it. And I don't want to only have this talk about civil attacks on a moral vector because I think there's a rational economic reason to attack the Gitcoin grants matching pool. And I don't think it's wise for us as people are building civil resistance to moralize this too much. It could just be a rational economic person who's kind of struggling that wants to make a quick buck. And I think that that's an actor that we have to plan for to. All right. This one's just this one's just a cheap shot. So the story behind this slide is that there was a Salana DeFi Dev that made his protocol look more active by just making up personas. And these are some of the memes that came off of Twitter from that organized crime. So basically you got your mafia is you got your state sponsored hacking groups. These are the kind of people who can develop zero days and can attack not only Gitcoin grants but can attack the entire Ethereum ecosystem. When I talked to Danny Ryan and I talked about the merge, we talked a little bit about like the software supply chain that underpins the merge Linux and all of the software libraries that are underneath that the firmware supply chain and organized crime is scary because they're sophisticated enough to develop packs in zero days for your entire software supply chain. And then above that you've got your nation states you've got your North Korea's you've got your adversarial cyber security. Sort of attackers and these people, you know, like basically if you think that all warfare is going online in the future, then get going grants and Ethereum can just be collateral warfare in or collateral damage in the nation state warfare game. So those are our adversaries or at least a good swath of those adversaries. And now that we have identified those adversaries both in theory and on get congrats we can characterize the civil resistance game. And the first criteria or I guess the zeroth criteria since we're developers here and we're zero offsetting or our nature is an adversarial nature. There is a zero sum game between the civil attackers on Gitcoin and the civil defenders who want to defend the matching pool. Kind of like Harrison Ford and Indiana Jones. I may be dating myself in an Ethereum ecosystem. That's all Gen Z. But for us millennials, Harrison Ford trying to capture this golden trophy, I think was pretty cool. Or I'd like to invite another Kevin to the stage and that's Kevin McAllister who's trying to defend his home from an adversary that wants to get in and I think steal his presence. I'm not actually really sure what the criminals in the home alone were after, but there's some hilarious results from that. So there's an adversarial nature to the civil resistance game on Gitcoin. And I want to note that not all adversaries are motivated by the exact same thing. You've got basically varying levels of sophistication in your adversaries and resourcefulness of your adversaries from script kiddies up to nation states, but a various amount of a diversity of motivations. Some people just want to make want to do it for the laws. They're in it for the thrill of fucking up Bitcoin and like the posts that they're going to put on Twitter after it. And so it's not just an economic reason why people want to get civil resistance. Some people are in it for the thrill. Some people are in it for the laws. And some people just like hard problems. And because of the diversity of sophistication and resources, intelligence, and motivations, you get a lot of diversity and methods of civil attackers in your system. And I've seen this live on Gitcoin grants in the past in the civil rings that we've discovered. And so you have to plan for plurality at the base layer of how you solve civil resistance. And I think this kind of informs where I think that we need to go with civil resistance because there's there's basically four ways to create civil resistance. You can do it with biometric, you can do it with nation state like KYC, like government IDs, you can do it with presence based things like basically the fact that you are all present here is a civil resistance signal in a sort of way. And then you can create web of trust style systems. And one challenge as you're trying to create those systems is the need for privacy, centricity and sovereignty and consent as we're building civil resistance into these tools. And so Gitcoin Passport, if you look at the way it is architected, basically we've got a three state state machine that can take any on chain or off chain data, whether that is your Google or your Twitter data. Or if it's an on chain data, like your proof of humanity or your bright ID, or if it's more web three oriented off chain data, like your disco data backpack or your ceramic, your ceramic profile, you can turn that into a verifiable credential, which Gitcoin Passport stores on ceramic only non personally identifiable information. And so all of this data is stored off chain and then you can build an aggregator or an aggregate or if you're a mean word like I am these days and that can be created used to create a personhood score that is basically like you can think of a personhood score as being $10 worth of cost of forgery in your Gitcoin Passport. So someone who has a 10 personhood score is $10 to forge their identity or someone with a 10,000 personhood score is $10,000 worth of civil resistance and you as adaptive developer integrating Gitcoin Passport can give that much amount of rational economic rewards to them because the cost of forgery is X amount and Gitcoin can give X amount of that matching pool to them. So I think that we do not want to create a penopticon we are not web two and privacy and sovereignty has to be a criteria for how we solve civil resistance. The need to avoid plutocracy is another thing that we've learned from web two as being being very important here. So basically in web two Facebook and Zuck owns your data and how do we create a system in web three that is diverse and pluralistic and has the network effects of creating digital identity, but doesn't become captured by a rational economic actor. So basically I like to go back to this idea from political theory about the consent of the governed, which is basically the idea that the government's legitimacy in using state force or state action is only is only valid when it's justified and consented to by the people that it governs. So basically what you don't want to have is is basically like a company that owns all of your identity data that's governed by shareholders and the management of that company has a fiduciary duty to maximize value for the shareholders because you know what's going to happen to your data in that situation. It's just going to be used to sell more ads against you. So with get coin, one of the reasons why we launched the Dow and there are many is that we wanted to be governed by the community that we served. And this is a distribution of the get coin voting power as of the launch in Q2 of 2021. So basically, community members like Trent Van Epps, Austin Griffith, Linda Z, left terrorist, Griffin are the ones that are delegating your voting power to with GTC. And they're the ones who are making decisions on behalf of the system. And on the long arc of things, even I will have no power in get coin as I eventually disaffiliate leadership. And these people are actually in charge of governing the data in the protocol that we have in the future. So plutocracy is a big thing that I think that we need to solve for. Another thing we need to solve for is called collusion. And it's basically one layer above the stack of the civil resistance problem. It goes like this. Hey, Kevin Olson, I see that you've got a person hood score of $100. I'll give you 50 bucks if I can borrow your ID. Yeah, there you go. And so basically what happens is as people realize that they can get around the civil resistance in the system by colluding with each other, then more of the people who are neutral to the system begin to turn red because the rational economic incentive is to attack the system and in not defend the system. Collusion is this whole other category of problems. But once you have a solid basis of what the identities are in the system, then you can start to solve collusion. And this kind of gets me to my next point, which is we need to build systemic defense ability into this. And that's hard because it's an infinite game between attackers and defenders. There's not a point in which the civil attackers are going to stop defending the system. So all we can do is take advantage of the fact that we own the battle arena in which they're attacking the system. And over time turn the dials so that the blue team is more empowered than the red team in this iterative evolutionary infinite game between the civil attackers and the defenders. So if you empower a century, a blue team person to prevent that red team person from colluding, then basically instead of infinitely growing into a collusion attack, you basically stop it at its source. So basically you get to a point where the blue team can say, oh, this again, this pattern matches against something that I've seen, and you can prevent the civil attack from going. So there is a plurality of types of attacks that will happen in these systems. And so because of that, there's going to be a plurality of defenses that are going to be need to be built into this system. And the idea is to make it so that it is not worth an attacker's time to attack the system. You hear Vitalik talk about this property of systemic defensibility when he talks about proof of stake and how much more expensive it is to attack the proof of stake consensus protocol than it is to defend the protocol. So basically we want to have that same property inside of our civil resistance battleground, which by the way has grown a lot since get going grants round one when it was just a bunch of end users. Some of them were red team and they were only after a 25 K matching pool over the last 15 rounds. We've iterated a lot and this is what it looks like now. So the red team is the attackers. The blue team are people that use get going data and protocols in order to solve it. You've got the end users who are now going after $3 million worth of matching, but in order to get to it, they have to go through passport, which is this sovereignty aware privacy is preserving data store for figuring out who's a civil attacker or not. Has to go through pairwise, which is a really elegant way of solving collusion that I'm not going to get into now, but I can send you a reference on it. And then they can get to the grants and only by going through the all these different blue team exercises, are they able to get to the $3 million in matching proactively they have to go through them. So there's a reactive data sort of analysis team in which you've got people who are looking at the open data coming out of passport, nothing privacy, like PII or anything like that, but they're basically looking for new attacks in the system. And this is how we build systemic defensibility into the system. One of the cool things about get going passport and what I'm doing now is it's modularity and fork ability. And this is the part of the presentation where I get to raise my hand. And I say, I'm sorry that I built get going grants to be centralized and monolithic back in the day but I will never do it again because I believe in modularity and super modularity and the ability to fork this protocol. So anyone here if you disagree with how get going is doing passport you can fork it away. And I'm going to tell you how, in just a second. And I think this is one of the benefits of decentralization is basically the fact that anyone can go in and can fork get going and the fact that anyone can go in and buy it's community. So basically what this looks like is in that three state state machine, anyone can go in and add their own stamp, adding more data, the passport should be consuming that contributes to civil resistance. And I think that that's really cool because if we can add more data to the system, then we can touch more civil attackers as they come down the pike in this Looney Tunes adversarial game. The cool thing about get going passport is it's kind of like Kirby you can swallow all of the different data that exists on chain and off chain in the Web three ecosystem is stored in a privacy preserving and sovereign way. And when we have a plurality of attackers, a plurality of stamps is what's going to help us build a stronger foundation to get those attackers. Say that you don't agree with get coins person with scoring algorithm. Say you think bright ideas worth $110 as a stamp or not $50. We can go in and you can add your own scoring algorithm. So basically, this is a way to create an economy of marketplaces that have opinionated values about how we reduce different data attributes into different scores. And this is plurality at the base layer that we're sort of building in. It's not get coins saying this is what the civil score is of your of your thing. It's it's basically the plurality of people who are involved in passport debating these in the open economy of ideas. And by the way, if you want to use the passport infrastructure, the state machine that we've built, not for civil resistance, so you want to build like a region score that talks about how worthy of an under collateralized loan you are. You can use this pipeline for that too. It doesn't even have to be about civil resistance. And then the final layer is that you can add personhood score to your D up. It's basically a couple of lines of code to add it to your sign in with a theorem. And instead of just getting back your web three dot each dot accounts from the system and the balance. You can also get the personhood score back from get coin passport. So adding personhood score to your DAP is kind of how we think about proliferating a civil resistant ecosystem to the rest of the world. All right, we're in the home stretch now I got two more criteria for you. And then we're going to get into actually building stuff with Kevin. So the need to build network effects. I like to introduce this one with a riddle. And that riddle is if I build the most perfectly academic civil resistance algorithm. And no one ever uses it doesn't make a sound. The cool thing about get coin grants is that we've got 700,000 data points that are already happening about civil resistance. And so basically, the more users use get coin passport, the more stamps are loaded into the system. The more reason there is for D up to consume the civil resistance in the system, which means that more users will get their get coin passport. And that will create more stamps. And I could go on in this infinite loop for the rest of our time. But out of respect for you, we will move on to the evolutionary nature of this game, which is the part of the game that I've become fascinated with. And the reason why we called this talk the infinite game of civil resistance is because of the of the infinite evolutionary nature of this game. I like to invite my friend Kevin McAllister back in order to illustrate this. Kevin McAllister is fighting in an adversarial game some organized criminals who are trying to get into his house and he does it by icing down the stairwell office backyard. And he does it by putting micro machines on the floor. If you're a millennial you'll appreciate these references if you're in Gen Z you're like what is he talking about. And my personal favorite is the pink end to the face. If you're going to civil attack get coin just know what's coming for you. But there's an iterative evolutionary game where every time the organized attackers attack Kevin McAllister's house, they learn more about Kevin's tricks and he learns more about them. And over time there is a series of entertaining and actually kind of increasingly sad stories about this adversarial game that happens. And yeah, I mean we just have to respect that Kevin McAllister is the third Kevin in our Kevin Triad. But and you know what's funny is like over time it like increasingly approaches like a YouTube cover video like the shocked face here. But I'm not here to judge home alone. Alright, so anyway basically iterative evolutionary game is where we were basically you recognize on the left that this is the battle arena that get coin get coins fundamental advantage in this is that it owns the battle arena. We can set up micro machines in the front or the like a pink end to the face to the civil attackers. And there's an instant feedback that happens with the mechanisms and then there's daily feedback as people wake up and they check their computer every day and then there's a quarterly feedback as we want it as we run a round every every quarter. So this is an iterative evolutionary infinite game between the good guys and the bad guys. And the goal of this whole system is to increase the total personhood score in the get coin grants system over time to be hundreds of millions of dollars worth of civil resistance. And that will allow us to bootstrap this ecosystem of Democratic Dallas by increasing the total personhood score of the system building in systemic defensibility into the system from there. So that is the characterization of the civil resistance game. And basically I want to talk about how that is informed how we've built get coin grants and get coin passport. So basically the TLDR of this last section is that get coin grants around 69, which is another meme number. I think that's it will be in 2027 at this point will be privacy and sovereignty aware. It will avoid plutocracy. It will avoid collusion. It will be systemically defensible. It will have network effects. It already does. It will be modular and forkable. It will have decentralization and it will embrace an evolutionary nature of this game. You can tell that because I have this castle in the sky of get coin grants and we've fallen into having the civil resistance problem. The get coins taking this problem pretty seriously. And because of that we want to be a shelling point for creating more civil resistance along with the plurality of partners. I see many of you in this room right now around solving civil resistance. So it's basically a plural approach to this problem. And I think that like where we've kind of landed is that we've built this thing through blood, sweat and tears called get coin passport. Which you can get at passport.gitcoin.co. And basically we want this to be the part of your journey that enables more civil resistance for you and your community. So you can integrate it into your dApp with one line of code. I might be overselling this before Olsen's talk. Okay, I'm embellishing it's 10 lines of code, but you don't have to deal with like the seven criteria and like all the home alone references of rolling your own. And the whole idea again is to bootstrap an ecosystem, not only of civil resistant grants on get coin, but civil resistance and more democracy for web three at large. And like I said, I want to make web three more useful for everyday people by making it so that there are dApps that are more democratic and provide utility to the median member of humanity. Instead of just the well-moneyed and that is what we are here for at get coin and get coin grants. So thank you for listening to my rant. I'm going to hand it over to Kevin Olsen and we're actually going to do some code from here. Thank you. Hello. That's a lot. That's a lot to follow. I think we're going to slow down a little bit. Hope y'all. Yeah, yeah, yeah, yeah, eventually. Okay, cool. Conference Wi-Fi. Yes, okay. Cool. So I had the pleasure of stepping in for a walkie at DAPCon in Berlin. So I left giving that talk feeling like I wanted to give this talk, which is like, what did we actually build? Right, which is hopefully just as exciting. I don't know. It is more than one line of code though. And what I'm really going to do is try to orient you all as like future builders on top of passport. How do you use it? How do you use it for your apps or your communities? And really just kind of point you at a lot of resources. So this is going to be kind of a big overview of what we've built and why we built it the way we've built it. I think that's kind of an important thing. And then how to take that forward. I got a Slido poll. I'm going to pull up on my phone so I can follow along. If you all want to scan that, you should ask questions there. And hopefully have enough time at the end to answer them. I'm doing it on my side so you know how long it takes. I'm starting to see phones go down, so I'm going to say we're good. All right. Cool. So here's the agenda. We're going to do the why passport. Like what problem does it solve? And I think Kevin did a great job of the big meta why. What is passport? Who's currently using it? And then how to do it yourself, right? So why passport, right? Kevin's talk, right? The infinite game. You have these systems that are vulnerable to civil attacks, right? Some of the things we're seeing right now. Anything is doing kind of voting quadratic funding, quadratic voting. It's particularly susceptible to this. You also have communities that are providing benefits, right? If you have like some sort of being, you're paying gas fees on behalf of something, or you have some PoEPS or things like this that you're giving away. People farm these things, right? So passport is a great way to uniquely sort of identify the humans in your system and only provide those benefits to the people who are really going to be using it and aren't just, you know, rational actors exploiting your system, right? Like there might be an economic game. There's an airdrop in the future. You get why they're doing it. But ultimately it's a destructive like element in, you know, the governance of your system or the benefit. It's not getting to the right people, right? They're distorting the effect of that. So the high level requirements. So this is, so Kevin Salk kind of gives us, gives us the sort of parameters for the design space that we went into. We want to do privacy preservation. So like as a first goal, we're not going to dox anybody with passport. This has been a huge concern of ours, right? So from day one, our goal was to make sure there was no opportunity for us to like leak PII or anything like this. So personally identifiable information outside to anyone, right? So we don't store any PII in the get coin passport. For sure. You can go check it out. It's not there. Also, we want to make sure that we're decentralized, right? We don't want to be a point of capture for the audience. We don't want to be making, you know, we don't want to go evil get coin and make bad decisions. We also want to make sure that we're adaptive, right? So that we can, in this evolutionary game, continue making improvements. And lastly, when we pluralistic, we want to invite a lot of people into solving this problem with us and making sure that we're actually getting, you know, the best ideas put forward, you know, forking our protocol or just like adapting it for your group, right? We don't want to necessarily make our decisions the ones that everyone has to use. So we tried to make this as a real, like as a toolbox that you can take forward into your group. I already did this. Maybe some of the details on here. One of the interesting things about captures, we wanted to make sure that the data was fully public. We ended up using the ceramic network for that and sticking to the open standards of dids and VCs. Keep them going here. This is the part where I was going to demo it, but I don't trust the Wi-Fi. So I'm going to spare everyone watching me wait for this thing to load. Who's actually built a Gitcoin passport for donating to Gitcoin grants? Okay, so these are the folks who participated in rounds 14 and 15. If you wanted your matching bonus, you went here and did this. Maybe I'll just like use your imagination and work with me here. You connect your wallet. We instantly provision an empty passport for you. You go through these different identity attestations. Connecting your Twitter. That's an OAuth flow. GTC staking was a project that got built on the side where you could stake GTC on each other to prove humanness or web of trust. That's an online... That's a Web3 endpoint. We're just hitting a JSONRPC, proving that your wallet address is on that contract and pulling that back and verifying it. What's behind the scene on all of these things is just a little JSON object. That's what all the various Bible credential is. And we're just proving that we observed that back to that point of time. VC gives you the ability to have an expiration date, things like this. So for a period of time, we're saying that we've validated that they had an account at this point in time. It's somewhat static data. That's the interesting thing about VCs. It goes with you. You can actually download your passport. There's an ability. If you have it on your phones, you want to play with this, you can actually just pull down the whole passport yourself. It's just a JSON object. You can actually upload it. You can kind of skip the whole ceramic thing if you want. But we've chosen to use ceramic as the sort of beta layer to back this. Oh, gosh, man. I'm just front running my own slides here. I'm so sorry, everybody. One cool thing you can do, this is interesting with ceramic and just to kind of prove the open data thing. Go check out this ser scan. On ser scan, it's like an indexer of the ceramic network. You can pull up every instance of the passport schema that's been filled that people have written to. There's 60,000 passports that have been built. People have made many, many more stamps. So behind that. What's interesting is in our last round, Grants Round 15, we actually had 38,000 that were submitted to us by our users. So there's a whole bunch of passports that are getting built and used externally. I'm going to get into that a little bit. There's already some communities that are starting to adopt this. This is a little preview of what you get to see when you go to ser scan. You can click through. You can actually see the raw data. It's super interesting. So, okay, some background concepts. So I've kind of said these things, but I want to make sure you all have the references. I'll make these slides available. There's a lot of links in here, and I hope people kind of use this as a reference as they get started. So decentralized identifiers. Who's heard of that? Oh, okay, great. I don't have to talk about this. Okay, cool. What about did PKH? Cool. So this is a deterministic way of generating dids from your private key, your public key. You have this ability to deterministically make sure that every wallet has the ability to generate a did. It's a bit of a subset. I think it's even like a... What's the word for it? Preliminary, non-ratified, non-conformant spec. It's like proposed. Thank you. I'm looking at Evan up here for... And then we have VCs behind that, very public credentials. VCs are a really interesting spec because they're so broad. And this is actually some of the criticisms of these specs is that there's a lot of interpretation and room to kind of do whatever you want with it. VCs, as we've used them, are really just an attestation that we observed some things. It's like the slimmest subset of that. There's people who are using them from more interesting or more data-rich environments. Who's ceramic? Who's used ceramic or heard of it? Okay, okay. I like to say that it's kind of a convenience layer on top of IPFS. I don't know if they would all agree with me, but it's a really nice way to have mutable streams of data that users control. So you are the only person with your did that you control that can write into your stream. And through some of their libraries, you can grant access to an app to write into your stream. It's individually writable, self-sovereign, but it's totally open data. So it's kind of an interesting... It's a really good fit for this use case is why we chose it. But it's pretty unique. We don't have a database. We're not storing any, you know, VCs of everybody. It's all happening here. And you control your stream as a user of the ceramic network. So we really are relying on this as the data layer for Passport. We host a production node ourselves, which is kind of interesting. We also host a testnet nodes if you're developing. This is all in the docs. We'll get to that later. But yeah, okay. Spruce did kit. This is Spruce signed with Ethereum. Yeah, did kit is amazing. And the Spruce team is super nice. So is the ceramic team. The ceramic team is really, really nice too. They joined us for like daily calls like during the round, right? Like they were really committed to making sure that everything went well and continuing to be really tight with us. So Joel, he's in the audience. Thank you. You're awesome. And then Rocco from Spruce has been awesome in helping us manage dids. There's some interesting stuff later on that we're going to get into here too. So high level concepts. So this is the whole of what passport really is, right? So there's the D app, right? There's passport, which was that screenshot that I was going to demo, but I'm not going to now. You have ceramic, which is where all the data actually sits. You're using the open data standards, which is interesting thing with ceramic is you have the ability to define schemas. So the data that's going into ceramic is kind of being enforced at that data layer that it's conformant to the did and the VC spec or the VC spec really, right? So the, if you want to write a stamp, which is a VC, you can just use the same model, the same schema that we've published to the ceramic network, and it'll be conformant, right? So you can't get the sort of like drift of data schema when you're relying on the get coin passport stamp or the VC spec that we've published. There's a passport authority. So this is something we had to build. We had to build a backend where we issue the VCs from. So VCs are not necessarily like a first class citizen yet. So when we're observing these out of stations, we're issuing these VCs backup to go into your passport. This is kind of a current point centralization. I'll get into this a little bit later. You'll see it in the code base too. There's an IM server. Trust bonus. This is how if you've used passport to build a trust bonus, we, this is the part where you actually submit it to get coin. This is the scoring piece. This is all available inside the get coin web repo. You can read how we did it. It's all kind of in Python and stuff. The SDK has some easier ways of doing scoring, but this is kind of like the full life cycle, right? And then there's this get coin scoring service that we'll get into. Cool. I'm not going to show this. This is a pretty detailed like swim lane. I've had like exactly all the calls, but if you really wanted to get into it and see exactly where like all of the sort of sequence of like calls between the front and the back, you'll see it here. That line, that link is live and open. Feel free to check it out. The passport SDK itself. So this is up on get coin. This is actually how you can build on top of passport the most easily. So I'm going to get a little bit more into the how a little bit later. Current points. Essentially, I hinted at this. So the IM server is where we're actually issuing these VCs from. So if you want to use a score that uses VCs from get coin, you have to kind of whitelist our VC server. But this allows anybody else to also issue VCs. And the scoring part of the SDK allows you to decide which VC issuers you trust, right? So you give that control kind of downstream. Anybody can write into your passport if you give them access to it, right? So if you're a did holder and you go to a forked version of get coin of passport, you can give access to your stream to that front end. They could write into it. But if they're not hitting our VC issuance service, they issue their own. So where do you decide who to trust? Which VCs are worth trusting? It's at that scoring layer, right? When you come back around and you actually see what's in a passport, you can see through the VC which server issued that particular credential. And then lastly, our scores currently are point of trust, right? You're handing your passport to us. You're working within the get coin ecosystem, fine. You can trust us. In the future, as people start using other scores, you kind of start making scores as a service, things like this, they're going to become a point of trust, right? They're going to become a scoring service to be doing the right thing with the passports that you hand to it, right? So if you don't want to go through the hassle of scoring a passport yourself, reading the dids, doing the scoring, you have to actually rely on somebody else. This is kind of just maybe worth calling out. Okay. So what can we do in the future? People can build their own IM servers and start issuing their own VCs. That's pretty straightforward. You can host your own ceramic node. You can help us, especially when ceramic moves into this proposed DB in the future. I'm hinting at that. Again, I don't think anyone from ceramics is here. I think correct me if I'm wrong, but I heard Q1 of next year. This is a great way to start synchronizing data between nodes and pinning it, making sure that the data is available in more locations. And then lastly, scoring, help us build more scores faster and let us be a point of centralization. I said I was going to go slower, but then I started going fast. Yeah. Okay. So who's already doing this? So we actually have a community of people who are kind of picking this up and starting to build on top of it. Each staker just popped into our discord and told us that they built this, which is super cool. So thanks, Remy. What they're using passport for actually is giving roles inside their discord. So you can go into this discord channel. They pop you out to do a little signing, and then you come back around and the bot runs through your passport, reads all the data in and gives you a score and it automatically assigns you a role in the discord. So they're having an issue apparently with people getting, you know, multiple roles or bad roles, and they wanted to make sure they're real people and not bots. Super use case and it's all available there. Check out their, their github repo. Bankless Academy. I didn't link this, but it's actually there. So if you go to the Bankless Academy github, it's, you can even just like search the code for passport and you can see their implementation there. I might after the fact drop a link in this. Did a similarly just like kind of tweeted this out and then jumped in our discord and told us that they built this. They did some cool stuff too where. So this is Bankless Academy is kind of a rabbit hole. Right. You go through, you complete some sort of challenges and you get like a like a mint co-app mint kudos at the end. People were farming this and they needed some simple protection. What's really cool. Actually, the way they do this is because they're able to read the data in the background you sign in like with Ethereum, you have like they know your wallet address that you're completing this challenge where you're going to get that, that mint kudos back to you. They just in the background, just go read your passport. You already have one. Like they just see what stamps and they say, okay, cool. Good enough. Like we'll let you in and we mint it. This happened to me. I was like, I thought this was live. Like I thought, you know, like I didn't see the passport submission thing. So you don't actually have to do this, right? You can just in the background go look up a passport and see what stamps are on it without any kind of clumsy flow. If you don't have the stamps in your passport, you don't have a passport. It'll just prompt you to go create one and then it'll let you in and gate you through into the service. Other cool thing too is they're doing the like the caching and this storing of duplicate stamps, which is a thing we can get into in a little bit here too. So how to actually get started. So the obvious place to get started, go to our docs docs.passport.kitcoin.co. There's a lot of like the high level stuff all the way through into the SDK and really how to get like through it. I think one of the most important things though is actually decide like when you're getting into like how to use the SDK is like what you're really doing with it. Right? And a lot of this comes down to like gating of a benefit or a community. We're also seeing some people who have like interesting identity signals, right? We've had some people who have, you know, like a KYC service or they have like get po-app just reached out and just built their own, right? They're like, this is a cool thing. It should be a stamp. It should be in your passport. You can build interesting scoring mechanisms. Maybe you have some thoughts on what is a really good, you know, cost of forgery or scoring or personhood. Build it, right? Like all of these things are there and the raw materials are there in the toolbox in the SDK. I think I've kind of beat this up a little bit, but the basic thing, this is the trust bonus page. I think you'll see this is how we gate our community in service. Adding a stamp, get po-app. This is a pull request that they submitted right here for how to build a stamp. This, again, it's a moving target. We're going to continue improving the code base, but right now this is a great way to get started on exactly how to add a stamp. You can take that PR and move it forward. We actually have a library of other PRs in our docs of where we've added other different kinds of stamps. So you can look to see how your flow might map best. Discord. I think we've seen this, but this is actually the Discord as a stamp. This is another example I wanted to highlight. This one's not like a, this one's a non-chain verification. This one is not, right? So you have kind of these different flows that I wanted to kind of highlight. This is a video that got submitted to our hackathon, which is just great. I hope it doesn't play. Okay. It's a great walkthrough. If you really just, you need to like walkthrough and you want to watch someone like actually code through a full implementation of the SDK. Rask, as the username, did a great job. And I think actually won our hackathon with this video. So it's a tough notch. Then lastly, if you do build something, tell us about it. We've got the showcase.passport where you'll see the staker up there. We've got our identity staking. And we've got like a lookup tool that the community submitted. We haven't gotten the bankless one up here yet. I think we're still waiting for them to apply into this. But there's a form called action at the bottom. Just tell us you've built it. We want other people to find it. We'll link you to your project and to your GitHub. And then alpha alert. Kevin, did you know we had an API? So excited. This is super cool. So when I mentioned that we have this kind of like centralized, you submit your passport to get coin and we do all this stuff and we give you back this magical trust bonus. We've busted this out as an API now. So you actually can hit, this is the swagger UI link, but the API is the same path there, score.dpop. What's neat about this is you can actually post like a full passport to this. And then you can read off different kinds of scores. So we actually have like a weighted score, which is what ships with the SDK. So you can set up kind of a set of weights. This kind of alludes to Kevin's cost of forgery. We also have this thing called APU, which is like this fingerprinting service. We actually use for GR 15, which takes like a cohort of passports have been submitted to us. And we find the median value of uniqueness. And you can kind of treat that as like, you know, below that threshold might be maybe not so trustworthy above that threshold is trustworthy. Assuming you have kind of a Gaussian distribution of users. So the APU score is kind of an interesting one. Different kind of scores available. We're going to make this more fully featured, but this is like literally shipped last week. Very like, there's no docs on this. This is the doc for y'all. But we're going to keep improving that and making sure that this becomes like a real, like an easy way to start interacting with passport without having to go through necessarily hitting ceramic and reading it if you don't want to, right? You just have this as a way, but we are storing off these, these hashes and things like that for it. And then in the future, this is like the thing we recently just spent some time on in the last couple of weeks. The team's looking at how to actually bring scoring on chain. So one of the things you're going to run into if you're really trying to like enforce a certain score to interact with the contract is you're going to need to bring this on chain somehow. The teams looked at a couple of different routes and the ones looking most promising is using EIP 712 as an actual way to like create a, a recoverable signed message on chain that you can then verify yourself as part of your like actual smart contract interactions. So we're trying to bridge passport scores and onto chain so you can actually start using them there. So we're going to need this for grants protocol as we go live. Your votes and things like that and your passport will need to be actually interacting with voting contracts. So we needed ourselves and I think other people will too. All right. And that's it. So maybe we look at that Slido for some questions. Cool. Cool. Okay. The top question. Oh, they're not really voted up, but they are. Okay. How do we identify collusion? How do we differentiate collusion from a situation where many people just like the same project assumes symbols are solved? This is a great question. I mean, I think the real answer here is, well, okay, two answers. You can use Macy, right? Like minimal anti-collusion infrastructure and you can make it impossible to verify who voted for what in a particular context. This is what CLR funds done and we've been looking at this ourselves actually for some of our partnerships with optimism. It's at the root level making it impossible. So Kevin gave me 50 bucks for my identity. I could take the 50 bucks and then to vote however I want and there's no way for him to prove it. This is the kind of concept behind Macy. So you can have the secret ballot as the way to protect people from being able to, you know, the economic reward is impossible to validate, right, for the people who are trying to bribe. I think more legitimate forms of collusion would be me and Kevin. You know, we have a lot of similar ideas. We share a name. We might just vote really similarly on things, right? We actually belong to a community, right? This is really like the DSOC paper that came out from Glenn Vitalik and Puja is really talking about how to identify communities and how do you reward cross community, you know, like pluralistic consent or not consent, sorry, what's agreement or sort of like signals between communities. I think in this environment you've got some really interesting opportunities to sort of like sidestep collusion and just talk about homogenous communities and how they're voting and rewarding cross community. So I think that's a nice sort of reframing of the problem. Yeah, you understand? Yeah, I was just going to add that Gikwyn uses something called pairwise bonding, which is, I guess we're all built on Vitalik ideas, but it's an idea from Vitalik to basically bond people who vote similar to each other algorithmically. And basically the way the algorithm works net net is that if two people that have like a high social distance across them contribute to the same grant, then those contributions are worth more than if you've got a gaggle of people who are only contributing to the same grant. So it's a way of kind of algorithmically weighting things that are attractive across social distance higher. So it's actually an early implementation of the DSOC idea. But yeah, I mean I'd say like passports even still in its early alpha days and we're really focused on civil resistance and then I think collusion resistance is kind of another horizon on top of that and hopefully we'll get there. Cool, so the next question here is the scoring and GTC passport. Is it arbitrary and how was it defined? So I mentioned for GR 15 scoring was this APU score which came out of like some of the data science work that was done from our fraud and defense team. So that's very like specific to the community of Gikwyn, right? It may not work for your environment and we encourage you to build your own score. If you look at the scoring SDK what you basically can do is define all of the stamps you care about. You can define which VC issuers you care about and then you can define weights based on those. That's the sort of like dead simple way of doing this. I think Twitter is worth one point. I think Bright ID is worth 20 points and you can create an aggregate score in a threshold and that's way a lot of communities I think think about doing this kind of thing. There's a lot of stuff there but at the basic thing the scoring is like I mentioned for our community has been this kind of initial weighted scoring. We moved into this more like ML sort of data science approach and then in the future we're going to keep iterating on that. But you have no limits to how you want to build your score. Cool. Can you give insights on how to make passport compatible with other chains EVM and non-EVM looking to right now there's not a way to bridge it on chain. That's like work in progress. That was the thing I was mentioning at the very end there. What you really are looking at is your interactions from the DAP like you trust this interface that people are interacting with and then you would use that as sort of your gating mechanism. If somebody has the ability to access that it doesn't mean you can protect things at the smart contract interaction level. This is why we need to bring it there. But if you have a backend you can certainly protect yourself that way. But if you can validate that the front end is not being sort of man in the middle and you're getting a valid passport score back you can use your backend like Bankless did where in the background they just reach out, grab the passport, read it in. You have your point of trust, right? And then you can do your JSONRPC calls from your backend. That might be the safest way to handle this right now if you have an actual smart contract interaction. Oh, this thing like alarms to tell us we're out of time. Oh shit, okay. That's it for questions. Hopefully that was sufficient. Thanks for listening. This room is booked in I think 10 minutes. So just to be respectful to the next presenter, Olson and I are going to go outside and happy to take more questions on the lobby. But go to passport.kickcoin.co if you want to check out the code and thank you for helping us build a more Democratic Web 3. Peace.