Introduction
ProofService
provides a DID service to build a connection between
asymmetric cryptography (currently elliptic curve) and other identity
provider (other asymmetric cryptography ID, Web2.0 identity provider,
etc).
Features
Two-way binding
Missing proof material will make this binding status downgraded.
Publicly verifiable
Proof post should be anonymously accessible. Any user / service / program can verify this binding without much cost.
Blockchain-like anti-falsifying mechanism
Every changes made by user are chained and signed by user's avatar.
Downgrading detection
ProofService will tell user a record is invalid right now, if queried user deletes his / her proof post after successfully creating a binding.
We encourage user to keep their proof materials as long as they can, to let other people / program re-validate them later.
Arweave backup
Each ProofChain is backed up onto Arweave to let the whole system become more neutral.
Design goal
ProofService is designed to prove "An Identity and an Avatar are held by a same person".
Separate this assertion into 2 parts:
The ability of 1
is equivalent to "Generate a signature using secret key of this Persona".
The ability of 2
is equivalent to "Make an action using this identity".
To reach 1
and 2
at the same time, we're using Proof post mechanism:
- Let user publicly post a "specific content" using identity on target platform.
- The "specific content" is a signature generated by Avatar.
- ProofService server (and other users who want to verify this binding later) reads this public post, extracts signature from post content, and verifies this signature.