Crypto Academy Week 13 - Homework Post for Professor #alphafx ( Stellar Consensus Protocol)

in hive-108451 •  4 years ago 

Hello everyone, and Hi Professor @alphafx, for this opportunity to do yet another Home task.
And before going straight in the main topic, I will like to talk briefly on Stellar itself.

WHAT IS STELLAR

image.pngsource

Stellar makes sending money as simple and as easy as sending an email, and to better understand Stellar and how it works, we would take a quick instance of how payments works today.
Usually if Person A and B are in the same place, it is quite easy for either of them to send money to the other person by just exchanging cash there and then for free, and even if person A and B are in the same financial institution, it's still easy and simple, because if for instance person A sends money to person B, the internal ledger is updated, thereby subtracting from person A's account, and adding to person B's account the equivalent to what person A sent.

But in other situation whereby person A and B uses different financial institution, it's a bit complicated, because the money has to go through middle men, adding fees and delays as well, and it gets even more complicated, if person A is holding a particular currency take for instance US dollars, and person B wants to receive in Chinese Yen, this process even takes more time, due to conversions and more permissions, and this is even difficult for the poor who tries to send little cash, before the service charge fees deducted makes sending little cash even more frustrating, and this is what Stellar existence was invented to solve.

The Stellar has 3 major arms to solve these problems, which are

Anchored assets

Decentralized Exchange

Scalable Consensus Model

And together the above three mentioned works together on the Stellar network and thereby makes sending money on Stellar as easy as sending an email.

WHAT IS STELLAR CONSENSUS PROTOCOL

image.pngsource

It is also important we understand the meaning of Consensus, and in layman's terms, it means achieving an agreement across many validators in a Network, unlike a bank's centralised single ledger of account balancing, the validators on a networks must all agree on new ledger of transactions periodically, the Network must be able to tolerate validators that lie or even send incorrect messages, and this process of coming into agreement called Consensus, should solve the classic double spinned problem.

There are several protocols for achieving consensus in a Network, Bitcoin and Ethereum currently use "POW" process, which means the Proof Of Work to achieve consensus, and it's one which nodes on a Network compete with computing power to solve cryptographic puzzles and reach consensus.
Many other protocols in the distributed ledger of space has implemented some form of Byzantine fault tolerance 'BFT', in BFT validators sends message back and forth, using a voting process where a new ledger is confirmed if over 66% of a validator agree on that ledger, and this is significantly faster and cheaper than proof of work 'POW' but sacrifices de-centralization to achieve these features.

In 2015 a Professor from Stanford university by the name of David Mazieres presented an alternative to BFT called the Stellar Consensus Protocol also know as Federated Byzantine Agreement, as a Decentralized alternative to BFT.
And the best way to further understand the SCP which means the Stellar Consensus Protocol is by comparing it with the Proof of work and BFT.

The first feature is "Open or closed membership".

In proof of Work, anyone with the mining take can participate in its Consensus, and miners in equivalent of a stellar validator can either choose to join or leave the network without impacting Consensus.
And in a BFT environment, there must be a list of validators to find 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, the kind of membership listing shows that BFT is a centralised and closed system, even if you have one million nodes on the validator's list or even remove the authorities in the validators, you will still remain Centralised, because there's one recommended validators list.

In Stellar Consensus Protocol, there is no recommended validators list chosen by a central authority, but rather each validator decides which other validator they trust and vice versa, and this circle of trusted validators is a called "Quorum Slice", and the Quorum slices of each validators are relapsed to form a quorum or network wide consensus on a transaction, without the need of one centralised authority to decide on the validators list, you can create an open membership network, anyone can spin up a validator and participate in Consensus, if any other participating Validator adds you to their Quorum slice, because there's no one master authority who decides which nodes gets to participate in Consensus, the network structure allows for growing de-centralization unlike BFT, and as more nodes are added to the Network, new quorum slices form.
Quorum slices allows open membership,and therefore de-centralization.

The Second Features is "Safety"

According to what is called the FLP impossibility of proof, a system like Stellar consensus mechanism can have at most two of these mentioned properties. which consists of Fault tolerance, safety and liveness, and for tolerance it means a system can face the disappointment of a validator at any point, and most protocols choose these as one of their preferred in properties, and protocols defer at most point when it comes to safety and liveliness.

Safety is a guarantee that something bad will never happen, and that bad thing is an accident or fork , and if the Network do not agree on a ledger it will not fork, and validators will not create two different ledgers. the Network will stop making progress and you'd have to go in and figure out what went wrong

The Third is "Liveness

This is a guarantee that something good will happen, and that good thing is ledgers closing, and this means a network will alway close a ledger to be live and accepting transactions,and as a result, validators may diverge on different ledgers causing an accidental fork and double spence
Proof of work sure favours liveness over safety, for instance if Chinese internet was to be cut off from the rest of the world, miners in china will keep building on other blockchain, while miners outside China will fork their own ledger, causing potential double spence.

In Conclusion

In the Stellar Consensus Protocol, there is a complex web of over lapping Quorum slices, that makes it almost impossible for a super majority of nodes to collude and control consensus, an attacker can create up to a million validators, and if other validators adds them to Quorum slices, they will be unable to affect consensus.

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:  

Task satisfactorily done

Parameterrating
Presentation1/2
Content3/5
Originality1/3
Total5

Thanks for participating