Outline
- General Process of Blockchain
- Blockchain Governance System
- Blockchain Platforms
- Properties of Blockchain System
General Process of Blockchain
General Working Sequence of Blockchain
Working sequence:
- Blockchain user(s) creates account(s).
- Blockchain user creates transaction (Tx).
- Transactions are signed.
- Transaction is broadcast to the validating nodes.
- Transaction is validated.
- Transactions are gathered in a pool.
- Miner node(s) gather multiple Txsand create block.
- Miner node(s) perform mining.
- Block validation is carried out.
- Successful miner node adds block to the blockchain.
- Added block information is broadcast to the blockchain network.
- Blockchain node adds the broadcast block to their local copy of blockchain—Block confirmation.
- Block becomes part of the global blockchain—Block published.
Blockchain Governance System
Composition of a Block
A block is composed of several things, as shown in figure
Hash Pointer
- Hash pointer is responsible for pointing out the previous hash.
- hash pointer can also be used to verify the integrity of the blockchain.
Merkle Tree
- Using Merkle tree can verify the set of all transactions quickly within a block.
- Merkle Tree is a binary tree used to represent transactions in a block
Who Owns Blockchain
- In terms of deployment and involvement of companies, different companies can operate in a consortium blockchain.
- However, if there is only a single organization involved, then it can be considered as a private blockchain.
Who Make Updates in Blockchain?
In terms of ledger updates, blockchain can be classified as permissionless and permissioned.
- In permissionless blockchain, anyone can updagtethe ledger.
- In permissioned blockchain, restricted number of nodes can make update in the ledger.
Confidentiality in Blockchain
- Public blockchain systems do not provide confidentiality except the blockchain user and their actual identities are not disclosed to the general public using pseudonymity.
- Consortium and private blockchain provide more confidentiality to the blockchain users, however, blockchain nodes need more trust in such an environment, and the identity of the nodes should be known within the network
Blockchain Platforms
- The Applications and Systems of Blockchain
Suitable
only for Cryptocurrency
Several blockchain platforms are available online that provide the basis to build our own cryptocurrency on top of it or to get insights about the working of these existing blockchain networks.
Blockchain Platform that Supports Smart Contracts (Business Logic)
Business logic can also be integrated to the blockchain with the help of smart contracts.
- Bitcoin is a blockchain that supports transactions only and it operates in permissionless environment.
- Chain Core is a blockchain that supports transactions only, however, it is basically a consortium blockchain.
- Ethereum is a permissionless blockchain that supports smart contracts.
- Hyperledger Fabric is a permissioned blockchain that supports smart contracts.
Blockchain Platform Available over the Cloud
Several companies have offered Blockchain as a Service (BaaS) by allowing users to develop their own blockchain infrastructure using cloud. For instance, Microsoft Azure is one such
Blockchain Platforms
BitCoin Blockchain
Bitcoin is one of the famous first publicly available cryptocurrency platforms that use the concept of blockchain.
- Consensus mechanism uses Proof-of-Work (PoW)
- Partially supports smart contracts using UTXO
- Operates over P2P network architecture
- Some nodes can keep the copy of the ledger.
- Provides a hard code list of Domain Name Server (DNS) Ips.
- Virtual crypto coins BTC are used
It creates trust without Centralized Authority using the following features:
Virtual crypto coins BTC
We can transfer BTC and record these transactions of Bitcoin blockchain. The smallest amount of BTC that can be transferred is 0.00000001 BTC, which is also known as “Satoshi”.
These BTCs can be used to transfer assets “value” or it can be paid against the mining process by the miners as a reward
Working of Bitcoin
- A participating node send a transaction to neighboring nodes
- Neighboring nodes check this transaction
- All the nodes including miners add this transaction to the unverified transaction pool.
- Miner node gathers few transactions and starts mining the block
- Informs a block (including set of transactions) to the whole network.
- Full nodes (including miners) check different fields of the block and its validity.
- The nodes add correct block to their copy of the ledger.
Block
A block in a blockchain is composed of three main components:
- Outer header
- Block header
- Block body
The first block created in a blockchain is known as “Genesis block”.
The outer header consists of block size and block identification information.
The block header consists of information such as block version, time stamp, hashing target, nonce, parent block hash, and Merkle Tree root.
All the transactions are assembled in the block body along with transaction counter.
Ethereum Blockchain
- Pubilcavailable cryptocurrency. (Ethers are used as cryptocurrency. )
- Incorporates business logic to blockchain network in the form of smart contract.
- Proof-of-Work (PoW) variant of consensus algorithm named as Ethash (Ethereum 2.0 uses PoS)
- Participating node needs to install/host Ethereum Virtual Machine (EVM) to execute smart contracts.
- Built on top of P2P network and requires virtual P2p (Vp2p) wire protocol.
In Ethereum blockchain, there are three types of users:
- Contract Account (CA),which are normal users and can make transactions among each other,
- Miners, which are responsible for the mining process
- Externally Owned Account (EOA), which can perform transaction to another EOA. EOA can also call the function of CA and they can also make a new smart contract.
Properties of Blockchain System
Smart Contracts
Smart contracts can be broadly classified into two major categories:
- Deterministic smart contracts
- The execution of smart contract is not dependent upon external data or event.
- Non-deterministic smart contracts
- The execution of smart contract is dependent upon external data (also called as oracles).
- Non-deterministic smart contract opened the door of new and innovative applications and business models.
Scalability Issues in Blockchain Systems
Scalability can be considered in many aspects
- How much scalable the blockchain system is when we increase the number of blockchain nodes?
- How blockchain system behave when there is an increase in number of transactions?
- How blockchain system behaves when the size of the ledger increases in terms of storage?
Basically, each blockchain keeps the copy of the complete ledger.
With the passage of time, new blocks are adding, and the size of the ledger keeps growing.
When applying blockchain to certain communication networks in which the nodes do not have high storage capacity, keeping the full copy of the ledger is problematic.
How to Increase the Transaction Capacity of Blockchain Systems?
The performance of blockchain system can be measured in terms of number of transactions handled per second by the blockchain. There are few factors that limit this transaction handling capacity.
- Transactions included in each block
- Transaction speed
- The interarrival time of blocks
- The higher the number of transactions included in each block, the higher the throughput.
- Efficient and quick responding consensus algorithms are required.
- The fast interarrival time of blocks is needed
- Another possible way to increase the transaction capacity is to offload the transactions from the main blockchain to the side chain.
- This process is known as off-chain transactions.
- Researchers also explored the idea to store only the hashes in the main blockchain while other data need to store in off-chain solutions. In this manner, the overall storage requirement of keeping the ledger will not surpass the storage requirements of light weight nodes.
- Shardingis an important concept in blockchain which is proposed to handle transaction capacity, bottleneck of blockchain systems.
- In sharding, blockchain nodes are divided into multiple groups (shards) and each group (shard) is responsible to handle a certain amount of transactions in parallel.
- However, in shardingsystem, it is necessary to consider how all the blockchain nodes keep the copy of the complete ledger. Additionally, it is also important to consider how different blockchain nodes (groups) communicate with each other.
Interoperability in Blockchain Systems
- Implement and operate multiple distributed ledgers.
- Ledgers can be developed by different organizations and thus designed for specific purpose.
- Interoperability is required among ledgers to share information and talk with each other.
- Interoperability feature is present in the context of programming languages and database systems.
- Exchanges might be promising to share and exchange cryptocurrencies to handle with this interoperability issue of different distributed ledgers
Important factors of Interoperability
- Smart Contract
- Exchange
- Consensus Protocols
- Generation of blockchain systems
- Transaction Speed
- Semantic
- Transaction Fees
- Tokens
Interoperability
How is blockchain interoperability achieved?
- Sidechains
- Notary schemes
- Oracles
- Blockchain routers
- Industrial solutions
- Hashed TimeLocks