SlideShare a Scribd company logo
1 of 27
Download to read offline
Yongrae Jo
Pohang University of Science and Technology
System Software Laboratory
Fast and secure global payments with
Stellar
Marta Lokhava, Giuliano Losa*, David Mazières, Graydon Hoare, Nicolas Barry, Eli Gafni†,
Jonathan Jove, Rafał Malinowsky, and Jed McCaleb, Stellar Development Foundation
SOSP'19
2
Stellar
https://www.stellar.org
3
Internet Hypothesis
All nodes can be reached by transitively connected network
4
Traditional Byzantine Agreement System
2f+1 2f+1
f+1
Fixed & known set of
replicas
Fixe size of quorum
5
Traditional Byzantine Agreement System : Limitations
 Closed Membership
• i.e., fixed set of nodes
 Fixed Quorum
• i.e., 2f+1 of specific nodes
 Fixed & Symmetric trust
• i.e., all nodes are equally trusted
6
Federated Byzantine Agreement System
 Open Membership
• i.e., flexible set of nodes; freely join/leave
 Flexible Quorum
• i.e., a user-defined quorum to guarantee transaction finality
 Flexible & Asymmetric trust
• i.e., certain nodes are more trusted
7
Federated Byzantine Agreement System
 Nodes exchange messages asserting statements about slots
 When a node hears a sufficient set of nodes assert a
