Skip to content

Latest commit

 

History

History
114 lines (72 loc) · 3.15 KB

File metadata and controls

114 lines (72 loc) · 3.15 KB

Features

Key Event Receipt Infrastructure (KERI) is the first truly fully decentralized identity system.

Truly Decentralized Identity

KERI is the first truly decentralized identity system. It is ledger-less which means it doesn’t need to use a ledger at all or ledger-portable which means that its identifiers are not locked to any given ledger and may switch as needed. In other words KERI identifiers are truly portable.

Supports GDPR Compliance

KERI is inherently supportive of GDPR (global data protection rights) compliance. KERI provides non-intertwined identifier trust bases which means that a given identifier’s data may be erased and truly forgotten.

Self-Certifying Identifiers

KERI has a decentralized secure root-of-trust based on cryptographic self-certifying identifiers. It uses hash chained data structures called Key Event Logs that enable ambient cryptographic verifiability. In other words, any log may be verified anywhere at anytime by anybody. It has separable control over shared data which means each entity is truly self-sovereign over their identifiers.

Scalability

KERI is designed for high performance and scalability. It is compatible with data intensive event streaming and event sourcing applications.

Key Management Infrastructure

One useful way of describing KERI is that it is a decentralized key management infrastructure based on key change events that supports both attestable key events and consensus based verification of key events.

Open Apache2

Best of all KERI is open Apache2. It is a project working toward IETF standardization.

Installation

Dependencies

Binaries

python 3.9.1+ libsodium 1.0.18+

python packages

lmdb 0.98+ pysodium 0.7.5+ blake3 0.1.5+ msgpack 1.0.0+ simplejson 3.17.0+ cbor2 5.1.0+

$ pip3 install -U lmdb pysodium blake3 msgpack simplejson cbor2

or separately

$ pip3 install -U lmdb
$ pip3 install -U pysodium
$ pip3 install -U blake3
$ pip3 install -U msgpack
$ pip3 install -U simplejson
$ pip3 install -U cbor2

Development

Setup

  • Ensure Python 3.9 is present along with venv and dev header files;
  • Setup virtual environment: python3 -m venv keripy
  • Activate virtual environment: source keripy/bin/activate
  • Setup dependencies: pip install -r requirements.txt

Testing

  • Install pytest: pip install pytest
  • Run the test suites:
pytest tests/ --ignore tests/demo/
pytest tests/demo/

Documentation Build Notes

  • Build docs from docs/ with make html.
  • Keep canonical KERI domain terms in docstrings and reference docs. Do not rename domain vocabulary only to satisfy cross-reference resolution.
  • Sphinx reference resolution policy for domain terminology is managed in docs/conf.py.