Zero-Knowledge Proofs and Self Sovereign Identity - Jordi Baylina, Iden3

ZKProof Standards
30 Apr 201921:17

Summary

TLDRJordan Malina präsentiert in seinem Vortrag die Entwicklung einer souveränen Identitätstechnologie, die auf Zero-Knowledge-Prinzipien basiert. Er führt in drei Abschnitten ein: Einführung in das Projekt, Roadmap der Entwicklung und Anwendungsmöglichkeiten von Zero-Knowledge-Technologie im Bereich der Identität. Er diskutiert Tools wie Circumcircle, eine DSL für Schaltkreise, und die Verwendung von Sparse Merkle-Bäumen für skalierbare Identitätsprüfungen. Zudem skizziert er den Einsatz von Zero-Knowledge-Beweisen für anonyme Authentifizierung und vertrauliche Behauptungen. Der Vortrag endet mit einem Fokus auf die Bedeutung von Standards und die Notwendigkeit einer offenen, kollaborativen Entwicklung.

Takeaways

  • 🌟 Jordan Malina spricht über Identität und die Anwendung von Nullkenntnis in diesem Bereich.
  • 🛠 Die Präsentation ist in drei Teile gegliedert: Einführung in das Projekt, Roadmap und Anwendung von Nullkenntnis in der Identität.
  • 🔍 Ziel ist es, ein souveränes Identitätssystem zu schaffen, das in offener Form entwickelt wird.
  • 🌐 Es wird ein offenes Protokoll und eine Referenzimplementierung erstellt, um Technologien zu fördern, die für souveräne Identitäten von Bedeutung sind.
  • 🛡️ Die Technologie soll standardisiert werden, um ein besseres Verständnis und bessere Standards zu erreichen.
  • 🔑 Die Diskussion um Nullkenntnis-Technologien und deren Schlüsselrolle in der Entwicklung von Identitäten wird betont.
  • 💻 Es werden Tools wie Circumcircle, Circumlips und Large Gas vorgestellt, die für die Schreibweise von Zirkuits und die Generierung von Nullkenntnis-Beweisen wichtig sind.
  • 🌐 Die Idee hinter souveränen Identitäten ist, dass jeder seine eigene Identität erstellen kann, die durch Behauptungen (Claims) definiert wird.
  • 🌳 Merkle-Bäume werden verwendet, um die Identitätsbehauptungen zu organisieren und zu verifizieren.
  • 🔒 Die Identität kann durch Signatur und Nullkenntnis-Beweis geschützt werden, um die Integrität und Authentizität zu gewährleisten.
  • 🔄 Die Präsentation diskutiert Lösungen für skalierbare Identitätssysteme, einschließlich zentraler und dezentraler Ansätze.
  • 🔗 Die Notwendigkeit einer dezentralen Identitätsermittlungsprotokolls wird hervorgehoben, um die Interoperabilität zwischen verschiedenen Identitätssystemen zu gewährleisten.
  • 📝 Die Anwendung von Nullkenntnis in verschiedenen Identitätsbereichen, wie anonyme Abstimmungen, Logins, Reputationsnachweise und Cross-Identitäts-Nachweisen, wird dargestellt.

