Work process
The emergence of bitcoin, leded ledger technology (DLTs) and smart contract platforms has sparked a new era of living research on consensus protocols. The latest developments in the Bitcoin-style Nakamoto consensus, PBFT-like consensus, random consensus and others represent progress in a fundamental consensus approach that has various trade-offs in the guarantees they can provide to users. Cerberus's progress in consensus parallelization was based on the Byzantine leadership's fault tolerance tolerance approach (BFT).
The BFT protocol for state machine replication (SMR) has a strong consistency advantage (different from availability), with a long history derived from the work of Lamport, Shostak, and others.
The main milestone in the practical BFT protocol has been achieved with PBFT. PBFT uses a two-step preparation and acceptance approval process. Nodes (or participants in consensus, for example, computers in decentralized networks) choose "leaders" from their ranks. The leader offers the team to broadcast it to another node. When 2f + 1 nodes (where f is the maximum number of Byzantine nodes wrong) confirm the validity of commands by responding with their signatures, the signatures are combined into a "quorum certificate" (QC) and sent to the node as proof.
The 2f +1 requirement ensures that double voting from the wrong node cannot win a majority. As soon as 2f + 1 nodes confirm and sign the proof, the order is considered "perfect" and final. PBFT provides the first practical implementation of a partially synchronous BFT protocol, but does not work with current scalability requests on open public networks or global cloud deployments.
Of particular concern for the deployment of this large network is the high message complexity required for any "change of appearance" or replacement of leaders, because PBFT requirements for QC 2f + 1 are proof of security before progress is made.
Subsequent BFT works, such as Tendermint, expand the situation in the context of large blockchain networks by reducing the cost of sending messages needed to see change.
Instead of demanding 2f + 1 CC, the new Leader simply "expands" the highest CC (using it as a basis for new proposals). By eliminating the significant overhead of sending messages, this opens the possibility that there are other nodes with higher QC. Therefore, a leader needs to wait for a certain maximum network latency before he can ensure he has the highest QC, preventing deadlock. This slows the network response by introducing fixed latency and hence limiting bandwidth to a fixed time window rather than the actual network speed.
Protocol
Recently, the HotStuff protocol introduced an important extension of the previous BFT approach. HotStuff maintains an optimistic response while keeping the complexity of sending messages low by adding a third stage between preparation and commits: pre-commit. The pre-commitment phase allows leaders to "change their minds" after choosing "in phase," which means that consensus can safely move on to new proposals and the network can wait longer for certain network latency.
Commit occurs immediately after the QC for initial commitment has been built successfully. Combined with threshold signatures, this provides an "optimistic response" and the complexity of linear messages even to see changes. We took advantage of many HotStuff extensions and related benefits when we built the secure Cerberus BFT protocol.
Model
Cerberus solves the state-tolerant fault state machine (SMR) distribution replication problem at many nodes. Cerberus builds on the consensus of the BFT style while maintaining two main properties of BFT:
1. Safety when out of sync, the ability to survive when in sync.
2. Preference for consistency based on availability (ie, security with liveness during the asynchronous period)
We also make the following general BFT assumptions in our basic model. While we make these assumptions to illustrate the simple form of the Cerberus model, some of these restrictions can be removed in practical implementation (in particular, a set of static nodes). We discuss several in the Implementation section of this document.
- Static, world-famous node set
- Partial synchronization (e.g. After some time of global stabilization there is an unknown limit where all messages enter)
- 2f + 1 node follows the protocol, where f is the number of Byzantine nodes (per shard in the case of Cerberus)
- An attacker who is computationally unable to violate standard cryptographic primitives
- Has a practical signature method for collecting sounds from nodes
- Communication between correct nodes is peer-to-peer, confirmed and reliable
In classic BFT, the client command log is ordered globally so that the correct node can approve the final condition. Performance improvements have traditionally been based on "vertical" scaling, or "pressing more orders". one pipe ".
In practice, applications usually do not require global ordering of all orders; they only need ordering orders that are interdependent. Cerberus needs an application layer that defines dependencies so that it can implement partial orders, only order orders are linked. The Cerberus fraction represents the dependency relationship between teams. Orders that do not share a partial ordering relationship also do not share fractions, and can be executed safely in parallel.
0 Komentar