3 ms·
The 1/3 bound is for general byzantine behavior. If you're willing to get more specific about the type of behavior you want to tolerate, the bounds are more fle
by narush 7y ago
The 1/3 bound is for general byzantine behavior. If you're willing to get more specific about the type of behavior you want to tolerate, the bounds are more flexible[1] (this link is from the HotStuff people, actually!). For example, a node could tolerate no more than "20% Byzantine faults and 30% alive-but-corrupt faults" In turn, this allows different clients to make different assumptions (one huge advantage PoW has over traditional BFT protocols).
Also, w.r.t. linear communication, CBC Casper[2] has the ability to come to consensus on a blockchain with, in the limit (and in the optimal case), a single message per block that is finalized. It uses essentially the same form of pipelining that HotStuff does, but to the extreme (at at the cost of a much longer time for blocks to be finalized). Full disclosure: I work on CBC Casper, so take what I'm saying with a grain of salt.
[1] https://dahliamalkhi.wordpress.com/2019/04/24/flexible-byzantine-fault-tolerance/ https://dahliamalkhi.wordpress.com/2019/04/24/flexible-byzan...
[2] https://github.com/cbc-casper/cbc-casper-paper/blob/master/cbc-casper-paper-draft.pdf https://github.com/cbc-casper/cbc-casper-paper/blob/master/c...
- trianglesphere 7y agoGood point with the flexible BFT paper. I didn't realize casper pipelines, I'll have to look into it. I'm working on IBFT (fixed to be more pbft like).