Coinsamba News

Notícias e artigos sobre criptomoedas e economia em geral.



Quanto Custa Para Destruir o Bitcoin?


Quanto Custa Para Destruir o Bitcoin?

Esta é uma tradução do texto “How much does it cost to destroy Bitcoin?”, escrito originalmente por Fernandonm no GitHub. Encontre o texto original em inglês clicando aqui.

Traduzido por Rodrigo de Paula.

Com a palavra, o autor:

Existem assombrosos mitos que rondam os chamados ataques de 51% de prova-de-trabalho (PdT) contra o Bitcoin desde o seu nascimento. É comum encontrar pessoas que acreditam que qualquer pessoa capaz de e disposta a gastar uma quantia igual ao “orçamento de segurança”, por um tempo indeterminado, pode destruir o Bitcoin. Isto é, qualquer governo maligno disposto a gastar cerca de $60 milhões por dia (igualando a receita dos mineradores) seria capaz de destruir o atual valor de mercado de $1,16 trilhões do Bitcoin. E pior, esse número pode ficar cada vez menor conforme os halvings ocorrem, se a receita proveniente de taxas não for capaz de se manter consistentemente alta. Note que “por tempo indeterminado” é apenas uma ilustração da pior ameaça possível, pois o atacante apenas precisará gastar esse dinheiro por um período de tempo suficiente até que o Bitcoin seja destruído, o que pode levar apenas algumas semanas (com $420 milhões gastos por semana).

Aqui eu vou tentar explicar porquê o número mencionado (atualmente 0,005% do valor de mercado do bitcoin por dia) não é, nem de longe, o suficiente para destruir o Bitcoin, e mostrar porque é improvável que um atacante executaria um ataque tão ineficiente por um longo período de tempo.

Eu acredito que este equívoco se origina da dificuldade de entender a natureza do valor do dinheiro e dos meios de troca em geral. O valor do Bitcoin é percebido como dependente do julgamento de terceiros, que poderiam repentinamente mudar de ideia caprichosamente, passando uma impressão de fragilidade. O que acontece se a maioria for convencida pelas ideias de um lunático e parar de considerar minhas moedas como valiosas? O que acontece se eles pararem de concordar com um único conjunto de UTXOs representando a versão legítima do Bitcoin? Aqueles que passaram pelo drama dos forks de 2017 certamente terão esses sentimentos muito presentes.

Nós deveríamos ter aprendido algo com aqueles eventos, e com a solução para o bug de inflação. O consenso do Bitcoin não é ditado pelos mineradores, e nem o consenso nem o valor de cada moeda surgem de um processo de deliberação entre grandes empresas, ou até mesmo entre grandes usuários influentes rodando um full node. Nós deveríamos ter aprendido que ele não pode ser mudado à vontade por uma maioria de mineradores e nem por uma maioria de nodes. O ponto focal conduzindo o consenso do Bitcoin já deveria estar claro como o dia: maximização de valor de mercado. É o mercado que determina qual corrente representa o conjunto mais valioso de UTXOs, e, portanto, a única corrente válida. Não são os mineradores, nem os grandes players, nem os usuários, nem os full nodes. Todos esses participantes são parte do mercado, mas apenas frações individuais dele, arriscando sua própria riqueza ao participar do processo de descoberta de preço, e perdendo essa riqueza — junto de sua influência — quando falham em identificar o conjunto mais valioso de UTXOs.

Claro, a prova-de-trabalho é crucial, nenhum substituto está sendo proposto aqui. A genialidade do Bitcoin é que ele permite que usuários determinem qual é o conjunto mais valioso de UTXOs com uma necessidade mínima de confiança usando essas provas, que são caras de produzir. O Bitcoin é uma ferramenta de minimização de confiança. Os mineradores geralmente só gastarão com a prova de trabalho a fim de minerar os blocos que oferecem recompensas valiosas, fornecendo aos usuários um sinal honesto único. Mas nós precisamos ser cuidadosos para não pular daqui para a suposição de que os custos ditam o valor e pensar que os usuários não têm opção a não ser aceitar qualquer corrente que tenha mais PdT como a mais valiosa a todo tempo, mesmo que as moedas naquela corrente sejam claramente sem valor. A PdT representa um sinal com minimização de confiança, não um com confiança zero.

Um atacante controlando a maior parte do poder de hash tem a capacidade de quebrar a suposição de que a corrente com mais PdT acumulada também seja a mais valiosa, degradando a qualidade do sinal honesto, que pode deixar de ser único, e tornando mais difícil encontrar qual é o bloco que leva ao conjunto mais valioso de UTXOs. Isso parece assustador! E por bons motivos. Como podemos saber, em tais circunstâncias, qual é a corrente mais valiosa? Como podemos evitar seguir uma corrente censurada com moedas sem valor? Como podemos nos defender de um ataque que visa destruir o Bitcoin e a nossa riqueza supostamente incensurável?

