In this paper, we design a new blockchain Byzantine consensus protocol
SCP where the throughput scales nearly linearly with the
computation: the more computing power available, the more blocks
selected per unit time. SCP is also efficient that the number of
messages it requires is nearly linear in the network size. The {\em
computational scalability} property offers the flexibility to tune
bandwidth consumption by adjusting computational parameters (e.g.
proof-of-work difficulty). The key ideas lie in securely establishing
identities for network participants, randomly placing them in several
committees and running a classical consensus protocol within each
committee to propose blocks in {\em parallel}. We further design a
mechanism to allow reaching consensus on blocks without broadcasting
actual block data, while still enabling efficient block
verification. We prove that our protocol is secure, efficient and
applicable to several case studies. We conduct scalability experiments
on Amazon EC2 with upto 80 cores, and confirm that SCP matches
its theoretical scaling properties.
↧