Everything You Need To Know About Consensus Algorithms (Part 6)

in consensus •  last year

FBA (Federated Byzantine Agreement)


Ripple Consensus Protocol


Ripple is a blockchain-based platform and payment protocol that targets financial use cases and the payments domain. The Ripple Consensus Protocol can support open-ended node participation.
Each node is required to define a Unique Node List (UNL) comprising other Ripple nodes that are trusted by that node not to collude against it. At least 40% of the nodes in its UNL must appear also in the UNL of other nodes. Consensus is achieved by each node broadcasting candidate sets of transactions, and then consulting the votes of the nodes in its UNL, and then refining the candidate set. When a candidate set receives at least an 80% vote from the nodes in a UNL, the candidate becomes a valid block on the Ripple blockchain. Consensus in the entire network is reached when each individual sub-network reaches consensus.

Stellar Consensus Protocol


Stellar, like Ripple, is a blockchain-based platform and payment protocol that targets financial use cases and the payments domain. Stellar Consensus protocol uses the concept of quorums (a set of nodes sufficient to reach agreement) and quorum slices (a subset of a quorum that can convince one node about agreement). Quorum slices and quorums are based on real life business relationships between the entities thereby leveraging trust that already exists in business models.
To reach global consensus, quorums must intersect. Each node first performs initial voting on transactions. Each node performs its selection of transactions, and will never vote for another transaction contradicting its selection. It can however accept a different transaction if its quorum slice has accepted a different one. A node accepts a transaction if it has never accepted a transaction contradicting the current transaction and each node in its quorum slice has accepted that transaction. Quorum slices influence one another leading to quorums that agree on a certain transaction. Confirmation is the last step of the voting process and signifies system level agreement. This step ensures that nodes send each other confirmation messages so that all agree upon the final value of the state in the system.

PBFT (Practical Byzantine Fault Tolerance)


One node is elected as leader, which orders transactions to include in the block and broadcasts this list to all other validation peers. Each validation peer executes this list of transactions and then calculates the hash code for the newly created block. Each validation broadcasts this hash code to the network, and takes note of the hash codes broadcast by all other validating nodes. If it sees that 2/3 of all validation nodes have the same hash code, it will commit the new block to its local copy of the ledger.

Weaknesses


PBFT has only ever been scaled and tested to 20 validating nodes and its messaging overhead increases significantly as the number of validating nodes is increased.
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:  

Good ....job....nice

the great post.thans for share with us.good luck.

This is one very talented individual. & so young!
Definitely going places !

Keep it up young man! Lots of respect for you! Lots!

Upvoted

Good job Keep it up..

This is one very talented individual. & so young!
Definitely going places !

Keep it up young man! Lots of respect for you! Lots!

Upvoted

Congratulations @theprophet0, this post is the seventh most rewarded post (based on pending payouts) in the last 12 hours written by a Hero account holder (accounts that hold between 10 and 100 Mega Vests). The total number of posts by Hero account holders during this period was 201 and the total pending payments to posts in this category was $2381.39. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.