Q & A

  • Was ist das Hauptziel von Jordan Malinas Präsentation?

    -Das Hauptziel ist es, in drei Teilen zu erklären: Einführung in das, was sie in 'item 3' tun, Diskussion über den Entwicklungsweg und die Hauptbausteine ihres Systems und schließlich Ideen, wie Zero-Knowledge-Technologie im Zusammenhang mit Identitäten eingesetzt werden kann.

  • Was versteht man unter einem 'sovereign identity system'?

    -Ein 'sovereign identity system' ist ein System, bei dem jeder in der Lage sein sollte, seine eigene Identität zu erstellen und zu kontrollieren, ohne auf zentrale Autoritäten angewiesen zu sein.

  • Welche Technologien sind nach Ansicht von Jordan Malina für das 'sovereign identity'-System entscheidend?

    -Zero-Knowledge-Technologien und offene Protokolle sind entscheidend, um ein dezentralisiertes Identitätssystem zu schaffen.

  • Was ist Circumcircle und warum ist es wichtig?

    -Circumcircle ist eine DSL-Sprache zum Schreiben von Schaltkreisen, die für die spezifische Entwurfsarbeit gut geeignet ist und zeigt, dass Circum ein guter Ansatz für Schaltkreise ist.

  • Was ist das Konzept hinter einem Zero-Knowledge-Beweis in Bezug auf Identitäten?

    -Ein Zero-Knowledge-Beweis ermöglicht es, eine Behauptung oder Identität zu bestätigen, ohne dabei die zugrunde liegenden Informationen preiszugeben.

  • Wie wird in der Präsentation ein Identity durch eine Merkle-Baumstruktur dargestellt?

    -Die Identität wird als eine Sammlung von Selbstbehauptungen dargestellt, die als Schlüssel-Wert-Paare in einem Merkle-Baum organisiert sind, dessen Wurzel die Identifier der Identität ist.

  • Was ist das Konzept eines 'Trustless Operator' und wie funktioniert es?

    -Ein 'Trustless Operator' ist ein zentraler Knoten, der ohne Vertrauen in seine Integrität funktioniert, indem er Zero-Knowledge-Beweise verwendet, um die Herkunft von Transaktionen zu verifizieren.

  • Welche Anwendungen von Zero-Knowledge-Technologien im Zusammenhang mit Identitäten wurden in der Präsentation genannt?

    -Anwendungen umfassen anonymes Abstimmen, anonyme Anmeldungen, Reputationsnachweise, Cross-Identity-Nachweise und nicht wiederverwendbare Beweise.

  • Was ist das Konzept von 'non-reusable proofs' und wie wird es in der Praxis eingesetzt?

    -Non-reusable proofs sind Beweise, die nur einmal verwendet werden können, um die Authentizität zu gewährleisten und das Weitergeben des Beweises zu verhindern.

  • Was ist die Rolle von Standards bei der Entwicklung des Identitätssystems?

    -Standards sind wichtig, um die Interoperabilität zwischen verschiedenen Identitätssystemen zu gewährleisten, aber sie müssen零知识 bewusst sein und auf der Basis der entwickelten Technologien erstellt werden.

  • Wie plant Jordan Malina, die Interoperabilität zwischen verschiedenen Identitätssystemen zu erreichen?

    -Durch die Entwicklung von offenen Protokollen und die Zusammenarbeit mit anderen Systemen, die auf ähnlichen Standards basieren, um eine Schnittstelle für die Datenaustausch zu schaffen.

Outlines

00:00

😀 Einführung in Zero-Knowledge-Identität

Jordan Malina präsentiert in diesem Abschnitt das Konzept der Zero-Knowledge-Identität. Er teilt mit, dass er in drei Schritten vortragen wird: Einführung in das, was sie in 'item 3' tun, Diskussion der Entwicklungsroadmap und der Hauptbausteine ihres Systems, und schließlich Ideen zur Anwendung von Zero-Knowledge-Technologie im Zusammenhang mit Identität. Sie betonen die Bedeutung von Open-Source-Entwicklung und Standardisierung in ihrem Ansatz.

05:03

🛠️ Technologische Grundlagen für dezentralisierte Identität

Dieser Absatz beschäftigt sich mit den technischen Grundlagen für eine dezentralisierte Identität. Jordan Malina erklärt, wie sie mit Open-Source-Protokollen und Referenzimplementierungen arbeiten, um eine dezentralisierte Identitätslösung zu schaffen. Er erwähnt verschiedene Tools wie Circumcircle, Circumlips und Large Gas, die für die Schreibweise von Schaltkreise und die Verifikation von Transaktionen verwendet werden. Zudem wird die Idee einer dezentralen Überprüfung von Identitätsansprüchen durchgeführt, um Skalierbarkeit zu erreichen.

10:05

🌐 Merkle-Bäume und dezentrale Identitätsansprüche

In diesem Absatz wird erläutert, wie Merkle-Bäume verwendet werden, um Identitätsansprüche zu organisieren und zu verifizieren. Die Wurzel des Merkle-Baums dient als Identifier der Identität und ermöglicht es, mit minimalen On-Chain-Aktivitäten skalierbare Identitätsansprüche zu verwalten. Es wird auch über die Idee eines zentralen Notars gesprochen, der später durch eine dezentrale Lösung ersetzt wird, um Vertrauen und Skalierbarkeit zu gewährleisten.

15:06

🔍 Identität und Ansprüche in der Kryptografie

Dieser Absatz konzentriert sich auf die Rolle von Identität und Ansprüchen innerhalb der Kryptografie. Jordan Malina erklärt, wie Identität durch Ansprüche dargestellt wird, die wie Schlüssel-Wert-Paare in einem Merkle-Baum organisiert sind. Er diskutiert auch die Idee der Verwendung von Zero-Knowledge-Beweisen, um diese Ansprüche zu verifizieren, ohne die Identität des Betroffenen preiszugeben.

