Skip to content

Latest commit

 

History

History
229 lines (115 loc) · 16.9 KB

File metadata and controls

229 lines (115 loc) · 16.9 KB

GLOSSARY OF TERMS

51% attack – an attack in which a user (or a group of users), who owns the majority of the processing power starts censoring transactions and performing a double-spending attack.

Accounting system – a system used to manage all incomes, expenses, and other financial aspects of a business.

Anonymity – a property that implies the impossibility to determine the identity of a certain user.

ASIC (application-specific integrated circuit) – an integrated circuit specialized to solve a specific problem.

Atomic swap – a technology that allows exchanging certain digital currencies without third-parties: the idea of the technology is that an exchange is either performed completely and inextricably or not performed at all.

Auditor – a party engaged in the verification of the accounting system. In the context of the blockchain technology, an auditor downloads the data from the chain of blocks and verifies it to make sure that the end state of the system corresponds to the transaction history while all protocol rules are met.

Backdoor – an element that is intentionally built in by a software or hardware developer and allows for unauthorized access, providing the possibility to control, disrupt the work, steal confidential data, etc.

Balance – a list of incomes and expenses, assets and liabilities in financial reports.

Base58Check encoding – an option for encoding the digital code in the form of alphanumeric text based on the Latin alphabet. The encoding alphabet contains 58 symbols.

Bitcoin address – a large unique number obtained from a user's public key via a hash function that is used to send and receive payments.

Bitcoin coin – a unit of value in the bitcoin currency.

Bitcoin community – a community of people who work on the improvement of the Bitcoin protocol and support the project in general.

Bitcoin Core – a free open-source software, the basic implementation of the Bitcoin protocol.

Bitcoin currency – an independent decentralized digital currency.

Bitcoin network – a peer-to-peer network of Bitcoin users.

Bitcoin node – a computer with special software connected to the other computers under the Bitcoin protocol.

Bitcoin protocol – a set of rules that determine how Bitcoin network nodes work and communicate.

Bitcoin Script – a non-Turing-complete instruction description language. In Bitcoin, it is used to specify the coin spending rules and meet them.

Bitcoin transaction – a set of digital data that initiates the transfer of bitcoins from one address to another.

Bitcoin wallet – an application or a special device that is used for storing and processing private keys, sending and receiving payments, displaying balance and transaction history.

Block – a unit of data that consists of header and body (usually a non-empty transaction list).

Block header – a part of a block that consists of several fields with the mandatory hash value of the previous block and a hash value of transactions included in the current one.

Block height – the sequence number of a block in the chain relative to the genesis block.

Blockchain – the data arrangement technology that assumes that all the data is grouped into blocks. Each block contains a hash value that is calculated according to the data of the previous block. A chain of blocks is built in such a way that it is impossible to modify the data added to it without being noticed by other participants.

Bot – a special program that automatically performs the specified actions through the data networks or program interfaces.

Botnet – a network of nodes with special software that allows coordinating their activities without owners knowing to perform certain actions like sending spam messages.

Capacity – a metric characteristic that reflects the limiting number of units (information, objects, volume) passing through the channel, system, or a node per unit of time.

Centralized storage service – a service that owns one or more servers for data storing.

Coinbase maturity – a parameter that indicates the minimum number of transaction confirmations after which the validator receives a reward.

Coinbase transaction – a special transaction that can only be created by a validator, has index equal to zero and present in each block. It has no input data and denotes the reward for a miner who created the block.

Coinjoin – a method of combining several payments into a shared transaction that mixes coins and makes it impossible to track the unambiguous coin history.

Coins database (in the context of Bitcoin) – a database that stores the current state of all unspent outputs.

CoinShuffle – a method of coin mixing used to increase user privacy.

Conflicting transactions – two or more transactions that cannot be confirmed simultaneously (in the context of the blockchain technology, they cannot be in the same chain).

Consensus – the state of agreement among users regarding the transactions that they consider correct.

Cryptocurrency – an independent digital currency with the decentralized management of the following processes: coin issuance, transaction confirmation, data storage, accounting system audit, and governance (decision-making regarding the updates). No permissions are needed to own cryptocurrency coins and perform transactions: all users have equal rights to use it.

