Baixar
Fechar menu -

Sobre a suavização da recompensa de bloco da RSK

Published on: 23 Agosto, 2019

Por Sergio Demian Lerner, cientista-chefe da RSK

A segurança do Bitcoin depende de incentivos econômicos que existem para que mineradores estendam a cadeia com maior dificuldade acumulada (geralmente, a mais longa). Atualmente, esses incentivos vêm da recompensa de bloco, que é constituída pelo subsídio de bloco e pelas taxas de transação. Porém, o subsídio (12,5 BTC) é significativamente mais alto que as taxas médias de transação por bloco (0,4 BTC).  O subsídio do Bitcoin cai pela metade a cada 4 anos, de modo que, sem uma apreciação inversa de preço do BTC, o incentivo dependeria exclusivamente das taxas de transação. Para manter o nível atual de segurança, o custo da transação teria que aumentar 30 vezes. O quadro descrito representará um problema para o Bitcoin? É possível que a segurança do Bitcoin dependa apenas das taxas de transação? Será que o Bitcoin vai precisar de um soft-fork ou hard-fork para se adaptar a essa nova era? Demonstrei como o Bitcoin pode se tornar instável, em 2014, quando apresentei o FRONT Attack [ataque frontal]. Carlsten et al. (2016) analisou a fundo esse problema, mas não chegou a uma solução satisfatória. Não se trata de um problema exclusivo do Bitcoin, toda criptomoeda cuja emissão de dinheiro caia ao longo do tempo terá que enfrentá-lo. 

Por ora, entretanto, não há motivo de preocupação para o Bitcoin. O problema aparecerá em 10 ou 20 anos, talvez ainda mais tarde. Há pouco, ele foi examinado mais uma vez em análises que tanto o destacavam quanto o minimizavam

Recompensas de bloco da RSK

A RSK teve que encarar o desafio de se manter apenas com as taxas de transação desde o início, de modo que precisou se preparar para taxas excepcionalmente altas. Por ser a primeira sidechain exclusivamente de produção, a RSK utiliza mineração de mesclagem para fins de consenso. Os mineradores da RSK esperam uma compensação econômica pela execução de um nó completo da RSK e por analisarem mudanças ao atualizarem seus nós. 

Embora alguns outros livros contábeis distribuídos, tais como o Ripple, não emitam moedas para pagar produtores de bloco, as organizações por trás deles mineraram previamente moedas suficientes para se tornarem, elas mesmas, produtoras de bloco ou para fornecer compensações a produtores terceiros por meio de canais alternativos. Por sua vez, a RSK tem a situação mais complicada: não há emissão de moedas nem mineração prévia. A RSK representa um laboratório para futuras tecnologias a serem usadas em outras blockchains, e busca se tornar um exemplo de como uma blockchain sem subsídio pode ser sustentável. Uma dessas novas tecnologias é a suavização de recompensa (também denominada suavização de taxas), implantada pela RSK desde seu primeiro lançamento, em 2016.

Adam Back, CEO da Blockstream, recentemente mencionou a suavização enquanto debatia o orçamento de segurança do Bitcoin a longo prazo: “Outras ideias para a era do subsídio baixo a longo prazo incluem o cálculo da média das taxas em intervalos de blocos para suavizar a receita das taxas.”

https://twitter.com/adam3us/status/1097031151921713152

Vamos nos aprofundar no tema da suavização de taxa para entendermos por que ela é necessária. A suavização da taxa é uma regra de consenso que distribui as taxas de mineração entre os mineradores de forma mais igualitária, pagando a cada minerador uma função das recompensas de bloco anteriores. A função pode ser tanto linear quanto não linear, sendo, em geral, um tipo de filtro passa-baixa sobre as taxas acumuladas. A RSK usa uma função de suavização muito simples IIR com α=0,1. Se determinado minerador resolver um bloco na altura N, ele será remunerado com 10% das taxas de transação do bloco e 10% de todas as taxas de mineração não pagas acumuladas anteriormente. Em outras palavras, há uma conta “compartilhada” em que cada minerador deposita taxas de transação e retira 10% para si.

Há vários motivos pelos quais o desenho da RSK incorpora a suavização de recompensa. Primeiro, ela dá maior flexibilidade aos mineradores na definição dos limites pessoais de gás do bloco, evitando atrasos na produção sem que sejam significativamente penalizados em termos de recompensas. Em segundo lugar, a suavização de taxas é necessária, pois o incentivo para estender a blockchain deve ser maior do que o incentivo para minerar novamente um bloco antigo e se apropriar das taxas pagas. Imagine que uma transação T em um bloco na altura N pague 100 moedas em taxas, porém a recompensa média de bloco seja de apenas 10 moedas. Então, a melhor estratégia para qualquer minerador é fazer a transação T e tentar minerar um bloco na mesma altura N (recompensa de 100 moedas vs. 10 moedas), e depois continuar minerando blocos menores de sua cadeia egoísta até que se torne longa o suficiente a ponto de os outros mineradores (que também vão escolher fazer o mesmo) desistam. A transação com taxa alta atomiza a mineração em benefício do grupo de transações maior, que tem mais chances de minerar T mais blocos de confirmação suficientes. Curiosamente, quanto mais descentralizada a rede, pior a ruptura causada por tais transações. Por exemplo, para uma blockchain com intervalo médio de bloco de 10 minutos, se houvesse 100 mineradores tendo cada 1% da taxa de hash total, a rede sofreria uma desaceleração de 100x para vários blocos, até que finalmente convergisse. A rede ficaria inutilizada por 2 dias! E, durante esse período, a blockchain também ficaria instável: um comerciante que aguardasse pela confirmação de um pagamento por um bloco único teria grande chance de ter o pagamento revertido. 

