Glossary of Concordium Terms¶
See also our whitepaper for more details on the terms described below.
An addressable store of funds on the blockchain. An account is associated with one or more account keys that can be used to authorize transactions originating from the account, as well as with an encryption key that can be used to send encrypted transfers to the account. An account is also associated with the account holder’s identity, although this association is encrypted for anonymity. This anonymity can only be revoked by anonymity revokers, in cooperation with the account’s identity provider.
User data, such as date of birth or country of residence, that is associated with a user identity. Users can choose which attributes should be revealed in each of their accounts.
The chain a baker will build upon when making a new block. The best chain selection procedure is determined by the consensus protocol. In particular, the best chain has the most finalized blocks, and the most blocks after the last finalized block.
The basic unit of the blockchain, which is produced by a baker. A block contains a (possibly empty) list of transaction, and has a pointer to a previous block (with the exception of the genesis block). A block and its predecessors form a chain, and the sequence of transactions they contain form a ledger. Each block has a slot time that records when it was baked. A block also contains information relating to consensus, for instance establishing which baker created the block, and that the baker was entitled to do so.
The mechanism by which a node receive messages that may have been missed, for instance because the node was offline when it was sent.
A sequence of blocks, starting from the genesis block, in which each successive block points to the predecessor. There may be multiple valid chains, and the consensus protocol establishes which chain is authoritative.
A certificate derived from the Identity Object that proves that the owner has been verified by an identity provider. The key feature of the credential is that it does not identify the owner to the identity provider, nor to any other single entity, however it contains enough information to allow anonymity revokers in concert with the identity provider to find the owner.
The user holding a credential. An account is owned by one or more credential holders.
Dual to encryption key. In contrast to the encryption key, which is public, this key is only known to the account holder.
An amount of CCD that is encrypted with the public key of an account. Only the owner of the secret key can determine how many CCDs are contained in the encryption.
A time period consisting of multiple slots (on the testnet, an epoch lasts for approximately one hour). At the start of each epoch, we compute a leadership election nonce based on the block nonces of the previous epoch. The leadership election nonce is valid for the duration of the epoch.
The process by which a block is marked to be “finalized”, i.e. part of the authoritative chain. Transactions that are part of finalized blocks are considered authoritative. New blocks can be only added following the last finalized block. The finalization process is conducted periodically by the bakers with staked amount at least 0.1% of the total stake in the system.
Global Transaction Unit (CCD)¶
The currency of the Concordium blockchain. CCD can be used for multiple purposes:
as a form of payment between users via transactions,
as a payment for executing smart contracts,
as a store of value,
The smallest subdivision of CCD is the µCCD (micro CCD), with 1 CCD = 1,000,000 µCCD. This means that CCD amounts are given with up to six decimal places of precision.
Before opening an account on the Concordium Platform, one’s real-world identity must be verified and recorded by an identity provider. A user’s identity is anonymous on-chain, however this anonymity can be revoked and their real-world identity revealed in response to a valid request from a government authority.
An object issued by the Identity Provider to the user which allows the user to prove to third parties that their real life identity has been verified by a trusted third party.
A person or organization that performs off-chain identification of users. Users are required to obtain an identity object from an identity provider in order to open an account on the Concordium Platform.
An intial account is an account submitted to the chain by the identity provider during the process of requesting a new identity. The initial account can perform all of the same actions as a regular account, however the real-life identity of the initial-account owner is known by the identity provider who submitted it to the chain. In contrast, the real-life identity of the owner of a regular account can only be ascertained by anonymity revokers working in concert with the identity provider.
To check whether a given baker has won in a given slot, the baker uses the slot number and the leadership election nonce to compute a value r. The leadership election nonce is a random value that is periodically updated to prevent parties from predicting too far into the future when they will win. A baker wins if the value r is below a certain threshold, which depends on the baker’s lottery power and a common difficulty parameter f. The winning probability is roughly proportional to the baker’s stake, and higher difficulty parameters decrease the winning probability for all parties.
A baker’s lottery power is its relative stake and is therefore proportional to the staked amount of that baker. The lottery power is updated each epoch, and is based on the stake distribution at the end of the epoch before last. (This delay ensures that the stake distribution is determined before the randomness that fixes the bakers for the epoch: otherwise, stakeholders might redistribute their stake to luckier bakers, which undermines the security of the system.)
The main Concordium network which is expected to launch in early 2021. The mainnet will receive periodic upgrades, but in contrast to the testnet, it will never be reset, and accounts created on the mainnet will remain indefinitely.
A participant in the Concordium network. Nodes receive blocks and transactions, and track the current state of the blockchain. A baker node has cryptographic keys that enable it to take part in baking and finalization. A node without these keys is referred to as a passive node.
May refer to:
Transaction sequence number (same as account sequence number)
Refers to activities outside of the Concordium blockchain. Some on-chain actions need preliminary actions off-chain, for example to create an account on the Concordium blockchain the user must first work with an identity provider, e.g., via their website or mobile application, to obtain a specific digital certificate. We refer to this certificate as the identity.
Refers to an an event or activity that is propagated through the Concordium network and recorded on the Concordium blockchain. The recording can be explicit or implicit as part of the consensus protocol. An example of the former is a transaction such as a CCD transfer, an example of the latter are the rewards given out to, e.g., bakers.
The part of the balance of an account that only the owner of the account can see. This is achieved by encrypting transfers to an account with the account’s encryption key. Every participant of the Concordium network can see the ciphertexts of all the transfers, however they provide no information on how many CCDs were transferred. The receiver of the transfer can use their secret key to decrypt the ciphertexts, and seeing how many CCDs they have received.
For technical reasons the shielded balance of the account consists of two parts, the “self balance” and the “incoming encrypted amounts”.
Incoming encrypted amount¶
This is a list of encrypted amounts that is extended each time an account receives an encrypted transfer. When the account makes an encrypted transfer it can use a number of encrypted amounts from this list as inputs to the transfer.
In the blockchain, time is divided into equally sized units called slots. On the testnet the duration of slot is one second. In every slot, each baker checks locally whether they won the lottery, which entitles the winner to bake a block in that slot. Zero, one, or multiple bakers can win the lottery. The probability of these different events is controlled by the difficulty parameter f. For example, with difficulty 0.5 on average every second slot will have a lottery winner.
bakers can have part of the balance of its account staked. The amount that is staked remains locked while staked and cannot be transferred or moved in any way. The staked amount is proportional to the lottery power of a baker.
A test network run by Concordium to test its protocols and software. There can be several test networks in existence at the same time. All the features are tested on the testnet before they are released on the mainnet.
An atomic operation that defines a change of state in the ledger, such as transferring funds from one account to another. A transaction typically has a sender account and a transaction sequence number, and incurs a fee. The sender account must sign the transaction to authorize it. (The exception to this is a credential deployment transaction that creates a new account, which does not have a sender account.)
Additional data that a user can provide when making a transfer, a shielded transfer or a transfer with schedule. The data will appear on chain as a bytestring. It is expected to be CBOR encoded and can therefore represent strings, numbers and JSON values, but this is not enforced.
Transfer with schedule¶
A special kind of transfer of CCD that makes the CCD amount available to the receiver only in a limited way until a specified point in time. The point in time is specified as part of a transfer. The CCD are immediately owned by the receiver account, and the transfer cannot be revoked, but the receiver cannot spend the CCD until the specified time.
Transaction Sequence Number¶
A sequence number that orders transaction on a given account. In a ledger, all transactions for an account must be ordered with consecutive transaction sequence numbers, starting from 1. Transaction sequence numbers ensure that a transaction cannot be repeated in the ledger, and that the transactions occur in the order intended by the sender account holder.
The winning probability is the probability that a baker wins in a given slot. The probability is \(1-(1-f)^α\), where \(f\) is the difficulty parameter and \(α\) is the lottery power.