Protegendo um Validador
Cada candidato a validador é encorajado a executar suas operações de forma independente, pois configurações diversas aumentam a resistência da rede. Os candidatos a validador devem começar sua fase de configuração agora para estar a tempo para o lançamento.
Gerenciamento de Chaves - Carteiras de Hardware e HSM
É de missão crítica que um atacante não possa roubar a chave de um validador. Se isso for possível, coloca em risco toda a participação delegada ao validador comprometido. Módulos de segurança de hardware e carteiras de hardware são estratégias importantes para mitigar esse risco.
Requisitos de Carteira de Hardware
Carteiras de hardware (como dispositivos Ledger) fornecem armazenamento seguro de chaves onde:
- Chaves privadas são geradas e armazenadas em hardware criptografado
- A assinatura de transações ocorre dentro do dispositivo
- Chaves privadas nunca saem da carteira de hardware
- Uma frase mnemônica de 24 palavras controla o acesso a todas as chaves
- Não é possível migrar validadores existentes: A integração de carteira de hardware só é possível ao criar novos validadores
- Backup é crítico: A perda da frase mnemônica resulta na perda permanente do controle do validador
- Armazenamento offline necessário: Armazene frases mnemônicas com segurança offline em múltiplas localizações
Suporte HSM
Módulos HSM devem suportar assinaturas ed25519
para CrossFi Chain. O YubiHSM2 suporta ed25519
e esta biblioteca yubikey está disponível. O YubiHSM pode proteger uma chave privada, mas não pode garantir em um ambiente seguro que não assinará o mesmo bloco duas vezes.
Integração com Ledger
Dispositivos Ledger suportam operações de validador CrossFi através do aplicativo Cosmos. O aplicativo Ledger pode armazenar blocos recentes e ajuda a mitigar ataques de assinatura dupla.
Operações Suportadas:
- Gerenciamento de chaves de conta (operações de validador, recompensas, delegação)
- Assinatura de transações com confirmação de hardware
- Verificação de endereços no dispositivo
Para instruções detalhadas de configuração, consulte o Guia de Configuração de Carteira de Hardware abaixo.
Tipos de Chaves
Validadores CrossFi usam dois tipos distintos de chaves privadas, cada uma servindo propósitos diferentes:
Chave de Conta (Chave do Operador do Validador)
- Propósito: Controla a conta do validador para tarefas operacionais
- Uso:
- Receber recompensas de staking e comissões
- Atualizar informações do validador (descrição, taxa de comissão)
- Operações de auto-delegação e des-delegação
- Votação de governança do validador
- Armazenamento: Pode ser armazenada em carteiras de hardware (Ledger) para maior segurança
- Prefixo: Usa prefixos
mpvaloper
empvaloperpub
- Criação: Gerada com
crossfid keys add <nome> --ledger
para integração de carteira de hardware
Chave de Consenso (Chave Tendermint)
- Propósito: Usada pelo Tendermint/CometBFT para assinar blocos e votos de consenso
- Uso:
- Assinatura de propostas de bloco
- Assinatura de prevote e precommit em rodadas de consenso
- Deve estar disponível 24/7 para produção contínua de blocos
- Armazenamento: Armazenada no arquivo
priv_validator.json
por padrão - Prefixo: Associada com chave pública
mpvalconspub
- Segurança: Pode ser isolada usando Tendermint KMS para proteção aprimorada
- Criação: Gerada automaticamente quando o nó é inicializado com
crossfid init
- Nunca copie
priv_validator.json
entre múltiplos nós - isso causará assinatura dupla e resultará em slashing - Não é possível migrar chaves existentes para carteiras de hardware - só é possível para novos validadores
- Faça backup de ambos os tipos de chaves de forma segura e separadamente
Relacionamento de Chaves: Ambas as chaves são essenciais para operações do validador, mas servem funções completamente diferentes. A chave de conta gerencia a entidade do validador, enquanto a chave de consenso lida com o processo real de assinatura de blocos.
Nós Sentinela (Proteção DDOS)
Validadores são responsáveis por garantir que a rede possa sustentar ataques de negação de serviço.
Uma forma recomendada de mitigar esses riscos é que os validadores estruturem cuidadosamente sua topologia de rede em uma arquitetura chamada de nó sentinela.
Nós validadores devem se conectar apenas a nós completos que confiam porque os operam eles mesmos ou são executados por outros validadores que conhecem socialmente. Um nó validador tipicamente executa em um centro de dados. A maioria dos centros de dados fornece links diretos às redes dos principais provedores de nuvem. O validador pode usar esses links para se conectar a nós sentinela na nuvem. Isso desloca a carga de negação de serviço do nó do validador diretamente para seus nós sentinela, e pode exigir que novos nós sentinela sejam ativados ou ativados para mitigar ataques nos existentes.
Nós sentinela podem ser rapidamente ativados ou mudar seus endereços IP. Como os links para os nós sentinela estão em espaço IP privado, um atacante baseado na internet não pode perturbá-los diretamente. Isso garantirá que propostas de bloco e votos do validador sempre cheguem ao resto da rede.
Para configurar sua arquitetura de nó sentinela, você pode seguir as instruções abaixo:
Nós validadores devem editar seu config.toml:
# Lista separada por vírgulas de nós para manter conexões persistentes
# Não adicione pares privados a esta lista se não quiser que sejam anunciados
persistent_peers =[lista de nós sentinela]
# Definir como true para habilitar o reator de troca de pares
pex = false
Nós Sentinela devem editar seu config.toml:
# Lista separada por vírgulas de IDs de pares para manter privados (não serão compartilhados com outros pares)
# Exemplo de ID: 3e16af0cead27979e1fc3dac57d03df3c7a77acc@3.87.179.235:26656
private_peer_ids = "node_ids_of_private_peers"
Como os validadores podem se proteger de ataques de negação de serviço?
Ataques de negação de serviço ocorrem quando um atacante envia uma avalanche de tráfego de internet para um endereço IP para impedir que o servidor nesse endereço IP se conecte à internet.
Um atacante escaneia a rede, tenta aprender o endereço IP de vários nós validadores, e os desconecta da comunicação inundando-os com tráfego.
Uma forma recomendada de mitigar esses riscos é que os validadores estruturem cuidadosamente sua topologia de rede usando uma arquitetura de nó sentinela.
Espera-se que nós validadores se conectem apenas a nós completos que confiam porque operam os nós completos eles mesmos ou os nós completos confiáveis são executados por outros validadores que conhecem socialmente. Um nó validador é tipicamente executado em um centro de dados. A maioria dos centros de dados fornece links diretos às redes dos principais provedores de nuvem. O validador pode usar esses links para se conectar a nós sentinela na nuvem. Esta mitigação desloca a carga de negação de serviço do nó do validador diretamente para seus nós sentinela, e pode exigir que novos nós sentinela sejam ativados ou ativados para mitigar ataques nos existentes.
Nós sentinela podem ser rapidamente ativados ou mudar seus endereços IP. Como os links para os nós sentinela estão em espaço IP privado, um ataque baseado na internet não pode perturbá-los diretamente. Esta estratégia garante que propostas de bloco e votos do validador tenham uma chance muito maior de chegar ao resto da rede.
Para mais detalhes sobre nós sentinela, consulte a Documentação do Tendermint ou a Visão Geral da Arquitetura de Nó Sentinela no fórum.
Guia de Configuração de Carteira de Hardware
Configuração de Carteira de Hardware Ledger
Esta seção fornece instruções passo a passo para configurar um dispositivo Ledger para operações de validador CrossFi.
Pré-requisitos
- Dispositivo Ledger Nano S, Nano S Plus, ou Nano X
- Computador com conexão USB
- Última versão do aplicativo Ledger Live
- Daemon CrossFi (
crossfid
) compilado com suporte Ledger
Passo 1: Preparar seu Dispositivo Ledger
Instalar Ledger Live
- Baixe e instale Ledger Live do site oficial:
https://www.ledger.com/ledger-live
- Conecte seu dispositivo Ledger e atualize o firmware através do Ledger Live para a versão mais recente.
Instalar Aplicativo Cosmos
- No Ledger Live:
- Navegue para a seção Manager
- Conecte e desbloqueie seu dispositivo Ledger
- Procure pelo aplicativo "Cosmos"
- Clique em Install para adicionar o aplicativo Cosmos ao seu dispositivo
- Nota: Você pode precisar habilitar o Modo Desenvolvedor nas configurações do Ledger Live se o aplicativo Cosmos não estiver visível.
Inicializar ou Restaurar Frase Semente
- Para novos dispositivos:
- Siga a configuração do dispositivo para gerar uma nova frase de recuperação de 24 palavras
- Escreva todas as 24 palavras na ordem exata mostrada
- Verifique a frase inserindo as palavras solicitadas
- Para dispositivos existentes:
- Use sua frase de recuperação existente se já tiver uma
- Garanta que você tenha backups seguros offline da frase
- ⚠️ Crítico: Armazene sua frase de recuperação em múltiplas localizações seguras offline. A perda desta frase significa perda permanente do seu validador!
Passo 2: Criar Conta de Validador com Ledger
Verificar Configuração do Daemon CrossFi
- Garanta que seu binário
crossfid
esteja compilado com suporte Ledger:crossfid version --long