# Consensus

The consensus is one of the important factors in a blockchain because it will ensure the data consistency of the nodes in the network, ensuring the security of the entire blockchain network. We use the consensus DPoS-BFT (delegated proof of stake - byzantime fault tolerance). The consensus is divided into two periods: DPoS and BFT.

Firstly, we will describe the DPoS. The DPoS includes a vote system where stakeholders are able to vote for delegators that will secure the network on their behalf. These delegators may also be referred to as validators and they are responsible  for achieving consensus during the generation and validation of new blocks. The voting power is proportional to the number of coins each user holds. If a validator misbehavior or does not work efficiently,  it will be quickly expelled and replaced by another one. Thus DPoS blockchain implements a real solution for a true consensus, democratic voting system. The advantage of DPoS is that it saves energy and consensus takes place more quickly.

Secondly, we will describe the BFT. The BFT is necessary for blockchain because it ensures that even if there are some faulty nodes or even destructive ones, the blockchain network operates normally. With BFT, it is possible to reach unambiguous finality under all network conditions so long as more than ⅔  of participants are honest. The BFT protocol includes:

1. Propose block&#x20;
2. All participants acknowledge that&#x20;
3. The block is finalized when received more than ⅔  commit from all participants&#x20;


---

# Agent Instructions: 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://docs.kardiachain.io/docs/archived-docs/staking-overview/consensus-1.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.
