A criptomoeda Bitcoin Gold (BTG) apareceu como resultado do hardfork Bitcoin em outubro de 2017 e com capitalização cerca de US $ 110 milhões estão incluídos nos 40 maiores ativos digitais. Durante sua história relativamente curta, o BTG conseguiu, no entanto, suportar muitos momentos dramáticos, incluindo vários ataques de 51%.
artigo relacionado: Ele sofreu bullying na escola, mas agora vive um estilo de vida luxuoso graças à negociação de Bitcoin e outras criptomoedas
Esses ataques, que geralmente resultam emTorna-se gasto em dobro das moedas, periodicamente elas são realizadas em outras criptomoedas com base no algoritmo Proof-of-Work (PoW), colocando em risco não só a própria existência de redes, mas também os recursos dos usuários. No entanto, como os pesquisadores do Digital Currency Lab do Massachusetts Institute of Technology (MIT) descobriram recentemente, tais ataques podem não apenas ser combatidos com sucesso, mas também contra-atacados.
Isso é o que sugere James Lovejoy, DanFrost and Neha Narula, aconteceu em fevereiro na rede Bitcoin Gold. Uma tradução adaptada de seu artigo com uma descrição desses eventos e conclusões do que aconteceu é apresentada a seguir.
artigo relacionado: Investidor australiano comprou uma propriedade de 2.800m² em Charleville com dinheiro que ganhou com ferramenta financeira inovadora
Segurança econômica do bitcoin e outrosde criptomoedas com base no algoritmo de prova de trabalho depende de quão caro será para reescrever registros no blockchain. Se um ataque de 51% for economicamente justificado, um invasor pode enviar uma transação para a vítima, lançar um ataque e, em seguida, gastar o dobro dessas mesmas moedas em sua vantagem. Satoshi Nakamoto presumiu que isso não aconteceria, já que a maioria dos mineiros seria mais lucrativo seguir honestamente as regras do protocolo do que atacar a rede que serve como sua fonte de renda.
Trabalhos publicados recentemente mostraram queo custo de atacar uma moeda pode variar amplamente. Depende de fatores como a liquidez da taxa de hash, o impacto no preço da moeda e a profundidade da reorganização necessária. Sob certas condições, o ataque pode até ser executado gratuitamente.
Em março de 2020, mineradores de bitcoin(BTC) estão investindo pesadamente em equipamentos e relutam em alugar capacidade significativa, o que torna o custo de um ataque bastante alto. No entanto, para algumas moedas, o suprimento de hash de aluguel existente é suficiente para lançar um ataque eficaz. Compradores e vendedores podem se encontrar por meio de mercados de hash como o NiceHash.
Existe uma crença generalizada de quemoedas com baixas taxas de hash, para as quais existe um mercado de aluguel de capacidade líquida, não podem ser consideradas seguras devido ao fato de que podem estar sujeitas a um ataque barato de 51%.
Em uma obra recentemente concluída intitulada"Double Spend Counterattacks" discutimos uma estratégia para prevenir um ataque de 51% em moedas vulneráveis no algoritmo PoW: a vítima pode contra-atacar. A capacidade da vítima de alugar um hash e assumir o controle da cadeia do atacante durante um ataque pode eliminá-lo totalmente.
Para isso, assumimos o seguinte:(1) a vítima sofre perdas moderadas de reputação que não envolvem o invasor (por exemplo, as trocas podem sofrer perdas de reputação, mas atacantes anônimos não têm tais perdas) e (2) o custo líquido do ataque aumenta com o tempo (por exemplo, o valor da moeda cai ou a taxa de hash do arrendamento do valor aumenta).
No momento em que escrevemos o trabalho mencionado, não temos evidências de contra-ataques de gasto duplo no mundo real, mas acreditamos que os vimos recentemente na rede Bitcoin Gold.
A imagem mostra os três estágios de respostasoprar. A corrente pública canônica atual é destacada em verde, a rede com menor hashrate é destacada em branco. O primeiro estágio mostra o início de um ataque de 51%, onde o atacante A envia uma transação para o defensor D enquanto trabalha em uma cadeia alternativa que invalida a transação original. No segundo estágio, o gasto em dobro é mostrado - a corrente do atacante torna-se a mais "pesada". A terceira etapa mostra o resultado de um contra-ataque do lado D, durante o qual ele, enquanto minerava na cadeia original, captura a cadeia pertencente a A.
Em junho de 2019, lançamos o rastreadorreorganizações, que rastreia os 23 blockchains de PoW mais populares. Até o momento, vimos 40 reorganizações em pelo menos seis blocos nas redes Expanse, Vertcoin, Litecoin Cash, Bitcoin Gold, Verge e Hanacoin.
Reorganizações e contra-ataques na rede Bitcoin Gold
Bitcoin Gold usa algo diferente de Bitcoinmecanismo de consenso: em vez de SHA256, o algoritmo ZHash, resistente à mineração em dispositivos ASIC, é usado. Outra diferença do Bitcoin é que a dificuldade é recalculada a cada bloco.
A rede Bitcoin Gold foi exposta a inúmerasataques de gasto duplo. O maior deles ocorreu em maio de 2018 e, como resultado, 388.000 BTG foram roubados (na época, cerca de US $ 18 milhões). Novos ataques foram lançados em janeiro e fevereiro de 2020. Nosso rastreador detectou oito reorganizações de rede entre 23 de janeiro e 5 de fevereiro, e quatro foram gastas o dobro, totalizando 12.858 BTG (cerca de $ 150.000 no momento da escrita). Um resumo dessas reorganizações pode ser visto aqui, os dados do rastreador, incluindo reorganizações e contra-ataques, estão disponíveis aqui.
Em fevereiro, vimos uma provável retaliação.Tudo começou como um ataque típico de gasto duplo, mas o gasto duplo foi então cancelado e a transação original voltou a ser válida. Em 8 de fevereiro, o atacante e o contra-atacante trocaram esses golpes quatro vezes em 2,5 horas. A rede original foi finalmente reconstruída e o gasto em dobro não teve sucesso. Nos dias 9 e 11 de fevereiro, observamos contra-ataques únicos: o atacante se reorganizou, o defensor contra-atacou uma vez, restaurando a corrente original.
Com a troca de golpes no dia 8 de fevereiro, a luta era pelotransações 757 e d5f, que o invasor substituiu pelas transações 50d e f38. Um total de 4.390 BTG (cerca de US $ 44.000) foram roubados da AbC e AYP e enviados para GVe e GYz. A última reorganização foi de 23 blocos, o que equivale a 290 BTG ($ 300) em recompensa do mineiro ou 7% do dobro dos gastos ganhos com o ataque.
Detalhes de ambos os ataques com registro de data e hora estão disponíveis aqui e aqui.
De onde veio o hashrate?
Não temos nenhuma evidência confiável de quequalquer um dos casos de reorganização acima hashrate foi obtido de Nicehash. Essa incerteza decorre de grandes picos de preço e taxas de hash disponíveis na rede BTG, que podem ser vistos mesmo na ausência de ataques. Isso os diferencia de nossas observações do mercado de Nicehash para Lyra2REv3 durante o recente ataque de gasto duplo na rede Vertcoin (VTC), quando vimos claramente o aumento do preço da energia durante o ataque e seu retorno à linha de base após o ataque ter sido concluído.
No caso do BTG, a frequência de salto disponívela taxa de hash e seus preços são difíceis de relacionar aos saltos que observamos durante os ataques. No entanto, havia capacidade de ZHash suficiente no mercado para realizar o ataque durante esses eventos, pois houve saltos na taxa de hash que coincidiram com os casos de reorganização registrados.
Mercado de capacidade de Nicehash durante essas reorganizações. O momento da reorganização é marcado em vermelho.
Teoria de ataque
O que vimos é consistente com os casos em queo invasor invalida o bloco na cadeia atual com a taxa de hash mais alta, forçando o nó a operar na cadeia com a taxa de hash mais baixa. Isso pode ser feito invocando um comando simples no nó Bitcoin Core, o que significa que pode não ser necessário escrever um novo código para realizar ataques.
Por exemplo, um invasor pode fazer o seguinte:
- Use o nó Bitcoin Core para enviar o pagamento e aguarde sua inclusão no bloco.
- Chame o comando invalidateblock na cadeia original onde a transação está localizada (na altura # 619935).
- Desconecte o nó da rede e limpe o mempool para excluir a transação existente.
- Execute a nova digitalização da carteira paraobtenha a oportunidade de gastar com os resultados usados na transação original e crie uma nova transação com o gasto dos mesmos resultados em uma nova direção.
- Continue minerando como de costume até que o hashrate de sua cadeia seja maior do que o poder da cadeia original e reconecte-se à rede para notificar outros nós da cadeia alternativa.
O defensor só precisa chamar o comandoinvalidateblock no bloco do invasor com uma transação de gasto duplo, que forçará o nó do invasor a continuar explorando a cadeia original, rejeitando a reorganização da cadeia do invasor.
Existe a possibilidade de que no acimaEm alguns casos, o atacante parou o ataque assim que viu o contra-ataque. Talvez o atacante tenha percebido que o jogo não vale a pena se o adversário tiver a oportunidade de se defender. Em quase todos os blocos, GSsjeTZ desempenhou papel defensivo, cujo endereço só foi utilizado no dia 1 de fevereiro e após os contra-ataques.
Não se pode descartar que não tenha sido uma retaliação deliberada. Outras explicações possíveis para o que aconteceu incluem:
Testando... Um contra-ataque pode ser simulado duranteteste de software. Pode ser uma bolsa, um comerciante ou um desenvolvedor que criou a infraestrutura para um contra-ataque automático no caso de uma tentativa de reorganização. Isso pode explicar o duplo gasto falhado durante os ataques de 6 de fevereiro.
Batalha dos mineiros... Podem ser ataques mútuos de mineiros na tentativa de roubar e, em seguida, recuperar a recompensa pelo bloco encontrado. O duplo gasto fracassado durante os ataques de 6 de fevereiro também apóia essa teoria.
Dividindo a rede... Não se pode excluir a possibilidade de uma divisão temporária repetida na rede, como resultado da qual dois mineiros trabalharam simultaneamente em duas cadeias separadas.
Bug de software... Também é possível que aqueles que participaram dessaseventos, os mineiros usaram software, um bug em que levou ao fato de que por algum tempo eles trabalharam em uma cadeia mais curta, ou eles acidentalmente chamaram o comando invalidateblock.
Aleatoriedade... Outra possibilidade são dois grandes mineradoresblocos encontrados ao mesmo tempo quando confrontados com a separação de probabilidade Isso, no entanto, parece improvável, pois os carimbos de data / hora não refletem isso e a reorganização mais profunda foi de 23 blocos.
Conclusão
A crescente profundidade dos mercados de aluguel de hashrate podecomprometer a segurança de criptomoedas com base no algoritmo de prova de trabalho. Ao mesmo tempo, a capacidade de contra-ataque pode impedir que os atacantes realizem qualquer ação. Se esse equilíbrio de poder for suficiente para proteger a corrente, isso levará à questão de quanta energia exatamente é necessária para evitar ataques.
Aqui, estamos falando apenas de um atacante racional.- Um atacante agindo para sabotar com a intenção de prejudicar a rede também pode negligenciar a perda de dinheiro, o que lhe dá uma vantagem. Nesses casos, apenas o custo extremamente alto do ataque pode impedir esse invasor.