Introdução
No começo de 2009, uma criptomoeda (moeda digital) chamada Bitcoin foi lançada e, desde então, vem protagonizando uma grande revolução nos meios virtuais. O principal ingrediente do êxito do Bitcoin é um sistema de registro que ficou um bom tempo sem ser notado: o blockchain.
O blockchain é um banco de dados. O que o faz tão importante é o fato de esse não ser um banco de dados convencional: o sistema funciona como um livro de registros, mas inviolável, "inderrubável" e bastante eficiente.
A tecnologia é tão interessante que logo ficou claro que o blockchain também poderia ser usado em outros sistemas, dos mais diversos tipos: financeiros, comerciais, governamentais, gerenciais, eleitorais e por aí vai. Não é por menos que bancos, seguradoras, corretoras de ações, empresas de segurança, governos e tantas outras instituições estão sendo atraídas pelo assunto.
Mas como o blockchain funciona? Por que o blockchain tem tantas vantagens? Por qual razão o blockchain é tão revolucionário? Se você tem dúvidas como essas, não se preocupe: eu, Emerson Alecrim, explico a seguir tudo o que você precisa saber sobre blockchain.
- Antes, o que é Bitcoin?
- Como obter Bitcoins?
- Blockchain: um sistema de registro distribuído
- O significado de blockchain
- Como o blockchain funciona?
- Vantagens do blockchain
- Aplicações do blockchain — exemplos
- Desvantagens do blockchain
Antes, o que é Bitcoin?
Antes de iniciarmos nossa incursão no universo do blockchain, vale a pena entendermos o que é Bitcoin. Fazendo isso, fica mais fácil compreender a importância e o funcionamento do blockchain.
Pois bem, como eu disse no início do texto, o Bitcoin surgiu oficialmente no começo de 2009 — em 3 de janeiro, para ser exato. Meses antes, em 2008, um artigo assinado por Satoshi Nakamoto (em PDF) foi divulgado em grupos de discussões descrevendo o conceito do Bitcoin.
Mas o que a gente precisa entender aqui é que o Bitcoin é uma moeda totalmente digital (sem disponibilização em papel), de alcance global e que não é controlada por governos ou instituições tradicionais. Não há banco central, casa da moeda, fundos monetários privados, enfim, nenhuma entidade por trás da plataforma do Bitcoin.Estamos falando de uma moeda — de um sistema, na verdade — com modus operandi distribuído (sem um elemento central) e autorregulado. Tudo se baseia em transações digitais criptografadas, razão pela qual o Bitcoin é considerado um tipo de criptomoeda (em inglês, cryptocurrency).E quanto vale um Bitcoin? Depende da demanda e da oferta. Via de regra, quanto mais transações existirem em dado momento, mais caro um Bitcoin será. Na época em que eu atualizava este texto, um único Bitcoin custava mais de R$ 35.000. Os preços podem variar muito de uma hora para outra.
Como obter Bitcoins?
Há, basicamente, três formas:
- Você pode ir a uma corretora online de Bitcoins (há várias) que funciona como uma espécie de casa de câmbio, só que digital. Você pode comprar Bitcoin com dólares, euros, reais, etc.;
- Você pode receber Bitcoins como forma de pagamento por alguma venda ou serviço prestado;
Não havendo um sistema centralizado, como a distribuição dos Bitcoins é feita? E como as transações são realizadas e validadas? É aqui que entra em cena a figura do blockchain, um registro público que reúne todas as informações necessárias para o processamento e a proteção das transações.
Mas, como você já sabe, esse não é um sistema de registros qualquer. Vamos, enfim, entender o blockchain.
Blockchain: um sistema de registro distribuído
Imagine que você faz parte de um grupo de 100 pessoas que, por conta de um bizarro acidente de avião, vai parar em uma ilha que não aparece no mapa. Vocês estão incomunicáveis com o resto do mundo e não existe nenhum meio de transporte para tirá-los dali. Provavelmente, vocês vão ficar ali por muito tempo, por isso, decidem montar uma sociedade nessa ilha.
Mas vocês sabem, por experiência própria (e também porque essa história de um avião caindo em uma ilha perdida é estranhamente familiar), que uma sociedade precisa de líderes. Mas uma estrutura de governo gera disputas de poder que podem se transformar em conflitos sérios. Por isso, vocês decidem elaborar um modelo de sociedade diferente: tudo o que acontece ali precisa ter aprovação de todo o grupo, de forma que o que é verdade para um terá que ser verdade para os outros.
E como isso é feito? A partir de um livro de registros que alguém trazia no avião. Essa mesma pessoa explicou que esse livro é mágico: é possível criar infinitas cópias deles, mas tudo o que for registrado nele será automaticamente registrados nos demais.
Assim, as cópias serão iguais para sempre. Devido a essa característica, vocês decidem criar uma cópia do livro para cada pessoa. Como esse livro também não pode ser apagado e nem adulterado, ele se torna parte essencial de um sistema que distribui de maneira justa e eficiente os recursos na ilha. Tudo o que é registrado no livro é válido para todo mundo, pois os registros aparecem em todas as unidades.
Esse livro passou a ser chamado de blockchain.
O significado de blockchain
Voltemos ao "mundo real" (ou ao mundo não ficcional, se você preferir). Entenda a tal sociedade na ilha como a plataforma do Bitcoin, e o livro mágico como, de fato, o blockchain. A diferença é que o blockchain de verdade não é magia: é um sofisticado sistema computacional.
Como estamos falando de um sistema de banco de dados distribuído (distributed database) e sem intermediários, precisamos de um mecanismo confiável para permitir transações diretas — ponto a ponto. Esse é papel do blockchain.
O blockchain é um sistema de registro que contém todas as transações processadas no sistema. Em tradução livre, o nome significa cadeia de blocos. Uma cadeia de blocos nada mais é do que um conjunto de informações registradas que é ligado a blocos de informações anteriores e sucessores.
Esses blocos de informações também são públicos, no sentido de que todos os nós (participantes) da rede têm acesso. Porém, quando processados, os blocos não podem ser apagados ou alterados. Além disso, novos registros só podem ser feitos mediante um processo de validação.
Esse sistema, por ser distribuído, está em milhares de computadores. Quando uma atualização (legítima) é feita, todos as cópias são sincronizadas em questão de segundos. Pode até ser que um ou outro computador suma da rede, mas isso não afetará o sistema, pois todos os outros nós ainda estão lá.
Uma rede centralizada (esquerda) e uma rede distribuída
Para certificar uma informação em uma cadeia de blocos e evitar fraudes, o blockchain conta com um mecanismo chamado proof of work — prova de trabalho, em tradução direta. Trata-se de um protocolo criptográfico que valida uma transação em um computador (ou outro dispositivo) por meio da resolução de um problema matemático.
Adulterações nas cadeias de blocos, por menores que sejam, gerarão resultados diferentes do esperado para esse problema matemático. Isso impede o processamento da transação e, consequentemente, o seu registro. Vamos estudar esse aspecto com mais detalhes logo mais.
Como o blockchain funciona?
Esse esquema de cadeia de blocos com estrutura distribuída é o que torna o Bitcoin (e, eventualmente, outras criptomoedas) tão confiável. Parar entendermos melhor como isso funciona, convém olharmos um pouco mais de perto para os elementos que formam o sistema, começando pelos blocos.
Blocos
Você já sabe que os blocos contêm os registros em si. Todas as transações confirmadas — como a transferência de um valor em Bitcoin de um computador para outro — devem ser registradas neles. Novas transações geram novos registros que, como tal, devem ser inseridos em novos blocos.
No Bitcoin, por padrão, a cada dez minutos um bloco é fechado contendo toda as transações nesse período. Devo frisar que esse intervalo de tempo pode ser diferente em outros momentos e em outros sistemas que utilizam blockchain.
Além do conjunto de transações, um bloco precisa ter um código que o liga ao bloco anterior (afinal, eles estão conectados em cadeia), além de um código próprio que serve para conectá-lo ao bloco seguinte.
Mas como gerar esses blocos de modo seguro, sem que as conexões sejam alteradas para direcionar para um bloco ilegítimo, por exemplo? Aqui, a principal arma do sistema é a figura do mineiro (ou minerador).
Mineiros
Você se lembra de quando eu disse que uma das formas de se ganhar Bitcoin é fazendo mineração? Pois bem, os problemas complexos que os mineiros têm que resolver dizem respeito à criação de novos blocos e, com efeito, à validação das transações.
Um mineiro nada mais é do que um computador (ou um conjunto de máquinas atuando como uma só) que utiliza um software específico para a realização dos cálculos. Sempre que o processo é concluído, o mineiro é recompensado — aqui, com Bitcoins.
Funciona assim: o software analisa todas as informações referentes ao bloco e aplica uma fórmula matemática específica sobre esse conjunto de dados. O resultado do cálculo feito com essa fórmula é um código chamado hash. Normalmente, esse código usa base hexadecimal, o que, em termos práticos, o faz ser formado por letras e números.
Cada conjunto de dados é único, portanto, toda vez que essa fórmula matemática for aplicada ao bloco, o código hash gerado será o mesmo. Mas, se o conjunto de dados sofrer alguma modificação, por menor que ela seja, o código hash será totalmente diferente. Aí não dá para ir adiante.
Além do seu próprio hash, o bloco contém o hash do bloco anterior. Dessa forma, um processo de verificação conseguirá perceber quando um bloco não é legítimo, pois o código hash deste será diferente dos registrados.
Cadeia de blocos (repare nos códigos)
Nós
Como você já sabe, o Bitcoin é uma rede. Cada integrante da rede é um nó. Assim, se você tem um computador com um software para realizar transações com Bitcoins, essa máquina acaba sendo um nó.
Esse software mantém e ajuda a distribuir cópias atualizadas em tempo real da cadeia de blocos em uso. Cada vez que transações são realizadas e, portanto, blocos são adicionados, todos os nós são comunicados para que possam atualizar os registros com as novas informações.
O mecanismo de comunicação criptografada (relembrando, aquele método de chaves privadas e públicas) impede que essa rede seja invadida ou que nós sejam adicionados inadvertidamente.
Leve em conta também que os nós participam da validação das transações. Uma série de procedimentos é aplicada para verificar se há consenso sobre a realização de determinada transação. Assim, se você está recebendo Bitcoins de alguém como forma de pagamento, um processo de verificação junto aos nós confirmará a operação.
Essa transação será então registrada no blockchain. Como esse registro não pode ser apagado, em tese, ninguém consegue tomar esses Bitcoins de você fazendo alterações nos blocos.
Vantagens do blockchain
Neste ponto do texto, talvez você já consiga imaginar as razões para o blockchain encontrar espaço em aplicações além do Bitcoin. Mas vamos ver algumas. Podemos começar com a segurança.
A estrutura em forma de cadeias de blocos torna o blockchain praticamente inviolável. Para conseguir adulterar algo, o invasor teria que controlar mais da metade dos nós para realizar mudanças por consenso.
No universo do Bitcoin, pelo menos, esse controle massivo dos nós exigiria um poder computacional extremamente grande. É inviável, portanto. Já a alteração de um registro exigiria a reescrita de praticamente toda a base de dados. Novamente, é inviável, para não dizer impossível.
A disponibilidade é outra grande vantagem. A estrutura distribuída faz o sistema continuar funcionando mesmo que um ou vários nós caiam. Quando os nós faltantes voltam à rede, eles são imediatamente atualizados.
Pensemos também na confiabilidade. Como os dados no blockchain não podem ser apagados ou alterados, temos a certeza de que as transações registradas ali são legítimas e íntegras.
Outro aspecto a se considerar no blockchain é a transparência. As transações são públicas, o que significa que todos os nós podem checá-las. Os mecanismos de criptografia fazem com que os usuários do sistema não precisem ser identificados, no entanto, é perfeitamente possível vincular identidades, se necessário — esse aspecto ajuda a assegurar que somente usuários legítimos estejam participando da transação.
Os custos operacionais também podem ser mais baixos na comparação com sistemas computacionais centralizados. Esse aspecto varia conforme a aplicação, mas, de modo geral, o modelo distribuído implica em compartilhamento de recursos de processamento e armazenamento.
Aplicações do blockchain — exemplos
Já sabemos que o blockchain é parte fundamental do Bitcoin, mas também já sabemos que o conceito pode ser empregado em outras aplicações. Ok, mas quais? Vamos a alguns exemplos.
Serviços financeiros
Há um número crescente de bancos e financeiras se interessando pelo blockchain. O setor já percebeu, por exemplo, que a tecnologia pode ser usada para transações de pagamento e transferências de dinheiro. Pelo menos no âmbito internacional, transações desse tipo podem levar várias horas para serem concluídas. O blockchain pode tornar o processo mais rápido e, simultaneamente, prover mais segurança.
Transparência pública
Como os dados não podem ser apagados, tampouco adulterados, sistemas governamentais podem utilizar o blockchain para combater desvio de recursos públicos, facilitar processo de auditorias e evitar fraudes em eleições, por exemplo.
Combate à lavagem de dinheiro
No mundo todo, governos e companhias do setor financeiro adotam cada vez mais medidas para combater o problema da lavagem de dinheiro. Por ser imutável, o blockchain pode servir de base para que essas medidas — que incluem uso de sistemas de verificação de identidade, checagem de transações e detecção de movimentação suspeita de recursos, por exemplo — se tornem mais confiáveis e difíceis de serem burladas.
Gestão de identidade
O registro de usuários ou clientes em um sistema de blockchain pode combater falsificação de identidades, o que seria útil, por exemplo, para fechamento de contratos eletrônicos ou transferência de propriedade.
Propriedade intelectual
O uso do blockchain também vem sendo considerado para gestão de patentes e direitos autorais. Com a associação de uma obra a uma pessoa, o sistema poderia, por exemplo, ajudar uma empresa a conferir se determinado indivíduo é mesmo autor do conteúdo que ele está oferecendo.
Base de conhecimento
Como o blockchain é, basicamente, um banco de dados distribuído, é possível também o uso da tecnologia para distribuição de documentação de sistemas, manuais de uso, artigos acadêmicos, livros digitais e afins. Na verdade, o blockchain pode ser usado para compartilhamento de praticamente qualquer tipo de informação.
Contratos inteligentes (smart contracts)
O blockchain tem se mostrado particularmente relevante para um tipo de aplicação que está ganhando força: contratos inteligentes (smart contracts). Nessa modalidade, um software elabora contratos com termos e condições específicas conforme as circunstâncias.
Pense, como exemplo, em uma loja virtual que recorre a diferentes serviços de entrega para atender a clientes de todo o país. Para um cliente mais próximo, o sistema pode considerar a distância menor para elaborar um contrato com prazo de entrega curto. Para clientes que estão mais longe, esse mesmo sistema pode incluir no contrato prazo mais longo e a cobrança de um eventual imposto local, tudo automaticamente.
O blockchain pode ajudar esse tipo de software a fazer verificações e registrar operações que, entre outros benefícios, evitarão que a empresa cometa deslizes em uma ou mais cláusulas e sofra prejuízos por conta disso.
Desvantagens do blockchain
Apesar de proporcionar numerosas vantagens, não é prudente tratar o blockchain como uma solução mágica, capaz de resolver, por si só, tudo o que é demanda computacional. Isso porque um sistema do tipo pode apresentar “efeitos colaterais”.
Um deles pode ser a exigência de uma grande capacidade de processamento ou de uma rede capaz de lidar com grandes volumes de dados: como o blockchain envolve procedimentos criptográficos, um sistema do tipo muito acessado ou com muitos nós tem chances elevadas de apresentar sobrecarga.
Para manter o bom funcionamento do sistema, pode ser necessário gastar somas consideráveis em computadores que apoiem as operações ou em equipamentos de redes capazes de suportar tráfego intenso de dados.
Além disso, dependendo de como a cadeia de blocos é estruturada, o tempo de resposta de determinadas operações pode ser longo, situação que tende a causar gargalos consideráveis se a demanda de uso do sistema aumentar.
Leve em conta ainda que, à medida que o tempo passa, o blockchain pode acabar se tornando “inchado” e, proporcionalmente, mais lento.
Dependendo da aplicação, o custo operacional do blockchain também pode ser elevado. Fatores como desenvolvimento, treinamento, segurança e manutenção podem tornar uma solução do tipo inviável se não forem cuidadosamente mensurados.
É por isso que o desenvolvimento e a implantação de um sistema baseado em blockchain precisam ser bem planejados. Vários cenários devem ser considerados para prevenir gargalos, diminuição de eficiência ou até problemas de segurança.
Para tanto, é importante que um estudo minucioso seja feito para avaliar se o blockchain é mesmo uma boa solução para determinado aplicação, como e em quais circunstâncias pode ser preciso aumentar a capacidade do sistema, quais procedimentos precisam ser adotados para evitar que a tecnologia descumpra regulamentos ou leis, como garantir que não haja indisponibilidades e assim por diante.
Conclusão
As aplicações mencionadas são só exemplos. Há uma gama enorme de possibilidades que o blockchain pode proporcionar para usuários individuais, empresas de todos os portes, governos e outras instituições.
O assunto é relativamente novo, por isso, as ideias em torno do conceito estão apenas começando a surgir. Mas, como você deve ter percebido ao longo do texto, a proposta da cadeia de blocos tem enorme potencial e pode beneficiar os mais diferentes ramos de atividade.
É verdade que as características do blockchain podem ser desvantajosas para determinadas aplicações, por exemplo, serviços que, em respeito às leis de privacidade, precisam permitir que os usuários apaguem seus dados — a imutabilidade da cadeia de blocos é uma barreira para essa necessidade.
Além disso, em um sistema privado (como a rede interna de uma empresa), todos os nós podem ser controlados de uma vez só porque a administração dessas máquinas costuma ser centralizada. Se não houver um meio eficiente de proteção, um invasor poderá assumir o controle dos nós para modificar permanentemente o blockchain.
Como dá para perceber, as vantagens e desvantagens do blockchain precisam ser avaliadas em cada caso. Não se pode vislumbrar um cenário de uso da tecnologia apenas por conta do hype em torno do assunto.
Saiba mais sobre o assunto nos links que serviram de referência para este texto:
- wikipedia.org/wiki/blockchain;
- bitcoin.org/.../block-chain;
- hbr.org/.../blockchain;
- mercatus.org/.../BitcoinPrimer.pdf.