Skip to main content


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).


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:

  1. "I" hold this Avatar right now.
  2. "I" hold this identity right now.

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:

  1. Let user publicly post a "specific content" using identity on target platform.
  2. The "specific content" is a signature generated by Avatar.
  3. 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.