Visão Geral
O consenso no Bitcoin refere-se ao acordo entre todos os nós participantes sobre quais transações e blocos são válidos e qual versão da blockchain é a canônica. Esse acordo é alcançado sem nenhum coordenador central por meio de uma combinação de regras determinísticas (regras de consenso) e um mecanismo de incentivo econômico (prova de trabalho).
Regras de Consenso
Cada nó completo valida de forma independente cada bloco e transação em relação a um conjunto abrangente de regras:
Regras no nível da transação:
├── As entradas referenciam saídas existentes e não gastas
├── As assinaturas são válidas
├── Os valores de entrada ≥ valores de saída
├── Os scripts são executados com sucesso
└── A transação não é duplicata
Regras no nível do bloco:
├── O hash do cabeçalho do bloco atende ao alvo de dificuldade
├── O peso do bloco ≤ 4,000,000 unidades de peso
├── O timestamp está dentro do intervalo aceitável
├── A recompensa do bloco não excede o subsídio permitido + taxas
├── A raiz de Merkle corresponde às transações incluídas
└── Todas as transações incluídas são válidas
Consenso de Nakamoto
O mecanismo de consenso específico do Bitcoin, conhecido como Consenso de Nakamoto, combina três elementos:
- Prova de trabalho: Os mineradores gastam recursos computacionais para propor novos blocos
- Regra da cadeia mais longa: Os nós seguem a cadeia com maior prova de trabalho acumulada
- Ajuste de dificuldade: A dificuldade de mineração se adapta para manter tempos de bloco de aproximadamente 10 minutos
Alterar as Regras de Consenso
Modificar as regras de consenso requer coordenação em toda a rede descentralizada:
- Soft fork: Um aperto de regras compatível com versões anteriores. Os nós antigos ainda aceitam blocos produzidos sob as novas regras.
- Hard fork: Uma mudança de regras incompatível com versões anteriores. Os nós antigos rejeitariam blocos produzidos sob as novas regras, potencialmente causando uma divisão da cadeia.
Por Que o Consenso Importa
O consenso é o que torna o Bitcoin confiável sem necessidade de confiança. Os usuários não precisam confiar em nenhum minerador, desenvolvedor ou instituição específica. Eles só precisam rodar um nó completo que verifique independentemente cada transação e bloco. Se um minerador produzir um bloco inválido, todos os nós honestos o rejeitarão independentemente do quanto poder de hash o minerador controla. Essa propriedade é o fundamento da segurança e da resistência à censura do Bitcoin.