20:08

📈 Roadmap und Anwendungsfälle für Zero-Knowledge-Identität

In diesem letzten Absatz präsentiert Jordan Malina die Roadmap für die Entwicklung ihrer Identitätstechnologie und skizziert verschiedene Anwendungsfälle für Zero-Knowledge-Beweise in der Identitätsverwaltung. Er erwähnt die Verwendung von Zero-Knowledge für anonyme Abstimmungen, anonyme Logins, Reputationsnachweise und Cross-Identity-Beweise. Zudem wird die Idee von nicht-wiederverwendbaren Beweisen vorgestellt, um die Privatsphäre der Benutzer zu schützen.

🤝 Diskussion und Zusammenfassung

Zum Abschluss der Präsentation findet eine Diskussion statt, in der die Interoperabilität zwischen verschiedenen Identitätssystemen und Standards thematisiert wird. Jordan Malina betont die Bedeutung der Zusammenarbeit und des Austauschs von Ideen, um die Technologie in den Mainstream zu bringen und Standards zu etablieren.

Mindmap

Keywords

💡Zero Knowledge

Zero Knowledge ist ein Begriffspaar aus der Kryptographie, das sich auf die Fähigkeit bezieht, Informationen zu verifizieren, ohne dabei die tatsächlichen Daten preiszugeben. Im Video wird Zero Knowledge als Schlüsseltechnologie für die Erstellung von Identitätssystemen beschrieben, die es ermöglichen, Behauptungen und Identitäten zu verifizieren, ohne private Details offenbaren zu müssen. Ein Beispiel ist die Verwendung von Zero Knowledge-Beweisen, um eine Person zu authentifizieren, ohne ihre Identität preiszugeben.

💡Sovereign Identity

Sovereign Identity bezieht sich auf ein System, bei dem jeder die Kontrolle über seine eigene Identität hat. Im Kontext des Videos bedeutet dies, dass Individuen in der Lage sein sollen, ihre Identität selbst zu erstellen und zu verwalten, ohne auf zentralisierte Autoritäten angewiesen zu sein. Das Konzept wird als Kern der von der Rednerin beschriebenen Identitätsplattform dargestellt.

💡Merkle Tree

Ein Merkle-Baum ist eine Datenstruktur, die häufig in Kryptographie und speziell in Blockchain-Technologien verwendet wird. Er ermöglicht die schnelle Verifizierung von Datenintegrität und wird im Video als Teil der Identitätsstruktur genutzt, um Behauptungen und Identitätsänderungen zu verfolgen und zu verifizieren.

💡Circumcircle

Circumcircle ist in dem Skript als DSL (Domain-Specific Language) beschrieben, die für das Schreiben von Schaltkreise benutzt wird. Es hat besondere Eigenschaften wie parametrische Vorlagen und wird als Beispiel für die Anwendung von Technologie in der Entwicklung von Zero-Knowledge-Systemen angeführt.

💡Zero-Knowledge Proof

Ein Zero-Knowledge-Beweis ist ein kryptografischer Mechanismus, der es einer Partei ermöglicht, die Wahrheit einer Behauptung zu bestätigen, ohne dabei Informationen darüber preiszugeben. Im Video werden Zero-Knowledge-Beweise als zentrale Anwendung in der Identitätsverwaltung und -verifikation diskutiert, einschließlich des anonymen Beweisens von Alter oder der Mitgliedschaft in einer Gruppe.

💡Smart Contract

Smart Contracts sind selbstausführbare Vertragsverträge, die in Blockchain-Umgebungen laufen. Sie werden im Video als mögliche Anwendung für das Aggregieren von Identitätsänderungen beschrieben, wobei sie periodisch den aktualisierten Zustand (neuen Root des Merkle-Baums) in die Blockchain schreiben.

💡Decentralized Identity

Dezentralisierte Identität bezieht sich auf ein System, in dem Identitäten nicht von zentralen Autoritäten verwaltet werden, sondern von den Individuen selbst. Im Video wird dies als Ziel der von der Rednerin vorgestellten Technologie betrachtet, um eine offene und zugleich sichere Identitätslösung zu schaffen.

💡Proof of Authority