statement, it assumes no node will ever contradict that
statement
Slots
Statement (Tx)
n n+1
n-1
n-2
Update
(Federated) Consensus
(Irreversible)
Externalized
value
(ledger entry)
8
Federated Byzantine Agreement System (FBAS)
V = {A,B,C,D}
{A}, {B}, {C}, {D}
{A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {C,D}
{A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}, {A,B,C,D}
{{A,B,C}}, {{A,B,C}, {A,B,D}} , {{A,B}, {B,C}}, …
𝟐𝟐𝑽
𝟐𝑽
Quorum Slices
Quorum
9
Byzantine Agreement vs. Federated Byzantine Agreement
A B
C D
A B
C D
A’s quorum slice = {A,C,D}
B’s quorum slice = {B,D}
C’s quorum slice = {B,C,D}
D’s quorum slice = {A,D}
A’s quorum slice = {A,B,C,D}
B’s quorum slice = {A,B,C,D}
C’s quorum slice = {A,B,C,D}
D’s quorum slice = {A,B,C,D}
Traditional Byzantine Agreement Federated Byzantine Agreement
A B : A requires agreement with B
Generalize
10
Quorum Slice
 Enabling each node v to choose its own quorum slice set Q(v)
 Nodes may select slices based on arbitrary criteria
• e.g., reputation or financial arrangements
 An individual node need not know all nodes in the system, yet
consensus should still be possible
 All nodes specify their quorum slices in their message
11
Quorum Structure: An Example
(same as PBFT)
12
Quorum Structure: An Example
13
Safety & Liveness: Fault Model
 Nodes : well-behaved vs. ill-behaved
• A well-behaved node chooses sensible quorum slices and obeys
the protocol
• An ill-behaved node does not
14
Safety & Liveness: Safety & Liveness
 Nodes : well-behaved vs. ill-behaved
• A well-behaved node chooses sensible quorum slices and obeys
the protocol
• An ill-behaved node does not
Safety
Liveness
A set of nodes in an FBAS enjoy safety if
no two of them ever externalize different
values for the same slot.
Nodes that enjoy both
safety and liveness
A node in an FBAS enjoys liveness if it can
externalize new values without the
participation of any failed (including
ill-behaved) nodes.
Nodes that are not correct
15
Safety & Liveness: Quorum Intersection
No protocol can guarantee safety in the absence of quorum intersection
16
Stellar Consensus Protocol (SCP)
SCP
Nomination
Protocol
Ballot
Protocol
Prepare Commit
Vote Accept Confirmed
Federated Voting
Statements
(Txes) Nominated
Txes
 Included in
ledger
Confirmed
Committed
Statements
Implements Federated Byzantine
Agreement System (FBAS)
Ballot
Protocol
Ballot
Protocol
17
Concepts: Inter-twined, Intact Set, v-Blocking Set
 Inter-twined (v1, v2)
• Every quorum of v1 intersects every quorum of v2 in at least one
non-faulty node
 Intact Set, I
• A set of inter-twined nodes, even if every node outside of I is
faulty
 v-blocking set
• A set of nodes that intersects every slice of v
18
Federated Voting
From a node’s perspective, a statement goes through the following sequences
Statement a
Safety guarantee: no two members of an intertwined set confirm contradictory stat
ements
Liveness guarantee: an intact set whose members all vote the same way
19
Stellar Consensus Protocol (SCP)
 Quorum-based Byzantine agreement protocol with open
membership
• Nodes only recognize quorums to which they belong themselves
 Tolerates heterogeneous views
• nodes can join and leave unilaterally with no need for a “view
change” protocol to coordinate membership
 Partially synchronous network
 Steps
• nomination to filter transactions to be include in a ledger
• A series of ballots to reach consensus
20
SCP: Nomination Protocol
 Scopes the set of values to agree on, by employing federated
voting on statements such as “Nominate transaction set C”
 If the vote succeeds, the transaction set is added to the list of
candidates to be used later in ballot protocol
 a node may start the ballot protocol as soon as it confirms a
candidate
 Run in background
Nomination
Protocol
Statements
(Txes) Nominated
Txes
21
SCP: Ballot Protocol
 SCP nodes proceed through a series of numbered ballots
 In each ballot n, nodes employ federated voting on two types
of statement
• Prepare <n,x> states that no value other than x was or will ever b
e decided in any ballot ≤ n
 determine a value to propose that does not contradict any previous
decision.
• Commit <n,x> : states that x is decided in ballot n
 try to make a decision on the prepared value.
22
SCP in a funnel
https://www.stellar.org/developers-blog/intuitive-stellar-consensus-protocol?locale=en
23
Cascading Effects of Federated Voting
An example with contradictory statements
Contradictory statements X and
Y are introduced
Nodes vote for valid
statements
Node 1 accepts X after its
quorum {1, 2, 3, 4}
unanimously votes for X
24
Cascading Effects of Federated Voting
Set {5} is 6- and 7-blocking, so 6
and 7 both accept X.
Nodes 1, 2, 3, and 4 all accept X
Set {1} is 5-blocking, so node 5 accepts X,
overruling its previous vote for Y
An example with contradictory statements
25
Formal Verification
 Formally verified SCP’s safety and liveness properties
 Modeled SCP in first-order logic (FOL) using Ivy’s Linear
Temporal Logic and verified abstraction with Isabelle/HOL
 Consists of manually providing inductive conjectures that are
then automatically checked by Ivy.
26
Limitation
 SCP can only guarantee safety when nodes choose adequate
quorum slices
• Stellar only provides guidelines on how to pick quorums
 A problem of quorum intersection checking is NP-hard
• Currently, only 20-30 nodes are practically deployed
27
Conclusion
 Introduces new open-membership federated Byzantine
agreement (FBA), a model for achieving decentralized
consensus while preserving the traditional benefits of
Byzantine agreement
 FBA forms quorums from participants’ individual trust
decisions, allowing an organic growth model similar to that of
the Internet
 Leverages the peer-to-peer structure of the network to
achieve global consensus under a novel Internet hypothesis.

More Related Content

Similar to Stellar

Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...Michael Ng
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptxRajapriya82
 
english_sample_exam_blockchainf_202202.pdf
english_sample_exam_blockchainf_202202.pdfenglish_sample_exam_blockchainf_202202.pdf
english_sample_exam_blockchainf_202202.pdfJyotirmayaMaharana2
 
Fundametals of Blockchain and basics_L1.pptx
Fundametals of Blockchain and basics_L1.pptxFundametals of Blockchain and basics_L1.pptx
Fundametals of Blockchain and basics_L1.pptxmeena466141
 
Cryptomonday #3: Algorand @ CryptoLab
Cryptomonday #3: Algorand @ CryptoLabCryptomonday #3: Algorand @ CryptoLab
Cryptomonday #3: Algorand @ CryptoLabAdrianoDiLuzio
 
AVA Borealis - An architectural overview of AVA Labs` Platform
AVA Borealis - An architectural overview of AVA Labs` PlatformAVA Borealis - An architectural overview of AVA Labs` Platform
AVA Borealis - An architectural overview of AVA Labs` PlatformAlexander Schefer
 
Blockchain-Presentation.pptx
Blockchain-Presentation.pptxBlockchain-Presentation.pptx
Blockchain-Presentation.pptxMeganaaGodhala
 
Connecting The Block Cointelligence Academy by Dr Vince Ming
Connecting The Block   Cointelligence Academy by Dr Vince MingConnecting The Block   Cointelligence Academy by Dr Vince Ming
Connecting The Block Cointelligence Academy by Dr Vince MingCointelligence
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Networkcharles okaformbah
 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Svetlin Nakov
 
BlockChain_Chap3_RP _Consensus.pptx
BlockChain_Chap3_RP _Consensus.pptxBlockChain_Chap3_RP _Consensus.pptx
BlockChain_Chap3_RP _Consensus.pptxRajChauhan226834
 
Introducing r3 corda™ a distributed ledger designed for financial services
Introducing r3 corda™  a distributed ledger designed for financial servicesIntroducing r3 corda™  a distributed ledger designed for financial services
Introducing r3 corda™ a distributed ledger designed for financial servicesRazi Rais
 
different consensus protocols in blockchian.pptx
different consensus protocols in blockchian.pptxdifferent consensus protocols in blockchian.pptx
different consensus protocols in blockchian.pptxmeena466141
 
Hyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsHyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsMabelOza12
 

Similar to Stellar (20)

Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptx
 
english_sample_exam_blockchainf_202202.pdf
english_sample_exam_blockchainf_202202.pdfenglish_sample_exam_blockchainf_202202.pdf
english_sample_exam_blockchainf_202202.pdf
 
Bitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptxBitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptx
 
Blockchain Fundamentals
Blockchain FundamentalsBlockchain Fundamentals
Blockchain Fundamentals
 
Fundametals of Blockchain and basics_L1.pptx
Fundametals of Blockchain and basics_L1.pptxFundametals of Blockchain and basics_L1.pptx
Fundametals of Blockchain and basics_L1.pptx
 
Designing Quality-Driven Blockchain Networks
Designing Quality-Driven Blockchain NetworksDesigning Quality-Driven Blockchain Networks
Designing Quality-Driven Blockchain Networks
 
Cryptomonday #3: Algorand @ CryptoLab
Cryptomonday #3: Algorand @ CryptoLabCryptomonday #3: Algorand @ CryptoLab
Cryptomonday #3: Algorand @ CryptoLab
 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
 
AVA Borealis - An architectural overview of AVA Labs` Platform
AVA Borealis - An architectural overview of AVA Labs` PlatformAVA Borealis - An architectural overview of AVA Labs` Platform
AVA Borealis - An architectural overview of AVA Labs` Platform
 
Blockchain-Presentation.pptx
Blockchain-Presentation.pptxBlockchain-Presentation.pptx
Blockchain-Presentation.pptx
 
Connecting The Block Cointelligence Academy by Dr Vince Ming
Connecting The Block   Cointelligence Academy by Dr Vince MingConnecting The Block   Cointelligence Academy by Dr Vince Ming
Connecting The Block Cointelligence Academy by Dr Vince Ming
 
Ergo Hong Kong meetup
Ergo Hong Kong meetupErgo Hong Kong meetup
Ergo Hong Kong meetup
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Network
 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
 
BlockChain_Chap3_RP _Consensus.pptx
BlockChain_Chap3_RP _Consensus.pptxBlockChain_Chap3_RP _Consensus.pptx
BlockChain_Chap3_RP _Consensus.pptx
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 
Introducing r3 corda™ a distributed ledger designed for financial services
Introducing r3 corda™  a distributed ledger designed for financial servicesIntroducing r3 corda™  a distributed ledger designed for financial services
Introducing r3 corda™ a distributed ledger designed for financial services
 
different consensus protocols in blockchian.pptx
different consensus protocols in blockchian.pptxdifferent consensus protocols in blockchian.pptx
different consensus protocols in blockchian.pptx
 
Hyperledger Consensus Algorithms
Hyperledger Consensus AlgorithmsHyperledger Consensus Algorithms
Hyperledger Consensus Algorithms
 

More from YongraeJo

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxYongraeJo
 
blockchain-and-trusted-computing
blockchain-and-trusted-computingblockchain-and-trusted-computing
blockchain-and-trusted-computingYongraeJo
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets databaseYongraeJo
 
Byzantine ordered consensus
Byzantine ordered consensusByzantine ordered consensus
Byzantine ordered consensusYongraeJo
 
BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryYongraeJo
 
Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)YongraeJo
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT ProtocolsYongraeJo
 
