PubKeyand private key
PubKeyis used to generate an
addressthat is used to identify users (among other parties) on the blockchain.
Addressesare also associated with
messagesto identify the sender of the
PrivKeyis used to generate digital signatures to prove that an
addressassociated with the
PrivKeyapproved of a given
PubKeys are both public information that identifies actors on the blockchain.
Accountis used to store authentication information.
addresswhich is a sequence of bytes derived from a public key. In Provenance Blockchain, 3 types of addresses specify a context where an account is used:
AccAddressidentifies users (the sender of a
ValAddressidentifies validator operators.
ConsAddressidentifies validator nodes that are participating in consensus. Validator nodes are derived using the EC
ed25519curve wherease users use the
tp1tkn2dwfkx7pmjr2rtgqhtrudsv7h8w2tj6eesvis not a Provenance Blockchain account:
address, it becomes an account. Post our
addressto the faucet:
provenancedaccount query again:
Accountobject (alongside other data required for a proper transaction validation) as shown in the previous section.
PrivKeys using a one-way cryptographic function. Then, a
PubKeycan be derived from the
PrivKey. Naturally, the mnemonic is the most sensitive information, as private keys can always be re-generated if the mnemonic is known.
44'indicating that the subtree of this node is used according to this specification. The next level is Coin Type which is also a constant set to
505'signifying Provenance Blockchain's registered coin type. The next level is Account which is equivalent to a Custodial Wallet. Accounts are generated from the root account. Scope is used to distinguish between internal and external addresses. The last node is where accounts are identified by addresses within a wallet. Addresses consist of the following four parts:
tp(note: the prefix on mainnet is
m / 44' / 505' / 0' / 0 / 0
m / purpose' / coinType' / account' / change / addressIndex. It is within this path that hardened vs. non-hardened is realized.
44'following the BIP43 recommendation. It indicates that the subtree of this node is used according to this specification.
505'for mainnet coins and
1'for testnet coins. The Provenance Blockchain mainnet coin type (
505') is registered here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md.
0. This level splits the key space into independent user identities, so the wallet never mixes the coins across different accounts.
0to represent external chain and constant
1for internal chain (also known as change addresses).
Changeaddresses are used in bitcoin for the UTXO output from a transaction that is retained by the sender. Most blockchains outside of bitcoin (and even many bitcoin wallets) only use
0for this value.