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, ...
4
votes
Accepted
Consensus about a transaction set
There are two distinct phases/sub-protocols with different purpose in SCP:
the ballot protocol ensures that if a quorum agrees to something, all nodes will agree to the same thing;
the nomination ...
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 is the node ID assigned to a stellar core node?
Each node has it's own unique NODE_SEED which is used for messages signing. It can be set in the config file. The seed used for generating the public key this node will be identified with in SCP (that'...
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
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
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
How a new node trusts another node in the network
This certainly deserves a more complete answer than I'm about to give, and hopefully someone can go ahead and give it -- but the root of it is that a node chooses (manually) which other notes to ...
4
votes
Accepted
Partial vs Complete Catchup: what are the differences in terms of security?
Each node synchronizes the state with the quorum set, so archives tampering won't work. The node will be unable to catch up with SCP quorum if the local state differs from the quorum-approved state. ...
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
What state is a transaction in after being succesfully posted?
Yes, Horizon waits for the transaction to be included into the ledger. SCP protocol implies immediate finality after the confirmation, so your transaction is 100% confirmed and included into the ...
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 ...
3
votes
Accepted
Why does the high level threshold level for quorum have to be above 66%?
This is by analogy with symmetric Byzantine agreement protocols (in which everyone has the same quorum slices). You need any two quorums to intersect at an honest node. If your threshold is 2/3 or ...
3
votes
Accepted
How does a node discover the quorums that it is in?
Nodes rely on the fact that SCP messages are broadcasted to all peers on the network (for the most part); the number of peer to peer connections just increases the chances that the network as a whole ...
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
What does it mean with "surge pricing in effect" at Stellar-Core?
The function you linked to seems to be removing the transactions from a transaction set that have the lowest fees, until the set size equals 100.
This corresponds with the documentation which states:
...
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
What are the message size limitations of stellar consensus protocol?
SCP doesn't have any theoretical limits, since really all you need to agree on is a SHA-256 hash of an arbitrary-sized set of transactions. However, the Stellar validators vote to set a maximum ...
2
votes
Stuck in "Joining SCP" state with info “Lost track of consensus”
If you’re trying to build a 2 nodes setup it’s unlikely to work: the only safe way to run such a setup would be to have nodes that depend on each other (ie neither can go down) as otherwise you would ...
2
votes
What is the difference between SCP and FBA?
The Stellar Consensus Protocol is a type of federated Byzantine agreement protocol. So FBA is a broader category that includes SCP.
There's a more recent peer-reviewed paper written for the SOSP that ...
1
vote
Accepted
Partial Catch-up on Validator nodes
Having consulted my local expert, it appears that when I perform a partial catchup, the core retrieves the entire state of the blockchain, just not the entire transaction history of the blockchain.
...
1
vote
How does a stellar node know that node its communicating with is definitively in or outside its quorum group?
The protocol consists of exchanging digitally-signed messages bound to nodes' quorum slices.
( https://datatracker.ietf.org/doc/draft-mazieres-dinrg-scp/ )
The trusted nodeIds that you put in your ...
1
vote
SCP Safety Guarantee Question
A node can only be befouled if there exists an ill-behaved node befouling the node.
This is only true if you have nominal quorum intersection. That's why so many of the theorems say "assume an FBAS ...
1
vote
Accepted
New node is lagging behind the old one
So fixed this problem. My node1's get in history was not pointing to the node2's archive path. After setting them properly it worked.
Node1's history configuration
[HISTORY.local]
get="cp /tmp/...
1
vote
Accepted
Nomination protocol differences between implementation and specification
At this point, there are a bunch of small ways in which the internet draft is not wire compatible with stellar-core. The most important is that while multiple people have implemented SCP, there is ...
1
vote
How does the Stellar protocol ensure a network doesn't have disjoint quorums?
Yes. Stellar Development Foundation (SDF) maintains three validators, which you can find in this list of validators. If you include at least one of them in every quorum slice, you will stay in sync ...
1
vote
SCP. Does non-intersecting quorums have different ledgers?
1) Do all nodes in stellar-network know about my transaction and decide whether to include it in the ledger or not? Or does the decision accept only the quorum to which I belong?
Yes, all nodes ...
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
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
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
scp × 42stellar-core × 16
consensus × 14
protocol × 5
transactions × 4
validators × 4
nodes × 3
security × 3
network × 3
private-network × 2
error × 2
horizon × 1
stellar-laboratory × 1
ledger × 1
federation × 1
catchup × 1
buckets × 1
quorum × 1
sybil-attack × 1