5 ms·
I was curious about how this was different from Ripple's approach, I thought this was interesting: > Generally, membership in Byzantine agreement systems is se
by neuronexmachina 9y ago
I was curious about how this was different from Ripple's approach, I thought this was interesting:
> Generally, membership in Byzantine agreement systems is set by a central authority
or closed negotiation. Prior attempts to decentralize admission have given up some of
the benefits. One approach, taken by Ripple, is to publish a “starter” membership list
that participants can edit for themselves, hoping people’s edits are either inconsequential
or reproduced by an overwhelming fraction of participants. Unfortunately, because
divergent lists invalidate safety guarantees [Schwartz et al. 2014], users are reluctant
to edit the list in practice and a great deal of power ends up concentrated in the maintainer
of the starter list. Another approach, taken by Tendermint [Kwon 2014], is to
base membership on proof of stake. However, doing so once again ties trust to resource
ownership. SCP is the first Byzantine agreement protocol to give each participant maximum
freedom in choosing which combinations of other participants to trust.
- mpfundstein 9y agoEli5 please ! ;-)
- throwacide 9y agoIn other words you can implement arbitrary dynamic trust, Opening up the possibility of arbitrary hierarchies, and much more efficient and robust mechanisms of establishing truth. Authorities could be designed arbitrarily and evolve on top of this core protocol. This so far sounds closer to tcp/ip foundation. Bitcoin would be more like Series of children with a dynamic system of never ending strings and Styrofoam cups. I bet there is already CS research theory ready to apply to this design. (Easier said than done and I am just guessing really).
- titanomachy 9y agoSomehow I don't think you've met very many 5-year-olds.
- cantrip 9y agoWhat part of this is interesting to you? This paragraph does not explain how they are different from Ripple's approach only that they are in fact different.
- zeroxfe 9y ago> This paragraph does not explain how they are different from Ripple's approach only that they are in fact different. I think the last line sums it up: "SCP is the first Byzantine agreement protocol to give each participant maximum freedom in choosing which combinations of other participants to trust." As opposed to Ripple, where the trust is heavily biased towards the starter membership list, making it more centralized than one would want.
- cantrip 9y agoHow exactly does that work? To me, the statement says essentially "you can trust us more than Ripple" with no explanation as to why.
- zeroxfe 9y agoThe explanation is in the PDF. OP was just pointing out the high-level description of how it's different. Obviously, the devil's in the details.
- deleted 9y ago[deleted]
- runeks 9y ago> As opposed to Ripple, where the trust is heavily biased towards the starter membership list, making it more centralized than one would want. It’s biased because of a technical issue (consensus must be reached). How does the Stellar protocol solve this technical issue?
- deleted 9y ago[deleted]
- 9y ago
- mirekrusin 9y ago"... gives maximum freedom ..." nice way of putting the fact that there's basically no consensus; i've got even better idea, with more freedom - everybody can write whatever they want into append only database and they have freedom to choose which bits make sense.
- JonnyNova 9y agoSo, IOTA?
- runeks 9y agoIOTA is not decentralized. Although it allegedly will be in the future.
- StavrosK 9y agoMultiple commenters here are saying that Stellar has no consensus. Is that true? How could such a big issue be overlooked?
- grandmczeb 9y ago> Is that true? No. If you’re worried about it, read the linked paper. The mechanics (and assumptions) are covered in painstaking detail.
- ytjohn 9y agoThat sounds like secure scuttlebutt. Secure Scuttlebutt is a database protocol for unforgeable append-only message feeds. "Unforgeable" means that only the owner of a feed can update that feed, as enforced by digital signing (see Security properties). This property makes Secure Scuttlebutt useful for peer-to-peer applications. Secure Scuttlebutt also makes it easy to encrypt messages. https://scuttlebot.io/more/protocols/secure-scuttlebutt.html https://scuttlebot.io/more/protocols/secure-scuttlebutt.html
- gregknicholson 9y agoThis is a very lucid description of how Secure Scuttlebutt works. SSB is deliberately “against consensus”, which makes it useless as a trustless decision-making tool. So I take your point that this property of Stellar seems to make Stellar useless for its stated purpose. (I haven't read the paper, so I may be very wrong.)
- mazieres 9y agoTo be more precise about this, the Ripple consensus paper (https://ripple.com/files/ripple_consensus_whitepaper.pdf https://ripple.com/files/ripple_consensus_whitepaper.pdf) says in Section 3.3, "Since the UNLs for each server can be different, agreement is not inherently guaranteed by the correctness proof." This of course doesn't mean that Ripple is never safe if UNLs disagree. (A node's UNL in Ripple serves the same function as a node's quorum slices in SCP.) It just means that the analysis from Section 3.2 does not apply. SCP was designed to be decentralized in the sense that we assumed different nodes would want to chose different quorum slices and wanted to achieve the best possible safety for any such choice. A particular concern with Ripple is what would happen if Ripple validators failed not by crashing, but by getting compromised and acting maliciously (so-called Byzantine failure). The Ripple paper states in Section 3.2 that "it would take (4n + 1)/5 Byzantine failures for an incorrect transaction to be confirmed" (where all nodes are assumed to have identical UNLs and n is the size of that UNL). I believe this is an error, as with a quorum size of 80% of n, it is easy to construct a counter-example. Suppose nodes v_1 and v_10 are honest, while v_2, ..., v_9 maliciously deviate from the protocol. Now consider the two 80% sets (v_1, ..., v_8) and (v_3, ..., v_10). Those two sets overlap at only malicious nodes that could prevent v_1 and v_10 from hearing about each other's transactions. The nice thing about SCP is that it is optimally safe (Theorem 13 in the paper). That doesn't mean it guarantees safety under all possible configurations (e.g., two disjoint sets of nodes that don't know about each other). But it means that in any configuration where there exists some protocol that could guarantee safety, SCP will guarantee safety as well. That includes Byzantine failure scenarios. So you could translate UNLs into quorum slices and substitute SCP for Ripple's consensus algorithm, and if RPCA was already guaranteed safe, then SCP will be, too. The converse is not guaranteed; you could choose a configuration that is safe under SCP and risks forking under RPCA.