package consensus import "dejo_node/internal/transactions" // ConsensusEngine define a interface para algoritmos de consenso. type ConsensusEngine interface { // ValidateBlock verifica se o bloco atende aos critérios do consenso. ValidateBlock(block *transactions.Block) error // SelectProposer retorna o ID do validador responsável por propor o próximo bloco. SelectProposer(height uint64) (string, error) // FinalizeBlock aplica qualquer regra de finalização (ex: selar, assinar, etc). FinalizeBlock(block *transactions.Block) error }