Blockchain: o que é e quando utilizar.

Sumário

Em primeiro lugar, o blockchain é uma tecnologia moderna e revolucionária. Inúmeras organizações estão procurando maneiras de adotá-la para suas necessidades. A popularidade decorre principalmente do Bitcoin, um dos exemplos mais públicos de blockchain em uso.

Entretanto,  apesar de ter muito potencial, o blockchain não é adequado para todos os produtos digitais (softwares/ aplicativos). Em muitos casos, o uso de um banco de dados centralizado tradicional – como o MySQL – ainda é a melhor solução. 

Ao ponderar tecnologias para utilizar no desenvolvimento,  recomendamos considerar  apenas as mais adequadas (que tem melhor fit) para seus produtos digitais, e não se basear  em modas ou tendências.

Então, como saber se o blockchain é adequado para sua aplicação? Antes de responder a essa pergunta, primeiro você precisa entender os fundamentos dessa tecnologia.

O que é o blockchain?

É um sistema que permite armazenar e rastrear, pela internet, o envio e recebimento de alguns tipos de informações de transações em lotes, chamados blocos. Esses recebem uma impressão digital chamada hash – um código matemático único – e são interligados em um conjunto em ordem cronológica, formando uma linha contínua de blocos – uma corrente (daí o termo “chain”).

Mais informações no site: https://www.ibm.com/br-pt/topics/what-is-blockchain

Os blocos armazenam três tipos de informações:

1)Dados sobre transações, como hora, data, valor em dólares, etc.

2)Dados sobre quem participa das transações. Em vez de usar nomes as partes são registradas usando uma assinatura digital anônima, semelhante a um nome de usuário.

3)Dados que distinguem blocos de outros blocos. Cada um tem um código criptográfico exclusivo  que é criado por um algoritmo. Isso nos impede de confundir blocos uns com os outros.

Quando um bloco armazena novos dados, ele é adicionado ao final do blockchain, onde fica disponível para todos visualizarem. Se você observar o blockchain do Bitcoin, por exemplo, poderá visualizar informações públicas sobre cada bloco, incluindo vários pontos de dados de transações.

No caso do Bitcoin, existem milhões de nós, todos cópias idênticas do blockchain em tempo real. Isso impossibilita a manipulação ou fabricação de blocos porque o hacker precisaria alterar todas as cópias do blockchain.

A blockchain é segura? 

Para a maior parte sim. Como os novos blocos são armazenados de forma linear e cronológica, é difícil alterar o conteúdo de um bloco. Cada bloco contém seu próprio código de hash e o código de hash do bloco anterior a ele. Esses códigos são criados por uma função matemática que produz uma sequência de números e letras. Se a sequência for editada de alguma forma, o código de hash também será alterado.

Portanto, se um hacker tentar editar um bloco, o hash do bloco será alterado. O próximo bloco na cadeia conterá o hash antigo, então o hacker precisará alterar esse bloco também. Eles precisam repetir esse processo até o final, o que é extremamente difícil se houver novos blocos adicionados com frequência. Recalcular todos esses hashes exigiria uma enorme quantidade de poder de computação.

Quando usar Blockchain?

Blockchain é uma tecnologia empolgante com potencial para transformar negócios, proteger a validade dos dados e criar aplicativos/softwares inovadores. Aqui estão algumas situações em que você pode optar por usar um blockchain em vez de um banco de dados centralizado padrão.

1)Você deseja manter um registro de transações anteriores

É nisso que o blockchain se destaca. É uma das melhores maneiras de registrar um histórico de atividade. Os dados estão sempre atualizados, mas você ainda pode olhar para trás e ver de onde veio e como chegou lá.

Ele não pode ser corrompido ou excluído por nenhuma das partes, o que significa que a trilha de dados está sempre disponível e difícil de contestar.

2)Você quer eliminar intermediários e barreiras

Em alguns setores, os intermediários são necessários para vender produtos e serviços. A hospedagem em hotel é o melhor exemplo. Não é realista verificar todos os hotéis em uma área específica, portanto, empresas como Airbnb, Trivago e Expedia são necessárias para reunir hoteleiros e clientes.

Uma blockchain para acomodações significa que os hotéis podem atualizar sua disponibilidade sem passar por um intermediário. A empresa TUI está trabalhando nisso agora.

3)Você deseja gerenciar relacionamentos digitais complexos

Certos relacionamentos digitais são extremamente complexos, mais do que os usuários esperam. Essas plataformas de viagens que acabamos de mencionar trabalham com várias partes para combinar passagens aéreas, hotéis, aluguel de carros e outros serviços de férias em plataformas.

