Scalable Network and Consensus
Last updated
Last updated
Pharos employs a consensus protocol that delivers both high throughput and low latency. It is specifically designed for large-scale nodes in wide-area network, enhancing system robustness and consensus security.
There are two design goals of Pharos consensus: responsiveness and the efficient utilization of the whole network's bandwidth. The responsiveness refers to the property that the processing speed of the blockchain system is limited by the actual network delay, without introducing any timeouts or waiting interval. As for the resource utilization, the consensus nodes should have a symmetric communication pattern to work simultaneously.
Most existing blockchain consensus protocols, however, fails to achieve these two goals, resulting in performance and scalability issue. On the one hand, some blockchains set a time interval between two consecutive blocks, so that the block generation is at a fixed rate. As a result, there is an upper bound of the system throughput, no matter how we optimize the network or computing efficiency. On the other hand, the most common communication pattern is prosing-voting. In this pattern, a single proposer is in charge of building and broadcasting the block content, while the others are merely signing and sending the relatively small voting message. Thus, the proposer becomes the bottleneck. As the number of validators increases, more network resource of the proposer is consumed, leading to performance degradation. However, as more validators join, the available bandwidth resource also increases. If we can fully utilize the resource of all the validators, a scalable consensus network can be achieved.
To achieve this goal, Pharos consensus incorporates two innovative features. Firstly, it does not rely on fixed timing assumptions, allowing block generation to be responsive to actual network delays rather than being constrained by a predefined timeout. Secondly, Pharos consensus enables simultaneous proposals from all consensus nodes, eliminating the reliance on a single proposer. These two features significantly enhance scalability and substantially increase the system throughput of Pharos. Furthermore, Pharos consensus introduces a flexible advancement paradigm. Nodes in the new paradigm can propose and commit blocks in a more flexible manner to accommodate various workloads and network condition. For example, a slow and far-away node can propose less frequently, without worrying about its proposal to be suppressed. In our global testbed comprising 100 nodes, the prototype implementation achieves a throughput of over 130,000 transactions per second.