we live in a world where there are very
few certification authorities most of
them are banks government's big
corporations but we want that each of
you each of us can be a certification
Authority that's the main goal of the
island free project we want to
democratize democratize the
certification part the claiming part
when we are doing a claim not matter if
is done by a government or if it's done
by your fake identity when they are
doing a claim cryptographically this
claim is exactly the same it's a claim
that can be proved tomorrow or any day
in the future before going deep in what
technically we were doing in iron 3 I
would like first to introduce three
concepts I want to introduce what we
understand as an identity what we
understand as a claim and when what we
understand as a proof identity I don't
want to go deep I don't want to enter in
philosophical philosophical definitions
and all that I will put you some
examples an identity can be a person but
can be a company can be an organization
can be a dau can be a government or if
you want even can be a thing you know
can be a microphone or can be a chair or
can be this room half an identity or a
bought okay
in we in an or system when we talk about
the identity mainly we refer to
identities as accounts we represent
identities by accounts in general they
are going to be smart contracts okay so
the address of a smart contract is going
to be or identifier of that identity the
next concept is about claim claim is
understand me
if you want and and not rightist a
statment okay so something that an
identity is saying most of the times
these talents refer to other identities
for example when a university is saying
that this a student make it make the
degree this is a stand man this is a
claim that the university is doing over
that student but if you think a little
bit you will see that almost anything
that we are saying can be not rights can
be converted as a claim examples an
invoice that's making a company I like
in a facebook can be an endorsement to
somebody else or if you want even a
single message a single email at the end
is a claim that I'm doing as you can see
there are claims that can be public but
there are so claims that can be private
claims is something that we are just
saying okay and the next and why we want
to do claims why we want to not write
claims
mainly because we want to prove those
claims sometime in the future and here
is these three actor parties they have
the claimer this game could be the
university that's doing the claim over a
student and then the student when goes
to for a job and is proving to the
employee that he already had this degree
and because there is this relationship
this truce Ness between the employee and
the university this proof is valid for
him okay these proofs can be many kind
of proof we will talk a little bit later
but can be on chain proof if you want to
prove to a smart contract of chain proof
when you want to prove peer-to-peer
public proof when you want to prove to
everybody there are many kind of proof
but the system at the end works about -
we're talking about this kind of
in area 3 what are the road or goals
what we won we won a system that first
of all must be private by design and by
default privacy is an important value of
iron 3-1 self sovereign identity we want
to address the key management we want to
be accessible usable we need to be
scalable and we also want to be
universal that is interoperable between
the systems ok let's go step by step
first cell sovereign identity what does
it mean with that that means that any of
you can create as many identities as
they won and this should be I would say
free creating an identity should be as
easy as creating a normal account it
does not need to have any gas and ether
or anything like that and we say that
self-serving because you full control
that and the same that the same way that
happened with when you hold a normal
account in Bitcoin you need these
responsibilities of keeping the keys if
you lose the keys in some way you can
lose the responsibility the same way
that in Bitcoin or in ether you if you
lose the keys you lose that you lose
that so because this responsibility we
need to work a lot in the key management
ok and this here we share a lot of the
problems that any wallet have here as
you can assume as you can imagine the
key should be revocable recoverable we
are thinking that we don't want the keys
to go around that belief among the that
leave the devices we are sharing a lot
of the concepts and we are a fully
alignment with I don't know if you saw
yesterday the Alexander's are a
universal login we work in that
direction one keeper application so the
key management is an important part of
these of this project
accessibility I think we want to create
a system that's made that goes
mainstream that everybody should be able
to use it so be easy to do so be easy
for anybody to start working in the
system this is for example and I'm going
and start into entering a little bit
technical how we are doing we are using
this when you are creating an identity
mainly what you are doing is creating
this contractual or if this identity
contract that you don't actually deploy
when you are creating that identity but
once you create this contract that's not
deployed yet they already have an
address
so these already have an address so this
identity is created already so you the
people can start doing claims on that
and all that without the user having to
do anything else that just running at
random dies at some point and creating
that identity scalability and here is
what we are going to go deep we want a
system where everybody can create as
many identities as they want but we want
a system also that anybody can create as
many claims as they want and to scale
that in a global basis so that we are
there are millions of claims in the
world we need to apply some techniques
that I'm going to describe next to
explain that how we anchored the claims
in the blockchain what we are doing
mainly is if I want to create many
claims I put all those claims in a
database I take this database I
construct a miracle tree of that
database and I just publish with a
transaction the root of that of that
miracle tree in the chain every time
that I have new claims I have changes I
could change the route or I will change
the route of the database as one chain
as you can see this is scales very well
for identities that may
a lot of claims example a government in
the government there are many things
that happen in a country there is people
does get born people that die people
that get married people that change
their addresses so the government just
with a single transaction per day could
abate the full database if you want
instead of one per day one per hour or
one every five minutes
but this is quite cheap for the
government just to keep a millions of
claims database okay but what happens
when an individual user a normal user
just wants to do one two three ten
transactions per day should they do pen
transactions should they do ten
transactions if they want to make just
ten claims and here is when we introduce
the indirect claims
what's the indirect claims here we
introduce a relay so when a user wants
to create a claim let me for example
saying okay I like this picture okay
this is a claim that I want to do but
instead of creating a transaction
abating my route of claims what times
what I do is I'm telling to our layer
let's think for a moment that this is a
trusted relay
we will see that that that's not
necessary necessarily but if it's a
trusted layer and telling to the relay
er a relay er I want to say I want to
claim that I like this picture so the
relay what could say you say Oh Jordi
makes a claim that says Jordi is saying
that he likes that picture okay this
would be an indirect claim but instead
of doing claim by claim what I'm really
asking to the relay is just to update my
wrote my route of claims a relay er
please update my fruit of claims so the
relay er just take that route of claims
and publish as a claim inside that and
you see this miracle tree that depends
on the other on the other America tree
okay but this system as you can imagine
quite a truce nests between the between
the user and the relator so in order to
solve to solve that what we are working
is in the truth less relayer
so what's a trusted relay a truce less
relay here is several layer that can
match it so layer that I can tell to the
river layer and the layer cannot publish
anything in the unchain to ensure that
the relay when the relay is publishing
when the relay is publishing that on
chain it's also besides that besides the
route it also adds zero knowledge proof
that warranties that disclaim or if you
want all the claims that are updated in
this change follows a specific rules so
in this way the user have the warranty
that the relay err will not what we
means with that of course the relator
can stop working maybe we have maybe or
maybe you don't get any proof from the
earlier of course the users also can
always can change offer a layer and
maybe change another to server layer but
if you get a proof from the layer you
know that this proof is valid valid
means that if this proof says that you
claim it something you can be sure that
this user claim it something or the
other way around if the proof says said
that you didn't claim something then you
can be sure that the user didn't claim
didn't claim that okay so and as I told
you to use that to work with that we
need to create this zero knowledge proof
as you can imagine if you want to if you
want to scale that we need to create
this big constraint circuit to create as
many claims per transactions and this is
where we are working later will explain
little bit the update on the zero
knowledge proof state let's go to the
privacy part because here we are also
using zero knowledge proof but this is
just to to prove things without
revealing the full identity in
for example that I want to enter to a
nightclub I want to prove that I'm 18
years old but I don't want to tell to
the entry people
Who am I where I live and all the
information about that so I can make a
zero knowledge proof that prove that I
really hold the key that according to
the government I'm 18 a year years old
but without revealing anything else
about my identity the same thing
happened for example with anonymous
voting if I when I want to vote when I
want to vote I don't want to reveal my
identity I want to vote I need but I
need to ensure that I can vote but I can
vote that I can that I am that somebody
claim it that I can participate in that
voting okay this can be used in this can
be use in in in this can be used so this
can be used for a for a voting system
another example that implies for example
as Marc contract would be an IC o----
may be an IC o---- requires that the
people that participate in this in that
IC o---- is authorized by a third party
because somehow I see from some legal
stuff I can't create an IC o---- a smart
contract IC o---- that accepts zero
knowledge proof that warranties that the
people that participate that it's okay
it's in the list it's now to write this
person but without revealing exactly
what I Who am I or even how much money I
spend on that on that on that IC o----
another interesting things that we are
doing is this concept of non-reusable
proofs
what's a non-reusable proof imagine that
i belongs to a political party according
to the political party so the political
party maybe makes a private claim on me
that I belongs to a political party
I want to prove him that I'm from that
political party but what happened if he
just published this proof to everywhere
in the world everybody would know that I
am from that political party a
non-reusable proof is a proof that I
can't send it to him and I have the
warranty that if he published that it
will not prove nothing of course he can
always say that I'm from that political
party and his information that he knows
but he will not be able to prove how we
do that
mainly is we're taking the proof I'm
from that political party okay and I'm
creating like another proof that says
okay I'm proving to you that I am from
that political party or I know your
private key of course I don't know his
private key so he is sure that I am from
that political party but what happened
now when he published that to everywhere
else he's saying his proof is saying
Jordi is from that political party or I
know my I know my private key so because
you know everybody knows that he knows
that he knows the private key is obvious
that he can generate as many proof of
those faking even if I'm or I'm not from
the political party so this part this
proof is not usable anymore so here is
more or less the technical details of
what we are doing of course
identity systems like this are required
in if not all most of the applications
in the space there are many uses to use
cases from reputation systems directory
systems signals saying simple sang ons
many I would say that almost any
application that you think that there is
like a login password will require an
identity system like that
what's the status of the project well we
have him working very hard for the last
four five months so it's a very young
project right now but what what we have
a chief right now we already have a
fully functional wallet wallet four four
identities where you can see where you
can create your identities you can do
start doing claims checking the claims
proving the claims and so on we have a
relator right now is still a trusted for
layer and we have been working also in
the zero-knowledge technology for the
zero-knowledge technology we just live
right now just created a couple of tools
one is a circuit compiler
it's a compressor well it just is a it's
a language where you can create
zero-knowledge circuits and you can and
and then we have another tool that's
called snarky I guess it's just a simple
JavaScript implementation of the of the
Zetas narcs right now currently we are
working hard in trying to scale the
generation of Zika snarks proof we are
working with different people in the
community and so on mainly the idea is
to try to or goal right now is to create
1 billion constraints in 10 seconds
that's our goal and we are working with
different technologies GPU FPGAs and
different technologies and seeing and
trying to check which one is the best
one for that and that's mainly my
presentation here are some takeaways
self sobering and identity should be a
scalable privacy by design have we have
this wallet and this key management
early version if any of you is
interested in checking and having a demo
here there is a bunch of people with my
shirt there we'll be glad to explain it
to you and also focusing in
standardization centralization is
something that we have not talked very
much but yeah we believe that the
the system should be very standardized
that's why we are just an association
it's an open-source project and we want
to work and contribute as much as we can
to a world where everything is more or
less than the rights and the system's
connects one each other
and that's my presentation thank you
yeah we have a fair amount of time for
questions if anyone has to me yeah I
just came back from the internet
identity workshop in California and it
was great it seems like a lot of these
conversations are happening around
identity in the internet right now it's
awesome I was curious if I'd entry has
an D ID method so be compatible with the
ID spec yeah the ID is just standard for
referring to the identities of course
it's absolutely compatible because even
there are some specific standards for a
theory based kind identities so yes it's
I would say that the current standards
are appliable the main problem of the
current standards is that all these zero
knowledge technology is not it's not
very much on their mind and you know for
example it makes no sense at all to put
a jsonparser inserted inside the cosmic
circuit so I would say that there are
some modifications and some adoptions to
those standards that we we need to take
with we need to take B in account in
order to adapt to this new kind of
identities so for application developers
what can we use yeah we have a we are
building III think it's quite ready but
we're building mainly an SDK where all
these all these basic functions of you
know creating an identity creating a
claim very proving a claim all that
should be embed as a black box
so we are working in this library in
this SDK where applications will be able
to build on that or goal for example or
applicator that but the wallet
application is just a reference
application we are working very much in
in you know in the in the protocol in
the standard so that
you know even if anybody wants to create
an application that horse identity is in
that side that should be perfectly
possible i cost revere Anahuac imagine
the use of Zika starts to alleviate this
sort of trusted relayer set up ZK starks
require the trusted set up is that a
concern editor is there anything like
malicious you could do if there was an
issue with the generation ceremony yeah
Zika stars we all of us this is a
concern you know this is the big pretty
I would say that the cars are quite
perfect except for that which is a huge
issue
so yeah just set up is a problem that
you have once we are thinking in of
course it's something that we are start
thinking and things and solutions on
that we have thinking for example in
using for example some trusted hardware
to do these these ceremonies of course
there is these multi-party computations
on that we need to automate in some way
or the other but the nice thing of the
truce is set up is that once you have
done that and if you very worried
believes in that ceremony it's valid
then the system is good forever so yeah
we are just analyzing different options
of that and yeah that's one of the weak
problems there are there are also all
these new technologies hysterics for
example that we are also very interested
in on that that they don't require these
true state ceremonies yeah they are
quite better except that when you want
to go on chain now they are huge I think
minimum was kilobytes of that and
putting that on chain at least right now
is quite a problem so that's why we are
sticking a lot in in the snarks but
clearly starks is technology that we are
start looking at and it's a another zero
knowledge technologies that are coming
from the research world
there was a someone had a question in
the back who has a mic no eats kid oh hi
maybe this is a longer answer but I was
actually unsure how when the receiver of
the identity he exposes the information
his private keys you were saying the if
he publishes the identity the his
private keys were exposed or he were
saying the sender of the identity their
private keys were exposed no the private
keys are not exposed and we are even the
private keys should not even leave the
device so private key is something that
only you hold and it's of I would say
that's it's very important in any
cryptographic system that private key is
keep keep sacred the only thing that we
are transferring from one side to the
other mainly are proofs of if you want
requests for proofs a please prove me
that you are 18 years old here comes the
proof okay so that's mainly what what
the data that's moving is about it's
about it's about proofs I want to
mention something that's important we
have not talked about where all these
miracle treats and all these data is
stored okay the data each user
each user should be responsible for
their data so if I'm doing claims all
the claims that I'm doing with all the
miracle the miracle notes all the notes
of the miracle tree I should care about
that data I can store that data maybe
there is some people that's comfortable
in storing that in a Google cloud maybe
there are some governments that they
have their own premises maybe there are
solutions that people that want to store
those data in an IP FS in an encrypted
way ipfs and maybe using no say no
cipher just to access
so there are many options about where
the user keeps that data but in a cell
sovereign system ajusshi user have to
take care of his data of course we can
provide tools for in order to have the
users but it's important that we
understand that when they when you have
a censoring identity you own your
identity and that means you own your
data question so as a developer
obviously I'm very interested in what
you're doing I'm gonna take a look at
your library I'm over here okay I'm
gonna take a look at your github
libraries as well as your documentation
one thing just to help me when I start
that journey is you know compared to
what is being developed by you port in
the etherium space or you know sovereign
or hyper ledger indie on their own chain
how would I think about this effort in
this technology in comparison to those
yeah well we are different different
projects that maybe we have different
views we are all of us working together
we are connected on each other and we
are just working I would say more or
less in the same direction but if even
if there are different projects that are
trying to do a little bit the same at
the end end users the developers the
people will just you know be the the are
they were they will say which is one the
the one more the one was useful to them
so it's a what do you mean by connected
though is there an interrupt just
looking to do just connected mean that
I'm connected with most of the people
that's developing and we are trying to
you know for example the three magicians
and in different environments there is
to try to generate those standards and
those standards that we are aligned on
that and trying to get consensus in what
are those protocols that appear the main
problem here is that now the technology
is not clear yet so I would say first we
need to
the develop the technology develop some
applications see how the people how the
people is using that how the system
works and once the reason adoption of
those technologies we can start thinking
very much in what what what what are the
best standards if we define the
standards prematurely
we have women it's possible that maybe
the standards would not be working and
maybe we will have having another de
facto standards
so here the tempos are very important I
think it's important that there are many
many teams that are working in in in
solutions like that or sort of solutions
similar to that and keep working and
being aware of what all the other teams
are doing just being transparent and you
know the nice thing of open-source is
that we don't have to hide anything just
just talk and if they are battery
there's as an example alex van der Sar
is doing an incredible job in the login
we are just going in that direction
maybe there is some security issue that
we are not what we don't see it clear
okay we will tell them we're attack him
hey what happened with this and there is
will be a talk and there is a feedback I
really mean our limitation between the
teams and if we work that way mmm I'm
sure that we can get a good we can get a
good consensus of that and if we don't
get the consensus maybe it's because
there is two approaches that make sense
and at the end the people the market the
community will decide which one is the
best one last question
all right Jordi thank you for work
really appreciate it
right here
I was hoping you'd indulge us a little
more I'm very curious about how you made
it a one-time use proof with the private
key could you really reiterate that one
more time
the one-time proof the proof that not
reducible proof you mean yeah okay yeah
okay that is imagine that I want to
prove that I am from a specific religion
okay I don't want you just you
understand that you I don't want you
that you are able to prove to everybody
else that I'm from that pollution but
actually I want to prove you okay so the
proof that I'm sending to you is a proof
so I am proving to you that I either
I'm from that religion or either I'm I
hope I have your private key which I run
okay so I will be able to create a valid
proof if I have your private key or I am
from that I'm and I'm from that religion
because I don't have your private key
the only way to generate a proof of that
kind is by really having the having so
happy having the claim that says that
I'm from that religion okay so when I
send you that proof you have the
warranty the time from that religion
because I don't hold your private key
what happened when you take that proof
out outside when you publish that proof
you are saying to the people world
surely is either from that religion or I
hold my private key so everybody knows
that you hold your private key so this
you can't generate as many proofs even
as you want if I'm from that religion or
not so this proof to the people is not
valid anymore it's not a valid proof
other thing is that you can do a claim
saying Jordi's from that religion but
then it's according to you that I am
from that religion not according to the
church
the time from that religion that's the
difference of course when I proving
something to you I am giving some piece
of information okay but I'm giving to
you
I'm not giving a proof so what I'm not
giving is the capacity to prove that
that information is valid okay and
that's that's very I think that's very
tricky here I have to thank you a lot
here to Vitalik because the rare comes
from him in instances but I think it's a
cool idea
you