Darknet – a hidden network where connections are established only between trusted nodes by using specialized protocols and ports.

Decentralization – a process of distributing people, authorities, calculations, and stored data away from a single location or governing body.

Deterministic wallet – a wallet in which all used private keys were generated from a common secret key.

Difficulty (mining complexity parameter) – a special field in the block header that indicates the complexity of coin mining.

Digital key – a numerical string of a certain length that is created according to specific rules, often using random number generators, and calculated from other values through a special algorithm.

Digital signature – a digital analog of handwritten signature with two specific features: the ability to verify the authenticity and integrity of the document; this protects it from being modified or substituted.

Distributed network node – an individual unit in a decentralized system. It represents a computer of a participant in a decentralized system that interacts (communicates) with other system participants according to the protocol rules; in this case, for other nodes of this network, the node acts both as a client and a server.

Double spending attack – an attack that has the purpose to send the same coins to two different recipients so that both of them accept the payment.

ECDSA (elliptic curve digital signature algorithm) – a digital signature cryptographic algorithm used in Bitcoin to ensure that funds can only be spent by their legitimate owners.

Entropy – the measure of randomness of a system that determines the probability that a particular symbol or group of symbols occurs in the data stream.

Fiat currency – a currency that is not backed with a valuable resource. Its value is set and guaranteed by the government.

Firewall – a part of the computer network that is used to prevent unauthorized or unwanted communication between computer networks or hosts.

Fork (in the context of blockchain) – the situation when several blocks are added at one height of a particular chain of blocks due to incidental or malicious unsynchronization of the network nodes.

Fork (in the context of software versions) – a process of cloning the source code of a project for further independent development.

Full node – a network node that stores all the data of the chain of blocks, transmits them to other nodes and ensures the validity and authenticity of added blocks.

Fungibility – a property that implies that all coins have the same value and the rules for their processing are the same for all.

Genesis block – the initial block with height equal to zero. The feature of genesis block is that full network nodes do not have to download it since it is embedded in their software.

Hardfork – a protocol change that makes previously invalid blocks and transactions valid.

Hardware wallet – a special device that stores a user's private key and can perform certain operations using it.

Hash function – a function used to convert an input data array of arbitrary length into an output bit string with a fixed length, which is performed using a certain algorithm.

Issuance (in the context of money) – the process of putting cash or non-cash money into circulation.

Key pair – a private and a public key that are used to generate and verify the digital signature accordingly.

Ledger – a spreadsheet (usually digital) that is used to record the results of performed transactions. It reflects the end state of the accounting system that was obtained due to processing full transaction history.

Lightning Network – a method of secure payments routing across multiple P2P bidirectional payment channels.

Liveness – a property that implies an ability for the system to reach consistency even despite the failure of its particular components.

LockTime – a mechanism for limiting the transaction confirmation until a certain point in time.

Main secret of a wallet – a bit sequence of a certain length that is used mostly by digital wallets with the deterministic key generation or HD wallets.

Mainchain – main (active) chain of blocks.

Mainnet – the main operating network of a decentralized system.

Marketplace (in the context of digital assets) – software and hardware set of organizational, information, and technical solutions that ensure the interaction between sellers and buyers through digital communication channels.

Merchant – a payment service that uses digital currencies and payment systems.

Merkle tree – a full binary tree that contains hash values of data blocks in its leaf nodes and hash values of concatenated child nodes in its inner nodes.

Miner (in the context of digital currencies) – a device that performs computations required for the issuance of new coins.

Mining (in the context of digital currencies) – the computational process required to issue new coins in order to obtain a reward. These computations can have a different nature depending on the protocol of a specific currency.

Mining pool – a group of mining equipment owners with one leader. The leader creates blocks and distributes assignments to all participants in the group. If one of the participants finds a solution, the reward is split between all participants proportionally to their equipment capacity.

Mnemonic seed phrase – an ordered set of words that can be written down on paper and, if necessary, memorized. It is used as a human-readable display of the main secret of a wallet for the purpose of its backup and recovery.

Multisignature address (multiSig address) – a Bitcoin address, the coins from which can only be spent using several ECDSA key pairs.

Network client – a hardware or software component of the computer system that sends messages (requests) to remote computers. Generally, it implements a user interface for accessing online services.

