33
votes
Accepted
How are the Stellar (XLM) and Ripple (XRP) protocols different?
Tl;dr: Stellar’s protocol (SCP) uses a decentralized state propagation where each node commits to a value if every node it deems trustworthy agrees while Ripple uses a supermajority vote (80%) among ...
10
votes
Accepted
How does the Stellar Consensus Protocol prevent Sybil attacks?
I'll take a try to explain in simpler terms. But first I assume you understand that Quorum Slices are to help a Stellar node do the validation.
Stellar is all about trust (validators). After all, ...
8
votes
Accepted
How can cyclic quorum ever come to a consensus?
The way the SCP protocol works, you include your quorum slices in your vote messages. So following your example, nodes would say the following:
A says. "I vote to accept statement a so long as B ...
6
votes
Accepted
Is Stellar platform a blockchain?
From my recent blog post:
Everybody knows that Stellar Network is a blockchain-powered platform, right? However, it's architecture is completely distinctive from, let's say, Bitcoin or Ethereum. ...
4
votes
How are timestamps deemed invalid?
If you look at the stellar-core codebase, under the HerderSCPDriver's validateValueHelper function, there is this code snippet:
// Check closeTime (not too old)
if (b.closeTime <= ...
4
votes
How does the Stellar Consensus Protocol prevent Sybil attacks?
The Stellar Consensus Protocol is a form of Byzantine agreement protocol.
It is said to be Sybil-proof. It is discussed in page 3 of the
Stellar Consensus Protocol official paper
And I really can't ...
4
votes
Accepted
When is a slot created in the Stellar Consensus Protocol?
slot is simply a ledger number in Stellar implementation.
Once previous ledger closed nodes start by proposing candidates for the next "slot" and then vote on it.
Some relevant info can be ...
4
votes
Accepted
How are changes in the stellar protocol implemented?
You can read the network configuration section in the admin guide.
Here is the relevant snippet:
For a new value to be adopted, the same level of consensus between nodes needs to be reached as for ...
4
votes
Accepted
What is asymptotic security and why does Stellar, but not POW exhibit this?
As a practical matter, SCP's asymptotic security follows from the fact that it depends only on digital signatures (and hash functions) for security, and that these can be tuned to resist arbitrarily ...
4
votes
Accepted
Difference between full & basic validators
Yes, you are right that a full validator configures and writes to an archive. But basic validator can also have a history archive.
Apart from all other differences mentioned in the documentation, ...
4
votes
Could consensus period be changed?
The tricky part is that the timer for the nomination rounds of the SCP protocol starts five seconds after the previous slot's nomination protocol has ended. If you want to have an arbitrary delay ...
4
votes
Accepted
Does each node maintain a global ledger?
Yes, all nodes maintain the exact same ledger as a replicated state machine on top of the Stellar Consensus Protocol (SCP). It is a serious configuration error to have two disjoint quorums--such a ...
3
votes
Accepted
Who creates the ballot?
I think you are conflating the ballot and the candidate value chosen by the ballot. The candidate value (which includes a set of transactions) is selected using a nomination protocol that typically ...
3
votes
Nominate --> Prepare --> Commit --> Externalize question
First, note that the values in stellar are actually sets of transactions, or actually triples with a set of transactions, a timestamp, and a list of upgrades. Second, it's a little hard to follow ...
3
votes
What is asymptotic security and why does Stellar, but not POW exhibit this?
You're mixing up two completely different concepts here. One is about transaction finality, and the other is about resistance to sybil attacks.
POW has probabilistic finality, since there's always ...
3
votes
Accepted
How does the Stellar Network prevent an actor with small quorum intersection from halting the network
tl;dr: the rest of the network can still reach consensus and it will not halt the network.
In your case, there is only one non-compromised validator. Any node outside the set of compromised nodes ...
3
votes
How is node membership handled on Stellar?
Each node defines which other ones it trusts for the quorum.
The layers are a good example for a model how to organise whom to trust.
But on the technical side there are just node addresses and ...
3
votes
Accepted
Unable to find 5 sec slot timing in code base
I found method which returns the expected ledger closing time,
std::chrono::seconds
Config::getExpectedLedgerCloseTime() const
{
if (ARTIFICIALLY_SET_CLOSE_TIME_FOR_TESTING)
{
return ...
2
votes
Accepted
Is Stellar Ledger immutable?
First thing to see is that the PoW algo isn't what gives BitCoin immutability; the PoW algo is throttling the speed at which new blocks can be found based on current conditions of the machines on the ...
2
votes
Is Stellar permissionless or permissioned blockchain?
I'd consider it a decentralized permissioned blockchain. There is no central authority to receive permission from, but the system is based on proliferated trust so you need to get trusted by someone ...
2
votes
Stellar failure safety with UNSAFE_QUORUM false
It says Can't have FAILURE_SAFETY=0 unless you also set UNSAFE_QUORUM=true. I guess you might have set somewhere FAILURE_SAFETY=0.
In the example config, it says
A value of 0 is only allowed if ...
2
votes
Accepted
How can I query or visualize the quorum slices of the Stellar network?
If you run a stellar-core instance, it is possible to query the quorum set for any validator via an http request on port 11626:
Here is the endpoint your would use:
quorum /quorum?[node=NODE_ID][&...
2
votes
Accepted
Questions about SCP and federated voting steps, with a focus on the Internet-Draft
The SCPPrepare message conveys "vote commit ballot ". However, it does not convey "accept commit c" for any c, because if it accepts any commit message then it immediately proceeds to the COMMIT ...
2
votes
Accepted
When a lower tier quorum comes to its own consensus
A and B cannot sync up with SCP. This is an invalid configuration. B is misconfigured, so should just dump its state and restart with better quorum slices.
SCP only guarantees agreement when there ...
1
vote
Is there a minimal implementation of Stellar Consensus Protocol besides stellar-core?
I believe there are implementations either complete or in progress, but am not sure if any have been publicly released. If you want to implement SCP, I strongly recommend starting with the protocol ...
1
vote
Is the Stellar Consensus Protocol paper peer reviewed?
A peer reviewed academic paper on the Stellar system was published at SOSP in 2019. It includes a section on SCP and another section on the formal verification of SCP.
1
vote
Questions about SCP and federated voting steps, with a focus on the Internet-Draft
As per my understanding, the flow should be like this:
SCP
NOMINATION
SCPNominate
Vote x
Accept x
Confirm x
BALLOTING
SCPPrepare
...
1
vote
Accepted
Should Every Node Contain The Same Quorum Set Configuration?
A couple things.
First, the way quorum sets are configured are always done in the context of a validator.
A validator will never “vote” for something it doesn’t agree with so when you have things ...
1
vote
Should Every Node Contain The Same Quorum Set Configuration?
All Stellar-Core nodes do not need to have the same configuration. But there needs to be a crossover between the quorum sets so that they can be a part of the same network.
1
vote
Is there a simplified or abridged version of the Mazieres paper describing the Stellar Consensus Protocol?
There is https://www.stellar.org/stories/adventures-in-galactic-consensus-chapter-1/, which is a quite nice, as they say, graphic novel.
For people who like to think of themselves as very serious, ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
consensus × 34scp × 14
protocol × 6
stellar-core × 5
security × 3
validators × 3
ledger × 2
ripple × 2
transactions × 1
xlm × 1
nodes × 1
history × 1
fees × 1
private-network × 1
network × 1
bridge-server × 1
server × 1
speed × 1
xrp × 1
sybil-attack × 1