Criptomoedas: as transações através de blockchain são 100% seguras?

Picture of Kaique Bonato

Kaique Bonato

Criptomoedas

Com a popularização das criptomoedas, as pessoas passaram a conhecer a blockchain e sua promessa de ser mais segura, eficaz e revolucionária.

Apesar disso, a sua aplicação prática é um pouco diferente. Um relatório do MIT (Massachusetts Institute of Technology), uma das instituições de ensino mais renomadas do mundo, revelou que hackers já conseguiram roubar mais de $2 bilhões de criptomoedas desde 2017.

Nesse artigo, vamos entender um pouco sobre o funcionamento da blockchain e algumas de suas vulnerabilidades.

A blockchain

A blockchain é uma plataforma de armazenamento que registra as informações em formato de blocos, similar a um banco de dados. No entanto, a grande diferença é que o controle desses registros é feito de forma independente, ou seja, pelos próprios participantes.

É importante ressaltar que, como as criptomoedas ainda não são consideradas moedas oficiais na maioria dos países, elas não possuem regulamentação oficial e geralmente não são monitoradas por bancos ou instituições financeiras.

Voltando a essa tecnologia, cada participante tem a possibilidade de analisar e validar aquilo que foi registrado. Caso uma inconsistência seja encontrada, o participante poderá criar um novo bloco de informações – já que nada é 100% deletado dentro da blockchain. Nesse caso, a cadeia com maior quantidade de blocos se torna a definitiva.

Olhando assim, parece ser uma tecnologia segura, já que envolve a validação de vários indivíduos. Porém, não é bem isso que acontece.

A mineração

Para que um indivíduo seja selecionado para validar um bloco de informação, ele precisa resolver um problema matemático criado pelo próprio algoritmo do sistema, processo chamado de “mineração”. Para atingir isso, é necessário possuir um computador com alta capacidade de processamento.

O que acontece, porém, é que indivíduos com maior poder aquisitivo compram vários computadores ou contratam muitas pessoas com o objetivo de resolver a questão o mais rápido possível. Isso faz com que, em alguns casos, exista uma única pessoa por trás de vários indivíduos revisando um bloco de informações.

A segurança

A partir disso, chegamos a um tipo de ciberataque voltado especificamente para as blockchains e moedas digitais, conhecido como Ataque dos 51%.

Basicamente, o que acontece é que um único indivíduo passa a controlar mais de 50% do poder computacional de um sistema de blocos, fazendo com que a capacidade de mineração dele seja muito maior do que a do restante dos participantes, colocando-o em vantagem.

Consequentemente, essa pessoa tem o poder de alterar um bloco a seu favor, pois pode fazer com que ele tenha mais blocos subsequentes, de forma que a cadeia fraudulenta seja reconhecida pelo algoritmo como a correta e favorecendo o esquema criminoso.

Até mesmo foi criado o “Smart Contract” (contrato inteligente, em português), que é um programa usado para analisar se os participantes estão seguindo as regras determinadas e que fica integrado ao sistema da blockchain.

Entretanto, até eles estão vulneráveis a ciberataques e bugs ou erros – só esses dois últimos foram capazes de gerar um prejuízo de cerca de $70 milhões.

Vulnerabilidade de smart contracts

Para ilustrar como os smart contracts também estão vulneráveis, trouxemos algumas das principais brechas que podem ser encontradas neles, dentro da blockchain da Ethereum (criptomoeda) – de acordo com a iniciativa Decentralized Application Security Project  (Projeto de Segurança de Aplicação Descentralizada) do grupo NCC.

#1 Front-running

Um usuário que busca fraudar o blockchain consegue superar uma transação legítima, fazendo com que a operação fraudulenta seja processada mais rapidamente pelo sistema e, consequentemente, invalidando a operação verídica.

#2 Reentrada

Essa vulnerabilidade ocorre quando, por exemplo, é feita uma nova solicitação antes que a execução inicial do smart contract seja feita, de forma que o valor daquele contrato precise ser atualizado, prejudicando os outros participantes.

#3 Negação do serviço

Dentro da plataforma da Ethereum, existe o termo “gas”, que se refere a uma taxa necessária para executar uma transação no blockchain. Quando uma invasão é realizada através do servidor, o preço dessa taxa se tornará maior do que o seu valor máximo estabelecido, portanto o smart contract não poderá ser executado.

veja também

Outros conteúdos sobre Segurança Cibernética