O Bitcoin não existe num vácuo, ele é um produto do mercado e é valioso porque fornece alguma utilidade. Quando sua capacidade de minimização de confiança for temporariamente danificada, seu valor certamente será afetado. Mas, com tanto que ele forneça algum grau de minimização de confiança, sempre haverá um bloco levando a um conjunto de UTXOs valioso aos olhos do mercado. Tal bloco, mais cedo ou mais tarde, se tornará parte da corrente com mais PdT acumulada, da mesma forma que uma corrente que leva a um conjunto de UTXOs sem valor, mais cedo ou mais tarde, será renegada.

Ok, você está pensando que tudo isso é muito conceitual. O que os mineradores podem de fato fazer se um atacante com a maioria do poder de hash criar uma corrente que censura transações e blocos de mineradores legítimos para destruir o Bitcoin?

Figura 1. Um atacante começa um ataque, renegando um bloco e começando a minerar os seus próprios.

Num primeiro momento, ninguém consegue antecipar as intenções malignas do atacante renegando o primeiro bloco. Afinal, blocos renegados ainda acontecem no Bitcoin de vez em quando. Mineradores honestos tentarão minerar o próximo bloco em cima da corrente mais pesada e comerciantes continuarão esperando por confirmações para seus pagamentos pendentes.

Figura 2. O atacante continua seu ataque mais blocos honestos são renegados.

Olha! Que aumento repentino na taxa de blocos renegados! Mineradores honestos começam a se perguntar o porquê de todos os seus blocos estarem sendo renegados, fazendo com que eles percam sua receita. Há outras transações sendo censuradas ou são apenas seus blocos e bases de moedas? Será que eles deveriam tentar minerar outro bloco sobre a corrente mais pesada, que será provavelmente renegado? Ou será que deveriam parar de minerar? Mas mineração não é só OPEX. O CAPEX se deprecia rapidamente. O que eles deveriam fazer? Bom, não vai demorar para que eles considerem que talvez valha a pena invalidar a corrente mais longa e começar a minerar sobre um bloco alternativo para criar uma corrente minoritária. Quanto mais tempo o ataque durar, mais claro fica que as moedas na corrente mais pesada não têm valor. E é sabido que uma corrente sem censura vale alguma coisa, então é razoável esperar que o mercado siga nessa direção.

Figura 3. Mineradores percebem o ataque e começam a minerar baseado em um bloco passado, antes do ataque.

Para um minerador honesto, essa não é uma decisão fácil de se tomar. Identificar o último bloco sem censura, e portanto o conjunto de UTXOs mais valioso, pode não ser uma tarefa trivial nessas circunstâncias. Mineradores honestos diferentes poderiam até mesmo tentar construir uma corrente minoritária começando de blocos diferentes. Além disso, o ataque poderia terminar a qualquer momento, deixando qualquer corrente minoritária sem valor. Imagine um atacante dizendo, “desculpe, eu só tava brincando, não quero destruir o Bitcoin”. Todos esses riscos representam custos que impedem que mineradores honestos invalidem a corrente do atacante rapidamente, os custos de optar por uma corrente com PdT minoritária que pode ser considerada mais valiosa.

Se você é um detentor de bitcoin ou um comerciante, você pode apenas esperar e observar de perto o desenrolar dessa situação. Mas o que você faria se você fosse um minerador honesto?

Nós estamos tão bitolados com a necessidade de minimizar confiança que, às vezes, esquecemos que as pessoas confiam umas nas outras de forma produtiva o tempo todo. O Bitcoin é uma ferramenta para minimizar confiança mas, enquanto os comerciantes são os consumidores dessa minimização de confiança, os mineradores são os fornecedores do serviço, os emissores do sinal honesto. Uma coordenação de confiança minimizada de vários pequenos mineradores seria o ideal, mas isso não significa que eles não possam usar a confiança para se coordenarem contra um atacante para produzir uma corrente valiosa que minimize as necessidades de confiança para os nodes no resto da rede. Uma corrente minoritária valiosa poderia até mesmo ser criada por um único minerador que detenha 25% do poder de hash antes do ataque, sabendo que a taxa de hash total não aumentou, e que ele pode liderar uma corrente minoritária sem confiar ou se coordenar com ninguém. A única coisa que importa é que o mercado reconheça sua PdT como o melhor sinal honesto e o melhor conjunto de UTXOs.

Um minerador controlando a maior parte do poder de hash honesto sabe que ele pode construir uma corrente valiosa simplesmente confirmando transações legítimas, enquanto ignora qualquer outro bloco. Mesmo que o atacante crie correntes mais pesadas em cima de seus blocos, as moedas deles não têm valor. Então, mais cedo ou mais tarde, elas serão abandonadas e o mercado reconhecerá o valor das recompensas do minerador honesto. O único risco para ele seria se o atacante decidisse criar uma corrente mais pesada sem censura em algum momento. Mas até este risco tem um custo limitado. Afinal, o atacante não consegue criar blocos muito mais rápido do que o minerador honesto, então ele não pode reorganizar muitos blocos honestos. O que você faria se estivesse no lugar desse minerador? Você criaria uma corrente minoritária valiosa, com receitas valiosas, apesar de saber que o atacante pode continuar atrapalhando, ou você fecharia a sua operação de mineração e perderia todo o seu investimento?