Practical Byzantine Fault Tolernace
Practical Byzantine Fault TolernacePractical Byzantine Fault Tolernace
Practical Byzantine Fault TolernaceYongraeJo
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveYongraeJo
 

More from YongraeJo (20)

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptx
 
basil.pptx
basil.pptxbasil.pptx
basil.pptx
 
HotStuff
HotStuff HotStuff
HotStuff
 
Fbft
FbftFbft
Fbft
 
blockchain-and-trusted-computing
blockchain-and-trusted-computingblockchain-and-trusted-computing
blockchain-and-trusted-computing
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
 
Beat
BeatBeat
Beat
 
Byzantine ordered consensus
Byzantine ordered consensusByzantine ordered consensus
Byzantine ordered consensus
 
Ledgerdb
LedgerdbLedgerdb
Ledgerdb
 
Blockene
BlockeneBlockene
Blockene
 
BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lottery
 
Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)Simple robot pets with three emotions (uC/OS III)
Simple robot pets with three emotions (uC/OS III)
 
FlexSC
FlexSCFlexSC
FlexSC
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT Protocols
 
Cheapbft
Cheapbft Cheapbft
Cheapbft
 
Practical Byzantine Fault Tolernace
Practical Byzantine Fault TolernacePractical Byzantine Fault Tolernace
Practical Byzantine Fault Tolernace
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really Adaptive
 
