New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

EthCC 2: Pelle Braendgaard

Ethereum ParisWed, Oct 9, 2019, 12:00 AM

EthCC 2 EthCC, the Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. Follow us : @AssethFR https://ethcc.io

Transcript

hello you hear me No okay all right hello guys my name is Pele ran guard I'm from Newport we've been working on identity and aetherium for about three years we've tried all kinds of things we've made a ton of mistakes we've learned from these mistakes as technology is going on you know blockchain we're all learning a bunch of stuff we've watched even more stuff the community is doing a lot of cool stuff I've been free is really really cool great talk by the way and so I'm gonna talk about not what we've been doing in the past but some new ideas that we working on for making it easier to work with identity directly in ëthere map locations like directly I in smart contracts state channels so before we get into details I just want to talk a little bit about what is identity because very often we have many many conflicting conflicting terms about what identity is so is it a passport or a baguette or an identity card is that Facebook account I know I'm old-fashioned am I supposed to have a Facebook account nowadays and yes I'll delete at some point but right now this is the number one identity platform in the world probably there's also here in Paris so be very quiet we won't talk too much about it there's a very shadowy non-governmental organization called the eff ATF that comes up bunch of secret rules except you can download from the website that governs what all of us do if we're working you've any kind of financial services they called the F ATF and they're the ones who come up with these things like kyc an amount of money laundering so for many of us identity relates to this whether we like it or not and I don't like it there are many many problems with this but I don't want anyone to go to jail for these kinds of things either so we have to follow the instructions of the shadowy non-governmental organization based somewhere in the secret Amer here I'm pressing the wrong way correct but we have it identities about you so it is all of those things but it's about you it's about your relationships it's about your reputation is me telling you my name me telling it back my name or me telling noses my neighbors but gnosis or bank is not really allowed to just believe what I say so they need someone else to tell them who I am according to the rules from them aforementioned secret there in Paris that I will attack not to mention anymore so government branch have to tell a bank my day this is what we call a verifiable claim by a trusted third party the way we look at identity is that identity is an edge protocol this is not a term invented by us first time I heard it was by me and great an identity is essentially our relationship this massive graph some of this graph is public some of its on your theorem some of its in your head like ooh do you know what do other people know about you that stuff you did last night after the bar that you know it's alright the identity you decide if you want to disclose it or not so each claim is basically an edge in this graph protocol where some of its public and some of it isn't so as I mentioned before we have this regulatory requirements to have identity day so let's just store it on the chain right so that's where a lot of the dirty stuff that we did four years ago we came up with idea of using a proxy contract to store to manage an identity and then store some claims on chain and a lot of people that are still operating these kinds of things here's he said the 25:5 I know there's a new version coming out that's happy I was talking about like to see what it's doing but follows this approach as well but we also have this other little thing another regulatory requirement sometimes these regulatory requirements clash they don't really clash it's just we have to start getting a little bit creative about it I recommend everyone who everyone here download this report it's actually pretty good and there's a lot of things in there the conclusion is that what chains can be DDP are compliant it really depends on what you do with it and the excuse that we've used in the blockchain world in the past is that the user owns the keys the users who's actually doing something it doesn't actually work because if you're the DAP developer you're telling me user to do something bad you're considered the controller according to GDP are you the one that can be sued so you do need to know these things understanding just basically au port identity the way that we've done it in the past this is the only real slide about about our old traditional system it consists of a a an identifier which is just basically a it did it did is a new standard from the w3c that has that contains an identifier and you can look up public keys signing details about this public key and as you can probably guess our did it but this is basically like URL for identity our data is basically just in the etherium address and it's defined in e rc 1056 but that's it's not an identity itself it's just an identifier an identity consists of a set of keys that can do stuff that identifier based on the keys set up data proof of things that i've done that can be block chain transactions they can be claims that I've signed and done published given to people of shame and a bunch of other things that people say about me transactions I receive whether it's whether it's everything from crypto kitties to spank train all of these things before a part of your identity however you link these things together is up to you so you put 1/8 at cessations this is our original version of doing off chain claims this was used just recently at East Enver so to sign up you first of all have to take some eath using meta mask and you'd get in that's a station that you use this and this once this you could eventually use to buy a ticket which was also a and that'sa station and as a station is one of the I think probably of 30 different words people used to basically say verifiable claims of verifiable whatever is so confusing even though those of us in the industry Jordi's laughing at media we don't have a big common name for it so are this allowed you to do a off chain interaction prove who you are and actually get your ticket finally and show it at the door it's Denver and enter so this is one very cool application for it this is also used in the city of soup for issuing residency certificates and there's tons of different projects that have been built on it problem with it is that it uses JW tees which are very very easy to use and verify in traditional applications it's very easy to do it in JavaScript for example or any kind of server-side back-end the w3c which is not the web 3 foundation for for all of these young people this is like the original web 3 who developed the web any years ago so they have we're working with them in the verifiable claims working group on a new set of standards and they use both jason LD and JWT we're moving into this as a primary claims format if you actually want to use this from smart contracts as far as I I know and I'm trying to keep up with all the latest solidity developments but there's no JWT verify function for json.parse function and solidity and even if you could do it which I'm probably sure you could is probably not like a really useful use for gas so to the rescue VIP 712 sign type data almost everyone I talked to about this confusing with with NF TS is it not NF TS as ei e 721 this is sign type data completely different and this is basically a very very cool new standards it's been out for complex to use but it allows you to create type data that can be signed by any modern web 3 wallet and you can have some structure in there some context you verify that this particular piece of data that you brought that you're signing can only be used in the context quite a mess this is done there's a many men it's a long review process on it and it's it's really really good it's all that standard now it's a little bit yes I said there's a little bit hard too hard to use both from a solidity point of view and from a JavaScript point of view we working on libraries from recent released each type data a JavaScript library that makes it very easy to work with it it basically it's kind of like an ORM so if you're in the old Ruby and rails developers there it's basically like active record just for like the cool stuff so it allows you to create business objects model them and go in and use them both off J and on chain so Miami Airport Sunday I finally this I've had this hack MP document working on this since since July and never been able to finish it finally finish this and pushed it on Sunday hope to get a lot of eyes on this because it's still or it's addressed still early and I really want feedback on it from everyone but this is a way of taking the verifiable claims model from w3c mapping it into this VIP 712 world so we can now actually use it in solidity in our smart contracts and so one quick example here I'm not gonna show all the boilerplate around the IP 712 you can have a for a a kyc use case again this this use case that none of us want to do but we kind of need to solve to avoid going to jail to get bank accounts for our businesses all of these kinds of things a typical way that people do it right now is do a lot of stuff off chain and then you a lot of processes that haven't that's handle off jail and now you just go in some central service goes in and white lists and address and one way you could do do it here is that you could first of all start with proving ownership of an address so any any web 3 wallets that can sign VIP 712 can just go in and create an ownership proof so this ownership proof could be I'm proving that I am the owner of this address and that could just be my own address the same address that signing it but it could also be linking it to another identity and then the separate process you can go through the typical identity verification step you know scan their Passport take a selfie wonder what happens to my my private data all that kind of stuff and eventually gets a VIP 712 verifiable plane that you have been verified now one thing to domineer it's actually very little in the way our private information in this particular thing it's just a statement cool thing about while sign type data is it the type itself is a statement there's a bunch of personal information that you need for regulatory reasons as a business to keep hold up but there's no need to put this under under chained this is how you can actually start using these things in a DDP are compliant manner even for putting stuff on that loft and further on where you can actually see the full examples that none of these examples are complete this is just stuff like quickly rolled out so hopefully me and others we can do so much better persons like this in the future but an example is you can have a a public function on a smart contract that takes a one of these planes like is there verify the identity claim and verify the signature there's one little interesting thing here there's a Loa field this is completely optional this is Loa is something that's used it means the level of assurance it's used in the EU ADIS signature scheme and it's made there are three levels of assurance it basically shows how much should be checked this data and this is something to make this legally ballots in the EU this is just the first start it's not the only part that we submit we used to make ëthere iam stuff an ADA compliant but it's first started to try to look into now I guess basically why is the subject of this verifiable plane all right so what can you do now you could now I don't have a different address I want to use on the same project on the same project I can now whitelist it myself because my original address is there so I can actually just go through a process post a transaction with another ownership proof that's goes in and verifies that I am this same this same person this artist represents this person that's argument in whitelisted now it's very easy to do these things the the other part that I'm not really showing here is that these proofs are reusable and I know you just you just stood up here dirty and said the reusable proofs is a bad idea I actually think in many cases it's it's the whole point of verifiable claims and in many cases it's not it depends on the context right so this helps the it's this help the onboarding if you can go through this process once of scanning your passport taking a selfie waiting repeating it because there's a problem with it all of these kind of things if you can do that once and then there's some kind of out-of-band function function where whoever it is that verified the identity originally shares the data it's a lot more stuff to solve than this but by having these particular verifiable claims you can make on-boarded repeated onboarding much much quicker and much easier another another use case that we get a lot of inquiries about sorry this is I know this is a cool easy conference and we're not supposed to talk about really like business these things like unsorted and stuff like that this is this is completely uncool but some sources they would really really like to do stuff funny theory even a lot of them would like to do stuff on public maintenance but the big problem right now is that they don't want to share all that much information about themselves this is also true in private chains and it's true and permission chains and they haven't figured out how to go in and create real applications without essentially merging in their entire Active Directory Network onto the blockchain so to come up with really really tacky solutions where there is a centralized blockchain signing solution it signs every single transaction for consortium member which for me doesn't really sound like it's super good idea so one of the use cases we were thinking about is that you can actually issue a delegate signing so you just like in na in the consortium you just have a single address listed in a simple registry for each consortium member and now these consortium member can issue application specific permissions to employees or to services or whatever it is whoever it is it needs to interact with it and it simplifies all of these all of these use cases allow and you don't each business doesn't need to know about who is the who is the head of procurement for whatever it is that these consortiums do so you can just abstract that away into a verifiable Commission clamps now this is another interesting use case for this in the ether magician's meeting yesterday we were actually thinking that this is also a really interesting way of giving that specific signing ability for certain things on behalf of the user you can use all of these things also to build meta transactions because if you think about it all of these that all of these public functions that have a sign type data claim and a yeah a B R and s it's basically a medic interaction as well so you can use these to build a standards-based meta transactions with standard UI for standard fundings meta transaction funding service where you don't need a proxy so this is a big win this is just a discussion that came up yesterday so lot more work has to be done I thought about this so how about presenting claims so we use the term presenting presenting claims when when I'm Sherry's like I am you know sharing my ID to the police officer who stopped me for going a little bit too fast and I apologize very much but there's my claim that I am the driver here that's why the identity the identity space they like to call this presenting their claims so if we present a claim in a transaction we can send all of these but we really really need to be careful about not sharing a personal identifying information there's a lot of really good information again I'll just repeat again go in find this PDF about watching and the gdpr for example a lot of people think okay all I have to do is just encrypt it or have a hash not that quick there are things that you can hash and you can encrypt but it's not everything so just think very closely about it before you start going in and putting putting people's hashes of people's sexual sexual preferences on chamber very interesting use case that I'm not an expert in state channels and but I'm interested in working with anyone who is working with state channels to use this to use this technology and state channels because what we can actually do now is we can start bringing in the structure type data where there's application-specific or whether it is a verifiable claims we can start bringing it in to the state channels so for example hubs and state channels which are kind of the the interaction like who the people who go in and manage general state channels between a bunch of different parties they could be required to have some kind of identity information in there but they don't actually need to store anything on the chain they could actually take they couldnt it helps initiate a state channel session using a identity plane there are many other kinds of use cases because identity claims doesn't always have to be available you know helping out the shadowy government organizations based in Paris it could also be building up a private social network or something using a bunch of different social claims that you can do put into your state channel so I think there's a lot of potential here and I'm really excited to see what happens in the next year on this you know final point that the identity claims themselves can live entirely on the state channel so you can actually have PII in there you can have private information there as long as whoever manages manages it safely so the status of this yeah I submitted the PR from Miami Airport Sunday I need lots of feedback on it we're working on preliminary JavaScript support and solidity support I'd like to have a library making it easier both to do to work with the IPS I've been told because it's still a little bit of pain and I'd like to have something like that submitted in to settle in and also specifically for specific kinds of of claims yes this the RFC doesn't specifically talk about domains contacts such as identity verification they're a couple of couple of examples in there but we need to go in and think way closer about it and help and start building up a bunch of different kinds of domains contacts schemas that can be used there and they can all be deployed that I believe to something like sacrament so it's easy to use bye-bye everyone also need to some better work examples and we will have support for this in you part mobile app and encourage other wallets to do this if there's some way we can eventually if we can figure out how to do so your knowledge proofs and stuff for this in the future I'm saying yeah questions [Applause] I'll try repeating so I'm not sure I understood where the claims lives and I can I use them to verify on layer one no specific claims first of all they the claims live where they live when you're on your phone for example so it's it lives locally they live off chain wherever you want to do it so they can be stored on the server for business those kinds of things and they can be reused but so they can be used only a one they can they can I can use my claims in to verify condition from my very feeble claims that leave on my phone and validate them on layer one and it doesn't use zero knowledge it doesn't use their knowledge but you actually get a lot of benefits because it's comes to Syria knowledge versus versus less is basically you need a trusted set up or you need a trusted third so you need someone someone you trust to issue a verification of a verification and then to not put any PII in there so essentially you this this is just something that can be that can be validated and you know you need to know as a consumer of this that you trust this issuer to issue you these kinds of claims hey I noticed that there's quite a bit of working around government regulations and and so on is there anything you do differently if you didn't have to comply with this regulations any sort of improvements or optimizations so so the government regulations is just one particular use case for this but I think for example GDP are I know everyone about GDP are but maybe a lot of maybe a lot of implementation of it's bad but it's I'd say it's the right thing to do regardless where the government to tell you to do it or not and in the KYC your front I mean I think I think the F ATF and most of our regulators and most of the banks who actually causing most of the more extreme regulatory use Kaiser is a pain in the ass I don't think it's doing anything anything particularly good but we have to we have to follow it but if it wasn't for that I think there's tons of really really cool things we can do with this we get identity is it's basically this is a trap and if you publish something straight to the blockchain then you're publicizing publicizing it but if you can selectively share connections between different accounts for example without doing it on Conte there's a lot of really useful information you can do in a much more privacy-preserving way with this and you can have lots more data for example the state channel the that could be tons of interesting applications for our state channels where you can go in and build complex data models that can be reused even across the across state trials for I had nothing to do with with regulatory aspects my hope actually is that we can come up with something way better eventually then then having you know a bunch of rules written in 2013 that we all have to open a bit abide by but to do that we need a lot more data we need we need to do a lot more experimentation make it easy to do so first it's more a comment than a question that just say that all good well let's provide signature for a p7 trailer we may not agree on what a good one it is but laser ledger and treasure don't support it so it's more like if anyone here from ledger or treasure or if you know someone from there that could implement the IP 712 I mean sure this guy will be happy and I will be as well because we'd like to use the signature scheme more and I'm sorry but I disagree not all good well let's support it soon I think part of it is having real real reasons we'll use cases that start giving demand for Wallace to do with this like meta masters I think there are a couple of others that support as well we do at your core and personal sign which is what everyone ends up using is is the signatures free signature scheme of the devil and everyone use adipic that that's what that's what's there but hopefully in the next year support will get all over the place I would really like letter to support it anyone else thank you very much

Automatic transcript — names and jargon may be misspelled.