# Consensus PoSa

<figure><img src="/files/rNLVXLUYpGUIOKHfol4V" alt=""><figcaption></figcaption></figure>

**PoSA** is a novel consensus algorithm that blends the strengths of PoS with an additional activity factor. The **activity** factor is calculated based on the usage of the smart contracts deployed on the network. In simple terms, the more a smart contract is used, the more impact it will have in the consensus process. This creates an incentive for contract developers to create high-quality, highly-used contracts, as they will have more impact in the network.

**How Does PoSa Work?**

In **PoSa**, validators (i.e., nodes that validate transactions and blocks) must first stake a fixed amount of tokens, which is **8192** for all validators, to participate in the **consensus** process. This stake serves as collateral, ensuring that validators act in an honest manner. However, in **PoSa**, the ranking of a validator is determined not only by the size of their stake but also by the activity of their smart contracts.

The **activity** of a smart contract is the sum of all gas used by users when interacting with the contract. The more gas a contract uses, the more active it is considered to be. This activity is then combined with the validator's stake to determine their rank.

The advantage of this approach is two-fold. Firstly, it provides an **incentive** for developers to create high quality, highly used contracts, which helps to maintain the overall health and security of the network. Secondly, it helps to **decentralize** the network, as validators with high quality, high usability contracts will have a greater influence in the consensus process.

It's important to note that even validators without activity are still important to the network, as they play a role in maintaining its **security and stability**.

<br>


---

# 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.bahamut.io/overview/consensus-posa.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.
