Blockchain Terminology

Tokens may be used to safeguard sensitive data involving, for example, bank accounts, financial statements, medical records, criminal records, driver’s licenses, loan applications, stock trades, voter registrations, and other types of personally identifiable information (PII)

Initial Coin Offering (ICO) –In an ICO, a quantity of cryptocurrency is sold in the form of “tokens” (“coins”) to speculators or investors, in exchange for legal tender or other cryptocurrencies. The tokens sold are promoted as future functional units of currency if or when the ICO’s funding goal is met and the project launches. In some cases, like Ethereum, the tokens are required to use the system for its purposes.

Stablecoins are cryptocurrencies designed to minimize the volatility of the price of the stablecoin, relative to some “stable” asset or basket of assets.

Backed Stablecoins are redeemable in commodities (such as precious or industrial metals).

Currency backed stable coins are pegged to one or more fiat currencies (e.g. US Dollar, Euro etc.)

Cryptocurrency backed stable coins are issued with cryptocurrencies as collateral, which is conceptually similar to fiat-backed stablecoins; the significant difference between the two designs is that while fiat collateralization typically happens off the blockchain, the cryptocurrency or crypto asset used to back this type of stablecoins is done on the blockchain, using smart contracts in a more decentralized fashion.

Colored coins are a class of methods for associating real world assets (e.g. a deed for a house, stocks, bonds or futures) with blocks on the blockchain network. 

Mining– process of generating a new block on the blockchain – typically includes a PoW assertion.

Mining pool– a collection of miners who have pooled their resources together in order to mine a cryptocurrency

Single mining pool– A mining pool that mines a single cryptocurrency.

Multipool mining– mining poll that mines multiple cryptocurrencies

Orphan blocks– a successfully completed PoW that was not accepted by the consensus protocol – discarded (waste) in bitcoin

Stale blocks– a block that is abandoned because the mining node already received a solution from some of other node.

Uncle blocks– an orphan block; in Etherium, orphan (uncle) blocks can earn ether.

Genesis blocks– the first block on the blockchain.

Just as a Mint creates new currency notes and coins, minting on a blockchain expands the size of the cryptocurrency in circulation and supported by the blockchain.

To Burn a crypto currency asset is to destroy it – reduces the size of the cryptocurrency in circulation and supported by the blockchain.

Fiat currency is an object (like a paper bill or metal coin) that has been established as money, often by a government

Digital Currency is a type of currency designed to be used in the digital form. A cryptocurrency is a digital currency.

On a permission less network, anyone who meets certain technical requirements can access the network or operate a node.

On a permissioned network, an entity controls access to the network and oversees who can operate a node.

Blockchain Governance is the approach to decision making taken by the decentralized nodes on a blockchain.

non-fungible token (NFT) is a special type of cryptographic token which represents something unique; non-fungible tokens are thus not interchangeable. This is in contrast to cryptocurrencies like bitcoin, and many network or utility tokens that are fungible in nature.

cryptocurrency wallet is a device (e.g. usb stick), physical medium, program or a service which stores the public and/or private keys and can be used to track ownership, receive or spend cryptocurrencies. The cryptocurrency itself is not in the wallet. In case of bitcoin and cryptocurrencies derived from it, the cryptocurrency is decentrally stored and maintained in a publicly available ledger called the blockchain. A public key allows for other wallets to make payments to the wallet’s account(address), whereas a private key enables the spending of cryptocurrency from that address.

Computing Terminology

A Distributed System is a system whose components are located on different computers connected by a network – typically the Internet; which communicate and coordinate their actions by passing messages to one another.

Client–Server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Clients request communication sessions with servers which respond to incoming requests.

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application. They are said to form a peer-to-peer network of nodes.

Network partition refers to network decomposition into relatively independent subnets for their separate optimization as well as network split due to the failure of network devices.

Network topology is the topological structure of a network and may be depicted physically or logically. It is an application of graph theory wherein communicating devices are modeled as nodes and the connections between the devices are modeled as links or lines between the nodes.

Grid Computing is composed of many networked loosely coupled computers acting together to perform large tasks, these computers be more heterogeneous and geographically dispersed.

Cloud Computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet.

Virtual Machine (VM) is an emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination.

computer program is a collection of instructions that performs a specific task when executed by a computer. n.b. Algorithms + Data Structures = Programs (a 1976 book written by Niklaus Wirth pointing out that algorithms and data structures are inherently related).

More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.

Linked list is a linear collection of data elements, whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. In its most basic form, each node contains: data, and a reference (in other words, a link) to the next node in the sequence. This structure allows for efficient insertion or removal of elements from any position in the sequence during iteration. More complex variants add additional links, allowing more efficient insertion or removal of nodes at arbitrary positions.

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques. A graph database is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data.