Proof of Authority ist ein Konsensmechanismus in Blockchain-Technologien, der auf der Vertrauensstellung in bestimmte Individuen oder Entitäten basiert. Im Video wird dies im Zusammenhang mit der Verifizierung von Identitätsänderungen durch eine zentrale Instanz erwähnt, die später durch Zero-Knowledge-Technologien dezentralisiert werden kann.

💡ZK-SNARK

ZK-SNARK ist eine spezifische Implementierung des Zero-Knowledge-Beweises, die kurz für 'Zero-Knowledge Succinct Non-Interactive Argument of Knowledge' steht. Im Video wird ZK-SNARK als Beispiel für die Verifikation von Identitätsbehauptungen ohne Offenlegung von privaten Informationen genannt.

💡Identity Discovery Protocol

Ein Identity Discovery Protocol ist ein Mechanismus, der es erlaubt, Identitäten in dezentralisierten Systemen zu finden. Im Video wird die Notwendigkeit eines solchen Protokolls diskutiert, um eine zentrale Komponente wie DNS zu ersetzen und eine dezentralisierte Möglichkeit zur Identitätssuche zu bieten.

Highlights

Jordan Malina introduces the concept of zero-knowledge proofs in identity systems.

The presentation is divided into three parts: introduction to item 3, the development roadmap, and zero-knowledge applications in identity.

The goal is to create an open-source sovereign identity system.

Circumcircle, a DSL language for writing circuits, is highlighted as a key tool in the development.

Circumlips, a set of components for Circumcircle, is mentioned for its role in the design process.

The launch of a new zero-knowledge proof generator from the browser is announced.

Sovereign identity allows individuals to create and control their own identity claims.

Merkle trees are utilized to manage identity claims efficiently.

The identity system can scale with the use of decentralized relays and zero-knowledge proofs.

Zero-knowledge proofs can be used for anonymous and verifiable claims without revealing sensitive information.

The potential for non-reusable proofs to ensure privacy is discussed.

The importance of hash functions in zero-knowledge systems is emphasized.

The roadmap includes developing primitive cryptographic primitives and Merkle tree structures.

Interoperability between different identity systems through standards like W3C and DIDs is considered.

The need for a decentralized identity discovery protocol is highlighted.

Use cases for zero-knowledge proofs in identity include anonymous voting and login systems.

Transcripts

play00:03

well hello I'm Jordan Malina and from

play00:05

mine and free when I talk a little bit

play00:07

about identity and how zero knowledge

play00:10

can be used in identity my presentation

play00:13

is gonna have three parts first I'm

play00:16

going to do a short introduction of what

play00:19

we do in item 3 then I'm gonna talk a

play00:21

little bit of the roadmap of how what we

play00:25

want to build what are the main blocks

play00:26

that we see at least in this stage of

play00:29

the development and finally I'm gonna

play00:31

finally I'm gonna give some ideas of how

play00:35

zero knowledge can be used in the

play00:37

identity context okay so let's start a

play00:40

19-3 what we want to build we want to

play00:43

create a sovereign identity system they

play00:46

there is we are working in a very low

play00:48

layer apart so and while we will if we

play00:54

are trying to define a kind of protocol

play00:57

a kind of system that's working we want

play01:00

we are doing that in an open-source

play01:02

manner we want an open protocol and we

play01:04

are trying to build a reference

play01:06

implementation protocol we are also

play01:10

building some of the some tools for you

play01:13

know for bringing what this you don't

play01:14

know much technology because we saw we

play01:16

see this technology absolutely key in

play01:18

the sovereign entity field and of course

play01:21

we want to focus in the in the

play01:23

standardization but as somebody said

play01:24

before you know since we want to have

play01:27

good standards so we first need to

play01:29

understand how this technology works how

play01:32

the system works and I tell you that

play01:33

when we are working on this every day we

play01:35

learn a lot of whole many things how

play01:38

important is this technology about well

play01:42

before starting with identity I just

play01:44

want to say that we are developing some

play01:47

of the biggest sukhasana rocks

play01:50

tools want to mention here briefly first

play01:53

circumcircle is a is a dsl language for

play01:58

writing circuits we have sizing some

play02:01

nice properties like it's aromatic

play02:04

parametric templates and while it works

play02:08

quite well for that specifically design

play02:10

it we have circum lip which mainly is a

play02:13

set of components or gadgets if you want

play02:18

for circum here we have the from baby

play02:21

jar PBS a would have some some hash

play02:24

functions we also have all the sparse

play02:27

marquetry very fires inserts deletes and

play02:30

all that stuff implemented there so it

play02:32

has been very good it has been a good

