-
Notifications
You must be signed in to change notification settings - Fork 452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Self sovereign identity - group 10 #3236
Comments
I will keep track of overall information for your project in this post. Search terms for further reading:
You can also check out issue Meeting schedule: |
Heads up: Planned for next meeting:
|
For next meeting
|
First and foremost: best wishes for 2018! |
@qstokkink We would like to have our presentation on the 26th of januari is that possible for you? |
@eanker for me it's fine: please send out an e-mail to the course instructors so we can check if the other instructors are available. |
First release including the report can be found here: https://github.com/GijsWeterings/IdentityChain/releases/tag/v1.0.0 |
IdentityChain
Students:
Repository:
https://github.com/GijsWeterings/IdentityChain
Self-Sovereign Identity
IdentityChain is a Self-Sovereign Identity app based on TrustChain. It aims to facilitate a system where identity can be decentralized, and give control of the use of identity data back to the user. Identity in this case is built up from all attestations made between the user and other parties. Each block on the TrustChain is signed by the user and a second party, and contains a zero knowledge proof.
Zero knowledge proof
In the IdentityChain app zero knowledge range proofs can be generated, proven and verified.
The implementation is build upon the paper “An Efficient Range Proof Scheme” by Kun Peng and Feng Bao. This means that we can proof a number is in a certain range, without disclosing the number itself. For example, you can proof that you are older then 18 whilst buying alcohol, without telling your real age.
Network discovery and communication
The IdentityChain app is designed for local, face-to-face interactions. To facilitate the process of connecting between devices, IdentityChain makes use of Network Service Discovery **(NSD).
On startup, the app announces itself to the network. Other devices running the app on the same network can now discover the peer device, and connect directly via local IP.
Once a peer connection is made, a gRPC channel is set up between the devices, which is encrypted to ensure safe communication.
Attestations
A peer can request attestation for a certain claim from another peer. He will send a half-block containing a zero-knowledge proof. This creates an attestation request on the side of the attestee. This request can be accepted or rejected and when accepted the zero knowledge proof gets verified and the block gets then signed and sent back to the requester.
Verifications
The IdentityChain app can also verify blocks created by other people.
Verification is an interactive protocol between the attestee and the verifier.
This protocol checks all parameters of the zero-knowledge proof.
Screenshots
The text was updated successfully, but these errors were encountered: