Files
dejo-node/docs/consensus.md
2025-05-23 10:44:32 -03:00

2.5 KiB

⚖️ 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

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