play02:34

example of to prove that circum is a

play02:37

good language for writing for writing

play02:40

circuits and that we have as large a gas

play02:43

which is an independent implementation

play02:46

of ellipse narks protocol and today we

play02:50

just launched it something that's

play02:51

purchased with 20 today it's well it's a

play02:55

Zika it's a Zika snark proof generator

play02:57

but from the browser right up in web

play02:59

assembly by hand and well it's quite

play03:02

fast so bright now creating proofs from

play03:06

the browser

play03:06

well it's you can just as numbers more

play03:10

or less 5k constraint silk which takes

play03:14

last less than 10 seconds you know in a

play03:16

browser but well it just really said

play03:18

today so if anybody wants to test it

play03:19

that's good okay so let's talk a little

play03:21

bit about their entity very briefly I

play03:24

think that here most of you have heared

play03:25

about surfs or any entity what it means

play03:28

the song identity means that everybody

play03:30

should be able to create their own

play03:32

identity that entity can be understood

play03:34

as a if you wanna say an address or a

play03:37

fact set of address to control that

play03:38

identity okay

play03:41

those identity is mainly what way they

play03:44

do is they do claims you can an identity

play03:47

is giving claims mean that it's like

play03:49

state transitions you start with some

play03:51

claims and you create more claims so you

play03:54

mean that you are creating a new annual

play03:56

state and a new state for that for that

play03:59

claims and all that is because you want

play04:01

to prove those claims a third party now

play04:03

we know University is making a claim

play04:05

about somebody is giving a title and

play04:07

this person was to go to a company and

play04:09

what sue proof that the university

play04:11

already makes a claim because resist

play04:12

rosiness relationship between the

play04:14

company and the university you can prove

play04:16

all that stuff and of course this proof

play04:17

can be a normal proof but can be also it

play04:20

makes a lot of interest to be a zero

play04:21

knowledge a zero knowledge proof okay so

play04:24

how we do that how we work we are

play04:28

generating that who we

play04:30

creating that from from ID and three

play04:32

well there is that how do we create an

play04:35

identity you get to start with a normal

play04:38

key and that's that could represent an

play04:39

identity but what we do is we just put

play04:43

all the other data that defines an

play04:46

identity we can say that a self claim

play04:48

for example all the keys that can

play04:50

controls that controls that identity you

play04:52

can say for example what's the what's

play04:55

the notary or the blockchain or the

play04:57

smartphone track where all the claims

play04:59

that you are doing is at that maybe we

play05:02

can have some metadata so it's a set of

play05:05

self claims okay all those claims can be

play05:08

understood as a key value pairs and we

play05:11

can put all those key value pairs in a

play05:13

miracle tree okay and the root of this

play05:15

Merkle tree is the identifier of the

play05:19

identity that's where we are star if you

play05:22

want is the first the Genesis a state of

play05:24

the claims okay so this is the initial

play05:27

and end video of course you don't need

play05:29

to do anything on chain really nearly

play05:31

nothing you just define that create that

play05:33

and this definition uniquely will give

play05:37

you this this this hash this root that

play05:41

we we understand that as a claim okay so

play05:44

when when we are doing more claims time

play05:46

what we what we are we're changing is

play05:48

mainly is we are changing this this this

play05:50

root we are creating a new root because

play05:52

we are adding more and more claims this

play05:54

this model scales quite well imagine

play05:57

that we put this claim in a smart

play05:58

contract in a blockchain this for

play06:00

example for a government was very good

play06:02

they are having like thousands or

play06:05

hundreds of claims every day so they can

play06:08

aggregate all the changes all the new

play06:11

claims that this government is doing and

play06:14

maybe once per hour once per app per ten

play06:16

minutes is doing a transaction and

play06:17

putting this new root in the in the in

play06:20

the blockchain

play06:21

this is good but this if we want a

play06:25

system where everybody can be a

play06:26

certification authority if you want a

play06:29

system where you can do 1020 claims

play06:31

everybody should be that this does not

play06:33

scale goods so the solution to that is

play06:36

maybe we can have let's say

play06:41

let's start with a central party if you

play06:43

won at the beginning that's a trusted

play06:45

person to stand notary and then what we

play06:47

do is that the route we send this route

play06:50

to the dress to the to the to the least

play06:54

centralized relay and this row layer

play06:58

makes a claim that the user is this one

play07:02

here is good but you know the here the

play07:05

problem is that this trusted this relay

play07:07

must be trusted and this relay can make

