We'll dive deeper into the Federated consensus networks, focusing on Stellar and Ripple,
and discuss how they differ from other popular decentralized consensus solutions such as Proof-of-Work and Proof-of-Stake.
We'll assess their pros and cons, and discuss the business requirements that drive companies to adopt these solutions over others.
Video of the presentation is available here: https://www.youtube.com/watch?v=QSpG6a9bmu0
Related blog post in Blockchain Academy TLV: https://medium.com/kinblog/the-stellar-blockchain-and-the-story-of-the-federated-consensus-blockchain-academy-f332eaadefc1
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
The Stellar Blockchain and The Story of the Federated Consensus — Blockchain Academy
1.
2. Blockchain Academy
A community for technologists looking to learn more
about crypto and Blockchain technology
Blockchain AcademyOry Band Aug 13, 2018
3. Blockchain Academy
A community for technologists looking to learn more
about crypto and Blockchain technology
Blockchain AcademyOry Band Aug 13, 2018
3
Kin - A cryptocurrency that’s out to change how we create, share, and
distribute value online.
Samsung Next - VC for early stage software startups
6. ● Backend Engineer @ Blockchain team @ Kin
● Working on Stellar since end of 2017
● Kin token sale on Ethereum
○ Smart Contracts: Sale, Vesting, Multisig
● Kin blockchain migration to Stellar
○ Topics: Anti-Spam, Scaling, Swap (Migrate)
About Me - http://ory.band
9. Consensus means to reach an agreement
between multiple components in a system.
In the Blockchain industry,
It means nodes agreeing
on the ledger contents and updates.
10. Consensus
● Node suggests value “X”
● Other nodes agree on value on value “X”
● A client asks “What is the value?”
● The system answers: “X”
15. Byzantine Fault Tolerance
is a fault tolerant system,
where there is imperfect information whether
a component has failed.
Specifically,
Components can be unpredictable.
27. Permissionless is not a feature,
but a requirement for PoW
for achieving decentralized consensus.
The larger the network,
The more secure it becomes.
28. Majority Attack - “51%”
● Attacker gains network majority
● Force agreement on malicious content
○ Change history (double-spend)
○ Block new transactions
● Network size decides difficulty
○ Small network = Less resources to attack
○ Large network = More resources
29. Permissionless is a compromise of PoW,
which achieves security
while sacrificing other properties.
30. Compromise
● Scalability - Block size, Rate limiting
● Energy consumption
● Inflexible incentive model - Mining
● “Trend towards centralization” - Miners
○ Pools
○ Politics
33. Product
● Bitcoin
○ Medium of Exchange - Digital Cash
○ Store of Value
● Ethereum
○ “World Computer”
○ Decentralized App + Contract Platform
34. These properties require Bitcoin and Ethereum
to be inherently permissionless.
However,
Not all products that can benefit from
decentralized consensus require the same
thing.
35. Products do not have to compromise on
the same things as Bitcoin and Ethereum.
Specifically, the permissionless part.
42. In a permissioned blockchain,
entities require privilege
to join the network
and participate in consensus.
43. Permissioned
● Predefined list of known nodes
● Verified and registered before hand
● A trusts [B, C, D]
B trusts [A, C, D]
etc.
● Trust is predefined / flexible
depending on platform
46. Compare
● Secure the network
○ Low participation cost - no mining / stake
○ Network doesn’t have to be large to be secure
● High scale
○ Low block time
○ High throughput
● Token not required to incentivise consensus
● Flexible incentive model
50. Hard Fork Incident
● Dec. 2014
● Prioritize ledger closes over everyone agreeing ledger contents.
● Few hours of diverged transactions, eventually rollbacked
● Forced to run network using a single (centralized) node until fixed
55. Stellar vs. Ripple
● Ripple favors Fault Tolerance and Termination
○ Repeat process if no agreement was made
○ High probability. of success
● Stellar favors Fault Tolerance and Agreement
○ Wait until termination
61. SCP whitepaper, David Mazieres, Stellar Development Foundation
Each participant knows of others it considers important.
It waits for the vast majority of those others to agree on any
transaction before considering the transaction settled.
In turn, those important participants do not agree to the
transaction until the participants they consider important
agree as well, and so on.
Eventually, enough of the network accepts a transaction that it
becomes infeasible for an attacker to roll it back.
Only then do any participants consider the transaction settled.
63. ● Quorum Slice
○ “Trust group”
○ Open membership - Each node chooses its own slice
○ Can have more than one slice
● Select slices based on reputation or financial arrangement:
○ Business “A”, reputable bank “B”, Credit union “C”
○ “A” requires “B” and “C” to acknowledge all transactions
Flexible Trust
64.
65.
66. ● System-Wide consensus
○ Results from quorum intersections (overlapping)
● No intersection results in disjoint quorum
○ Result: No Consensus
Quorum Interestection
68. ● Construct correct and responsible quorums
● Slices are large enough
● Slice nodes important enough not to risk their reputation
Quorum Recommendation
70. Problem: Befouled Nodes
● Befouled nodes can undermine agreement
● Includes:
○ Faulty nodes
○ Malicious nodes
○ Good nodes entirely surrounded by bad nodes
etc.
● Nodes are either “intact” or “befouled” (ill-behaved, faulty)
71. Solution: Befouled Nodes
● Remove befouled nodes from slices
(under reasonable conditions)
● A befouled node cannot undermine agreement, as long as
○ It doesn’t undermine quorum intersection
■ i.e. inconsistent answers
○ It doesn’t undermine intact nodes from a quorum
■ i.e. not answering
76. Step 1: Initial Voting
● Votes are preliminary
● Example: PIZZA or HAMBURGER
● Vanessa votes for Hamburger
○ Vote for ACCEPT(HAMBURGER)
■ Meaning: Open to the idea of HAMBURGER as valid option
○ Promise never to vote for options contradicting
ACCEPT(HAMBURGER)
● Possible to end up ACCEPT(PIZZA) instead
81. Step 2: Accept
● A v-blocking sets prevents Vanessa from voting HAMBURGER,
causing her to ACCEPT(PIZZA) instead
● Vanessa ACCEPT(PIZZA) if …
○ Never accepted a statement contradicting PIZZA e.g. ACCEPT(BURRITO)
○ 1 of 2 happens
■ Each quorum votes for ACCEPT(PIZZA) or already ACCEPT(PIZZA)
■ Each member of a v-blocking set ACCEPT(PIZZA)
● Quorum votes the same → ratify ACCEPT(PIZZA)
89. SCP - Ballot
1.Starts when candidate nominations are confirmed
2.Commit or Abort candidates
90. There’s always a sequence of events
through which intact nodes
can reach agreement on
and commit a value
91. Ballot - Neutralization
● Allows for removing disputable arguments
○ Example: ABORT(HAMBURGER)
○ Only PIZZA argument is left
92. SCP - Summary
1.Nomination: Produce candidate via Federated Voting
2.Ballot: Commit candidate via Federated Voting
○ If a ballot fails → Neutralize → New Ballot
○ Taking care not to contradict previously failed ballots
■ Makes sure new valuable ballots are suggested
○ All disputes can be resolved …
■ … Given enough time and retries