In order to better understand the underlying blockchain technology that provides the basis for, and often the origin of – digital cash, you can use the text below as a 101 on blockchain. There is no necessity to grasp every technical detail of a blockchain’s structure or smart contracts, but it surely helps to build knowledge and shape your opinion about the function and the value of a digital token aka crypto currency or digital cash.
Transaction Processing in a Blockchain Network
- A transaction is created and signed by an account owner
- The signed transaction is submitted to the blockchain network (transaction request)
- The validating nodes check if the requested transaction is properly formatted (signed and valid regarding its content) and does not conflict with other transactions. Only correctly formatted transactions are accepted for validation. Transaction may provisionally succeed, then later fail or fail, then later succeed
- The validated transaction is added to a block; the block awaits to be added to the blockchain either by consensus or by authority
- The block is added to the blockchain
(If applicable) If conflicting blocks are created for an overlapping set of transactions, a decision has to be made which block to include to the blockchain and which blocks to discard. In the case of a consensus mechanism, this is done identifying the longest chain of blocks with the highest PoW difficulty value and thus without the need for trusting any single participant in the network. This however is only required, if more than one entity holds the blockchain network and no classic arbitration model exists between the entities; examples for consensus mechanisms are Proof-of-Authority, Proof-of-Work, and Proof-of-Stake.
Transaction created and Transaction submitted
Transaction & messages: The term “transaction” refers to the cryptographically signed data package that stores a message to be sent from an externally owned account to another account on the blockchain. It is the one and only way for users to interact with any Ethereum based blockchain system. Messages are similar to transactions but exist within Ethereum based blockchains only – they are “transactions” sent between internal accounts, ie. contracts.
Users send transactions to one or more other nodes in the network who further propagate the transaction throughout the network. Through this peer- to-peer communication, transactions are spread fast across the network to all miners and users.
Validation of transactions: A transaction is verified by checking the validity of its cryptographic signature. Verification of transactions is looked after by the operators of the network, either miners in a permissionless network or the authority nodes in a permissioned blockchain.
Censoring transactions: Operators of the consensus network decide to include or discard incoming transactions (even valid ones) at their own volition. In a public network, transactions come with a transaction fee that users can adjust and thus incentivise miners to include a valid transaction into the next block. Thus, the censoring of transactions in the public network with currently more than 5000 nodes is very unlikely. However, in a permissioned network where the number of operators is limited and pre-agreed, users of the network have less confidence and need to trust operators to include transactions into the next block.
Transaction added to a block and Block added to the blockchain
Blockchain: This is a transactional database that is maintained by the consensus network. It contains a complete history of every transactional change and every transaction sent to it. It is also where smart contracts are stored.
Block: A block is a discrete update to the blockchain. It contains a list of new transactional changes which is added to the complete history. All peers in the network add the same blocks to their chains to maintain consensus on the blockchains state.
Consensus Network: This is a peer to peer network of computers which maintain a blockchain database. These peers come into consensus in discrete intervals on the current state of the blockchain.
Consensus Mechanism: This is the methodology which allows the network to maintain consensus on the current state of the blockchain database. It revolves around a simple rule: one individual must be chosen to author the next block which everyone else must add to their database. It is the method of choosing the individual to create the next block that the various consensus mechanisms are interested in.
Permissionless Network: This is a consensus network which anyone can join and become a ‘peer’, downloading the full blockchain and receiving and sending transactions and blocks to other peers.
For more details and an evaluation of permissionless blockchains, please read Peter van Valkenburgh’s article.
Permissioned Network: This is a consensus network where approval is needed from some authority to become a peer and download a full copy of the blockchain.
Consortium Network: A consortium network (also called ‘Federated Network’) is one where multiple parties take part but the network is not public. An example might be a network maintained by a consortium of banks where each bank maintains a group of peers and is able to create new blocks – information is shared between them. Typically it will not have a cryptocurrency and therefore will use Proof of Authority, or it will have a token and use a POA/POS hybrid model.
If you are interested in blockchain technology feel free to read through our curated Blockchain Basics Magazine.