8000 GitHub - sstranieri/ion: DID Method implementation using the Sidetree protocol on top of Bitcoin · GitHub
[go: up one dir, main page]

Skip to content

About

DID Method implementation using the Sidetree protocol on top of Bitcoin

Resources

Stars

0 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

ION is a public, permissionless, Decentralized Identifier (DID) network that implements the blockchain-agnostic Sidetree protocol on top of Bitcoin (as a 'Layer 2' overlay) to support DIDs/DPKI at scale.

Key Points:

  • ION is public and permissionless - the system is decentralized, no company, organization, or group owns/controls the identifiers and PKI entries in the system, and no one dictates who can participate.
  • ION doesn't introduce new tokens/coins - Bitcoin is the only unit of value relevant in the operation of the on-chain aspects of the ION network.
  • ION is not a sidechain or consensus system - the network nodes do not require any additional consensus mechanism.

How does ION work?

By leveraging the blockchain-agnostic Sidetree protocol, ION makes it possible to anchor tens of thousands of DID/PKI operations on a target chain (in ION's case, Bitcoin) using a single on-chain transaction. The transactions are encoded with a hash that ION nodes use to fetch, store, and replicate the hash-associated DID operation batches via IPFS. The nodes process these batches of operations in accordance with a specific set of deterministic rules that enables them to independently arrive at the correct PKI state for IDs in the system, without requiring a separate consensus mechanism, blockchain, or sidechain. Nodes can fetch, process, and assemble DID states in parallel, allowing the aggregate capacity of nodes to run at tens of thousands of operations per second.

Build Steps:

  1. Build and run sidetree-bitcoin micro-service. This micro-service depends on a Bitcored node. Instructions can be found in the sidetree-bitcoin README.md.

  2. Build and run sidetree-ipfs micro-service. Keep in mind soon you will need to build and run sidetree-ipfs-reference instead.

    1. Clone the repo and go to the root folder.
    2. Run npm i to install dependencies.
    3. Run npm run build to build the service.
    4. Run 'npm start` to start the service.
  3. Build and run ion (this) core service which depends on the micro-services above.

    1. Install MongoDB on local machine (or subscribe to a MongoDB cloud service), this is used for state keeping for the node.
    2. Clone this repo and go to the root folder.
    3. Run npm i to install dependencies.
    4. Modify json/config.json accordingly. Some parameters of interest:
      1. Update operationStoreUri to point to the MongoDB configured earlier.
      2. Update didMethodName to did:ion:;
    5. Run npm run build to build the service.
    6. Run 'npm start` to start the service.

Contribution Guidelines:

TBD

About

DID Method implementation using the Sidetree protocol on top of Bitcoin

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

0