Doing Decentralized Identity Right with Kelvin Fichter

ETHDenver 2023 · February 2023 · 12:14

OP Labs engineer Kelvin Fichter examines what it takes to build decentralized identity systems that can hold up to real-world use, drawing on his background in Ethereum layer-2 infrastructure to frame the tradeoffs around self-sovereign credentials and user privacy. The talk, from ETHDenver 2023, considers how identity primitives can avoid repeating the centralization pitfalls of earlier Web2 login systems.

Speakers

Topics

From ETHDenver 2023, hosted by ETH Denver.

Transcript

foreign this talk is called doing decentralized identity right a guide for turning into the hive mind or whatever and of course by right I mean whatever I think personally because whatever I think is the right thing sorry I'm gonna kind of complain about a bunch of things in this talk what are you gonna do all right so sybils are the worst right so this is you you're you're in a field you're happy and oh oh what is that oh oh my god oh it's the sybils right it's terrible this is this is what happens to everybody this is just how life happens in crypto um and symbols are fundamental to the story of crypto right so we have like money and then we want to cut it up and make it into decentralized money or whatever and and so how do we do this so

we have different nodes and they kind of interact with one another and so you know and and they have to agree right because they have this decentralized view of the state of the system so so how do they agree well every blockchain system just uses voting at the end of the day so so how do we vote right so uh let's give each person one vote just for being a node in the network um this is and then we want to add permissionlessness into this system and and now we have a problem right oh no oh the symbols are back right because if we just give each person one node uh one vote then people just make a whole bunch of nodes and then the voting doesn't work so that doesn't work so uh what do

we do do we solve the identity problem no of course we don't solve the identity problem we just make it all plutocratic because that's the easiest thing because what says decentralized uh non-nation State money like government enforced private property laws that seems like the perfect way to run our decentralized systems that's what we have so plutocracy is bad right I mean we can kind of all I don't have to really that's the slide I don't have to explain why we want identity and and maybe more clearly we want decentralized identity and we want that so we can you know we can take the sybils and we can take them out back and Bam you know what I mean

and get rid of the sybils so uh and of course the optimism Collective sorry I forgot to introduce myself because I don't have a lot of time here but whatever the optimism Collective needs decentralized ID because uh the whole Collective is designed to not be purely plutocratic so we need it we have this this here's the collective and we split it in half and so we have these two houses the token house and the citizens house and the citizens house is supposed to be a one-person one vote system so um so we really need it and then and then there's how people currently do this right so you got things like proof of humanity you know you like you sit there and you submit a video of yourself saying a thing and then people can challenge you and

there's like bright ID you sit on a you sit on a call with a whole bunch of other people and like that's you know we use our faces as uh as as ID whatever and then it's like a thousand other things um and then there's other there's stuff like verifiable credentials and dids and all these things that I don't understand and it's like and honestly I don't know people have been working on this for like five years and I don't no one's using it I don't understand why like who validated any of this and there's entire blockchains dedicated to it I don't know whatever sorry I'm making people mad right now but that's the reality of it um okay so you know I think it's pretty obvious that we can't rely on individual protocols for establishing identity uh stuff like you know record a video of

yourself like the AIS are just gonna cheat that immediately uh if you have you seen the like the Deep fakes of like Donald Trump and Joe Biden playing Minecraft like it's pretty good you know so it's easy to cheat and it's hard to update too if we have if we say like our identity protocol is that you sit on a call with a bunch of people and then it's like okay so now the AI is the AI the AIS one so what do we do next we need to figure out a new thing and it's really hard to replace it so I don't like protocols that just rely on these single signals so and and this kind of goes into what identity is right like who am I you know I'm sort of the sum of of my friends and my work and my you know my government

and my of partying activity and all you know all you know thousands of different things that form who I am this is what identity is it's not it's not did I show up to a video call it's it's the relationships that I have with the world and so that's why we want many signals and I think currently get coin does this pretty well you know like you know check mark to get coin for the the get coin passport system you have many many different signals um but at the same time xmark to get coined because I don't think it's enough I don't think it goes nearly enough how much time do I have eight minutes let's go okay I I say we need to go deeper attestations that's right this is I actually forgot to make this slide so I

was sitting there 10 minutes ago and I decided to put clip art in it because that's all I had going for me um attestation simple system we you know an address talking about another address about a subject that's the bytes 32 and then there's some value that explains what this what the actual attestation is so instead of all this crazy stuff with all these off-chain things just like put it all on chain we have layer twos now it's cheap you can do whatever you want um so we just we just throw everything on chain and then things get very interesting right so so what sort of attestations can we do we can do like the events that we go to and the friendships that we have and the jobs and experiences and skills and hackathons and events again and trips and meetings and what I eat on a daily