database transactionsymbolizes a unit of work performed within a database management system (or similar system) against a database; and treated in a coherent and reliable way independent of other transactions.

ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc.

hash function is any function that can be used to map data of arbitrary size onto data of a fixed size. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. Hash functions are related to (and often confused with) checksums, check digits, fingerprints, lossy compression, randomization functions, error-correcting codes, and ciphers. Although the concepts overlap to some extent, each one has its own uses and requirements and is designed and optimized differently.

The CAP conjecture, also known as Brewer’s theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees: Consistency: Every read receives the most recent write or an error; Availability: Every request receives a (non-error) response – without the guarantee that it contains the most recent write; Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes. In particular, the CAP theorem implies that in the presence of a network partition, one has to choose between consistency and availability. Note that consistency as defined in the CAP theorem is quite different from the consistency guaranteed in ACID database transactions

The primary goal of information security is to control access to information. The value of the information is what must be protected. These values include confidentialityintegrityand availability. Inferred aspects are privacyanonymityand verifiability.

confidentiality is an attribute of information that is not made available or disclosed to unauthorized individuals, entities, or processes.

data integrity means maintaining and assuring the accuracy and completeness of data over its entire lifecycle. This means that data cannot be modified in an unauthorized or undetected manner.

For any information system to serve its purpose, the information must be available when it is needed. Availability requires the computing systems used to store and process the information, the security controls used to protect it, and the communication channels used to access it must be functioning correctly.

Privacy is the ability of an individual or group to seclude themselves, or information about themselves, and thereby express themselves selectively. The boundaries and content of what is considered private differ among cultures and individuals; but share common themes. When something is private to a person, it usually means that something is inherently special or sensitive to them. The domain of privacy partially overlaps with security (confidentiality), which can include the concepts of appropriate use, as well as protection of information.

Anonymity requires that  person be non-identifiable, unreachable, or untrackable.

Pseudonymity enables the other party to link different messages from the same person and, thereby, to establish a long-term relationship, without necessarily disclosing personally identifying information

Non-repudiation refers to a situation where a statement’s author cannot successfully dispute its authorship or the validity of an associated contract. The term is often seen in a legal setting when the authenticity of a signatureis being challenged.

In contrast with identification, which refers to the act of stating or otherwise indicating a claim purportedly attesting to a person or thing’s identity, authentication is the process of actually confirming that identity. 

Authorization is the function of specifying access rights/privileges to resources, which is related to information security and computer security in general and to access control in particular.

Encryption is the process of encoding a message or information in such a way that only authorized parties can access it and those who are not authorized cannot. Encryption does not itself prevent interference; but denies the intelligible content to a would-be interceptor.

In symmetric-key encryption schemes, the encryption and decryption keys are the same.

In public-key encryption schemes, the encryption key is published for anyone to use and encrypt messages. However, only the receiving party has access to the decryption key that enables messages to be read.

public key infrastructure (PKI), is  centralized architecture in which one or more third parties – known as certificate authorities – certify ownership of key pairs.

web of trust is a decentralized trust modelused in PGP, GnuPG, and other OpenPGP-compatible systems to establish the authenticity of the binding between a public key and its owner.There are many independent webs of trust, and any user (through their identity certificate) can be a part of, and a link between, multiple webs.

In cryptography, a nonce is an arbitrary number that can be used just once in a cryptographic communication. It is often a random or pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused in replay attacks.

To achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree ( achieve consensus) on some data value that is needed during computation.

Proof-of-Work (PoW) system (or protocol, or function) is a measure to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer.

Proof of authority (PoA) is an algorithm used with blockchains that delivers comparatively fast transactions through a consensus mechanism based on identity as a stake. Blockchain transactions and blocks are validated by approved accounts, known as validators.validators are incentivized to uphold the transaction process.

Proof of stake (PoS) is a type of consensus algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus. In PoS-based cryptocurrencies the creator of the next block is chosen via various combinations of random selection and wealth or age (i.e., the stake).

zero-knowledge proofor zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x. The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information.

Byzantine Fault Tolerance (BFT) is the ability of a decentralized system to provide safety guarantees in the presence of faulty, or “Byzantine” members. Byzantine Fault Tolerant (BFT) consensus protocols are designed to function correctly even if some validator nodes — up to one-third of the network — are compromised or fail.

Consensus protocol allows nodes to collectively reach an agreement on whether to accept or reject a transaction.

Merle tree is a type of authenticated data structure that allows for efficient verification of data integrity and updates.

Open source is a term used for software that makes the original source code freely available so that it can be distributed and modified.