Difference between revisions of "Blockchain"

From wiki
Jump to navigation Jump to search
m
Line 4: Line 4:
 
* Blocks are chained together by the [[hash]] of the content of the last block. Except the first (genesis) block all blocks start with the hash of the block it succeeds.
 
* Blocks are chained together by the [[hash]] of the content of the last block. Except the first (genesis) block all blocks start with the hash of the block it succeeds.
 
* Any change in any of the previous blocks will change the hash of that block an so break the chain
 
* Any change in any of the previous blocks will change the hash of that block an so break the chain
 +
 +
Use cases are: <code>Transfer of Value</code> <code>Digital Identity</code> <code>Track supply chains</code> <code>Record of ownership</code> <code>Tokenization of Assets</code>
 +
 +
These use cases overlap. Anything recorded on a blockchain needs to be tokenized, Transfer of value implies a record of ownership, etc.
  
 
=Transactions=
 
=Transactions=
Blockchain transaction use [[Public Key Cryptography]]. A transaction signed by the senders private key and send to the receivers public key. This way anyone can verify the sender is the actual owner of the asset and the target is uniquely identified too.  
+
Blockchain transactions use [[Public Key Cryptography]]. A transaction is signed by the senders private key and sent to the receivers public key. This way anyone can verify the sender is the actual owner of the asset and the target is uniquely identified too.  
  
 
=Consensus Algorithm=
 
=Consensus Algorithm=
Line 13: Line 17:
 
* A block is valid when the majority of nodes think so.
 
* A block is valid when the majority of nodes think so.
 
Nodes must prove they are allowed to participate in the blockchain network. The consensus algorithm defines how a node can do that. These are the algorithm types I know of:
 
Nodes must prove they are allowed to participate in the blockchain network. The consensus algorithm defines how a node can do that. These are the algorithm types I know of:
* [[Proof of Work]] - Bitcoin - Solving a cryptographic puzzle  
+
* [[Proof of Work]] - [[Bitcoin]] - Solving a cryptographic puzzle  
* [[Proof of Stake]] - Cardano - Having an amount of tokens (e.g. cryptocurrencies)
+
* [[Proof of Stake]] - [[Cardano]] - Having an amount of tokens (e.g. cryptocurrencies)
 
* [[Proof of Authority]]
 
* [[Proof of Authority]]
 
* [[Proof of Elapsed Time]]
 
* [[Proof of Elapsed Time]]
Line 22: Line 26:
 
* [[Hyperledger Fabric]] - for private, permissioned networks only - not just a consensus algorithm
 
* [[Hyperledger Fabric]] - for private, permissioned networks only - not just a consensus algorithm
 
==Forks==
 
==Forks==
The consensus algorithm of a blockchain may change over time e.g. to make it more efficient or to fix bugs. If several node-owners in the network disagree with a change the blockchain can be forked. A new blockchain governed by the new algorithm emerges. All assets (cryptocurrencies) in the chain are forked too. This happened to BitCoin august 1, 2017 when BitCoinCash was created that has a bigger blocksize than BitCoin (8MB for BCH vs 1MB for BTC). For each BitCoin aowned on the BitCoin blockchain before the fork one received 1 BCH.
+
The consensus algorithm of a blockchain may change over time e.g. to make it more efficient or to fix bugs. If several node-owners in the network disagree with a change the blockchain can be forked. A new blockchain governed by the new algorithm emerges. All assets (cryptocurrencies) in the chain are forked too. This happened to [[Bitcoin]] august 1, 2017 when [https://bitcoincash.org/ Bitcoin Cash] was created that has a bigger block-size than Bitcoin (8MB for BCH vs 1MB for BTC). For each bitcoin owned on the bitcoin blockchain before the fork one received 1 BCH.
  
=Challenges==
+
=Challenges=
In a public [[blockchain network]] it is important to have numerous validating nodes to avoid the so called 51% attack. When imposters get control over the majority of validating nodes then can tamper the blockchain and put in false transactions.
+
* In a public [[blockchain network]] it is important to have numerous validating nodes to avoid the so called 51% attack. When imposters get control over the majority of validating nodes then can tamper the blockchain and put in false transactions.
 +
* Lack of standardization. This hampers the interoperability of blockchain.

Revision as of 09:00, 2 June 2021

  • A blockchain is a recording of data (a ledger).
  • Blocks can have one or more records.
  • Blocks are chained together by the hash of the content of the last block. Except the first (genesis) block all blocks start with the hash of the block it succeeds.
  • Any change in any of the previous blocks will change the hash of that block an so break the chain

Use cases are: Transfer of Value Digital Identity Track supply chains Record of ownership Tokenization of Assets

These use cases overlap. Anything recorded on a blockchain needs to be tokenized, Transfer of value implies a record of ownership, etc.

Transactions

Blockchain transactions use Public Key Cryptography. A transaction is signed by the senders private key and sent to the receivers public key. This way anyone can verify the sender is the actual owner of the asset and the target is uniquely identified too.

Consensus Algorithm

A consensus algorithm is used to verify a block's correctness.

  • Nodes in the blockchain network verify the blocks.
  • A block is valid when the majority of nodes think so.

Nodes must prove they are allowed to participate in the blockchain network. The consensus algorithm defines how a node can do that. These are the algorithm types I know of:

  • Hyperledger Fabric - for private, permissioned networks only - not just a consensus algorithm

Forks

The consensus algorithm of a blockchain may change over time e.g. to make it more efficient or to fix bugs. If several node-owners in the network disagree with a change the blockchain can be forked. A new blockchain governed by the new algorithm emerges. All assets (cryptocurrencies) in the chain are forked too. This happened to Bitcoin august 1, 2017 when Bitcoin Cash was created that has a bigger block-size than Bitcoin (8MB for BCH vs 1MB for BTC). For each bitcoin owned on the bitcoin blockchain before the fork one received 1 BCH.

Challenges

  • In a public blockchain network it is important to have numerous validating nodes to avoid the so called 51% attack. When imposters get control over the majority of validating nodes then can tamper the blockchain and put in false transactions.
  • Lack of standardization. This hampers the interoperability of blockchain.