Non-atomic payment – a payment that is performed only through a sequence of separate stages such as withdrawing funds from the balance, checking permissions and limits, and remitting funds to another balance.

Off-chain transaction – a transaction that is transferred outside of the main accounting system. The verification procedure of such kind of transaction is defined by the transaction parties.

On-chain transaction – a transaction in the main chain of blocks that must be accepted by mainchain validators to be considered as confirmed.

P2P (peer-to-peer) – an architecture of a distributed system, where users act as the network nodes and exchange data directly (i.e., without central servers).

P2SH (pay to script hash) – a method of making payments that allows specifying the conditions for coin spending by using the hash value of the script, rather than its public data.

Payment channel – a method of performing multiple payments without adding transactions to a shared database (for example, a blockchain).

To open/close a payment channel, counterparties must make an opening/closing on-chain transaction.

Payment system – any system which is used to manage financial operations and includes a set of rules, procedures and technical infrastructure that ensure the transfer of value from one entity to another.

Permissioned – a property of a process implying that a party cannot be involved in it without appropriate permission.

Permissionless – a property of a process implying that any party can be involved in it without the need to have any permission.

Persistence – the protocol characteristic that guarantees the immutability of transaction sequence and inability to cancel them after the corresponding confirmation.

Privacy – a property of information meaning that specific data is not available to unauthorized entities.

Private key – a key (in asymmetric cryptographic systems) that is only known to its owner and used to encrypt messages.

Proof of coin ownership – a set of data that the transaction initiator forms to prove that specific coins belong to him.

Public key – one of the keys (in public key cryptographic systems) in the user's key pair that can be known to all system participants without any security risks.

Segregated Witness – the Bitcoin protocol update, in which the proof of coin ownership is stored separately from the primary transaction data.

Serialization – the process of converting some data structure into a sequence of bits (bytes). The reverse operation is called deserialization (structuring).

Sidechain – a separate chain of blocks associated with the main (parent) chain; the processing rules of sidechain may differ from the rules for processing the parent chain.

Softfork – a protocol change that provides new protocol functions while blocks and transactions created under new protocol rules stay valid for older versions.

Software wallet – an application that processes keys and transactions, connects to the payment network through trusted nodes, centralized services or is a network node itself.

SPV (simplified payment verification) – a method that allows the client to verify that a transaction is confirmed (included in the block) without having to download the entire transaction history and performing its verification. For its verification, the SPV client only needs to download the block headers that have a smaller size than full blocks.

Testnet – a network used for testing the protocol updates.

Timestamping – a property that indicates the binding of some message to a specific point in time and the ability to verify that this binding is valid.

Token (in the context of digital assets) – an accounting unit that is used to represent a digital balance of some asset owner in an accounting system.

Transaction (in the context of blockchain) – a digital statement that is certified by its creator and initiates the coin transfer from one address to another.

Transaction confirmation – the process of verifying the transaction by validator nodes and including it in the block.

Transaction ID (txid, wtxid) – the hash value of all transaction fields.

Transaction malleability – an attack that allows changing the unique identifier of a Bitcoin transaction before its confirmation in the network.

Transaction verification – the process of verifying the correctness of the input data to publish the transaction to the network.

Trusted node – a full Bitcoin network node who a particular user entrusts the verification of his transactions.

Trustlessness – the property of a system implying that it is not necessary to entrust it to store and process particular data.

Untraceability – the inability to assign certain actions to a certain user in the network.

UTXO (unspent transaction output) – an unspent output in the confirmed part of the blockchain (or other distributed ledger) that can be used as an input of the next transaction.

Validator – a participant of the accounting system who performs full verification of transactions and directly takes part in their confirmation. If the accounting system is blockchain-based, the validators are those who create the blocks.

Validator node – a full network node in a decentralized accounting system that is used by a validator.

Verification – the process of checking data for compliance with the protocol rules.

WIF (wallet import format) – a method of encoding an ECDSA private key for copying purposes.

Witness (witness data) (in the context of Bitcoin) – a set of proofs of coin ownership that are excluded from the main part of the transaction.

Zero-knowledge proof (ZKP) – a cryptographic proof of knowledge of a secret without its disclosure.

ACKNOWLEDGEMENTS