Skip to content

Commit

Permalink
give details about the cryptographic objects of each bech32 item.
Browse files Browse the repository at this point in the history
  • Loading branch information
KtorZ committed Nov 6, 2020
1 parent baf2cc6 commit 4f9429c
Showing 1 changed file with 52 additions and 29 deletions.
81 changes: 52 additions & 29 deletions CIP5/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,35 +23,58 @@ Therefore, we can leverage bech32 for binary data encoding, with a set of common

We define the following set of common prefixes with their corresponding semantic. Any software willing to represent binary data in a human-friendly way should abide by these guidelines. Should a data-type be missing, we encourage developers to update this CIP and register a new prefix.

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `addr_vk` | Address verification key | Verification/public key |
| `addr_vkh` | Address verification key hash | Hash of verification/public key |
| `addr_sk` | Address signing key | Signing/private key |
| `addr_xvk` | Address extended verification key | Verification/public key |
| `addr_xsk` | Address extended signing key | Signing/private key |
| `addr` | Mainnet address | Base address |
| `addr_test` | Testnet address | Base address |
| `stake_vk` | Stake address verification key | Verification/public key |
| `stake_vkh` | Stake address verification key hash | Hash of verification/public key |
| `stake_sk` | Stake address signing key | Signing/private key |
| `stake_xvk` | Stake address extended verification key | Verification/public key |
| `stake_xsk` | Stake address extended signing key | Signing/private key |
| `stake` | Mainnet stake address | Stake address (reward account) |
| `stake_test` | Testnet stake address | Stake address (reward account) |
| `pool` | Pool operator verification key hash (pool ID) | Hash of verification/public |
| `pool_vk` | Pool operator verification key | Verification/public key |
| `pool_sk` | Pool operator signing key | Signing/private key |
| `kes_vk` | KES verification key | Verification/public key |
| `kes_vkh` | KES verification key hash | Hash of verification/public key |
| `kes_sk` | KES signing key | Signing/private key |
| `vrf_vk` | VRF verification key | Verification/public key |
| `vrf_vkh` | VRF verification key hash | Hash of verification/public key |
| `vrf_sk` | VRF signing key | Signing/private key |
| `script` | Script hash | Hash of script |
| `script_vk` | Script verification key | Verification key/public key |
| `script_vkh` | Script verification key hash | Hash of verification key/public key |
| `script_sk` | Script signing key | Signing/private key |
#### Keys

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `acct_sk` | CIP-1852's Account private key | Ed25519 private key |
| `acct_vk` | CIP-1852's Account public key | Ed25519 public key |
| `acct_xsk` | CIP-1852's extended Account private key | Ed25519-bip32 extended private key |
| `acct_xvk` | CIP-1852's extended Account public key | Ed25519 public key with chain code |
| `addr_sk` | Address signing key | Ed25519 private key |
| `addr_vk` | Address verification key | Ed25519 public key |
| `addr_xsk` | Address extended signing key | Ed25519-bip32 extended private key |
| `addr_xvk` | Address extended verification key | Ed25519 public key with chain code |
| `kes_sk` | KES signing key | KES signing key |
| `kes_vk` | KES verification key | KES verification key |
| `pool_sk` | Pool operator signing key | Ed25519 private key |
| `pool_vk` | Pool operator verification key | Ed25519 public key |
| `root_sk` | CIP-1852's root private key | Ed25519 private key |
| `root_vk` | CIP-1852's root public key | Ed25519 public key |
| `root_xsk` | CIP-1852's extended root private key | Ed25519-bip32 extended private key |
| `root_xvk` | CIP-1852's extended root public key | Ed25519 public key with chain code |
| `script_sk` | Script signing key | Ed25519 private key |
| `script_vk` | Script verification key | Ed25519 public key |
| `script_xsk` | Extended script signing key | Ed25519-bip32 extended private key |
| `script_xvk` | Extended script verification key | Ed25519 public key with chain code |
| `stake_sk` | Stake address signing key | Ed25519 private key |
| `stake_vk` | Stake address verification key | Ed25519 public key |
| `stake_xsk` | Extended stake address signing key | Ed25519-bip32 extended private key |
| `stake_xvk` | Extended stake address verification key | Ed25519 public key with chain code |
| `vrf_sk` | VRF signing key | VRF signing key |
| `vrf_vk` | VRF verification key | VRF verification key |

#### Hashes

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `addr_vkh` | Address verification key hash | blake2b\_224 digest of a payment verification key |
| `pool` | Pool operator verification key hash (pool ID) | blake2b\_224 digest of an operator verification key |
| `script_vkh` | Script verification key hash | blake2b\_224 digest of a script verification key |
| `stake_vkh` | Stake address verification key hash | blake2b\_224 digest of a delegation verification key |
| `vrf_vkh` | VRF verification key hash | blake2b\_256 digest of a VRF verification key |


#### Miscellaneous

| Prefix | Meaning | Contents |
| --- | --- | --- |
| `addr` | Mainnet address | Network tag, payment credential and optional stake credential |
| `addr_test` | Testnet address | Network tag, payment credential and optional stake credential |
| `stake` | Mainnet stake address | Network tag and stake credential |
| `stake_test` | Testnet stake address | Network tag and stake credential |
| `script` | Script hash | blake2b\_224 digest of a serialized transaction script |


## Rationale

Expand Down

0 comments on commit 4f9429c

Please sign in to comment.