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
Introduction
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.
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)...
In a scenario where a particular region say Nigeria's internet gets cut off from the rest of the world.
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.ADVANTAGES
LOW LATENCY OR TRANSACTION SPEED
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.
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.
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
Well done and well presented.
Task satisfactorily done
Thanks for participating
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit