The ShareLedger is an application-specific blockchain and is known as the identity blockchain. Hashes of digital information are stored on ShareLedger and are used to verify identity through cryptographic keys.
A blockchain address is like a bank account for cryptographic assets. Every address is unique, and they are a string of alphanumeric characters. The address originates from the private key required to send or receive data from one address to another. It refers to a specific location on the network that sends cryptographic assets.
You can think of a blockchain network as a long ruler with millimeter markings for each address. Addresses are unique and identified, and the ruler is infinitely long in the blockchain.
How is a ShareLedger Address Generated?
We built ShareLedger on top of Cosmos SDK, and ShareLedger inherits everything from Cosmos.
In Cosmos SDK, an account designates a pair of public and private keys. The public key generates various addresses, identifying users (among other parties) in the application.
For HD (hierarchical deterministic) key derivation, the Cosmos SDK uses a standard called BIP32. The BIP32 allows users to create an HD wallet (as specified in BIP44) - a set of accounts derived from an initial secret seed. A seed is a 12 or 24-word mnemonic, and a single seed can derive any number of private keys using a one-way cryptographic function.
Bitcoin Improvement Proposal
BIP stands for Bitcoin Improvement Proposal. A BIP is a design document providing information to the Bitcoin community or describing a new feature for Bitcoin or its processes or environment.
Many other networks, including Ethereum and Cosmos (ShareLedger), also use Bitcoin proposals for their standards.
BIP32 introduces the hierarchical deterministic wallet.
A hierarchical deterministic wallet (or “HD Wallet”) is a wallet that generates all of its keys and addresses from a single source.
Deterministic means the keys and addresses are always generated in the same way.
Hierarchical means the network organizes the keys and addresses in to a tree.
ShareRing also uses BIP39 and BIP44, two other protocols that specify the hierarchy of a wallet.
BIP39 takes a set of words and turns them into a binary seed. ShareRing users set their recovery phrase (a set of words) when they set up their accounts. BIP32 and BIP44 work together to form the structure of the address phrase. The path levels defined in BIP44 are:
m / purpose' / coin_type' / account' / change / address_index
The net effect of these transformations is the ShareLedger address.
A typical ShareLedger address looks like this:
The address is based on the Bitcoin standard Bech32, and contains four parts:
- A Human-Readable Part (HRP).
- The number “1” is a separator (the last digit 1 seen is considered the separator).
- Base-32 encoded string for the data part of the address (the 20-byte address itself).
- A 6-character base-32 encoded error correction code using the BCH algorithm.