Proof Of Humanity, a Sybil-resistant list of humans
ETHCC 3 · March 2020 · 35:31
Clément Lesaege introduces Proof of Humanity as a sybil-resistant list of people.
Speakers
Topics
From ETHCC 3, hosted by Ethereum France.
Transcript
hi everyone so today we can I speak about civil attacks and proof of humanity so let's take a really basic problem of all two distributed cryptocurrency ideally we will want to just give the same amount of token to everyone and be fairly efficient but if we just do one token 1 1 twitch account we're gonna have this happening we're gonna have a malicious user who is gonna register tons of account and get most of the coin so because of that we could not just do one person one coin we had to use proof of work so at the beginning
with proof of work the idea was to be one CPU one coin but unfortunately we got - we got ethics with your difference in CPU power and it did not end up that way so even proof of work is something which was created for against this bill attack and it cannot manage it to avoid bit attack but led to some really unfair result where we have a few huge minor which gets a coin and most of the people are unable to mine so we cannot solve the problem but not in a fair way so
let's see about other use cases of antici bit systems so we spoke about basic income which is one one person one coin user freebies and a drops so we've seen that we put some a drop and we got a lot of people registering and I think some of them were not pretty legit and we'll just like fake account fake social media current some of the project they also look at Acer mattress for how long they had is on them a minimum of is on them and it work for one time because people were not aware that such Elrod would be will be done but now if you try to do that again we're gonna have attackers which I'll
just put there is in two tones of addresses and get way more drop quadratic funding we're speaking a lot about good coin and nickel grants so here you can see with AB and awesome Griffiths so is AB got $5,000 walls of the nation which was led to 50 to $60 worth of matching and austin got $8,000 worth of the nation which led to only 15 there are so much single so we can see with this quadratic funding is that the matching that you get is not just proportional to the amount of donation
that you get you can see here or we compute quadratic funding matching so basically if you have two donation of five is you're gonna get more matching than if you get one donation of the knees so again we get an identity problem which is if I want to maximize my matching I can just split my donation in a lot of different accounts so currently that's really like a community project that donation that like blockchain for good so we didn't really see that much attack on the systems but it's working basically because no one is trying to effectively attack them yet
and because there is some centralized point where they could eventually concert the grants in case of attacks democratic governance we speak a lot about blockchain governance we speak a lot about what is legitimate to make decision in Israel and we've seen stuff like Cohen voting with stuff like minor vote minor explanation of what they would want for the system but Cohen voting is generally plutocratic if you are away if you are busy we tend to have way more coin than a small older and mine only is a very
specific part of the community and may not have incentive which are matching the world community and if you want to make some Ocwen voting that's impossible because I can just create tons of fake icons under collateralized loan or on collateralized loans if you want to allow people to borrow some money and not ask any collateral which is what most of the people seen when they speak about loans you need to have a civil resistant identity system because otherwise I can make an ID I can take a loan never pay it back make a new ID take another loan never paid back so it's not practical you cannot lend money
to people if you cannot control what is a user in your system and you can just simulate being tones of multiple users so perhaps the oldest problem where we got severe attacks was in spam so initially proof-of-work was created for that was created to to avoid spam it was created to as a way to require of some computational work for sending some emails in practice it was never already took off and people use filter and other kinds of other techniques but it has the basic goal and the basic idea behind
proof of work so if you are in an app and let's say that we all know social network like the web street version of Facebook or do you prevent someone from making a bot which is writing on every kind of pause which is priming everything if you have identity you can limit the amount of post to the number of poles that a human can reasonably make but now if you don't have to be resistant identity I can just create tons of fake account and each of my seconds is gonna post ten posts and they are not gonna be in together and I can spam the network so in the web - there has been some way to cannot like I leave it that but they
are not really user-friendly we end up writing CAPTCHA making some reading some door number which are some time quite unreadable we have fun verification but even phone verification is not that severe proof because you can just buy tons of of SIM card to simulate tons of user so even in web - that's the problem which is already like unsolved so now that we've seen that's what the problem is was important we can ask ourselves is this problem odd and it may seem that it is so we spoke about civil attacks since 2002 within this research paper
introduced by Boozer and he produced and give proof of thalamus about spell attacks so the first one is if P if P is a ratio of the resource of a faulty entity F to the resource of a minimally capable entity then F can present G equal P run it down distinct and delta T look to the local entity L what does it mean basically it means that if for example we ask one CPU to be considered to be one identity if there is someone which has six CPU it can be considered to be six identities so you could say
okay yes too much identity let's increase the requirement and now require six CPU to be considered an identity but no everyone else doesn't have any identity so if you will use some system link to prove of walk will be machine walk or will be human walk you have some user which can produce more work than other and so they are going to be able to get more identities than others other problem if a local entity L accept entities that are not validated simultaneously then a single faulty entity F can present arbitrary large number of this tank identity to entity l so what does it mean it
means that if you add some proof of work and you don't ask this prologue to only be done within a specific time frame you can have an attacker which is going to do it in the first time frame but also canid within the second time frame a third time frame and it's going to do it over and over and get more identities so if you want to use proof of walk you need to verify every one at the same time so okay perhaps proof of walk may not be is that useful to do sibbeston system now let's look at a graph based system let's seem like okay you want to be added into the network you need to have
people internet walk watching for you but again we get this lemma so if for like an entity L accept any identity vouch for by Q except identity then a set f of all t entities can present an arbitrarily large number of this tank identity to L if either of the amount of entity in F is greater or equal to Q all the collective resource is available to F at least equal to those of Q please the amount of entity in F minimally capable entities so what does it mean if we have for example to require connection to be added to the set of exited identities as long as an attacker
get used to connection you can add another identity then use it to add another identity and add another identity so you could say okay let's ask for five people to add new identity but in this case when the system will grow as soon as you find five managers participant you can keep adding and adding extra fake identities so last lemma if the correct entities in a set C do not call in a time interval during which the accept identity and if a local entity L accept any identity which by hue acid identities then even
minimally capable faulty entity F can present G equal number of number of entity in C divided by few burned it down to L so basically what does it mean it means that if to add someone to your list of entity you trust you ask this person to do some work so for example you could make a video and you need to do the video in front of two people and verify that you perform a task in this video you can attack the system by doing the video in front of two people and then you can choose to other people and to other people if the video does not need to be done synchronously not be
done at the same time so you can keep adding new identity by finding new nodes of the network and giving them some proof of work at different time to create fake identities so yeah that seems to be quite hard that's also quite all problem because that's 2002 so now let's look at solution out there so perhaps the most old views of simpler solution when you get this kind of problem is we fall back to the centralized system and we single case it will be decentralized state or decentralized agency which is going to give us some identities so you have
passport passport hundreds that's useful but some country like Estonia are providing you some ID card that you can use to sign so we could say okay let's let's stay do that in practice or that Wis to be quite problematic because if you allow any state to create identities we just need one Rock State North Korea for example to just create tons of fake identity to overcome the network so it's not a satisfactory solution in the Amoco system we saw the first project trying to solve this problem which was the humanity doll made as a side project by member of the mobile
team so this is basically you created registry with the simplest scheme possible you have token orders when there is someone asking to be added to the registry he puts a deposit and token orders a vote to accept it or reject it and there is no reward involved we just have to can order watching been apparently if possible but I'm not finished if they do bad words so it was it worked a bit at the beginning but quite soon we got problem of having either some real people we didn't get
accepted because the social media were not for prolific enough and we also got people managing to use fake social media icons to create proof of humanity to create you managed or extra entities so we basically got the same problem that we will get industrial media which we are not seen proof assistant so we cannot create a civil proof resistant system by using data of a preview system which was not proof resistance in the first place so the experiment ended up perhaps like 1 months ago and overall less than half of the applicant we're added to the registry there were a few people which managed to be added
multiple time but the biggest problem was that real people did not manage to get added because they did not seem real enough even is aware another project which is quite interesting is idea here you can see flips so that stories which may we wish normally have a specific order whether there is one order which make more sense than the other one so if you see that the order on the left makes more sense please raise your hand order on the left is the one making more sense one two so approximately 2000 33 people sorry the other on the right 1 2 3 3
people enough 5 5 5 ok and if you think none of that makes sense to you and none of them make sense yeah 8 ok so we got like 33 5 and 8 so we can see that for most people so 33 out of 50 which answered the left one makes more sense because there is some water in a glass a cat goes there we put water on the ground and then you need to clean it up so this makes sense and this project is using those flips and asking of you see people to do that at the same time because otherwise we get the problem of of lemma 2 which is that you
could keep doing verification all the time and get more identities and people doing it only once and you also get the problem of lemma 1 as you can see in the room some people were better at solving those flips than other people so you may get one identity if you're a normal person if you have trained a bit you may be able to get two or even twenty three if you become really good at solving those flips so that solves the problem more or less - one two three order of magnitude let's say also range of approach can be so sure graph analysis so that's what we are looking in a limit
three and four we can have algorithm to evaluate social graph to find if it makes sense or not so here we have a tightly connected cluster lot of people all connected together so that's may seem fishy so that's maybe in attack and not real people or here we have some loosely connected cluster so there is only perhaps two or three participant of this cluster which are linked to the general Crestor and then all of those are linked together but not to the rest of the cluster so again it looks a bit strange you have algorithm to evaluate that to evaluate if a particular node is likely to be a civil or not one limitation of
this kind of system is a mirror attacks so if you have this graph and I'm an attacker and in this case I just have the complicity of this person on the bottom I can add other identities to make a mirror graph and now you have from algorithmic perspective I don't steal on the left and identity on the right are equivalent so an algorithm we just get this graph we have no way to find out which part is the Seabee part and which part is the legit part so for this graph based method we need to rely on a trusted set so some initial node
need to be trusted from the beginning and they are used to evaluate the likeliness that also nodes are real people on it so you have the bright idea project doing this kind of approach okay so now that we've seen the problem was odd the problem was useful and if you also a method which we are used by user project so two of the project there were not based on Instagram so it's not really helping us when we want to make a DAP which need to have a civil provider entity and even in Sadao basically is over and the project is closed so we end
up having no way to get identities on asylum which has to be proof so let's present what we are developing proof of humanity so whispering over Manatee we're gonna combine graph based approach and TCL based approach so I want to add myself to the list of real human so I'm gonna put a deposit I'm gonna complete some information I'm going to put a small video of me we say hey I'm a really man a lot in this registry please add me to the registry and put my address but it's not enough I need to find people while already
registered so I'm gonna find someone who is gonna vouch for me I'm gonna find another person on Michigan average for me and now I have a complete submission I have some already registered people watching for me and I have an entry that I want to add in this GCR so now I'm gonna wait and apparently you all seen a mainly legit there is not that much in this registry so no one looking at looking like me there so nothing is gonna happen and after a challenge period I'm gonna day get added to the registry and yet my deposit back now let's look at what would happen for malicious people so here an attacker
first he's going to need to find two people watching for him which is possible there may be two people one malicious that's ready that's quite easy to find he's gonna put deposit is going to put this information and he's gonna ask to add himself in the registry fortunately we can have a challenger which is looking at the registry and it may be benevolent or images want to make money by taking the deposit of attackers so he's gonna challenge this registration he's going to have it has different reason to challenge so we could say that the submission is
incorrect so it's mainly it's a procedural Aurora who the video was not done according to specification the address is unreadable so basically I'm not saying you're a bad guy but you did not follow the rule and I don't think you should be registered this is which can also be a problem because as a registry of human we want to registry of humans which are alive because otherwise we're gonna end up with tons of high density of people work dead which can be traded so we don't want that so if someone was already register one or two hundred years ago we may want to put more scrutiny and verify this person is still alive and potentially challenged if it's someone
who's already dead duplicate that's where it gets interesting so all the people in the registry we can see information about them we can see the video and now if I try to register a second time someone can point out to the produce video I made and ok those two people are the same that's a duplicate and that's a fake registration and it should not be added at the beginning if you do see it like four people in the registry you can do that manually if we end up having like thousand or 100,000 you will obviously have some specific tools which allow you to match people who are looking alike and then you do
your human walk but you can do some computer assisted work to find duplicates and it does not exist which is basically it's not a human I drew a video of someone I made a fake video of someone and I try to buy that registry now some people can be a bit scared about the fake because we could just make tons of invented and fake people to register in practice defect creation algorithm contains a defect detection algorithm so even if there is some kind of arm race between the fake and humans the arm race is not that Valley the algorithmic level so you can use the same algorithm to create the fake to
detect defects so in our case here that was duplicate the guy was already registered so honest participant or just a participant which want to get paid he's gonna challenge you can put some evidence to support your claim and in particular if you think that is a duplicate you're going to need to point out which mission it's a duplicate of then we go to kleros you've seen a dispute resolution system in some of the other tolk so it's gonna draw some jury members and they're gonna look at evidence of both parties and in this case they're gonna
conclude that okay those two DVB they really look alike so probably that's duplicate and we should not accept into the registry some part of the deposit is going to be used to pay the juror and some other part of the deposit is gonna be used to he wad the Challenger to challenger he what he well but obviously most of the time most of the submissions they look the submission of honest people so when they find honest people they are not rewarded but perhaps one in 10 or 1 in 100 that they find which is a dishonest mission should reward for all the watchdog work that they are doing here we can find something for interesting how about attacks is that we don't need
to have a perfect Teesha we don't need to have a perfect jury system we don't need to find out all the attackers because we had the devil and this prisoner guy which watch for fake submission we got them removed from the registry so the system only need to catch an amount of fake identity of thanks mission such that the probability on attack success is lower than one minus one divided by the number of watches so in this case because we has two watches as long as you go probability to make a successful attack
is lower than 2/3 you on average don't win identities like if you have to sell two out of three time you're going to win one identity one or two three time you're going to lose two identities so on average you don't win or lose identity on average you just lose money from deposit so well this is interesting because even with an imperfect system we can make identity creation and sevilla attack infeasible so you may be some time be able to make fighter identities but by doing so you're risk removing your real ones now that we've seen the system I guess a lot of you could sing
okay we are linking our identity into a block sensing where everything is transparent aren't we like putting this kind of dystopian system that we were trying to prevent when we started walking in the centralized technology if we were to do just that yeah we sought anonymity yeah that would obviously be very very bad from a privacy perspective but we can use a method which are quite similar to the method to mix the cryptocurrencies to mix identities so we have this wonderful tool which is possible ring signatures well we can have a ring of people which can sign some message when they sign a
message we know it's someone observing we sign this message and if someone sign two messages we can find out that someone sign two messages and we can find out who sign those two messages so basically where people can come with the identity make a ring signature scheme sign to create a new identity and if everyone sign only wants each get a new identity which is not linked to the previous one he's on one sign multiple time is gonna not get anything that's gonna be funded by the contract that two signature came from the same address but only if two signature come from the same address we
can find out that this person sign multiple time otherwise we don't know who sign so by doing this we are basically mixing identities it's not perfectly privacy-preserving because even if you don't know which identity belongs to room you know that an identity in gray belongs to someone of the cycle in practice we can either use the bigger cycles and you could even have multiple wounds of anonymization to get better anonymity between participants so that's on the second layer of technology possible so I present Sid the spirit act problem which is acquired all one quite
odd one I presented a few solution which are there in the global web ecosystem and that we don't have anyone for the Assam ecosystem as of now we presented proof of humanity which currently has UI design done and as a small contract down and we are still working with people of democracy earth and of the chaos team to implement front-end to that and obviously you are very welcome to participate and help all just welcome to use this system once it goes live for your application which requires some identity or on spam tool thanks everyone [Applause]
we have a bit of time for question any question yeah yeah thank you very much let's say that the system gets really big for example a million users how would the prevention of an attack or not an attacker who would apply on one end of the system and on other end of the system how could you prevent that oh so you can use a computer-based tool to find out if
- video submission awesome enough and at the end of the day of course you have a human which is gonna create a challenge or not but they can be helped so if you have a new submission you can have a tool which if you okay these are the ten people looking at most alike so try to verify if one of them is already is a correspond to this new submission and if it does you can challenge it but at the beginning as long as at the beginning we don't need to develop this kind of system at the beginning because at the beginning we can I get one of the people everyone is gonna know and by the time we get this amount of people we have time to use the solution and that's image processing so a machine machine
vision solution which are already out there we just need to apply them to this particular use case but that's technology which already up there and it's the video stored after that verification is completed on ipfs yeah that's why it's super important to mix identities after because you don't want to have your activity linked to the video that you may you know you said that you you require a proof of the non-existence of a person and I can hardly imagine what such a
proof could be because it's hard to get out to prove a negative so in this case you don't really prove that they don't they don't exist you prove that the video was like drawing or was a deep fake but was not a real human behind and if you want to prove that's a deep faith you're gonna use some defy detection algorithm which are gonna give you a likelihood try to build a fake and if this person cannot give additional evidence showing that they are real that they all know that you fake is they're gonna get rejected but you don't need to do huge Cugini to everyone you only need to do like due process when you have people challenging things a lot for talk
a speaking of the deep fakes I mean I'm not a data scientist but looking a bit into the future like five to ten years I'm certain that we will have a like defect detection algorithm that will be able to separate defects from actual video or picture content cause because I think like high-level machine intelligence will definitely or intuitively I would say that it should be possible to so it's possible to have a change of like paradigm in the way that you might be fake with the current way that people may do fake is through adversarial neural network where
basically you have a detector Network and a generator network so you have a generator network which is creating some 70 fake which are the beanie already really bad and you have a detector Network which we detecting if the artifact or not so to generate your detective fake it's sent back to the detector talk if some ranking of or likely they are to be difficult and then the generator uses information back to readapt to generate more convincingly fake on the other side the detector can then also use after of the detection use information of the generator if the a real image or inside if eight
because you also put a real image of real people to train the detector and then the detector readapt so you have this kind of arm raise between a detector and a generator which is address our machine a toy at the cyano a network which is used currently to make defects it's also possible that at some point you may have better generators and detector through all the means of generating defects but in this case the system is quite flexible you could ask other kind of evidence like if one kind of evidence becomes really easy to fake you can make a good entrance vote and change what is what other admissible evidence and the
governance board you can even do it with one people one voice using side the Civic of identity which is created okay thanks last question okay okay so thank you everyone and not hesitate to say hi to me and we can speak more in depth thank everyone [Applause]