O ataque de atomização do minerador

A transmissão de uma transação com taxas muito altas pode ser considerada uma tentativa de realizar um ataque de negação de serviço. Essas transações podem ser vistas como um suborno para reversão da blockchain por um minerador pouco experiente, mas são na verdade uma isca para atomizar a mineração. Embora haja outras medidas protetivas complementares, a suavização da recompensa é a principal proteção de uma rede de criptomoedas contra esse tipo de ataque. Voltemos ao exemplo anterior: um suborno de 100 moedas, enquanto a recompensa de bloco média é de 10 moedas. Na RSA, o bloco na altura N pagaria uma recompensa de 19 moedas, enquanto o bloco seguinte pagaria 18,1 moedas. O minerador egoísta precisa, agora, de 10 vezes mais poder de hashing do que qualquer outro minerador para que o ataque seja lucrativo.

Há duas medidas protetivas complementares que podem ser implantadas. A RSK implanta a primeira: um protocolo de consenso para compartilhamento de recompensas denominado DECOR. O DECOR divide as recompensas de bloco igualmente entre blocos irmãos (se houver mais de um). Isso diminui o incentivo para um ataque de atomização, pois os mineradores sabem que podem receber um mínimo de 1/11 da recompensa de bloco se todos os mineradores minerarem o mesmo bloco, pois a blockchain é capaz de referenciar até 10 irmãos de bloco. Ou seja, para romper a rede RSK, o suborno tem que ser 110 vezes maior do que a recompensa de bloco média. 

A segunda medida protetiva complementar, que a RSK não implanta atualmente, é limitar o preço de gás da transação a um múltiplo do preço mínimo de gás (ou seja, spread de 10x). Propus uma medida análoga para o Bitcoin em 2013. A RSK poderia implantá-la facilmente, pois cada bloco anuncia o preço mínimo aceito de gás da transação. No entanto, definir um preço máximo de gás não resolve totalmente o problema se a rede estiver em um estado no qual os blocos não consomem todo o gás. A taxa alta em T pode ser o resultado de uma quantia mais alta de gás consumida em vez de um preço de gás mais alto.

Subornar mineradores

A suavização da recompensa não é a solução definitiva, pois os agressores podem lançar mão de uma plataforma de contratos inteligentes para subornar mineradores a fazerem qualquer coisa. Apresentei uma “Eterna escolha pelo ataque do lado sombrio” (ECDSA) teórica em 2014, como forma de demonstrar como os mineradores poderiam ser subornados para rechaçarem um comportamento honesto.  McCorry et al. (2018) apresentou ampla gama de ataques de suborno teóricos. Todavia, o nível de compreensão e preparação necessário para conter subornos baseados em contratos inteligentes é significativo, já que requer programar o monitoramento e respostas ao suborno. Isso dificulta muito a perpetração de ataques de suborno baseados em contratos inteligentes, pois o minerador deve estar ciente do contrato de suborno e entender como interagir com ele. Entretanto, é inevitável: se a plataforma pode pagar o minerador, ela também pode executar um contato inteligente que pague o mesmo minerador. Isso porque a linguagem de programação em que o consenso está programado e aquela usada pelos contratos inteligentes são “Turing-completas”. Não se pode evitar o pagamento de alguém disposto a pagar a outrem disposto a receber.  Não adianta limitar as capacidades de linguagem de certa plataforma, uma vez que qualquer plataforma de contratos inteligentes Turing-completa pode ser usada para pagar subornos a mineradores de outra blockchain! Por exemplo, a RSK e a Ethereum podem ser usadas para pagar subornos a mineradores do Bitcoin, é claro, nesse caso, a coordenação é ainda mais difícil. 

A solução de longo prazo é desincentivar ataques de atomização conscientizando cada minerador acerca da teoria dos jogos por trás deles: se todos exaurirem o bloco e tentarem se apropriar da isca, todos perderão. Se poucos mineradores forem atrás da isca, mas a maioria permanecer honesta, os poucos maliciosos terão prejuízo. Para reduzir as chances de haver uma reversão de uma maioria honesta em uma minoria, podemos implantar um contrato de suavização de recompensa na RSK que imite a mesma IIR que usamos para o RBTC, porém, para qualquer token, e ensinemos aos mineradores como recusar eventuais subornos oferecidos no contrato, de modo que compartilhar suborno se torne o ponto focal de Schelling.

Resumo

Há um conhecido potencial problema de instabilidade na rede para certas blockchains que é causado pelo pagamento de taxas excepcionalmente altas por certa transação. Esse problema se torna especialmente pertinente em sidechains do Bitcoin, como a RSK. A RSK implanta a suavização de recompensa de bloco como medida protetiva contra o problema. A suavização da recompensa de bloco também proporciona benefícios adicionais, tais como incentivar a cooperação, em vez da competição, na mineração. Embora essa proteção funcione para taxas explícitas, o caso geral de subornos pagos usando contratos inteligentes requer monitoramento ativo da rede e análise aprofundada.