# ⚖️ Mecanismo de Consenso no DEJO Node

## 📌 Visão Geral
O **DEJO Node** utiliza um mecanismo de consenso híbrido, suportando **Proof-of-Stake (PoS)** e **Byzantine Fault Tolerance (BFT)**. O objetivo é garantir **segurança, escalabilidade e eficiência** na validação dos blocos e transações.

---

## 🔹 Modelos de Consenso Suportados
### **1. Proof-of-Stake (PoS)**
- Validadores são escolhidos com base na **quantidade de tokens em staking**.
- Mais stake = maior chance de ser escolhido para validar blocos.
- Implementação de **mecanismo de penalização (slashing)** para validadores maliciosos.
- Finalização de blocos sem necessidade de mineração intensiva.

### **2. Byzantine Fault Tolerance (BFT)**
- Algoritmo que permite consenso mesmo com **até 1/3 dos nós maliciosos**.
- Comunicação direta entre validadores para garantir consenso.
- Tempo de confirmação de bloco reduzido.
- Melhor aplicabilidade para redes permissionadas.

---

## 🔄 Processo de Validação de Blocos
1. Novas transações são propagadas via **rede P2P**.
2. Nós validadores selecionam um conjunto de transações e montam um bloco.
3. O bloco é proposto e enviado para os outros validadores.
4. Dependendo do modelo de consenso:
   - **PoS** → O validador líder assina e propaga o bloco.
   - **BFT** → Todos os validadores participam da decisão.
5. Após o consenso, o bloco é **finalizado e registrado no banco de dados**.
6. A blockchain se mantém sincronizada via comunicação P2P.

---

## ⚠️ Segurança e Penalizações (Slashing)
Para evitar ataques e validar a integridade da rede, aplicamos penalizações:
- **Slashing parcial**: Redução de stake caso um validador tente validar blocos conflitantes.
- **Slashing total**: Remoção completa do validador em casos de fraude comprovada.
- **Lista negra**: Impedimento de participação futura de validadores maliciosos.

---

## 📂 Estrutura de Diretórios Relacionada
```
dejo-node/
│── internal/
│   ├── consensus/      # Implementação do consenso (PoS/BFT)
│   ├── transactions/   # Processamento de transações
│   ├── storage/        # Persistência dos blocos
│── tests/
│   ├── consensus/      # Testes unitários e de integração do consenso
```

---

## 📖 Referências
- [Whitepaper Técnico da DEJO](../Whitepaper_Tecnico.pdf)
- [Plano de Negócios - DEJO Digital Assets](../Plano_de_Negocios.pdf)
- [Arquitetura do DEJO Node](architecture.md)

🚀 **DEJO Node: Segurança e Consenso para a Blockchain!** 🔥