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 keripyActivate virtual environment:
source keripy/bin/activateSetup dependencies:
pip install -r requirements.txt
Testing¶
Install pytest:
pip install pytestRun the test suites:
pytest tests/ --ignore tests/demo/
pytest tests/demo/