Glossário / Mineração e consenso
Mineração egoísta
- O que é a mineração egoísta?
- A mineração egoísta é uma estratégia em que um minerador esconde um bloco resolvido e o libera apenas para invalidar o de um rival, ganhando mais do que sua parte do poder de hash deveria pagar.
Reter um bloco resolvido normalmente é contraproducente, pois um rival pode publicar primeiro e seu trabalho passa a não valer nada. Um artigo de 2013 de Ittay Eyal e Emin Gun Sirer mostrou que acima de aproximadamente um terço do poder de hash da rede a aritmética se inverte, e que com uma vantagem de propagação o limiar cai para perto de 25%. Nada parecido foi documentado na cadeia principal do bitcoin.
Como funciona
A mineração egoísta converte uma vantagem privada em eletricidade desperdiçada para todos os outros.
Um minerador egoísta encontra um bloco e não diz nada. A partir daí, a jogada se ramifica. Se o resto da rede publica um bloco enquanto o bloco secreto ainda está oculto, o minerador egoísta libera o seu imediatamente e força uma corrida entre duas pontas de igual altura, que ele pode vencer se uma parte suficiente do hashrate honesto ouvir o bloco dele primeiro. Se, em vez disso, ele encontra um segundo bloco em privado, passa a ter uma vantagem de dois blocos e pode deixar que os mineradores honestos continuem minerando em um ramo que já está condenado. Quando eles finalmente publicam, o par oculto é liberado, o bloco deles é descartado e o trabalho deles não rendeu nada.
O ganho é relativo, não absoluto. Cada bloco honesto descartado reduz o número total de blocos que a rede aceita, então no curto prazo o minerador egoísta ganha menos bitcoin do que teria ganhado jogando limpo. O que muda é a proporção: ele captura uma fatia maior de um bolo menor. O bolo é então restabelecido pelo ajuste de dificuldade, que recalcula a cada 2.016 blocos e baixa o alvo porque os blocos chegaram devagar. Só depois desse reajuste, até duas semanas mais tarde, a estratégia compensa. Quem tentar isso, portanto, tem de arcar com duas semanas de receita reduzida enquanto se comporta de um modo estatisticamente visível de fora.
O limiar depende da topologia da rede, que é a parte do artigo que a maioria dos resumos omite. A variável relevante é que fração dos mineradores honestos constrói sobre o bloco egoísta durante uma corrida. Se essa fração é zero, a mineração egoísta precisa de mais de um terço do poder de hash total para compensar. Se é a metade, um quarto basta. Se um minerador pudesse chegar de forma confiável a cada par primeiro, a fração lucrativa cairia muito mais, e é por isso que a velocidade de propagação de blocos é uma propriedade de segurança, e não um detalhe de desempenho.
Onde você vê isso
A mineração egoísta aparece na literatura acadêmica e no projeto do software de retransmissão, não na história observada do bitcoin.
Três fatos práticos a mantêm lá. A propagação é quase instantânea: a retransmissão de blocos compactos, adicionada no Bitcoin Core 0.13 em 2016, envia um esboço curto de um bloco que os pares reconstroem a partir de suas próprias mempools, e redes de retransmissão dedicadas cortam o resto, então a janela em que um bloco retido vence uma corrida é minúscula. Os pools também são públicos. Quase todo bloco carrega uma etiqueta de pool em seu script coinbase, e um pool que produzisse um padrão estranho de liberações de última hora seria identificado rapidamente por um hashrate que não lhe pertence, já que seus clientes podem apontar suas máquinas para outro lugar em questão de minutos.
O termo também é confundido com dois vizinhos. A retenção de blocos é uma sabotagem dirigida a um pool, em que um participante envia shares parciais mas descarta a que de fato resolve um bloco, custando ao pool e não à rede. Um ataque de 51% reescreve o histórico confirmado. A mineração egoísta não faz nenhuma das duas coisas: não quebra nenhuma regra de consenso, não reverte nenhum pagamento e rouba receita de outros mineradores, não bitcoins dos usuários. Para quem compra ou guarda bitcoin, o único sintoma seria uma taxa maior de blocos obsoletos, e as confirmações continuariam significando exatamente o que significam hoje.