Crypto Academy season 2 week 5 - Homework Post for @alphafx| consensus algorithmssteemCreated with Sketch.

in hive-108451 •  3 years ago 

Hello steemians!
Here's my entry with respect to the task assigned by crypto professor @alphafx

TASKS

Write on any of these consensus algorithms extensively

  • Stellar Consensus Protocol
  • Proof of Capacity
  • Proof of Burn
  • Proof of Elapsed Time


consensus algorithms.png

Introduction



image.png


image.png

What's a consensus

Consensus means achieving agreement across various validators in a network, unlike a bank centralized single ledger of account balances the validators in a network must all agree on each new ledger of transactions periodically. The network must also be able to tolerate validators that lie or send incorrect messages the process of coming into consensus should solve the classic double-spend problem.

What's a consensus algorithm?

A consensus algorithm is a strategy that a group of Computers used to agree with each other on what's true. t=There are different kinds of consensus algorithms that can be applied with each having ha=different properties but in general, the purpose of the consensus algorithm is just to manage which participants in the network get to set the state of truth that everyone else follows and agrees on.'

Many types of consensus algorithms have been developed. The very first was called proof of work which required computers to utilize a lot of processing power and the amount of processing power used constitutes the amount of voting power.


image.png

'

STELLAR CONSENSUS PROTOCOL

The Stellar Consensus Protocol or Federated Byzantine Agreement first came into existence through a whitepaper written by David Mazières of Stanford in 2015. It was introduced as a decentralized alternative to the Byzantine Fault Tolerance (BFT) where validators send messages back and forth and implement a voting process where a new ledger is confirmed when at least over 66% of the validators agree on that ledger. Although significantly faster than other consensus algorithms at the time, the BFT ( Byzantine fault tolerance) sacrifices decentralization to achieve some of its features which brought about the existence of the Stellar Consensus Protocol.

Comparison between Stellar Consensus Protocol, Byzantine Fault Tolerance and Proof Of Work,

in proof of work, anyone with a mining rig can participate in consensus, and miners the equivalent of a stellar validator can join and leave the network without impacting consensus.

In a BFT (Byzantine Fault Tolerance) environment, there must be a recommended validator list defined by central authority often the company behind the protocol. Anyone can spin up a validator but you can only participate in consensus if the authority adds you to the list. This requirement for a recommended validator list means that BFT is a centralized enclosed system.

IN FBA or Stellar Consensus Protocol, there's no recommended validator list chosen by a central authority rather each validator decides which validator they trust, and their list of the trusted validators is called their quorum slice. The quorum slices of each validator overlap to form a quorum or network-wide consensus on a transaction without the need for one centralized authority to decide on the validator list you create in an open membership network. Anyone can spin up a validator or participate in consensus if any other participating validator adds you to their quorum slice because there is no one master authority deciding which nodes get to participate in consensus The networks inherently allow for growing decentralization unlike BFT (Byzantine fault tolerance). As more and more nodes are added to the network and new quorum slices formed. In summary, quorum slices allow for open membership and therefore decentralization.

The stellar consensus protocol unlike the proof of work and Byzantine Fault Agreement favors safety over liveness. Taking a hypothetical situation, using bitcoin (proof of work consensus)...

image.png

In a scenario where a particular region say Nigeria's internet gets cut off from the rest of the world.

image.png

IN PROOF OF WORK

A fork in the bitcoin blockchain would occur, miners in Nigeria would keep building on one blockchain, and miners outside Nigeria would fork and create their own ledger causing potential double spending.

IN STELLAR CONSENSUS PROTOCOL

In the Stellar Consensus Protocol, safety is favored and in the event of an accidental fork, the progress of the network is halted until consensus is reached. This is a crucial feature in the minds of central banks, banks, and other fiat anchors in reaching a conclusion on which ledger tech to build on.

image.png

ADVANTAGES

LOW LATENCY OR TRANSACTION SPEED

In proof of work using bitcoin as a case study. The computational puzzled involved in mining a block takes about ten minutes and you must wait for six blocks to be confirmed before having certainty your transaction was included on the primary chain which caused transaction times in the range of sixty minutes.
In the Stellar Consensus Protocol, unlike Proof of work, there is no mining process. It is just message passing with a voting process because it's message passing the transaction confirm much faster every 3 to 5 seconds and you don't have to wait for several ledgers to get confirmed.

ASYMPTOTIC SECURITY


This means no amount of computing power can overtake the network. Unlike proof of work consensus which could be defeated with what's called a 51% attack(if you control 51% of the computing power on the network you dictate consensus). cThe Stellar Consensus Protocol, FBA, an attack using competing power is not possible because solving cryptographic puzzles is not a component of consensus instead validators sign their approval of new ledgers using their private keys.

DISADVANTAGE


Byzantine failures are failures that do not cause the nodes to crash they are usually the most severe because it's difficult to figure out which node has byzantine nodes.

image.png

for example

If we have five nodes and one of them gets hacked. In most cases the nodes would continue working unless the hacker chooses to crash it. The faulty nide could be made to behave like normal and manipulate and propagate a virus to each node infecting each one along the way until he gets enough node on his side to take down the system.

image.png


image.png

I've tried to tackle the homework task for this week. I would leave the assessment to the professors.
Thanks to the steemit team for this wonderful learning opportunity once again. It's been nice so far.
Thanks for reading my write up and thanks for your support
Cc:-
The steemcurators and @alphafx

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Well done and well presented.
Task satisfactorily done

Parameterrating
Presentation2/2
Content3/5
Originality3/3
Total8

Thanks for participating