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 ...
Andrei Savin's user avatar
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, ...
cesarm's user avatar
  • 1,527
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 ...
user3188445's user avatar
  • 1,221
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. ...
Orbit Lens's user avatar
  • 6,886
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 <= ...
Rob's user avatar
  • 627
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 ...
manjuu5's user avatar
  • 1,060
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 ...
umbrel's user avatar
  • 938
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 ...
MonsieurNicolas's user avatar
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 ...
user3188445's user avatar
  • 1,221
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, ...
Abhijit Navale's user avatar
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 ...
user3188445's user avatar
  • 1,221
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 ...
user3188445's user avatar
  • 1,221
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 ...
user3188445's user avatar
  • 1,221
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 ...
user3188445's user avatar
  • 1,221
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 ...
Johan Stén's user avatar
  • 1,947
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 ...
nikhils's user avatar
  • 1,080
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 ...
alpe1's user avatar
  • 1,290
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 ...
Vishwas Bhushan's user avatar
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 ...
MikeFair's user avatar
  • 396
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 ...
AGitzes's user avatar
  • 440
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 ...
cesarm's user avatar
  • 1,527
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][&...
Rob's user avatar
  • 627
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 ...
user3188445's user avatar
  • 1,221
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 ...
user3188445's user avatar
  • 1,221
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 ...
user3188445's user avatar
  • 1,221
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.
user3188445's user avatar
  • 1,221
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 ...
Vishwas Bhushan's user avatar
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 ...
MonsieurNicolas's user avatar
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.
nikhils's user avatar
  • 1,080
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, ...
gquagliato's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible