O white paper de Satoshi argumenta que o Bitcoin é seguro enquanto nós honestos controlarem mais poder de CPU do que qualquer grupo de atacantes. Também argumenta que um minerador grande ganharia mais jogando pelas regras do que atacando. Em 2013, Ittay Eyal e Emin Gün Sirer desafiaram a segunda ideia em «Majority is not Enough».
O ataque
No selfish mining, um pool que encontra um bloco o mantém em segredo e continua minerando sobre ele.
- Se o pool encontra um segundo bloco primeiro, fica à frente. Libera blocos de modo que a cadeia pública fique sempre atrás, então mineradores honestos desperdiçam trabalho em blocos que ficam obsoletos.
- Se mineradores honestos encontram um bloco enquanto o pool vai um bloco à frente, o pool libera o seu bloco imediatamente e começa uma corrida. A fração de mineradores honestos que constroem sobre o bloco do pool chama-se γ (gama).
O pool perde alguns blocos ele mesmo, mas mineradores honestos perdem mais. Como as recompensas são repartidas segundo os blocos da cadeia final, a fração do pool pode superar a sua fração de poder de hash.
Os limiares
- Com γ = 0 (o pool nunca ganha um empate), o selfish mining rende acima de cerca de 1/3 do poder de hash total.
- Com γ = 1, rende em qualquer tamanho.
- Os autores propuseram que mineradores escolham ao acaso entre blocos em competição, o que elevaria o limiar a 1/4.
O aviso deles era que mineradores racionais poderiam juntar-se ao pool egoísta até ele se tornar maioria.
Já aconteceu?
Não há nenhum caso confirmado publicamente de selfish mining em grande escala no Bitcoin. Isso não prova que seja impossível. É difícil de detectar com certeza, e os pools também cuidam da reputação e do preço do bitcoin.
Modelos de segurança
- Maioria honesta: o modelo do white paper. Com um atacante que tem 10% do poder de hash, a probabilidade de alcançar a partir de 5 blocos atrás é de cerca de 0,09%.
- Mineradores racionais: mineradores maximizam o lucro. O selfish mining mostra que as regras do protocolo e os incentivos nem sempre se alinham.
- Atacante majoritário: com mais de 50%, um atacante pode reverter os seus próprios pagamentos recentes ou bloquear transações. Ainda assim não pode roubar moedas nem quebrar as regras de consenso que os nós aplicam.
Por que a propagação importa
Uma retransmissão rápida de blocos, como os bloco compactos, reduz blocos obsoletos e limita a vantagem de um atacante bem conectado.