5 knowledge pills on: blockchain consensus algorithms

in #blockchain6 years ago

1. Proof of Work

 
Basically a proof of work is a piece of data that satifies certains requirements and is costly, time-consuming to produce but easily to be verified. Producing a proof of work can be a random process with low probability so that a lot of trial and error is required. The process of finding this proof of work is used to confirm transactions and "produce/validate" new blocks to the chain. The most widely used proof-of-work scheme is based on SHA-256 but some other hashing algorithms are used for proof-of-work: Scrypt, Blake-256, CryptoNight, HEFTY1, Quark, SHA-3, scrypt-jane, scrypt-n, and others.

Both Bitcoin and Ethereum uses proof of work. The proof of work in bitcoin is called "hashcash" and it consist in finding a sha2 hash with certain requirements (it must be lower tant a given target and begining with some zeroes).


Proof_of_Work_solution_verification.svg.png
via pixabay

 


2. Proof of Stake

 

In the proof of stake, the validators (also called stakeholders) hold a stake in the system and is choosen to validate a new block.The chanche to be picked to validate a new block is proportional to the number of staked coins (coins set for this purpose). The coins staked cannot be used. Once a validator creates a block, the block should be put in the blockchain. How it is done vary in the different proof of stakes systems. Note that no coin creation exists in proof of stake. Instead, all the coins exist from day one, and validators are paid with the transaction fees.

Peercoin was the first coin to implement proof of stake.


deadline-3124146_640.jpg
via pixabay


3. Proof of capacity

 
Basically the more free hard disk space you have, more likely you will be choosen to validate a block. This is because in this algotihm the space of the hard disk generates some data set know as 'plots' and more 'plots' a node has , more likely it will be choosen to validate the next block.

Burstcoin is the most known cryptocurrency to use a form of proof of capacity.


hard-disk-42935_640.png
via pixabay


4. Proof of Elapsed Time

 
In this algorithm, a leader ( or the 'validator') is elected based on a wait time received from a code running inside a trusted environment. In fact it is intended to work in a Trusted Execution Environment (TEE) such as Intel’s Software Guard Extensions (SGX). All validating or mining nodes have to run the TEE. Each validator requests a wait time from the code running inside the TEE. The validator with the shortest wait time wins the lottery and can become the leader, or the ones that can validate the block. When a validating node claims to be a leader and mines a block, it can also produce proof generated within the TEE that other nodes can easily verify.


time-3103599_640.jpg
via pixabay


5. Proof of Activity

 

Proof of activity is a hybrid approach that combines both proof of work and proof of stake.

Basically In proof of activity miners races to solve a cryptographic puzzle, starting like a proof of work manner. In some implementation, blocks mined do not contain any transactions , so the winning block will only contain a header and the miner's reward address.

Then the system switches to proof of stake. Based on information in the header, a random group of validators is chosen for signing the new block. And as the proof of stake mecchanism, the more coins in the system a validator owns, the more likely he or she is to be chosen.


blockchain-3019121_640.png


Sort:  

Thanks for this post, it adds for sure more knowledge and understanding about blockchain principles to new people here like me. However, I miss the 'proof-of-brain' algorithm in your article (used on the Steemit blockchain). What can you say about that algorithm ?

The 'proof of brain' is not a consensus algorithm, it is a system that the steem blockchain uses for reward content publication and curation. The consensus algorithm used in the steem blockchain is the Delegated Proof of Stake (DPOS), that I don't mention here but I'll write about it in the future. Basically in it, the first 19 witnesses are chosen randomly to validate a block and the other 2 blocks are validated by another witnesses not in the first 19 and the other one is validated in another way.

Okay, thanks for the explanation. It can be confusing sometimes, the choice of words etc. I'm looking forward to more posts about this subject from you.

This post has received a 0.78 % upvote from @drotto thanks to: @banjo.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Haiaty from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

You got a 3.04% upvote from @upyou courtesy of @hvonsteemit!

This post has received a 2.38% UpGoat from @shares. Send at least 0.1 SBD to @shares with a post link in the memo field.

To support our daily curation initiative, please donate 1 SBD or delegate Steem Power (SP) to @shares by clicking one fo the following links: 10 SP, 50 SP, 100 SP, 500 SP, 1000 SP, 5000 SP.

Support my owner. Please vote @Yehey as Witness - simply click and vote.

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 59589.10
ETH 3257.79
USDT 1.00
SBD 2.40