Fault tolerance of a blockchain is often characterized by the fraction of "adversarial power" that it can tolerate in the system. Despite the fast progress in blockchain designs in recent years, existing blockchain systems can still only tolerate below . Can practically usable blockchains tolerate a malicious majority, i.e., above ? This work presents a positive answer to this question. We first note that the well-known impossibility of {\em byzantine consensus} for above does not carry over to blockchains. To tolerate above , we use {\em byzantine broadcast}, instead of byzantine consensus, as the core of the blockchain. A major obstacle in doing so, however, is that the resulting blockchain may have extremely low throughput. To overcome this central technical challenge, we propose a novel byzantine broadcast protocol OverlayBB, that can tolerate above while achieving good throughput. Using OverlayBB as the core, we present the design, implementation, and evaluation of a novel Proof-of-Stake blockchain called BCube. BCube can tolerate a malicious majority, while achieving practically usable transaction throughput and confirmation latency in our experiments with nodes and under . To our knowledge, BCube is the first blockchain that can achieve such properties.
View on arXiv