Skip to main content

Walytis Identity

P2P multi-controller cryptographic identity management, based on the Walytis blockchain.

Walytis is a peer-to-peer cryptographic identity management system that supports multiple controllers per identity.

The purpose of this system is to enable secure communications between distributed identities in peer-to-peer networks, which means:

  • encrypting messages so that they can be decrypted only by a specific identity
  • verifying the authenticity of received messages, ensuring they were authored by a specific identity

To achieve this goal in a sustainably secure fashion, WalytisIdentities' core task lies in managing the ephemeral cryptographic keys belonging to digital identities:

  • it automatically renews keys at regular intervals
  • it publishes the new public keys in a verifiable manner
  • it securely distributes the private keys to all controllers of the identity

Features

  • fully peer-to-peer: no servers of any kind involved
  • multi-controller support: a Walytis Identity can be managed by any number of controllers
  • identity nesting: Walytis Identities can be controlled by other Walytis Identities
  • secure data transmission
  • cryptography:
    • key rotation
    • hybrid cryptography combining classical and post-quantum algorithms
    • cryptographic agility (upgradable to novel algorithms)
    • perfect forward and backward secrecy for transmissions

See Related Projects if this isn't quite what you're looking for!

Use cases

WalytisIdentities was developed to empower developers to build peer-to-peer distributed applications that require secure communications between digital identities. A classic example of such a use case is a peer-to-peer messenger, which is being developed in the Endra Project.

Underlying Technologies

  • Walytis Database-Blockchain: a blockchain that serves as a p2p distributed database
  • IPFS: the peer-to-peer network layer which Walytis is built on

DID Compatibility

WalytisIdentities implements the World-Wide-Web-Consoritum's (W3C's) Decentralised Identifiers (DIDs) specifications.

In the context of W3C's DID architecture, walytis_identities is a DID method, meaning that walytis_identities is a system for creating DIDs and managing DID-Documents. walytis_identities achieves this using the Walytis blockchain.

Basic Functionality

  • A Walytis identity is served by a Walytis blockchain.
  • The blockchain is used to publish DID-documents, which contain cryptographic public keys.
  • Other parties can join a walytis_identities identity's blockchain, get the currently valid DID document, and use the cryptographic keys therein for authentication and encryption when communicating with that identity.

URI specs: https://www.rfc-editor.org/rfc/rfc3986

Documentation

The thorough documentation for this project and the technologies it's based on live in a dedicated repository:

  • WalytisIdentities: learn how WalytisIdentities works
  • Walytis Technologies: learn about the suite of tools which WalytisIdentities is part of, built to enable developers to easily develop peer-to-peer distributed applications.

Project Status EXPERIMENTAL

This library is very early in its development.

The API of this library IS LIKELY TO CHANGE in the near future!

RoadMap

See the Walytis Technologies RoadMap for the current plans for WalytisIdentities in the context of the larger Walytis Technologies Project.

Contributing

Get Involved

  • GitHub Discussions: if you want to share ideas
  • GitHub Issues: if you find bugs, other issues, or would like to submit feature requests
  • GitHub Merge Requests: if you think you know what you're doing, you're very welcome!

Donate

To support me in my work on this and other projects, you can make donations with the following currencies:

Donations help me:

  • dedicate more time to developing and maintaining open-source projects
  • cover costs for IT resources

About the Developer

This project is developed by a human one-man team, publishing under the name Emendir.
I build open technologies trying to improve our world; learning, working and sharing under the principle:

Freely I have received, freely I give.

Feel welcome to join in with code contributions, discussions, ideas and more!

Open-Source in the Public Domain

I dedicate this project to the public domain. It is open source and free to use, share, modify, and build upon without restrictions or conditions.

I make no patent or trademark claims over this project.

Formally, you may use this project under either the:

Related Projects

Walytis Technologies

An overarching project comprising the development of Walytis and a collection of tools based on it for real-world peer-to-peer communications.

  • Walytis: A flexible, lightweight, nonlinear database-blockchain, built on IPFS.
  • WalytisIdentities: P2P multi-controller cryptographic identity management, built on Walytis.
  • WalytisOffchain: Secure access-controlled database-blockchain, built on WalytisIdentities.
  • WalytisMutability: A Walytis blockchain overlay featuring block mutability.
  • Endra: A P2P encrypted messaging protocol with multiple devices per user, built on Walytis.
  • EndraApp: A P2P encrypted messenger supporting multiple devices per user, built on Walytis.

IPFS

A P2P communication and content addressing protocol developed by Protocol Labs. This is the networking foundation which Walytis builds upon.

Alternative Technologies

  • OrbitDB: a distributed IPFS-based database written in go

Metadata

Release files for walytis-identities 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for walytis-identities 0.6.0
File Size Uploaded Provenance Actions
walytis_identities-0.6.0.tar.gz 62.2 kB Without provenance Details for walytis_identities-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for walytis-identities 0.6.0
File Interpreter ABI Platform Actions
walytis_identities-0.6.0-py3-none-any.whl Python 3 none any Details for walytis_identities-0.6.0-py3-none-any.whl

Total release size: 114.8 kB

Release files / walytis_identities-0.6.0.tar.gz

Download URL walytis_identities-0.6.0.tar.gz
Size 62.2 kB
Tags Source
SHA-256 checksum
How to use checksums
08a67d097298e93a8f36a9ab9a120343071677bc71ebb7e555fde25fbf8dbee2
BLAKE2b-256 checksum
How to use checksums
8aa90267c50c0988d7ce5b067293adb96d849164017fca11c778e400a2c0bdd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release files / walytis_identities-0.6.0-py3-none-any.whl

Download URL walytis_identities-0.6.0-py3-none-any.whl
Size 52.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f52ba38af7303076f903c255617405d742658296a6abe64b99c7b1ff71fa3749
BLAKE2b-256 checksum
How to use checksums
d009925c21132ca00f2035fd5abb36784670f8e48c207a89c62c8b30966f9b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Security for walytis-identities 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page