play07:10

make me say things that are not good

play07:13

okay so here what we can do is that what

play07:16

happened if this trusted the layer is

play07:18

maybe it's a smart contract and in order

play07:21

to publish that you need this relay

play07:23

needs to verify that the change comes

play07:30

from me for example my new route I need

play07:32

to sign that route and what I do is I

play07:34

send this route and maybe this relay

play07:36

aggregates many other transactions

play07:38

they've verified with the zero knowledge

play07:41

proof and then it's very fun it's just

play07:43

publishing the route of the routes you

play07:46

know the route of this twisted relay and

play07:48

you know for sure that this new route

play07:52

follows the rules that you know that

play07:54

they need this signature of the neutral

play07:56

layer and so on so that means that this

play07:58

is what we call it a truce less operator

play08:03

and this is very much if you have here's

play08:06

about for example about plasma snart's

play08:09

or things like that it's a is exactly

play08:11

the same it's a kind of a scaling it's

play08:13

we are verifying a lot of transactions

play08:16

with a single with a single with a

play08:18

single zero knowledge okay and with a

play08:22

addition that here we don't have the

play08:24

data availability problem in that but

play08:27

that's the idea of this of this of this

play08:30

solution here if you prove something you

play08:35

you are sure that this proof is good but

play08:40

if the only thing here is that maybe the

play08:43

operator just stopped working but in

play08:44

this case you will not be able to prove

play08:47

you will not prove the opposite so if

play08:49

you can generate the proof you can be

play08:50

sure that the proof is valid okay of

play08:53

course

play08:55

this is a good application for zero

play08:57

knowledge the other application is the

play08:58

obvious one is for just for proving

play09:01

anonymously typical example of proving

play09:04

that you are 18 years old without

play09:06

revealing who you are things like that

play09:08

this is a good application for that an

play09:12

example of claims just this is just a

play09:14

single example but you know the system

play09:17

or a system of claims you know

play09:18

everything can be understand as a claim

play09:20

and one thing is for example who we

play09:21

named identities well a name I read it

play09:23

is the this case would be the owner of a

play09:26

domain name or the owner of a name this

play09:28

case the owner of island 3 could make a

play09:30

claim saying that Jordy at iron 3 dot IO

play09:36

belongs to this identity so you can

play09:39

understand even a full maining system as

play09:41

a as a you know a sort of claims the

play09:45

domain names have owners the owners are

play09:47

identities and the identities make

play09:49

claims on that owner so we can this is a

play09:51

good example but you can extend that do

play09:54

everything that's a claim okay and you

play09:57

can use the same systems just for making

play09:59

the proofs and all that stuff ok so here

play10:02

is a little bit the roadmap that we are

play10:04

working on ok of course in the lower

play10:06

layer we have all the zero knowledge

play10:08

technology that's not even clear what's

play10:11

gonna be the one that's gonna be that

play10:13

will work maybe there are going to be

play10:15

many ok on top of that of course we have

play10:18

this let's say primitive cryptographic

play10:20

primitive here I want to say the

play10:23

importance of the of the hind of the

play10:26

hash functions inside the inside the

play10:29

inside the snarks or inside the zero

play10:31

knowledge system this is really

play10:33

important on top of that we'll have this

play10:35

Mirko trysts partner Catrice we are

play10:37

working in a sparse miracle tree sparse

play10:40

market trees if you want is our key

play10:43

values where the keys are put at some

play10:45

some place they used put it in the same

play10:48

place and well they work very good

play10:53

because you can prove inclusion and you

play10:55

can also prove exclusion of those as far

play10:57

as Merkle trees they are big because

play11:01

they they have many steps and this is

play11:03

not very good for a 404 snarks but you

play11:05

can do some tricks because the

play11:08

definition can

play11:09

be without I don't know maybe with 200

play11:12

levels but you can have different

play11:15

secrets maybe one with ten levels

play11:16

another with twenty another with thirty

play11:18

all of them are valid for the for the

play11:21

structure because the structure does not

play11:23

change but you can have different

play11:24

circuits for validating different levels

play11:27

so this have this advantage on that okay

play11:30

and when we have this Merkle tree then

play11:31

of course the result the claim format if

play11:33

you want the generic claim formats and

play11:35

then all the specific claim formats and

play11:38

then of course we need to standardize

play11:40

also what are the circuits for verifying

play11:42

those claims there are some of those

play11:44

that are abuse may be for example that

play11:46

some what it holds some somebody makes a

play11:49

