MeshX Sidetree is an open source fork of Sidetree.js by Transmute Industries.
MeshX Sidetree is a simple-as-possible TypeScript implementation of the Sidetree version 1.0 protocol. The purpose of the Sidetree protocol is to create a blockchain based public key infrastructure, where rather than having a central authority that can accept or revoke keys, by having the blockchain act as a whitness for regestering public keys, anyone can publish a public key that can be used to establish identity.
The Sidetree protocol describes using a Content Addressable Storage and a Ledger to establish a public key infrastructure. What this boils down to is that public keys are stored in a Content Addressable Storage, and pointers to that storage are published on a Ledger.
The simpliest possible example of this would be an public FTP server, where anyone could upload a public key and a identifier for that public key. In practice, this sets up a central authority and a single point of failure. In practice we use a public ledger such as Bitcoin or Ehtereum. And we use IPFS as a Content Addressable Storage to create Decentralized Identitifiers for Public Keys.
However since the interfaces for what needs to be implemented is flexible, we can also implement DID methods such as Photon which uses Amazon QLDB for a ledger, and Amazon S3 for content addressable storage.
See Development
This project has adopted the Contributor Covenant Code of Conduct v2.1. For more information see the Code of Conduct FAQ, or contact opensource@meshx.co with any additional questions or comments.
Please see our security policy for additional details about responsible disclosure of security related issues.
This project is licensed under the Apache v2.0 License.
Copyright MeshX Sidetree Contributors. See NOTICE for details.