basis and uh you know if we focus on this at the base layer we just focus on attestations none of the identity stuff none of the identity stuff I don't want to focus on identity at the base layer I don't think it makes any sense then I think we can we can get interesting properties that emerge right so if we have a graph of attestations a graph of things that addresses are saying about other addresses you can suddenly derive interesting information from that graph and that's the real value of it right so here's an example um you know let's say there's attestations about me in this system there's you know I I work I work for the optimism Collective uh I I go to

hackathons I'm the deployer of a bunch of different smart contracts you know I'm probably an engineer within the collective right this is a very simple example but but let's say we have more complex properties right what what sort of stuff can we what you know what can we derive you can really derive whatever you want and and the argument is that you can actually form models for identity by just deriving information from this graph of relationships that we put on chain so you know I mean obviously that's like way more complicated than than figuring out that I'm an engineer but I think if you can pull enough signals out of this system you can form an identity and and so when you see this bundle of

arrows here you know when I when I say a bundle of arrows what I really mean is is concrete algorithms concrete algorithms that look at the graph of attestations and make decisions right and come up with with results conclusions and the beauty of algorithms is that algorithms can change we can take one algorithm and we can say this year this is the collective's identity algorithm but next year we can say okay actually these signals were not so good at establishing identity and we can just switch it like that it's much much easier for the collective to just decide this is a much better model for identity and these signals didn't really work out the other amazing thing about algorithms

is that algorithms can be proven which means that we can actually where is the slide we can use this on chain right algorithms you know we're in the world now and if you work on layer twos this becomes very clear to you that you can prove execution traces of algorithms you can take some some program and you could chunk it up into bits and then you can just prove every step of the way and you can prove the result of the algorithm and you can usually prove that much more efficiently than actually running the algorithm that's the whole point of ZK systems so you could take an arbitrarily complex algorithm over the graph of attestations that comes up with this amazing result of you know looking at thousands and thousands of signals that comes up with the value that says

with 99 confidence I think this address is a real person and then you can prove that result to a Smart contract on chain and now a smart contract can also have access to that result and it can also make decisions and it can say you know I want to give you access to under collateralized loans because this algorithm thinks that you're a human um obviously we need consent and privacy whenever you're talking about putting a bunch of stuff on chain you have to have um certain things are not just inherently not private I think that's okay like you know what I look like on this stage I mean unless I'm you know trying to be Anon is not a private thing and so there's certain attestations that I think are okay for to just be public

if you're going to be if you're going to make public uh interactions on chain you're making public interactions on chain I can use that data I can do whatever I want some things require consent I think it's completely reasonable to to create a social Norm there we go that if I come up to you at a conference and I say hey can I create an attestation saying that we met each other at this conference that seems like an acceptable social norm and and you don't want a situation where I'm just saying like that person was at the conference and that person you know that's weird and creepy and just like things we should probably avoid and then obviously many other things need to be private uh things like my medical history should probably be private but maybe we want to figure out how to use

well maybe not my medical history but other things on chain and and here's where I'm going to do the cop out and say solve it with ZK this is kind of a joke answer but it's also kind of the real answer whenever you're looking at how do you want to tie different addresses and natural stations together without revealing which address owns the different attestations the reality is you need some form of zero knowledge system uh whether it looks like a zero knowledge system that you're familiar with or not is to TBD but this is the gist of it is you can tie information together between different addresses without revealing which addresses you actually own which allows you to just sort of dump information into these dummy addresses where no one knows what the addresses are

where are we um okay we're running okay yeah two minutes so you know decent time all right so so uh optimism the optimism Collective is here we really care about all of this and we're hacking on it at the hackathon this weekend we have this thing called the the attestation station which is just like a really simple place to just make attestations and you can read add to stations from it and you can derive all sorts of information about you know interesting facts about the attestations that have gone on chain um it's live we're giving hella bounties we're giving hella advice that's right have fun um if you scan this QR code you can go to like our our web page that will give

you much more information about the bounties and how the attestation station works and how to use it and how to do all sorts of stuff with it and if you want to talk to me later about things you can do with attestations let me know but I really think that this is the right way to do identity in the decentralized context because it's very very flexible and it can change over time I kind of sped through that but all right one minute left we did it we made it uh thank you so much this is a little chaotic but but we made it to the end of the slide so I appreciate it thank you for sticking in it huh [Music]