claim that's no abuse maybe this one

play11:51

that we talk about the edge with some

play11:53

rich range checking on that that could

play11:55

be another example but you can have more

play11:59

circuits on thaton

play12:01

and that's another another place an

play12:03

important place okay and more in the

play12:06

higher level in their entity and this is

play12:08

very much how we see the system to works

play12:10

is that we think very much and their

play12:14

entities very related to form feeling ok

play12:16

when you are for filling in general

play12:18

would you you who you have some fields

play12:20

general text fields or in much fields if

play12:23

you want or you know multiple choice or

play12:25

whatever infer that information but

play12:26

there are two fields two kind of fields

play12:29

that are like for us very important one

play12:32

is the signature I think in the normal

play12:35

real paper you see it easily that there

play12:38

is always a field where you can add a

play12:40

signature so I think it would be good to

play12:42

have a you know a standard for defining

play12:45

a field where you can put a signature

play12:48

and the other is a proof maybe you are

play12:50

you have a forms means that you are

play12:51

asking for a proof and then you are

play12:54

filling with a proof that that proof

play12:57

what the form is asking you to asking

play13:00

you to proof so this is you can

play13:03

generalize that very much but if you

play13:06

think in there entity you will see

play13:07

that's that very much a it works

play13:12

you always can think in this I send you

play13:15

a form you fill the form I receive the

play13:17

form if you think in that way this works

play13:19

very good for the standardization

play13:22

fortunately for for generalizing the

play13:25

communication between that when we are

play13:27

talking about communication between our

play13:30

entities here and I want which I will

play13:32

jump here have a identity discovery

play13:35

protocol this is not that zero knowledge

play13:37

related but we need to find a way

play13:39

right now we have DNS for DNS is quite

play13:41

centralized but we have need to find a

play13:43

way a decentralized way to find

play13:45

foreigner entity when I want to know

play13:46

something about an identity I need to

play13:50

half of way a decentralized way to find

play13:51

for heredity so here we have an identity

play13:53

discovery protocol or something like

play13:55

that be a peer-to-peer protocol for that

play13:57

and once we discover an identity mainly

play14:00

what we are asking for is if you want

play14:03

service-related identity may be an email

play14:05

I wonder how can I send you an email or

play14:08

how can I send your message or maybe

play14:11

watch your link 18 or watch your

play14:12

curriculum page or you can define here

play14:15

as many identity services or on top of

play14:20

that hey so this is for picture earlier

play14:23

in our summarized picture of the work

play14:26

that the of the vision of the work that

play14:29

we are doing and just to finish the

play14:31

presentation I just want to just mention

play14:35

some use cases some random use cases of

play14:38

the zero knowledge apply it to identity

play14:41

one of course is one one is anonymous

play14:44

voting so in the presentation but of

play14:46

course it's an important important one

play14:48

none other is an animal's login would be

play14:52

cool for example to log in to run out to

play14:56

a web page of this Congress but without

play15:01

revealing who you are the only condition

play15:02

that you should need is that for example

play15:04

that you have buy a ticket or that that

play15:06

could be for example a good example of

play15:07

anonymous logging of course you have our

play15:10

reputation proof sometimes you have a

play15:12

score or you have a some kind of

play15:14

reputation but you don't want to reveal

play15:16

the you don't want to reveal the what

play15:20

the reputation comes from so the claims

play15:23

that gives you that reputation of course

play15:25

here is an important thing that you can

play15:27

do on on I read it is another is this is

play15:30

this is a little tricky but this is

play15:32

interesting I can this week I'll cross

play15:35

identity of cross identity proofs so

play15:38

here like there is that I can have two

play15:43

identities one name is of my real

play15:46

identity and the other is my fake

play15:47

identity and I don't want them to be

play15:49

related one to the other but I can it's

play15:53

possible so me here maybe there is some

play15:55

service that okay you don't need to you

play15:58

don't need you can use a fake identity

play16:00

but you need to prove that at least you

play16:02

have one real identity

play16:03

so here without linking without knowing

play16:06

which is your real identity you can even

play16:08

you know that you have a figure-eight

play16:10

that is fake identity have a real

play16:12

identity and only one and here is the

play16:15

concept of the nullifier and things like

play16:16

that so that you you can only create one

play16:19

specific fake identity that it's not

play16:21

related you can nobody can relate it but

play16:25

but you can only create one so this all

play16:28

fall out or for example for civil attack

play16:30

protocols that this is one of the a lot

play16:33