A resposta para essa pergunta é importante, porque uma vez que fique claro que o mercado considera que um bitcoin tem um valor positivo, até quando estiver operando de forma não-ótima sob ataque, é difícil acreditar que o atacante irá manter um ataque tão ineficiente por muito tempo.

Um atacante com a maior parte do poder de hash pode causar muito dano ao Bitcoin. Ele pode fazer os comerciantes esperarem muito mais tempo por confirmações de transações, e até forçar uma invalidação ativa da corrente mais pesada por todos os nodes antes de ser capaz de confirmar transações de novo, mas ele não pode destruir o Bitcoin.

Agora vamos tratar da pergunta do título. O custo necessário para destruir o Bitcoin é maior do que o orçamento de segurança (60 milhões por dia), mas eu não acredito que seja possível fornecer um número exato. Vamos entrar em mais detalhes.

Um fator crucial é quanto custa emitir sinais adicionais paralelos à prova-de-trabalho para que ocorra uma coordenação entre mineradores honestos (não como um mecanismo alternativo ao consenso da rede Bitcoin!) e determinar qual é a corrente mais valiosa. Defensores do argumento de orçamento de segurança pintam qualquer coisa que não seja prova-de-trabalho como heresia, alertando para uma esperada destruição do Bitcoin se tais sinais se fizerem necessários.

A primeira coisa que mineradores honestos farão no evento de um ataque de censura é comparar seus blocos renegados — e os modelos de blocos — com aqueles que se tornaram parte da corrente mais pesada, tentando determinar qual foi a causa do renegamento.

Figura 4. Captura de tela do observador do pool de mineração feito por 0xB10C.

A menos que um atacante encha esses blocos com transações pagando taxas mais altas do que a transação mais cara na mempool de todo mundo, seria trivial identificar os blocos censuradores — que levam a moedas sem valor — de uma forma barata e que não implica em qualquer outra necessidade de confiança. A heurística baseada em mempools precisa estar sempre online, ou pelo menos por um certo período de tempo antes de ser capaz de denunciar blocos censuradores. Mas isso não parece um grande problema para mineradores, ou para comerciantes que não querem esperar um grande número de confirmações para validar seus pagamentos. E não é algo que todos os nodes precisam fazer.

Figura 5. Distribuição de taxas por pacote de transações em um bloco.

As transações incluídas em um bloco só precisam pagar um pouco mais do que a primeira transação que fica de fora. E, apesar disso, algumas transações pagam muitas vezes mais apenas para garantir que elas sejam mineradas no próximo bloco. No evento de um ataque de censura, algumas transações valiosas e urgentes estariam dispostas a pagar taxas muito mais altas do que quando tudo está normal, que é o ambiente usado para avaliar o orçamento de segurança do Bitcoin.

Um atacante tentando esconder seus blocos censuradores teria que preencher todos eles com transações caras o suficiente de forma a superar todas as transações legítimas nas mempools dos mineradores honestos. Isso custaria mais do que muitas vezes o orçamento de segurança. 10 vezes mais não seria o suficiente, nem 100 vezes mais. Do contrário, seus blocos censuradores seriam facilmente denunciados. É crucial perceber que as taxas de algumas poucas transações sem confirmação em mempools honestas vão determinar o custo de todos os blocos que o atacante construir. Atores honestos podem fazer com que o custo de um ataque dispare violentamente ao aumentar moderadamente as despesas em taxas.

Você pode ser tentado a pensar que o atacante pode pagar qualquer quantia. Afinal, ele está pagando as taxas para ele mesmo. Mas publicar uma transação com taxas altas não é um ataque em si. Uma vez que a corrente do atacante seja invalidada, essas transações serão mineradas nas correntes honestas e os mineradores honestos colherão as recompensas. Existe um custo real em publicar transações capazes de camuflar um ataque.

Note que os nodes normais não precisam se preocupar com isso. A Maioria dos nodes não é economicamente determinante, e eles podem simplesmente esperar por um número grande de confirmações até o atacante mudar de corrente, seguindo o mercado, e eles verem suas transações confirmadas. Ao fazer isso — seguir o mercado para continuar o ataque –, o atacante ajuda a reorganizar a corrente mais pesada, exceto as correntes sem valor que ele mesmo construiu anteriormente. Um bloco em uma certa profundidade sempre será parte de ambas, a corrente honesta e a do atacante. Com tanto que tal bloco continue avançando, nodes passivos permanecerão capazes de confirmar transações.


Deixe um comentário

O seu endereço de e-mail não será publicado.