Skip to content
This repository has been archived by the owner on Dec 9, 2023. It is now read-only.

RGB: identity schema proposal #21

Merged
merged 1 commit into from
Dec 9, 2020
Merged

RGB: identity schema proposal #21

merged 1 commit into from
Dec 9, 2020

Conversation

dr-orlovsky
Copy link
Member

@dr-orlovsky dr-orlovsky commented Jul 12, 2020

The schema solves two main problems:

  1. Linking multiple identities upon request, while keeping their relation anonymous otherwise
  2. Keeping ability to globally verify that certain identity/public key was not revoked, and do that w/o use of any centralized registry.

Schema consists of identical state transitions, such that past history can be cut at any level and each state transition may be validated as genesis.

Identity is a:

  1. public key (with ability to define a cryptographic function)
  2. corresponding signature on identity data, proving ownership of it
  3. identity data, serialized according to a certain format

Each identity can be revoked, which is defined by a single present seal.

New identities are created as children of other identities; either during revocation or extension procedure. This fact, as specified above, can be hidden, when identity issuing state transition is converted into genesis, not showing its ancestors.

Validation is simple: it must check that public key and signature match, and signature signs identity data, serialized in a correct form (according to the specified format).

Link between identities is established when a subgraph linking to identities up to a certain ancestor is revealed.

Actions attributed to identities via public keys; i.e. anybody can sign with his identity key a key of other person, and if that person will keep the signature data it will prove the identity. This is not part of RGB and is outside of the schema; so usual Web of Trust or other protocols may be followed.

This, for instance, can be used to build reputation systems, where reputation will be linked/attributed not to a single public key, but to a set of public keys, making revocation procedures possible and enhancing anonymity (i.e. reputation can be split across multiple identities and joined when needed).

Another use case for the schema is anonymous voting rights, when a person can use unrelated keys for blind signatures during the voting procedure and still be able to prove the fact of the vote was done by the holder of the rights.

@dr-orlovsky dr-orlovsky added this to the v0.3.0 milestone Jul 12, 2020
@dr-orlovsky dr-orlovsky requested a review from sabina-sa July 12, 2020 18:54
@dr-orlovsky dr-orlovsky changed the title RGB: identity schema prototype RGB: identity schema proposal Jul 12, 2020
@dr-orlovsky dr-orlovsky added the enhancement Improvement to existing functionality or refactoring label Jul 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Improvement to existing functionality or refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant