You are viewing a single comment's thread from:

RE: Peer Review of Cardano's Ouroboros

in #cardamon6 years ago (edited)

Apologies I’m late to become aware of this blog and thus am responding late.

Block Interval

Block interval determines the latency until a transaction is included in the first block. This is the lower-bound on the responsiveness of decentralized applications built on the protocol. Applications like Steem and BitShares are not really viable unless there is low latency and high certainty of finality.

EOS: 0.5 seconds
Steem/BitShares: 3 seconds
Ouroboros: 20 seconds

Actually the block interval for Ouroboros is just a configuration parameter and 20 seconds was just a conservative value and could be decreased if all they wanted to do was run an oligarchy masquerading as a decentralized ledger.

I quote from Reddit:

20 seconds. But it is a simple parameter that can be changed at any time. So if the network is running efficiently at 20 seconds, the block time could be decreased. Charles has made the argument that there is not a need for faster block times until the network begins to scale and real world adoption is becoming a more immediate option.

Yes, the block time is a variable parameter that can be changed in Ouroboros. Having block times less then 0.5 seconds would not make sense, since you would be issuing blocks faster than the blocks are able to propagate a global network. See this: https://iohk.io/blog/on-the-ouroboros-design-how-rigour-and-engineering-are-essential-for-critical-infrastructure/

“Like all other protocols in the blockchain space, Ouroboros requires some degree of synchronisation. The block production interval has to be consistent with the likely time to complete the required information exchanges. The 20-second slot time in Ouroboros represents a conservative choice for a block of transactions to traverse the diameter of a peer-to-peer network […]”


Irreversibility

This is how long someone must wait to be certain that a transaction will not be undone by a new/longer fork being released that excludes the transaction. Irreversibility is very important for any multi-step transactions. You don’t want to ship goods until payment is confirmed. You cannot make one trade until the prior trade is locked in. A decentralized exchange is not viable on a platform that has significant latency until irreversibility.

EOS: <= 2 seconds
Steem/BitShares: <= 45 seconds
Ouroboros: > 5 hours

Dan, the above is disingenuous and you must know that by now because we debated this before when you blogged that response to my blog “Consortium blockchains” (e.g. DPoS & Tendermint) can’t Internet scale.

Also I followed up with a reply on Medium about your recent Youtube and a more detailed reply to one your shills.

Let me fix that for you to be more honest:

Oligarchy controlled
block “confirmation”
Byzantine fault tolerant
%100 final irreversibility
EOS0.5 seconds
(non-antifragile!)
<= 63 seconds
Steem/BitShares3 seconds<= 63 seconds
DFINITY≃3 seconds≃10 seconds ideally
highly improbable
worst case ≃1200 seconds
Ouroboros≃3 seconds≃15 seconds ideally
highly improbable worst
case many hours

The only way that your inept DPoS design can get away with forsaking actual Byzantine fault tolerance (BFT) as it does do, so that it can disingenuously claim finality so quickly, is that all the witnesses must be (and actually are) cooperating as an oligarchy. An oligarchy controlled ledger is unsuitable for wide deployment on the Internet as Steem’s abject failure has exemplified for example. If DPoS isn’t controlled by oligarchy then any Byzantine witness could attack the liveness of DPOS (i.e. even with less than of the witnesses being adversarial), especially with the very small margins of network synchrony bounds required for pushing EOS to the 0.5 second per block latency. But DPoS is always controlled by an oligarchy because it employs elections. This is insoluble problem of all extant proof-of-stake systems.

@lichuan recently recapitulated my point about that:

DPOS has many drawbacks, for example, if a witness node was controlled by a attacker, then the attacker can broadcast many conflicting block with the same block height, in such condition, the whole witness network would be split to many sub-network which are not compatible with each other, at that moment, if the confirmations of these conflicting blocks is less than 2 / 3 of total num of witness, then the whole network would be suspended. you might say that if can not reach 2 / 3, the system has a timeout mechanism, but wait, if system allow one witness produce two height within a small interval, in some network edge conditions, the different witness would generate different LIB (last irreversible block), in a distributed network environment, There is no uniform time and confirmation number.

The best latency that could possibly be achieved in a truly BFT design (at least one relying on sequential blocks) would be comparable to DFINITY which requires “a few seconds per block” and requires a minimum of two (2) blocks for 100% finality.

Also even your own blog has admitted as recapitulated by your shill that in a Byzantine adversarial model, your design purports to achieve definitive finality only after a super majority of the 21 witnesses issue a descendant block. Thus up to ≃21 blocks which is up to ≃63 seconds for Steem/Bitshares. And again EOS could not have 0.5 second blocks in a true BFT adversarial model, so it would also be up to ≃63 seconds if comparing apples-to-apples.

The only reason you can claim ≃21 blocks for irreversibility is because DPoS has elections, but elections empower an oligarchy. So it’s disingenuous to compare a system with elections to a system such as Ouroboros or DFINITY which employ randomness to attempt to reduce some of the malevolence that an adversary could do. However even DFINITY relies on permissioned nodes so they don’t actually resolve the problem of needing elections (because staked deposits either aren’t secure and must devolve to an oligarchy or the system dies). And all extant proof-of-stake systems must be oligarchies anyway for reasons that I explained in my analysis of DFINITY. So this means the entire comparison of confirmation and irreversibility latency is a red herring. You’re diverting attention away from the fact that none of the extant proof-of-stake systems are suitable for wide deployment on the Internet. Also it is very important to incorporate my thoughts about the value and nature of security.

And you’re entirely incorrect to insinuate that DPoS can recover easily from the chain being stuck even with perfect network synchrony if (or ½ if slashing is added) of the witnesses are adversarial and/or stop responding. That’s the liveness threshold of BFT. But when an oligarchy is in control, then the oligarchy can do whatever it wants, including never allowing the chain to become stuck. Without an oligarchy in control, there’s no objective way for offline nodes to know when a new DPoS election occurred and thus when the faulty witnesses were replaced. If the non-faulty witnesses vote approve the blocks recording the new election, it’s not possible to be sure those non-faulty witness will not become faulty and sign another set of blocks confirming some other election they created in secret. The offline nodes have no objectivity. That is the nothing-at-stake problem of all proof-of-stake systems and TaPoS doesn’t resolve the problem entirely.

You go ahead and release EOS inherently flawed as it is, and at the appropriate time I am going to spread the truth far and wide.

Ouroboros is Unfit for Decentralized Applications

If we assume Ouroboros is actually “more provably secure” by some definition of secure, it is of little practical value because as specified the security completely compromises the practically. It would be like claiming a bullet proof vest is “provably safe” but it weighs 400 pounds. At some point other factors of system design take priority.

Unfortunately we cannot simply assume it has been proven secure. I will demonstrate that despite claims to the contrary, Ouroboros is far less secure due to faulty assumptions in its design.

I have already shown above that neither EOS nor STEEM are fit for widely deployed decentralized applications. In BFT mode without oligarchy control, they would have 1 minute confirmation speed for each action a user does to interact with the database! Even if you adopted DFINITY’s superior design, you’d still need at least 3 seconds per block confirmation and no less than 6 seconds or more for irreversibility. Thus these hyped frauds you make are only operating as oligarchy clusterfucks to milk the greater fool speculators. The proof is already quite evident with the abject failure of Steem because of the oligarchy control (which you premeditated with your sneaky fast mine corruption and repeated again with the corruption of the EOS ICO such that Brock Pierce and his Goldman buddies will ostensibly control 80% of the tokens by buying the ICO from themselves).

Ouroboros at least has a mathematical specification. You never even wrote a proper whitepaper for DPoS. All we have some belated half-assed blog from you which isn’t even up to par for a high school science project, much less for system that is supposed to be widely deployed to the Internet.

Steem / BitShares / EOS

Existing DPOS chains select a set of unlikely to collude entities by approval voting and then schedule them in a pseudorandom order.

That is a lie and you know it. You know very well that DPoS elections favor adversaries and oligarchies.

The reason that DFINITY and Ouroboros are employing randomization is summarized in §0.3.2 Designing the Algorithm on pg. 4 of the Skycoin Obelisk census system whitepaper:

Another class of algorithms, that we also rejected, involve electing a leader node. Agreeing to elect one’s leader (or a temporary ruler), we contend, is not a very intelligent behavior either. Here is why. Leader election is a natural adaptation in situations when group’s survival requires high intelligence, while the average intelligence of group members is low. Hence the group, in order to to survive, has to find a member who can make intelligent decisions for the group.


Distribution Security Issues

I have previously made the case that BitShares, Steem, and EOS are the most decentralized because it has the most unique confirmations per confirmation window.

Liar.

In past articles on proof of stake I have also shown that even if Ouroboros removed the 1% requirement to participate, it would be economically unviable to cover the cost of operating a node with income from less than 1% of the block rewards. I have also argued in the past that because stake is distributed by pareto principle, and voter selection of candidates is also selected by pareto principle, the resulting distribution of stake among producers is pareto2. In other words, stake-weighted voting creates a very high centralization that can only be countered with approval voting followed by giving the top N equal weight (like BitShares, Steem, and EOS do).

DPoS’ approval voting is no better and arguably much worse.

Voting and democracy are oligarchy paradigms, c.f. Castellano, C., Fortunato, S., Loreto, V.: Statistical physics of social dynamics. Rev. Mod. Phys. 81(2), 591–646 (2009).

Click to read more.

Cardano’s Ouroboros algorithm is not mathematically secure due to bad assumptions regarding the relationship between stake and individual-judgment being distributed by the pareto principle.

Bullshit! Ouroboros has a precise mathematical formulation which properly accounts for the factor you are contemplating. Realize this by noting how DFINITY’s hypergeometic analysis works. In the worst case, Ouroboros requires many blocks to become irreversible because it’s math is confirming that the super majority has confirmed a stable longest fork.

You can’t correctly criticize its worst case long irreversibility time and claim the math is broken. Duh. IOW, the Zipf power-law distribution of wealth’s effect on delaying irreversibility is accounted for in the mathematical model. Although individual or ranges of slots may have collusion due to the concentration of control due to the power-law distribution, the math converges to irreversibility only when (analogous to the hypergeometric selection of a validator set in DFINITY) the validator set over uncontested slots has selected a sufficient set.

Ouroboros was formulated differently than DFINITY ostensibly to accommodate the slower randomness updates but apparently this doesn’t cause much difference in delay to irreversibility.

The authors of the paper failed to cite relevant prior art or to justify why their deviations from existing art are an improvement.

Dan, how can Charles cite a proper, formalized whitepaper which you never wrote?


I see that Ethereum’s research forum is trying to copy DFINITY now.

https://ethresear.ch/

EOS may also try to copy extant published designs which are superior to their own.

Thus hopefully the project I am working on will launch as closed source initially until the first-mover advantage (FMA) is fully locked in.

Sort:  

Yes, your Presume is near to Reality. Thanks a lot for nice and clear information from you.

Coin Marketplace

STEEM 0.21
TRX 0.13
JST 0.030
BTC 66704.41
ETH 3487.40
USDT 1.00
SBD 2.99