of this is one of the things that one of

play16:36

the one of the excuses to ask for

play16:38

identity in a lot of their in lots of

play16:41

applications and the last thing that I

play16:44

want to mention is just a nice freak

play16:47

that used to know what in is

play16:48

non-reusable proofs I don't know if you

play16:50

heard about but this is a cool idea

play16:52

today is that when you are keeping a

play16:54

proof machine that I want to prove that

play16:58

I'm I'm I'm from a specific religion or

play17:02

I'm from a specific political party and

play17:04

I want to prove some a specific person

play17:06

about that that the church is saying

play17:08

that I'm from that religion but what I

play17:10

don't want is that this person just take

play17:12

that proof and publish to everybody so

play17:14

everybody knows that I'm from that

play17:16

specific religion of course the

play17:19

information I already tell them the

play17:21

information but it's not the same so if

play17:24

if this proof is not the same that he

play17:27

says something that he proves something

play17:29

so how the system works here here

play17:33

instead of proving to somebody else that

play17:35

I'm from a specific religion what I'm

play17:37

saying is I'm proving that I'm from that

play17:38

specific religion or I hold your your

play17:42

private key which is obvious that I

play17:44

don't her your private key so because I

play17:46

don't hold your private key is sure that

play17:49

I'm

play17:49

that religion but what happened when you

play17:52

just take this proof and you just

play17:55

publish to everybody you are probably

play17:56

you are proving to everybody that you

play17:59

are that I am from that religion or that

play18:01

I that I'm holding the private key which

play18:03

is obvious that that the person holds

play18:05

the private key so you are not proving

play18:07

anything and one thing to warranty that

play18:10

is for example taking the proof and

play18:11

encrypting it with a public key of the

play18:14

person that you want to send it to the

play18:16

the simple fact of opening of the

play18:21

decrypting this proof automatically

play18:23

makes this proof unusable so that's a I

play18:26

think it's a very cool things here I

play18:28

want to give some credits to batalik on

play18:30

that but that's that's a cool idea and

play18:32

that's very much my presentation just to

play18:36

take away to some summary just we are

play18:41

building this as so many identity we're

play18:42

creating this open source we are you

play18:44

know you are we're a non-profit profit

play18:47

nonprofit Association we are building

play18:50

all these zero knowledge and trying to

play18:53

grief to bring this zero knowledge

play18:54

technology in the mainstream and of

play18:57

course we are we want to push on those

play18:59

all those standards and that's it thank

play19:02

you very much

play19:03

[Applause]

play19:13

any any questions yes please hi this is

play19:21

a Hitachi so as far as claims is

play19:24

concerned are you using any of the

play19:28

standards like w3 standards for the

play19:31

standard claim definition or DIDS

play19:33

is that part of your implementation it

play19:37

could be used for but the main

play19:39

difficulty of the of this kind of

play19:42

standards is that they are very much

play19:45

JSON based and you know the you know the

play19:49

coding as a shown inside the snark is

play19:51

not something very useful on that and

play19:53

here we are talking about data

play19:57

definition a lot of data definition that

play20:00

should be zero knowledge aware and as

play20:04

far as I read these kind of standards is

play20:07

not very much prepared of course you can

play20:09

define a D ID that came that goes in

play20:12

that direction we we are planning to do

play20:15

that you can maybe use some parts of the

play20:18

protocols for that but we are here we

play20:20

are talking and defining so sobering

play20:23

data structures circuits and structure

play20:29

that's different that's another story

play20:31

that they are wielding okay they can be

play20:34

linked all right because I work with

play20:36

Hippolyta Indy and and it uses those

play20:39

standards so maybe you know if we have

play20:41

those standards adopted then there is a

play20:44

interoperability that is possible

play20:46

between identity systems yeah they have

play20:48

some sort of compatibility so we have to

play20:51

work on but you know work or or or work

play20:53

is more in this low level zero knowledge

play20:57

before going to the standard we need to

play20:59

make the work and we need to prove it

play21:00

somebody said that before and I like it

play21:02

a lot right thanks great okay so it

play21:07

looks like we're done with the session

play21:08

so thank you very much again let's think

play21:10

speak to one more time

play21:11

you

Rate This

5.0 / 5 (0 votes)

関連タグ
Zero-KnowledgeDigitale IdentitätSouveränitätOpen-SourceKryptographieMerkle-BäumeSchnelligkeitSkalierbarkeitStandardisierungInteroperabilität
英語で要約が必要ですか?