Difference between revisions of "Blockchain"

From wiki
Jump to navigation Jump to search
 
Line 18: Line 18:
 
* Nodes in the [[blockchain network]] verify the blocks.  
 
* Nodes in the [[blockchain network]] verify the blocks.  
 
* 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 on a public blockchain 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]] - [[EOS]] - Having an amount of tokens (e.g. cryptocurrencies)
 
* [[Proof of Stake]] - [[EOS]] - Having an amount of tokens (e.g. cryptocurrencies)
Line 25: Line 25:
 
* [[Proof of Capacity]] (including Proof of Space)
 
* [[Proof of Capacity]] (including Proof of Space)
 
* [[Proof of Burn]]
 
* [[Proof of Burn]]
 +
Mayor permissioned blockchain technologies:
 +
* [[Hyperledger Fabric]]
 +
* [[Ripple]]
  
* [[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 [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.
 
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.

Latest revision as of 12:52, 7 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.

A transaction has 1 input and can have several outputs. All coins the senders owns are in the input. If you don't want to spend all your coins one of the outputs needs to be addressed back to you. This way you can see how much is owned by an address by looking at it's latest transaction. All input that is not covered by an output is fee and can be claimed by the miner.

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 on a public blockchain 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:

Mayor permissioned blockchain technologies:

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.