> For the complete documentation index, see [llms.txt](https://fibonacci.gitbook.io/whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fibonacci.gitbook.io/whitepaper/sbft+dpos.md).

# SBFT+DPOS

The core consensus module of Fibonacci replaces PBFT with the faster and more efficient SBFT. Experiments show that after using SBFT, the theoretical TPS of Fibonacci reaches 100,000/s. SBFT implements dual consensus modes that can seamlessly switch between fast consensus and normal consensus. In Fibonacci SBFT, three system models are supported:

<br>

* &#x20;Standard asynchronous model: In this model, there are up to f Byzantine nodes (malicious nodes) in the network. The SBFT algorithm can ensure security in this case, and any two replica nodes will execute the same block in the same order.&#x20;
* &#x20;Synchronous model: In this model, there are up to f Byzantine nodes (malicious nodes) in the network, and the network is synchronous. The SBFT algorithm can ensure liveness in this case, and client requests will receive responses.
* &#x20;General model: In this model, up to c nodes (can only crash or act slowly) in the network may crash or slow down, but do not maliciously attack. The SBFT algorithm can ensure high efficiency in this case, submitting one block requires a fixed number of messages.

<br>

Fibonacci SBFT uses threshold signatures. For n replica nodes, only a subset of replica nodes needs to sign the block for verification. That is, the replica nodes in the subset use their own private keys to sign separately and then combine them. Finally, the verification node only needs to verify once. After adopting the threshold signature mechanism, the client communication volume can be reduced from O(n) to O(1).

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fibonacci.gitbook.io/whitepaper/sbft+dpos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
