# Technical glossary

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


# A

Authentication token

The access token for wallet related commands, It can be shown by cli-command.

# B

Bonded (staking state)

The non-transferable amount of token staked to the corresponding address, it can be unlocked by the unbond transaction.

Byzantine Faults (Double signing)

A validator is said to make a byzantine fault when they sign conflicting messages/blocks at the same height and round.

# C

Chain ID

A unique identifier for the blockchain. Different prefixes of the Chain ID are used to distinguish between devnet, testnet and mainnet. For example, the Chain ID of our testnet is testnet-thaler-crypto-com-chain-42

Chain-abci

The Application BlockChain Interface connects Tendermint (for consensus operations) to the actual applications.

Client-cli

The command line interface for the wallet client. It supports wallet management, funds transfer and basic staking operations.

Client-rpc

The JSONRPC interface of the wallet client. It can be used to be integrated with different services and also power the Sample Wallet. It provides nearly the same set of operations as Client-cli does.

# D

Deposit (Transaction type: deposit)

The transaction that transfers funds from a transfer address to a staking address for staking purposes.

# H

HD wallet

The BIP-32 compatible Hierarchical Deterministic (HD) wallet is a system of deriving keys from a single starting point known as a seed. The seed can be presented in the form of a human-readable mnemonic that can be used for easily backup and restore the wallet.

# J

Jailing

A validator is jailed when they make a byzantine fault. When a validator gets jailed, they cannot perform any staking related operations relating to their account.

# L

Liveness Faults

A validator is said to be non-live when they fail to sign at least missed_block_threshold blocks in last block_signing_window blocks successfully.

# M

Mnemonic (of a wallet)

The BIP-39 compatible 24-word mnemonic phrase of the wallet. User can restore their wallet and associated addresses by this human-readable mnemonic.

Multisig addresses

The threshold multi-signature addresses that require multiple keys to authorize a transaction.

# N

Network ID

The last two hex characters of the Chain ID. Using our testnet Chain ID testnet-thaler-crypto-com-chain-42 as an example, the network ID would be 42(in hex).

Node-join (Transaction Type: node-join)

The transaction for joining the network as a validator.

Nonce (of a staking address)

The nonce is the number of transactions that have the witness of the staking address. It also serves as an important safety precaution for preventing replay attacks.

# P

Proposer (of a block)

Validator can become a proposer and commit new blocks in the blockchain according to a deterministic proposer selection procedure. The probability of a validator being selected as the proposer for a round is proportional to their voting power.

# S

SGX

The Intel® Software Guard Extensions (SGX) is a set of instructions that increases the security of application code and data. It ensures the integrity and confidentiality of the data by isolating them from the OS or other enclaves.

Slashing

The penalty imposed on validators' misbehaviour such as byzantine faults or liveness faults, which resulted in losing some amount of their staked tokens.

Staking address

The address for staking related operations, it follows the format of the 20 bytes Ethereum account address.

State (of a staking address)

The general state of a staking address that includes nonce, bounded/unbonded amount, validator metadata, and slashing related information (if any).

# T

TDBE

Transaction data bootstrapping enclave responsible for fetching current UTXO set transaction data; and handling periodic key generation operations.

Tendermint

The underneath byzantine fault tolerant protocol for performing distributed consensus.

Tendermint KMS(tmkms)

The key management system for tendermint validators.

TQE

Transaction query enclave serves the encryption and decryption requests from wallets / clients. It allows semi-trusted client querying of sealed tx payloads.

Transfer (Transaction type:transfer)

The transaction that transfers funds between transfer addresses.

Transfer address

The address for payments/value transfers. Different prefixes of the transfer address are used to distinguish between devnet, testnet and mainnet.

# U

Unbond (Transaction type: unbond)

The transaction to unbond funds in the staking address. Note that funds will only be available for withdrawal after the unbonding period has passed.

Unbonding period

The time duration of unbonding, which is the waiting period of the stake state's unbonded amount can be withdrawn.

Unjail (Transaction type: unjail)

The transaction to unjail a validator.

# V

Validator

The participant in the proof of stake (PoS) consensus protocol. They are responsible for transaction validation and committing new blocks in the blockchain.

Validator keys

The key pair for signing messages from the validator. The full key pair is located under the tendermint priv_validator_key.json folder after the initialization. In production deployment, it is strongly advised not to keep the private key reside on the machine ( see the deployment notes and recommendations )

View key

The key pair to enforce access to the confidential transaction data.

Voting power

The voting power is determined by the bonded amount in validator's staking address. The probability of a validator being selected as the proposer for a round is proportional to their voting power.

# W

Withdraw (Transaction type :withdraw)

The transaction for withdrawing funds from a staking address to a transfer address.