Pular para o conteúdo
buybitcoinsmart

Glossário / Mineração e consenso

Consenso

O que é o consenso?
O consenso no bitcoin é o estado em que nós operados de forma independente, seguindo regras idênticas, concordam em uma única cadeia: a cadeia válida que carrega a maior prova de trabalho acumulada.

Ninguém vota e ninguém está no comando. Cada nó verifica cada bloco segundo o mesmo conjunto de regras e depois segue a cadeia válida que carrega mais trabalho, e é assim que um notebook sincronizando do zero reconstrói o histórico idêntico até 3 de janeiro de 2009. Quando você compra bitcoin, essa é a máquina que decide que os bitcoins que lhe foram enviados são de fato seus.

Como funciona

O acordo é alcançado fazendo duas perguntas em uma ordem fixa, nunca por meio de uma votação.

A primeira pergunta é a validade. Um nó recebe um bloco e o verifica sozinho: assinaturas, montantes, a raiz de Merkle, o subsídio reivindicado pelo minerador, o peso, o carimbo de data e hora. Tudo o que falha é descartado na hora, e a quantidade de eletricidade gasta para produzi-lo é irrelevante. A segunda pergunta é a escolha entre opções válidas. Quando dois históricos concorrentes passam, um nó fica com aquele que tem o maior trabalho total somado em seus cabeçalhos, o que não é o mesmo que o de mais blocos: um ramo mais curto de blocos mais difíceis vence um ramo mais longo de blocos mais fáceis.

Observe o que está faltando. Os nós nunca trocam opiniões, nunca anunciam uma preferência e nunca se contam uns aos outros. Eles retransmitem blocos e transações, aplicam o mesmo teste ao que chega e terminam no mesmo lugar porque o teste é determinístico. O acordo é um efeito colateral de cada um fazendo a aritmética separadamente, e é por isso que a rede não tem quórum a corromper nem comitê a intimar judicialmente.

O desacordo breve é rotina. Dois mineradores ocasionalmente resolvem com um segundo de diferença um do outro e metade do mundo vê um bloco primeiro, então por alguns minutos há duas pontas candidatas. O bloco seguinte desfaz o empate, um ramo é abandonado como bloco obsoleto e suas transações voltam à mempool. O desacordo profundo é o caso interessante, e só acontece quando os nós executam regras diferentes. Se as regras forem apertadas, o software antigo ainda aceita tudo o que o software novo produz, e isso é um soft fork: Taproot chegou assim em novembro de 2021 e não dividiu nada. Se forem relaxadas, os dois grupos seguem permanentemente cadeias diferentes, o que é um hard fork, e foi exatamente o que aconteceu em 1º de agosto de 2017, quando o Bitcoin Cash se separou.

Por que isso importa quando você compra bitcoin

O consenso é o que faz um saldo em bitcoin ser seu, e não uma promessa de quem o esteja guardando.

A cadeia concorda sobre as saídas e as chaves que podem gastá-las. Ela não tem nenhum conceito de titular de conta. Enquanto seus bitcoins ficam em uma corretora, o consenso vê os endereços da corretora e nada mais, e seu crédito contra ela é uma linha no banco de dados daquela empresa, exigível pelo direito contratual e não pelos nós. Leve-os para uma carteira cujas chaves você guarda e a posição se inverte: o conjunto de regras global agora reconhece diretamente sua autoridade de gasto, e nenhum chamado ao suporte, congelamento ou insolvência muda isso. Esse é todo o argumento por trás da autocustódia, e é uma afirmação sobre o consenso, não sobre a confiança.

As bifurcações tornam a distinção visível. Quem guardava as próprias chaves em 1º de agosto de 2017 acabou controlando bitcoins nas duas cadeias, porque ambas as cadeias herdaram o mesmo histórico de saídas. Quem guardava por meio de uma plataforma ficou com o que aquela plataforma decidiu fazer, e várias levaram semanas para creditar o novo ativo ou se recusaram a oferecer suporte a ele. A mesma lógica se aplica a qualquer divisão futura.

