@Sau_Mon_@JoelKatz@nbougalis@cczurich@Ripple@klitoschr Unless everyone has nearly the same UNL then a split can in some cases happen just by accident, i.e. without any malicious actors. So no, it's unfortunately not safe.
@SHA0x100 Different kind of double spend. These attacks are where one validator thinks transaction x happened while another validator thinks transaction y happened. Transactions x and y are contradictory but each validator individually thinks nothing is wrong at the time of validation.
@Sau_Mon_@nbougalis@cczurich@JoelKatz@Ripple@klitoschr The attack is possible in all systems! It's theoretically unsolvable. The only difference between BFT systems (of which XRP LCP is an example of, not an alternative to) is how much they're affected by this kind of attack.
@nbougalis@cczurich@JoelKatz@Ripple@klitoschr I do think this is a very important feature, but just so nobody gets the wrong idea it's important to note that this doesn't theoretically eliminate the attacks using conflicting messages; it just makes them somewhat harder and more risky for the attacker.
@cczurich@JoelKatz@Ripple I don't understand why your blog post still says e.g. "the network may fork under the standard condition on UNL overlap stated by Ripple", even though you clearly are aware (as you mention later in the post), that Ripple has stated 91% overlap is required for full safety.
@cczurich@JoelKatz@Ripple To clarify the distinction, the 41% requirement assumes that faulty nodes cannot send conflicting messages. Obviously this is a non-standard assumption in BFT systems. I got this mixed up in my head with the 61% requirement that comes when you remove that assumption.
@cczurich@Ripple@micicjo@OpodisConf Your argument for why liveness doesn't work seems to ignore the timeout for the establish phase where validators will vote to skip the current block and
move forward. This is why we focused on validation in the 2018 paper, since establishment is irrelevant for security.
@cczurich@Ripple@micicjo@OpodisConf Your example of safety violation is correct; but when you swap it into the standard metric of assuming 20% UNL failures and asking how much overlap is needed, all your example does as far as I can tell is exactly replicate the well-known 41% requirement.
@cczurich@Ripple@micicjo@OpodisConf Your argument for why liveness doesn't work seems to ignore the timeout for the establish phase where validators will vote to skip the current block and
move forward. This is why we focused on validation in the 2018 paper, since establishment is irrelevant for security.
@galgitron@crypt0_prophet@CryptOH10 Brandon Wilson would be the best source, but unfortunately he's not on Twitter. @sharafian_ is his boss, so he's certainly following all of Brandon's work and could give an accurate picture.
@Reverend_Ripple@JoelKatz No, this only becomes faster than previous methods for numbers too large to even write out all the digits. It's only of theoretical importance, although perhaps some of the ideas in it may be applied in practice somewhere in the future.
@MegaXRPMan@galgitron@iamJumpi @BFA3 The 1% is hard to explain simply; the gist is that Cobalt has some extra features that might make it work better in certain edge cases, but those edge cases are not nearly common enough for that to really be a useful investment.
@iamJumpi @BFA3 @galgitron The alternative planned features also drop the overlap requirement to 60%. The reason Cobalt likely won't be implemented is because the alternative is much easier to implement and gets us 99% of the benefits Cobalt would give.
@iamJumpi @BFA3 @galgitron In the statement of theorem 8 on page 18. Written out in words, to guarantee safety you need
#(nodes in overlap between UNLs A and B) > #(total nodes in UNL A) / 2 + #(nodes in UNL B) - #(nodes needed for B to have a quorum) + #(Byzantine nodes in UNL B)
@iamJumpi @BFA3 @galgitron Yes. To be extra clear, the 80% consensus (aka the quorum level) is and always has been a modifiable parameter. The overlap requirement is a property of the algorithm (and also depends on the chosen quorum level; raising the quorum level decreases the overlap requirement).
@galgitron @BFA3 @iamJumpi I mean it's still a different algorithm. But the overall consensus algorithm being implemented is simpler. Instead of "remove XRP LCP and implement this massive algorithm", it's "remove XRP LCP and implement this modest algorithm".