• Carregando...
Uma linha de código transforma sites comuns em mineradores silenciosos que exaurem recursos do computador | Caspar Rubin/Unsplash
Uma linha de código transforma sites comuns em mineradores silenciosos que exaurem recursos do computador| Foto: Caspar Rubin/Unsplash

Você sabe como “nasce” uma moeda digital, como o bitcoin? Ela se dá por um processo de mineração. Só que em vez de pás e picaretas, essa mineração é digital, feita por computadores que resolvem equações matemáticas altamente complexas. A recompensa pelo trabalho é a geração de blocos de novas moedas. Alguns sites foram flagrados capturando o processamento dos dispositivos de visitantes, sem informá-los, para a mineração de moedas digitais. Isso é ruim; felizmente, é algo que pode ser evitado. 

A mineração digital, explica o site oficial do Bitcoin, tem por finalidade validar as transações da rede e garantir a segurança da própria moeda digital. Elas não contam com um servidor central; no lugar disso, há uma blockchain, uma espécie de registro público de todas as transações que é distribuído e sincronizado por toda a rede. As transações feitas em moedas digitais precisam ser validadas nesse registro, um processo que consome bastante poder computacional e que tem, como subproduto, a geração de novas moedas. Considere as novas moedas o “pagamento” pelo trabalho.

Nos primórdios do bitcoin, qualquer um podia instalar um software de mineração e tentar a sorte nessa espécie de “Serra Pelada 2.0”. Hoje, embora ainda seja possível, a competição com fazendas de computadores especializados com alto poder de processamento inviabiliza a mineração individual. O sistema das moedas faz uso de um “fator de dificuldade” na geração de novos blocos de moedas quando mais gente se aventura na mineração, a fim de manter a média de um novo a cada 10 minutos, o que exige quantidades cada vez maiores de processamento. 

Mineração através de sites

Uma empresa chamada Coinhive teve uma ideia para unir muitos computadores comuns na mineração de moedas digitais. Com a premissa de oferecer alternativas a anúncios tradicionais para sites e aplicativos se financiarem, a Coinhive desenvolveu um código que, inserido em um site, dispara um software minerador no computador do visitante. O dono do site recebe 70% das moedas geradas pelos seus visitantes — o restante fica com a Coinhive. 

É possível, no site da empresa, disparar o software para ver como ele funciona na prática e seus efeitos. Eles se fazem sentir imediatamente: 

Repare que o uso do processador dispara a 100% quando se acessa um site com o código da Coinhive

Além do início automático, a Coinhive oferece outras formas de disparar o minerador. Pode ser por um CAPTCHA, aquele código para provar que você não é um robô, por exemplo, ou links encurtados, que só resolvem após uma breve sessão de mineração. A Coinhive trabalha com a moeda Monero, uma alternativa menos conhecida ao bitcoin. 

Não há nada de errado com isso. O problema é que o software minerador causa efeitos colaterais no dispositivo do visitante. Ao ceder parte considerável do seu poder de processamento para um site equipado com o código da Coinhive, computadores e smartphones ficam mais lentos para outras atividades e consomem mais energia que o habitual, acabando com a bateria mais rapidamente. 

A situação fica ainda mais complicada porque alguns sites flagrados usando o código da Coinhive não avisavam os visitantes de tal prática. O The Pirate Bay, famoso site de distribuição de conteúdo pirateado, foi o primeiro de grande porte a usar a solução da Coinhive sem o consentimento dos visitantes. Em um comunicado publicado após o blog Torrent Freak revelar o caso, os administradores do site disseram que se trata de um teste a fim de reduzir os banners publicitários veiculados e que a mineração só ocorre em uma aba e é limitada a até 30% do processamento do dispositivo.

Outro caso foi relatado no início da semana pelo The Register. Sites do canal de TV norte-americano Showtime também apresentaram o incômodo software minerador. Após a revelação, o código foi removido e, contatado, o canal não quis se manifestar sobre a situação.

Sites menores também estão usando a solução, como relata o desenvolvedor Maxence Cornet, baseado no Camboja. Ele rodou o código da Coinhive por três dias em um site com média de mil visitas por dia. Após o teste, ele diz ter conseguido um valor bem baixo, “de 4 a 5 vezes menos do que fatura com anúncios tradicionais não intrusivos (banner e texto)”. 

Como evitar ter seu computador usado pela Coinhive 

A mineração em sites é mais uma alternativa aos banners tradicionais, mas é preciso que o usuário esteja ciente do que está acontecendo. Em sua documentação, a Coinhive informa que “o minerador não tem uma interface — é sua [do dono do site] responsabilidade informar os usuários do que está acontecendo e fornecer estatísticas da mineração”.

Como se viu, nem todos fazem isso. E por haver um custo real e potencial para transtornos — redução dramática no desempenho e da autonomia de dispositivo que funcionam com baterias —, o desejo de se evitar o software é válido.

Já existem algumas maneiras de bloquear o código da Coinhive. A extensão No Coin, para Chrome, faz exatamente (e apenas) isso. Após instalada, ela bloqueia o código da Coinhive e promete ser atualizada caso algum outro serviço do tipo apareça. Por ter o código aberto e ser auditada por outros desenvolvedores, há alguma garantia de que a extensão se manterá fiel ao seu propósito. 

Outra alternativa, mais direcionada, é colocar o código da Coinhive em uma lista negra em extensões que bloqueiam conteúdo, como os bloqueadores de anúncios. O caminho do código é https://coin-hive.com/lib/coinhive.min.js, logo, basta inseri-lo na lista de elementos bloqueados para que o problema não se manifeste. Extensões como Adblock Plus e 1Blocker oferecem suporte a inserções de bloqueios por parte do usuário e outras, caso da Ublock Origin, já incorporaram o bloqueio à lista oficial.

0 COMENTÁRIO(S)
Deixe sua opinião
Use este espaço apenas para a comunicação de erros

Máximo de 700 caracteres [0]