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., ? This work presents a positive answer to this question. We first note that the well-known impossibility of {\em byzantine consensus} under does not carry over to blockchains. To tolerate , 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 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