by Jorge Páramos, Senior Consultant. Fevereiro 2020
Esta tecnologia foi conceptualizada em 2008 por Satoshi Nakamoto, pseudónimo de um indivíduo ou grupo cuja verdadeira identidade é desconhecida; foi implementada pela primeira vez no ano seguinte, com a criação da primeira cripto-moeda, a Bitcoin. Os seus fundamentos teóricos remontam à pesquisa científica iniciada em 1991 na Bell Communications Research.
Como o nome indica, a blockchain consiste numa cadeia formada de blocos: cada bloco contém dados guardados num formato facilmente acessível (e.g. texto simples) referente ao objeto de interesse — que pode ir de transações comerciais a votos ou dados pessoais.
Como nos restantes sistemas peer to peer existentes para partilha de documentos, não há um agente central que detém a blockchain, mas existe uma cópia desta em cada um dos pares da rede. Sempre que uma nova transação é realizada, os detalhes desta são acrescentados ao último bloco da cadeia, e esta é disseminada pela rede, permitindo que os pares atualizem a sua cópia. Como a informação contida na cadeia de blocos é aberta, para verificar que uma transação decorreu conforme esperado (e.g. se um pagamento foi efetuado) basta verificar a informação no bloco correspondente.
Além de um funcionamento descentralizado e aberto, a caraterística mais marcante da blockchain é a sua grande segurança: esta resulta não da confiança em mediadores, mas da própria arquitetura do sistema. Como a blockchain é aberta, a segurança não se baseia em técnicas de encriptação da informação das transações, nem em controlo de acesso via palavras-chave rebuscadas ou registos biométricos.
Numa blockchain, a verificação de determinada transação (e.g. se o dinheiro para pagar uma pizza foi creditado à loja, que pode assim enviá-la para casa do comprador) é feita através de um mecanismo de consenso: os vários pares da rede são anónimos (identificados apenas por uma handle, não pelo nome ou outros dados pessoais), não se conhecem nem têm confiança mútua, pelo que o sistema está desenhado para confiar na maioria.
Assim, se em 100 pares, 70 tiverem guardada no seu computador uma cópia da blockchain que indica que a pizza foi paga e 30 tiverem outra cópia sem esta transação, o protocolo valida a sua ocorrência e determina que as 30 copias corrompidas sejam ignoradas e substituídas pela versão correcta.
O elemento fundamental para a segurança deste mecanismo de consenso é a existência de uma hash (por bloco e da cadeia como um todo). Uma hash é um número calculado a partir do conteúdo que se pretende salvaguardar: como exemplo, utilizando um algoritmo muito simples em que cada palavra corresponde à soma das posições no alfabeto das suas letras, à palavra "Olá" corresponde a hash 28 (O = 15, L = 12, A = 1). Algoritmos de hashing mais complexo produzem hastes mais difíceis de calcular (i.e. com maior tempo de computação): se multiplicar as posições das letras a hash será 15 x 12 x 1 = 180, e se fizer potências consecutivas obtém-se 15 elevado a 12 elevado a 1 = 129746337890625.
Uma hash deve ser única, isto é, conteúdos diferentes não podem dar origem ao mesmo valor. Nos exemplos simples acima tal não é verificado: a palavra "LOA" tem a mesma hash por soma ou multiplicação posicional (12 + 15 + 1 = 28 e 12 x 15 x 1 = 180); embora não tenha o mesmo valor por potências posicionais (12 elevado a 15 elevado a 1 = 15407021574586368), a palavra "OEC" produz a mesma hash (12 elevado a 5 elevado a 3 = 15407021574586368).
Por essa razão, são utilizados cálculos muito mais complexos, garantindo com uma enorme probabilidade que não há colisões, isto é, que é quase impossível dois conteúdos diferentes darem origem ao mesmo valor de hash.
Numa blockchain, são utilizadas hashes de 256 bits: tal significa que o valor de cada hash é um número até 2 elevado a 256; este número é tão grande que precisamos de 78 algarismos decimais para o representar, sendo por isso habitual exprimi-lo em base hexadecimal (um sistema com 16 símbolos, que utiliza os 10 algarismos decimais e às 6 letras consecutivas A a F): seguindo o algoritmo SHA-256, a hash deste documento até este ponto é 61214e205d14ad2bc77a28a567efc3513a486393dd43a454cb6bc40e2cd9698a.
Como é que a existência de uma hash garante a segurança da blockchain? Imaginemos que não existia uma hash associada aos blocos e à cadeia como um todo: era fácil produzir uma versão adulterada da blockchain (editando-a e apagando ou modificando transações); consoante o número de pares conectados connosco, seria possível que esta modificação fraudulenta fosse disseminada por mais de metade da rede, passando o mecanismo de consenso a considerá-la como correcta.
No entanto, cada bloco tem uma hash que reflecte o seu conteúdo, bem como a hash de todos os blocos que o antecederam na cadeia. Assim, suponhamos que um agente malicioso deseja alterar o registo de uma transação: primeiro, tem de alterar o bloco correspondente e calcular a sua hash; depois, tem de alterar o bloco seguinte, já que a hash da cadeia que o antecede mudou; no entanto, tal muda o conteúdo deste bloco, pelo que terá de recalcular a hash do bloco posterior, até chegar ao bloco mais recente. Tal requer uma capacidade de computação hercúlea, e como novos blocos são adicionados à rede com grande frequência (aprox. de 10 em 10 minutos, para a Bitcoin), é impossível alterar e disseminar toda uma cadeia de blocos antes que esta fique desactualizada. Deste modo, não só a blockchain é praticamente inviolável, como se torna mais segura com o tempo e o aumento do comprimento da cadeia.
Mas o que impede a criação de blocos com conteúdo fraudulento no bloco mais recente da cadeia? Se alguém comprar online uns ténis nos últimos 2 minutos e registar a transferência do pagamento numa blockchain com 100 pares, o que impediria um vendedor mal intencionado de a alterar, omitindo a transação no último bloco, podendo assim exigir novamente o pagamento? Bastaria registar 101 novos pares na rede (o que é possível com um só computador) com a cópia fraudulenta da cadeia de blocos, que passaria a ser considerada correcta pelo mecanismo de consenso.
Para impedir esta situação abusiva, a blockchain requer a cada par da rede a chamada Prova de Trabalho (PoW: Proof of Work): a execução de cálculos computacionais muito complexos e morosos no computador sempre que se quer criar um novo bloco (com a respectiva hash) ou juntar um novo par à rede.
Os algoritmos de hashing apresentados como exemplo são demasiado simples para constituir um desafio: de um modo simplificado, a blockchain da Bitcoin utiliza o algoritmo Hashcash, que permite a criação (ou, em jargão técnico, mineração) de um novo bloco através da aplicação consecutiva do algoritmo de hashing SHA-256; este é relativamente rápido quando executado apenas uma vez, mas o algoritmo Hashcash repete-o até que o resultado cumpra um conjunto restrito de critérios, aumentando assim a sua dificuldade e tempo de execução.
Há uma década, um computador portátil conseguia minerar um bloco com facilidade. No entanto, a complexidade da Prova de Trabalho aumenta com o poder computacional e número de pares da rede: o tempo actual para completar a Prova de Trabalho é da ordem de 10 minutos, recorrendo a hardware específico para o efeito — normalmente, conjuntos de várias placas gráficas a operar em paralelo via programas dedicados, ou computadores utilizando circuitos integrados adaptados à função (ASIC: Application-Speficic Integrated Circuits). Tal tem limitado a participação de novos membros na mineração de Bitcoin, que está cada vez mais dominada por "quintas" de computadores com complexos sistemas de climatização e energia.
Assim, é praticamente impossível executar um chamado "ataque de 51%" na rede: os recursos necessários para dominar o poder computacional da rede (ou seja, gerar novos blocos fraudulentos mais depressa que todos os restantes pares da rede) é gigantesco e o custo associado em energia, hardware e sistemas de apoio negaria qualquer vantagem daí decorrente.
Uma blockchain pode ser utilizada em qualquer aplicação em que transações sejam realizadas e se deseje um sistema em que estas ficam salvaguardadas, são verificáveis por ambas as partes sem intervenção de terceiros e não são reversíveis (impedindo, por exemplo, o cancelamento de pagamentos após recepção do bem).
Assim, o uso de uma blockchain é cada vez mais disseminado no âmbito da celebração de contratos e acordos entre partes: são os chamados smart contracts. Esta pode ser também utilizada na validação e conciliação de contagens de utilização de utilidades (e.g. água ou eletricidade), garantindo a transparência a clientes em situações de litígio com o fornecedor do serviço.
Embora habitualmente confundidas, as cripto-moedas não utilizam obrigatoriamente uma blockchain: a maioria fá-lo porque, tendo o objectivo de facilitar transações seguras, a sua implementação sobre uma blockchain é natural. Na sua génese, o seu uso era também associado a uma visão libertária que criticava a base do sistema financeiro vigente, i.e. a autoridade central dos governos enquanto emissores de moeda e moderadores do seu volume em circulação.
A cripto-moeda baseada em blockchain mais famosa é a Bitcoin (BTC), tendo outras implementações surgido entretanto (e.g. Ethereum, Litecoin) como variações sobre as regras aqui expostas. As criptomoedas podem ser compradas num mercado (e.g. Bitcoin Exchange, como o Coinbase), ou mineradas directamente: no último caso, em vez de se trocar outra moeda (euros, dólares, etc.) pela cripto-moeda, esta é atribuída directamente a quem se torne par da rede e demonstre a Prova de Trabalho necessário.
Além de outras diferenças técnicas, a Bitcoin foi criada já com um limite máximo ao número em circulação: cada vez que 210 mil novos blocos são adicionados à cadeia, a recompensa em Bitcoin por cada novo bloco minerado reduz-se para metade do seu valor anterior (o chamado Halvening).
Atualmente existem mais de 600 mil blocos na cadeia, aproximando-se o 3ª Halvening: inicialmente, cada bloco minerado atribuía uma recompensa de 50 BTC; esta baixou para 25 BTC em 2012 e para o valor atual de 12.5 BTC em 2016; muito em breve, a recompensa será de apenas 6.25 BTC (estima-se que a partir de Maio deste ano). Prevê-se que em 2040 a quantidade de Bitcoins estabilize num valor muito próximo do limite máximo estipulado de 21 milhões. Este mecanismo foi criado por Satoshi Nakamoto para combater pressões inflacionárias sobre a moeda, pretendendo que a quantidade de moeda existente acompanhe o número de utilizadores, garantindo a estabilidade dos preços.
Estas e outras considerações mostram que a criação de uma cripto-moeda não obedece apenas a critérios técnicos, mas traduz também a perspetiva dos seus criadores e apoiantes sobre o modo de funcionamento das economias modernas: para muitos adeptos do uso das cripto-moedas, a existência de uma base monetária fixa é salutar e impede bolhas especulativas ou a criação de "dinheiro grátis" pelos bancos emissores de moeda.
Os críticos — incluindo muitos economistas — afirmam que criar uma moeda com quantidade fixa (mesmo que esta seja apenas atingida passado algumas décadas) anula a capacidade moderadora dos governos, que regulam a economia através da expansão da base monetária, emitindo moeda: muitos comparam a perspetiva financeira por trás da Bitcoin com o antigo sistema do padrão-ouro, em que várias moedas do mundo estavam indexadas a quantidades definidas de metais preciosos e havia reduzida liberdade cambial.
Em resposta, muitos apoiantes da Bitcoin defendem que os governos não têm utilizado o seu poder de intervenção a bem das populações, mas dos grandes interesses empresariais; entre outros casos, invocam como prova as políticas implementadas pelo Fundo Monetário Internacional em vários países, onde o aumento de competitividade resultante da desvalorização da moeda (que torna o investimento externo mais barato e fácil) pode não compensar a redução de poder de compra local. De facto, uma discussão sobre cripto-moedas não é terreno exclusivo de geeks, mas pode rapidamente transformar-se numa acalorada troca de argumentos políticos e acusações ideológicas.
Mais pragmaticamente, muitos consideram que a Bitcoin e outras cripto-moedas facilitam a proliferação de transações anónimas no mercado negro, sendo muito utilizadas em negócios envolvendo drogas ou outro tipo de comércio ilegal. Os críticos alegam também que a esperada adoção da Bitcoin pelo público em geral não ocorreu, e que esta se tornou num bem especulativo, aproveitando o hype que a rodeia e correspondente valorização: defendem por isso que o valor natural da Bitcoin é muito abaixo do atual, e que existe uma bolha especulativa em torno das cripto-moedas — que irá inevitavelmente rebentar.
Muitos adeptos destas novas ferramentas defendem que tal situação será ultrapassada pela crescente utilização das cripto-moedas em transações legais e corriqueiras, baixando e estabilizando progressivamente o seu valor. Por seu lado, os críticos apontam a impossibilidade desta transição, já que o público em geral não quer utilizar uma reserva de valor com significativas flutuações diárias.
Outra crítica, e possivelmente uma das mais difíceis de rebater, invoca o impacto ambiental da mineração de novos blocos da cadeia: atualmente a energia elétrica gasta na mineração de um bloco é suficiente para alimentar uma casa portuguesa durante mais de um mês, e a dificuldade crescente em fazê-lo implica que este consumo continuará a aumentar.
Uma ferramenta da Universidade de Cambridge permite monitorizar o consumo energético e compará-lo com vários cenários de utilização: em particular, o conjunto global de mineiros de Bitcoin já gasta quase 83 TeraWatt-hora por ano (uma potência instantânea de quase 10 GigaWatt), mais energia que a Bélgica e quase o dobro de Portugal! Estima-se que nos próximos anos a mineração de Bitcoin consuma 1% de toda a energia produzida mundialmente.
Longe destas polémicas, muitas empresas decidiram adotar a blockchain ou, pelo menos, desenvolver sistemas com caraterísticas semelhantes. Em alguns casos nota-se o efeito bandwagon associado à proliferação de novas tecnologias: protocolos para uso interno das organizações que adotam uma cadeia de blocos fechada e com confiança explícita entre pares (ou seja, sem a necessidade de Prova de Trabalho ou mecanismo de consenso) são apresentados como blockchain, sem chamar a atenção para os diferentes pressupostos e potenciais falhas de segurança.
Entre a volatilidade das cripto-moedas, as batalhas ideológicas e o entusiasmo crescente de várias indústrias, é seguro afirmar que os conceitos subjacentes à blockchain estarão presentes em muitas tecnologias utilizadas nas próximas décadas — com os maiores ganhadores a serem aqueles que integrarem as suas potencialidades nos processos pré-existentes nas organizações.
Referências