O cliente faz uma compra, mas a plataforma negocia negócios complexos. Um “livro de registros” distribuído é uma maneira inteligente de rastrear e liberar pagamentos assim que todas as partes concordarem que as condições corretas foram atendidas.

4)Você precisa de algo que seja muito seguro

Blockchain é uma das tecnologias mais seguras hoje porque não há um ponto central de ataque. Para adicionar um bloco à cadeia, a rede de nós deve concordar que a transação é válida. Isso significa que nenhuma entidade pode fazer alterações por conta própria. Em vez de hackear um sistema, você teria que hackear todos os nós da rede.

Dito isto, o blockchain não é imune a hacks. Alguns menores com poucos nós foram invadidos quando ladrões ganharam controle sobre a maioria deles (chamado de ataque de 51%). Esse problema desaparece quando você começa a lidar com milhares ou milhões de nós porque se torna menos provável controlar muitos.

Quando não usar um Blockchain

1)Você não tem um tremendo poder de computação

Um blockchain requer grandes quantidades de poder de computação, o que significa que não é adequado para transações que precisam ser executadas em milissegundos. É difícil fazer alterações rapidamente em um “livro de registros distribuído”, o que torna problemática a interação com ele várias vezes em um curto período de tempo. Isso torna a escalabilidade um grande problema.

Por exemplo, digamos que um usuário bancário queira transferir dinheiro da conta A para a conta B e, em seguida, faça um pagamento da conta B com esses fundos. A primeira transação pode levar mais tempo para ser concluída do que o usuário espera, a menos que você esteja fornecendo um enorme poder de computação.

Se você precisar processar e armazenar informações rapidamente, um banco de dados centralizado tradicional geralmente é um método mais rápido, mais barato e, em geral, mais eficaz.

2)Blockchains vêm com problemas de confidencialidade (por natureza)

Blockchains são fontes abertas de informação. Isso faz parte da transparência embutida. Os usuários estão ocultos por trás de um identificador exclusivo, mas ainda há um registro aberto de que uma transação ocorreu. Alguns usuários e clientes podem não ficar satisfeitos com essa exposição. Se a confidencialidade for importante para você e seus usuários, opte por um banco de dados centralizado que você possa manter e proteger.

3)Um “livro de registros distribuído” são difíceis de desenvolver e testar 

É difícil construir um sistema distribuído. Executar testes e depurar em um único computador já é bastante difícil, mas consertar softwares que precisam se coordenar com outros softwares em uma rede é exponencialmente mais difícil e mais caro.

Encontramos muitos bugs (erros) obscuros e difíceis de identificar, bem como “heisenbugs” – bugs cuja natureza muda quando tentamos enviar mensagens de texto. Estes são comuns em aplicativos distribuídos.

Claro, isso não significa que as blockchains são impossíveis, mas você deve ter uma visão realista do tempo e das despesas que elas precisam para começar a funcionar. Se o seu orçamento for uma preocupação, fique com aplicativos com bancos de dados centralizados.

Você precisa usar Blockchain?

Novas tecnologias são lançadas todos os dias, mas isso não significa que elas sejam adequadas para seus aplicativos. É importante adotar uma abordagem pragmática em vez de perseguir a última moda.

Blockchains podem apoiar a criação de novos processos, mas como você pode ver, ainda está nos primeiros dias de desenvolvimento. Ainda há alguns desafios a serem superados. A natureza distribuída dos blockchains os torna difíceis de trabalhar. Mas, esperamos que esse problema seja superado nos próximos anos, à medida que mais organizações experimentam a tecnologia. Também esperamos ver um grau de padronização com a tecnologia, o que incentivará a adoção.

Se a manutenção de registros precisos for importante e o poder de computação não for uma preocupação séria, o blockchain pode ser adequado para seu aplicativo, especialmente se você estiver trabalhando com várias partes digitais.

Agora que você entende como o blockchain funciona e quando você deve e não deve usá-lo, você terá que trabalhar com sua equipe de desenvolvimento para decidir se é adequado para seu aplicativo. 

Se você gostou desse conteúdo, segue dando uma olhada no nosso blog!

Compartilhe
Facebook
Twitter
LinkedIn
WhatsApp

Aproveite e leia também

quando-usar-uuids

Quando usar UUIDs?

Quando usar UUIDs? Por: Kallil Souza O uso de identificadores únicos (IDs) em bancos de dados é uma prática comum para garantir a unicidade de

Leia Mais »