O consenso também é global de um modo que a regulamentação não é. Os 231 guias de país deste site diferem enormemente quanto ao que é legal, ao que deve ser declarado e a quais plataformas vão aceitar você, mas nada disso chega ao livro-razão. Um bitcoin comprado na Alemanha e um bitcoin comprado na Nigéria são validados pelas mesmas regras, vivem no mesmo conjunto de UTXOs e são indistinguíveis para um nó. O que muda em uma fronteira é quem vai vender para você e o que você deve à sua autoridade tributária, nunca o que a rede considera válido.

As seis horas de março de 2013 em que o bitcoin rodou com duas cadeias

O bloco 225.430, minerado em 11 de março de 2013, foi aceito por uma versão do software e rejeitado pela versão anterior.

O Bitcoin 0.8 havia trocado seu banco de dados do Berkeley DB para o LevelDB e, ao fazê-lo, abandonou discretamente um limite não documentado sobre o número de bloqueios que o banco de dados antigo podia assumir ao processar um bloco grande. O bloco excedeu esse limite. Os nós executando a 0.7 o recusaram, os nós executando a 0.8 construíram sobre ele, e a rede manteve duas cadeias por cerca de seis horas. Um gasto duplo de aproximadamente 10.000 dólares passou contra o processador de pagamentos OKPay.

A resolução diz algo que nenhum documento do protocolo diz. Os desenvolvedores pediram aos pools de mineração que fizessem downgrade para a 0.7, para que a cadeia mais restritiva vencesse, e os pools fizeram isso, descartando blocos pelos quais já haviam sido pagos. A versão 0.8.1 foi lançada pouco depois com um limite temporário de 500.000 bytes nos blocos que produziria, e o BIP50 foi escrito como análise posterior ao incidente. O episódio é a prova padrão de que as regras do bitcoin são o que o software implantado de fato aplica, bugs incluídos, e de que, quando o software entra em desacordo consigo mesmo, os humanos precisam escolher.

Consenso vs regras de consenso

O consenso é o resultado; as regras de consenso são os critérios usados para alcançá-lo. As regras são uma lista fixa de verificações de validade gravadas no código e idênticas para todos que executam software compatível. O consenso é o resultado móvel de aplicar essa lista aos blocos que chegaram, e é por isso que dois nós honestos podem estar momentaneamente fora de consenso, com pontas diferentes após um bloco quase simultâneo, embora concordem perfeitamente quanto às regras. Mude as regras e você muda o consenso que é possível; não mude nada e o consenso ainda muda a cada dez minutos, à medida que novo trabalho chega.

Não confundir com

Perguntas frequentes

Quem decide qual é o consenso do bitcoin?

Todos que executam um nó completo, individualmente. Cada nó aplica as mesmas verificações de validade e segue a cadeia válida com mais trabalho, de modo que o acordo surge sem nenhuma votação, comitê ou registro central.

Os mineradores podem mudar as regras do bitcoin?

Não. Os mineradores escolhem quais transações válidas incluir e em que ordem. Um bloco que quebra uma regra é rejeitado por todos os nós, não importa quanto trabalho ele carregue, e é por isso que o poder de hashrate sozinho não pode elevar o limite de oferta nem gastar os bitcoins de outra pessoa.

O que acontece com meus bitcoins se a rede se dividir?

Se você guarda suas próprias chaves, controla as mesmas saídas nas duas cadeias, como aconteceu quando o Bitcoin Cash se separou em 1º de agosto de 2017. Se seus bitcoins estão em uma plataforma, você recebe o que essa plataforma decidir creditar, e algumas não oferecem suporte a nenhuma cadeia nova.

Leia a seguir

Termos relacionados

Mais em Mineração e consenso

Ler esta página em inglês