Infos em PTBR sobre a proposta de hoje do
@fluffypony : "Detective Mining" contra mineração egoísta (selfish mining):
github.com/monero-project/re…
O problema da mineração egoísta é conhecido desde o paper de Eyal e Sirer
arxiv.org/abs/1311.0243
Um minerador ou pool descobre blocos mas não os publica de imediato, tentando criar uma cadeia privada que será revelada apenas quando for mais lucrativo. Essa estratégia pode dar vantagem desproporcional a quem tiver poder computacional significativo, em especial se conseguir manter um fork privado longo sem ser detectado. No Monero, essa ameaça voltou à tona com pools como o Qubic, que claramente operam em modo mercenário.
@fluffypony resgatou hoje uma proposta interessante, baseada no artigo de Lee e Kim, chamada detective mining
eprint.iacr.org/2019/486
A ideia é simples, pools já precisam revelar em suas mensagens Stratum qual é o bloco pai que seus mineradores devem usar, esse campo é uma espécie de vazamento inevitável. O que um pool honesto pode fazer é usar sensores que se inscrevem nos jobs de outros pools e detectar quando um bloco pai revelado ali não corresponde ao tip público da blockchain, isso é o sinal claro de que existe um bloco privado em jogo
Quando esse vazamento é detectado, o pool honesto constrói imediatamente um bloco filho com esse hash como pai e direciona parte de seu poder de mineração para ele. Esse bloco contra não entra direto na cadeia principal porque falta o bloco N mais 1, mas ele coloca o atacante em xeque, ou revela seu bloco privado agora para não perder a recompensa, ou queima ele e perde a vantagem. De qualquer forma, sua cadeia privada colapsa em tempo real
Os cálculos do paper mostram que, se cerca de cinquenta por cento do hashrate adota essa estratégia, o ponto de equilíbrio de um atacante sobe muito. Em vez de precisar de cerca de vinte e cinco por cento para minerar egoisticamente com lucro no cenário clássico, ele precisaria de algo na faixa de trinta e dois a quarenta e dois por cento dependendo de como a rede faz desempate. Se a adoção for ainda maior, entre cinquenta e cem por cento dos pools, a mineração egoísta deixa de ser viável na prática
O mais interessante é que essa solução não requer mudanças de consenso, nem hard fork, nem alteração no protocolo. Ela pode ser implementada apenas no nível do software de pool ou de proxies Stratum. Isso significa que pode ser implantada já, sem esperar por release de rede ou mudanças na camada de consenso
Claro, existem riscos de contra ataques. Um pool malicioso poderia tentar enganar os sensores, publicando hashes falsos para induzir outros pools a desperdiçar hashrate. Mas o próprio Spagni detalhou medidas para mitigar isso, exigir quórum de múltiplos sensores em IPs distintos, validar persistência do hash por alguns segundos e por múltiplas mensagens, verificar se shares submetidos são aceitos pelo pool atacante, rotacionar IPs e user agents, limitar gatilhos e teto de desvio de hashrate, além de adotar blocos detective vazios para não correr risco de double spends quando não se conhece o conjunto de transações do bloco oculto
Na prática, o detective mining não impede um atacante irracional de queimar dinheiro só para atrasar a rede. Ele não consegue forçar a revelação de blocos se o atacante preferir descartar as recompensas. Mas ele tem duas funções cruciais, corta o ganho econômico de quem tenta minerar egoisticamente e fornece telemetria em tempo real para operadores de pools e nós perceberem que um ataque está em andamento, isso sozinho já reduz bastante o impacto
O modelo também mostra que múltiplos pools egoístas acabam se canibalizando quando há detective mining em operação. Se mais de um tenta esconder blocos, o mecanismo obriga cada um a revelar seus blocos sob risco de perder, destruindo a vantagem coletiva. Isso cria um efeito natural de desincentivo à prática
Outro ponto técnico importante levantado por Spagni é a compatibilidade com o Monero de hoje. O daemon monerod atualmente rejeita blocos com pais desconhecidos em vez de guardá los como órfãos até que o pai apareça. Isso não inviabiliza a ideia, já que o bloco detective pode ser submetido assim que o atacante revelar o bloco pai, e ainda é possível que pools cooperem entre si para aceitar e propagar filhos órfãos entre pares, garantindo anexação imediata quando o pai surgir
Para o ecossistema Monero, a proposta é uma resposta elegante a uma ameaça real, sem precisar de mudanças disruptivas na rede. É um tipo de defesa adaptativa que utiliza as próprias ferramentas de operação de pools contra os atacantes. Quanto mais ampla a adoção, mais frágil fica a economia da mineração egoísta
Em suma, o detective mining não é bala de prata, mas é uma arma eficaz para forçar a transparência em tempo real dos blocos descobertos. Atacantes que antes contavam com a inércia e o silêncio de uma cadeia privada agora seriam constantemente confrontados por filhos prontos para anexar no instante da revelação do pai. O resultado é queda drástica na rentabilidade de ataques de selfish mining e um reforço claro à resiliência do Monero.