Pileus
PileusPileus
Pileus
 
Vft
VftVft
Vft
 
Xft
XftXft
Xft
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Stellar

  • 1. Yongrae Jo Pohang University of Science and Technology System Software Laboratory Fast and secure global payments with Stellar Marta Lokhava, Giuliano Losa*, David Mazières, Graydon Hoare, Nicolas Barry, Eli Gafni†, Jonathan Jove, Rafał Malinowsky, and Jed McCaleb, Stellar Development Foundation SOSP'19
  • 3. 3 Internet Hypothesis All nodes can be reached by transitively connected network
  • 4. 4 Traditional Byzantine Agreement System 2f+1 2f+1 f+1 Fixed & known set of replicas Fixe size of quorum
  • 5. 5 Traditional Byzantine Agreement System : Limitations  Closed Membership • i.e., fixed set of nodes  Fixed Quorum • i.e., 2f+1 of specific nodes  Fixed & Symmetric trust • i.e., all nodes are equally trusted
  • 6. 6 Federated Byzantine Agreement System  Open Membership • i.e., flexible set of nodes; freely join/leave  Flexible Quorum • i.e., a user-defined quorum to guarantee transaction finality  Flexible & Asymmetric trust • i.e., certain nodes are more trusted
  • 7. 7 Federated Byzantine Agreement System  Nodes exchange messages asserting statements about slots  When a node hears a sufficient set of nodes assert a statement, it assumes no node will ever contradict that statement Slots Statement (Tx) n n+1 n-1 n-2 Update (Federated) Consensus (Irreversible) Externalized value (ledger entry)
  • 8. 8 Federated Byzantine Agreement System (FBAS) V = {A,B,C,D} {A}, {B}, {C}, {D} {A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {C,D} {A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}, {A,B,C,D} {{A,B,C}}, {{A,B,C}, {A,B,D}} , {{A,B}, {B,C}}, … 𝟐𝟐𝑽 𝟐𝑽 Quorum Slices Quorum
  • 9. 9 Byzantine Agreement vs. Federated Byzantine Agreement A B C D A B C D A’s quorum slice = {A,C,D} B’s quorum slice = {B,D} C’s quorum slice = {B,C,D} D’s quorum slice = {A,D} A’s quorum slice = {A,B,C,D} B’s quorum slice = {A,B,C,D} C’s quorum slice = {A,B,C,D} D’s quorum slice = {A,B,C,D} Traditional Byzantine Agreement Federated Byzantine Agreement A B : A requires agreement with B Generalize
  • 10. 10 Quorum Slice  Enabling each node v to choose its own quorum slice set Q(v)  Nodes may select slices based on arbitrary criteria • e.g., reputation or financial arrangements  An individual node need not know all nodes in the system, yet consensus should still be possible  All nodes specify their quorum slices in their message
  • 11. 11 Quorum Structure: An Example (same as PBFT)
  • 13. 13 Safety & Liveness: Fault Model  Nodes : well-behaved vs. ill-behaved • A well-behaved node chooses sensible quorum slices and obeys the protocol • An ill-behaved node does not
  • 14. 14 Safety & Liveness: Safety & Liveness  Nodes : well-behaved vs. ill-behaved • A well-behaved node chooses sensible quorum slices and obeys the protocol • An ill-behaved node does not Safety Liveness A set of nodes in an FBAS enjoy safety if no two of them ever externalize different values for the same slot. Nodes that enjoy both safety and liveness A node in an FBAS enjoys liveness if it can externalize new values without the participation of any failed (including ill-behaved) nodes. Nodes that are not correct
  • 15. 15 Safety & Liveness: Quorum Intersection No protocol can guarantee safety in the absence of quorum intersection
  • 16. 16 Stellar Consensus Protocol (SCP) SCP Nomination Protocol Ballot Protocol Prepare Commit Vote Accept Confirmed Federated Voting Statements (Txes) Nominated Txes  Included in ledger Confirmed Committed Statements Implements Federated Byzantine Agreement System (FBAS) Ballot Protocol Ballot Protocol
  • 17. 17 Concepts: Inter-twined, Intact Set, v-Blocking Set  Inter-twined (v1, v2) • Every quorum of v1 intersects every quorum of v2 in at least one non-faulty node  Intact Set, I • A set of inter-twined nodes, even if every node outside of I is faulty  v-blocking set • A set of nodes that intersects every slice of v
  • 18. 18 Federated Voting From a node’s perspective, a statement goes through the following sequences Statement a Safety guarantee: no two members of an intertwined set confirm contradictory stat ements Liveness guarantee: an intact set whose members all vote the same way
  • 19. 19 Stellar Consensus Protocol (SCP)  Quorum-based Byzantine agreement protocol with open membership • Nodes only recognize quorums to which they belong themselves  Tolerates heterogeneous views • nodes can join and leave unilaterally with no need for a “view change” protocol to coordinate membership  Partially synchronous network  Steps • nomination to filter transactions to be include in a ledger • A series of ballots to reach consensus
  • 20. 20 SCP: Nomination Protocol  Scopes the set of values to agree on, by employing federated voting on statements such as “Nominate transaction set C”  If the vote succeeds, the transaction set is added to the list of candidates to be used later in ballot protocol  a node may start the ballot protocol as soon as it confirms a candidate  Run in background Nomination Protocol Statements (Txes) Nominated Txes
  • 21. 21 SCP: Ballot Protocol  SCP nodes proceed through a series of numbered ballots  In each ballot n, nodes employ federated voting on two types of statement • Prepare <n,x> states that no value other than x was or will ever b e decided in any ballot ≤ n  determine a value to propose that does not contradict any previous decision. • Commit <n,x> : states that x is decided in ballot n  try to make a decision on the prepared value.
  • 22. 22 SCP in a funnel https://www.stellar.org/developers-blog/intuitive-stellar-consensus-protocol?locale=en
  • 23. 23 Cascading Effects of Federated Voting An example with contradictory statements Contradictory statements X and Y are introduced Nodes vote for valid statements Node 1 accepts X after its quorum {1, 2, 3, 4} unanimously votes for X
  • 24. 24 Cascading Effects of Federated Voting Set {5} is 6- and 7-blocking, so 6 and 7 both accept X. Nodes 1, 2, 3, and 4 all accept X Set {1} is 5-blocking, so node 5 accepts X, overruling its previous vote for Y An example with contradictory statements
  • 25. 25 Formal Verification  Formally verified SCP’s safety and liveness properties  Modeled SCP in first-order logic (FOL) using Ivy’s Linear Temporal Logic and verified abstraction with Isabelle/HOL  Consists of manually providing inductive conjectures that are then automatically checked by Ivy.
  • 26. 26 Limitation  SCP can only guarantee safety when nodes choose adequate quorum slices • Stellar only provides guidelines on how to pick quorums  A problem of quorum intersection checking is NP-hard • Currently, only 20-30 nodes are practically deployed
  • 27. 27 Conclusion  Introduces new open-membership federated Byzantine agreement (FBA), a model for achieving decentralized consensus while preserving the traditional benefits of Byzantine agreement  FBA forms quorums from participants’ individual trust decisions, allowing an organic growth model similar to that of the Internet  Leverages the peer-to-peer structure of the network to achieve global consensus under a novel Internet hypothesis.