Sem dúvida que conhece a Bitcoin, e talvez até outras criptomoedas. Mas, em termos práticos, como é que estas moedas virtuais funcionam? Como é que elas podem ser 100% digitais?
É graças à magia das “blockchains”, o mundo dos bastidores das criptomoedas, sem o qual elas não poderiam existir.
Apesar de ouvirmos falar cada vez mais destas “cadeias de blocos”, a maioria de nós ainda não conhece o seu funcionamento. E com razão! Pode parecer difícil compreender esta tecnologia, que à primeira vista está longe de ser um sonho.
No entanto, não é preciso saber nada sobre desenvolvimento de computadores, ou mesmo matemática, para entender a blockchain. Em breve verá que ela não tem segredos para si!
Porque é que a cadeia de blocos foi inventada?
O lugar da Internet na nossa sociedade
Para a maioria de nós, a utilização da Internet tornou-se um ato quotidiano e banal. O acesso à Internet foi mesmo reconhecido como um direito universal em 2016 pelas Nações Unidas.
É preciso dizer que, com a democratização da Internet, muitos meios de comunicação social começaram a deixar de utilizar o papel. Assim, é agora possível ouvir listas de reprodução em linha, transmitir um filme ou informar-se sobre a atualidade através da Internet.
Do mesmo modo, cada vez mais objectos estão ligados à “rede das redes”, incluindo smartphones, relógios, máquinas de café e frigoríficos. Esta rede de objectos ligados foi apelidada de “Internet das coisas”. Permite que a informação circule mais eficazmente entre as pessoas, mas também entre as pessoas e as máquinas.
A Internet tornou-se assim parte integrante de muitas das nossas actividades, das nossas interacções, da forma como consumimos conteúdos, etc. O lema da “Internet das Coisas” resume-o muito bem:
Tudo o que puder ser ligado à Internet estará ligado.
Por isso, parece natural que a mesma lógica se aplique também ao dinheiro, que não escapou à ascensão da Internet. De facto, hoje em dia, é possível consultar a conta bancária em qualquer lugar, graças à Internet.
A invenção da “Internet do valor
Mas porque não ir ainda mais longe? Porque não criar moedas completamente virtuais que pudessem ser trocadas diretamente através da Internet? Foi com este objetivo que a primeira criptomoeda, a bitcoin, foi criada em 2008.
Mais de dez anos depois, a Bitcoin foi descrita como “ouro digital” e serve de referência para as criptomoedas criadas na sua sequência, que são atualmente mais de 3.000. As criptomoedas sempre estiveram no centro das atenções dos media e cada vez mais empresas e particulares investem nestes novos tipos de moeda. A sua existência é, portanto, amplamente conhecida.
Mas se a ideia de uma moeda digital pode parecer lógica hoje, é necessário sublinhar a revolução que a criação do Bitcoin provocou. Esta revolução é a da “Internet do valor” e está inteiramente ligada à tecnologia blockchain.
O blockchain é o que se passa nos bastidores das criptomoedas. É o sistema que permite a sua geração, armazenamento e troca, como veremos mais adiante.
Bitcoin e a escassez digital
Para compreender por que razão esta tecnologia é tão inovadora, temos de analisar a natureza dos dados digitais.
Qualquer informação, qualquer ficheiro desmaterializado, parece-nos ser necessariamente falsificável, duplicável: é possível copiar um ficheiro Word com um simples clique, por exemplo. Do mesmo modo, a gestão da informação na Internet implica a cópia de ficheiros. Por exemplo, uma mensagem de correio eletrónico não é “enviada” ao destinatário, mas é de facto copiada para a sua caixa de correio: o remetente conserva assim a mensagem original. Se enviar uma carta pelo correio, esta deixa de lhe pertencer depois de ter sido depositada na caixa amarela.
Se é possível duplicar um e-mail para o enviar ao destinatário, é fácil perceber porque é que isso é impossível para o dinheiro: não se pode copiar uma nota de 10 euros para a dar a alguém e manter a mesma nota do nosso lado.
É aí que entra a tecnologia blockchain, que permite a criação de escassez digital. Este conceito está na origem da “Internet do valor”. Em suma, o blockchain subjacente ao Bitcoin permitiu acelerar e melhorar a gestão do valor, tal como a Internet fez para a gestão da informação.
Ao tornar os dados digitais “únicos” (e, por conseguinte, raros) e não falsificáveis, a tecnologia da cadeia de blocos abre a porta a actividades e serviços que antes estavam reservados ao mundo real. É obviamente o caso do dinheiro: as criptomoedas podem ser trocadas sem receio de cópias ou de ataques maliciosos.
Mas o dinheiro não é o único ativo baseado na escassez. Um grande número de bens, documentos e objectos precisa de manter a sua singularidade para conservar o seu valor. As cartas de troca, por exemplo. A cadeia de blocos tornou possível a criação de cartões Paninis 2.0: os cartões Sorare são inteiramente virtuais, mas podem ser comprados ou trocados tal como os seus equivalentes reais.
Mas também podemos pensar em títulos imobiliários, contratos, propriedade intelectual, obras de arte, etc. A cadeia de blocos pode ser utilizada de muitas outras formas, como veremos mais adiante.
O conceito de descentralização
Agora que está familiarizado com a “Internet do valor”, sabe que a Bitcoin revolucionou a Internet ao permitir a distribuição de dados sem serem copiados. É por isso que as criptomoedas podem agora ser transaccionadas online, tal como o dinheiro.
Mas as criptomoedas não criaram apenas sistemas de pagamento digital. Com a Bitcoin, o objetivo de Satoshi Nakamoto era também, e sobretudo, libertar-se dos bancos e de todos os outros intermediários do mundo das finanças. A Blockchain é, portanto, um sistema desmaterializado, mas também descentralizado.
Esta é uma das razões pelas quais o primeiro bloco da blockchain do Bitcoin contém uma frase do The Times de 3 de janeiro de 2009:
Chanceler à beira de um segundo resgate para os bancos
Este título refere-se à crise financeira mundial de 2008, durante a qual o chanceler britânico teve de injetar milhares de milhões na economia do seu país para salvar os bancos. O título deste artigo data do início da blockchain, mas também tem sido utilizado como explicação para a criação das criptomoedas. De acordo com este ponto de vista, as criptomoedas foram criadas para salvar os bancos.
A verdadeira origem do blockchain
No entanto, longe de querer salvar o mundo das finanças, a tecnologia blockchain foi concebida para passar sem ele. É, de facto, o culminar de um movimento que começou na década de 1990. Na altura, os “cypherpunks” procuravam salvaguardar a privacidade, que tinha sido posta em causa pelo desenvolvimento da Internet. Com este objetivo, propuseram-se inventar um sistema de pagamento independente, uma vez que não tinha surgido nenhuma alternativa digital ao cartão bancário desde os primórdios da Internet. Embora os sistemas de pagamento como o Paypal possam parecer mais livres, não são imunes à censura: a conta do fundador da Wikileaks, por exemplo, foi encerrada pela empresa em 2010.
Em contrapartida, a cadeia de blocos utiliza a criptografia para propor um sistema monetário baseado numa rede e não numa entidade central. Gera consenso, organiza as transacções e armazena os dados através de um código informático. Assim, já não é necessário confiar em intermediários para gerir o seu dinheiro, por exemplo: a matemática substitui essas etapas de verificação e de controlo. Veremos que a cadeia de blocos poderá vir a substituir muitos procedimentos, documentos e transacções que hoje requerem terceiros de confiança e são controlados pelo Estado.
Teoricamente, o funcionamento da cadeia de blocos permitiria estabelecer uma maior transparência em muitos domínios. Era também o que estava previsto para a Internet. Na realidade, as transacções efectuadas na cadeia de blocos Bitcoin continuam a ser controladas pelo Estado, embora a sua próxima atualização deva melhorar a confidencialidade dos seus utilizadores.
Tal como a Web, o funcionamento das cadeias de blocos foi-se tornando progressivamente centralizado. Mas o conceito de descentralização está no centro do seu projeto original e não é menos essencial para compreender a sua tecnologia.
Como é que a cadeia de blocos funciona?
Se quiséssemos definir a cadeia de blocos de forma simples, poderíamos descrevê-la como um tipo de base de dados. Tal como uma folha de cálculo do Excel, permite armazenar e atualizar dados, que podem ser associados a um sistema monetário no caso da Bitcoin, por exemplo.
Mas a cadeia de blocos não se limita ao armazenamento de dados. Também pode ser utilizada para transmitir informações ou dinheiro. Para isso, não é necessário um terceiro de confiança.
O que é um “terceiro de confiança”?
O que é um “terceiro de confiança”? Eis um exemplo. Atualmente, para efetuar uma transferência bancária de uma conta para outra, a transação tem de passar por um intermediário: um banco, por exemplo. Os bancos procedem sob a forma de transferências: reduzem o saldo de um lado, actualizam a conta creditada e voltam a atualizar o primeiro saldo.
No sistema monetário atual, portanto, os dados não são partilhados, mas transferidos. É um pouco como quando temos de redigir um documento com várias pessoas: enviamos uma primeira versão a alguém, o que nos impede de aceder a ele ou de o modificar enquanto essa segunda pessoa está a trabalhar nele. Por outro lado, a cadeia de blocos pode ser comparada a um documento partilhado, onde todos os participantes podem escrever, tendo acesso a uma versão do texto sempre sincronizada e actualizada.
Outra forma de descrever a cadeia de blocos, segundo o matemático Jean-Paul Delahaye (vencedor do Prémio d’Alembert), é a seguinte
um caderno muito grande, que todos podem ler livremente e gratuitamente, no qual todos podem escrever, mas que é impossível de apagar e indestrutível.
Enquanto são necessários os serviços de um notário, de um advogado ou de um banqueiro para redigir contratos ou transferir dinheiro, a cadeia de blocos cria um serviço cifrado e descentralizado em que “o código é a lei”. O princípio da “mineração” permite garantir a segurança e a integridade dos actos jurídicos ou das transacções financeiras, como veremos. A redução do número de intermediários tem muitas vantagens: as transacções são privadas, não controladas, mais rápidas e mais seguras, os custos são reduzidos, etc.
Onde é armazenada a cadeia de blocos?
As cadeias de blocos são únicas na medida em que não são armazenadas num único local (num único computador ou servidor, por exemplo).
São operadas por uma comunidade independente de milhares de computadores, conhecidos como “nós”. Estes nós estão todos ligados a uma rede aberta.
É aberta no sentido em que é possível ligar-se a uma cadeia de blocos livremente e sem autorização: basta um dispositivo eletrónico (computador, telefone, impressora, etc.) e acesso à Internet. O software necessário para o seu funcionamento pode ser descarregado gratuitamente. É claro que algumas autoridades recomendam softwares específicos e a plataforma de desenvolvimento GitHub é frequentemente preferida. Mas, na realidade, nada impede um utilizador de utilizar o programa e a plataforma da sua escolha.
Quando um novo utilizador se liga a uma cadeia de blocos, junta-se aos nós da rede. Pode então começar a trocar informações com os outros nós e escolher o papel que deseja desempenhar na cadeia de blocos. Uma vez que o controlo não é centralizado, qualquer pessoa pode ocupar o lugar que quiser na rede, independentemente da sua importância.
Nós
Quais são os diferentes papéis dos “nós” numa cadeia de blocos?
Para descrever os diferentes tipos de nós que existem, podemos tomar o exemplo do Bitcoin, que se baseia na primeira cadeia de blocos.
Como vimos, qualquer utilizador pode ligar-se à blockchain. Será então considerado como um novo nó na rede. Este comunicará de diferentes formas com o resto da comunidade, consoante a sua função:
Nós completos: são essenciais para a rede e garantem a existência e a segurança do Bitcoin. Em termos gerais, os nós completos são a “memória” da blockchain: são capazes de armazenar uma cópia de todos os blocos da cadeia e de todas as transacções passadas. Na prática, eles podem conter apenas parte da cadeia. Estes nós são essenciais para transmitir novas transacções e adicioná-las à cadeia de blocos.
Nós ouvintes: embora os “nós completos” alojem frequentemente uma cópia da cadeia de blocos e das suas transacções, não são obrigados a partilhar esta informação com o resto da rede. É aqui que entram os nós ouvintes (ou “supernós”). Estes transmitem a sua informação a qualquer outro utilizador da rede e funcionam também como uma ponte de comunicação entre os membros da comunidade.
Nós de mineração: como veremos mais adiante, os blocos que compõem a cadeia de blocos devem ser minerados antes de poderem ser adicionados à cadeia. A mineração requer uma grande capacidade de computação, pelo que nem todos os computadores são capazes de criar os blocos. Existem, portanto, duas soluções possíveis:
Se um mineiro trabalhar sozinho, terá de ter um “nó completo” no seu computador para poder criar blocos.
Atualmente, os mineiros agrupam-se principalmente em “pools” de mineiros: partilham o seu poder de computação, de modo a que a cópia da cadeia de blocos possa ser alojada por apenas um dos computadores do grupo.
Thin clients: enquanto os “fat clients” têm acesso às transacções da cadeia de blocos através de uma cópia total ou parcial, o software thin client permite aceder à informação sem ter de descarregar todos os blocos. São utilizados, nomeadamente, por pessoas que pretendem apenas verificar o estado da sua conta e efetuar novas transacções.
O que é um bloco? Como é criado?
A expressão “blockchain” significa cadeia de blocos. Este termo refere-se à própria estrutura desta tecnologia, que permite armazenar informações sob a forma de blocos de dados encadeados.
Para explicar como isso funciona, vamos pegar o exemplo do Bitcoin.
1. Criação de blocos
Quando uma transação de bitcoin é criada, é primeiro adicionada a um bloco de dados. Este bloco será considerado pronto para ser extraído quando atingir 1 MB de dados. Um dos últimos blocos minerados, o bloco 684326, continha 1.652 transacções.
2. O que é a assinatura do bloco?
O papel dos mineiros é validar as transacções do bloco, verificando a sua integridade. Se o bloco for validado, será adicionado à cadeia de blocos.
Para entender como os mineiros fazem isso, primeiro é preciso entender como os blocos são encadeados.
Para o fazer, imagine que cada bloco da cadeia tem a sua própria assinatura. A assinatura de um bloco é inserida no bloco que se segue: é isto que os liga, como numa cadeia. Desta forma, é possível verificar rapidamente se os blocos estão no sítio certo, desde que tenham a assinatura correcta correspondente ao bloco anterior correto.
hash
A assinatura dos blocos é designada por “hash”. É gerada por um cálculo matemático. Este cálculo permite criar uma sequência de números a partir de qualquer dado: texto, números, etc. Trata-se, portanto, de um processo criptográfico.
Este cálculo é chamado de “função hash” e é aplicado a todos os dados de um bloco. A função usada pelo Bitcoin é chamada de SHA-256.
Se quiser transformar um texto numa sequência criptográfica, alguns sites permitem-lhe utilizar esta função gratuitamente. Aqui está um exemplo baseado na palavra “Coinaute”, escrita de diferentes maneiras:
função hash
Aqui, utilizando dados diferentes (ou seja, várias linhas de texto), foi utilizada a função SHA-256 para criar a sequência de números :
b411400f259dc89385157cd56d951968ea231442c82e87d6c360ed33e0974288
Esta sequência de números será sempre a mesma para esta sequência de dados: a função hash é determinística. Por outras palavras, a mais pequena alteração numa letra ou num número resultará num hash completamente diferente.
A função SHA-256 funciona exatamente da mesma forma com as transacções contidas em cada bloco. Ela transforma todos os dados do bloco em uma sequência de números, que se torna o hash do bloco.
3. Extração de blocos
Uma vez que um bloco tenha um hash, ele pode ser minerado.
O objetivo dos mineiros é encontrar um segundo hash, que será a impressão digital final do bloco.
Para o fazer, têm de modificar ligeiramente o primeiro hash, adicionando um número chamado “nonce”. Este número é muito difícil de encontrar, uma vez que o hash final tem de cumprir uma série de requisitos. Entre outras coisas, ele deve começar com um certo número de zeros e corresponder ao nível de dificuldade esperado pelo Bitcoin.
Encontrar o “nonce” requer um poder de computação desordenado, pois o computador do minerador tem que percorrer as possibilidades muito rapidamente para encontrar a solução. Uma vez que um minerador ou um grupo de mineradores tenha encontrado a solução, ele embolsa Bitcoins gerados especialmente para ele. Também recebe de volta as taxas de transação pagas pelos utilizadores para poderem trocar ou comprar tokens, por exemplo.
Na Bitcoin, um bloco é adicionado, em média, a cada dez minutos (o que é conhecido como “tempo de bloco”). A dificuldade de encontrar uma solução para adicionar um bloco à cadeia varia consoante o número de nós de mineração, e é expressa em números.
Para ilustrar todas estas informações, eis o ficheiro do bloco n.º 684346, cuja solução foi encontrada pela pool de mineiros Poolin:
bloco Bitcoin
O sítio web blockchain.com fornece uma grande quantidade de informações sobre este bloco. Em comparação com o que vimos anteriormente, podemos agora decifrar algumas das informações contidas neste ficheiro:
O hash encontrado pela Poolin para este bloco
O número de transacções contidas no bloco (1948)
O nível de dificuldade do cálculo a ser resolvido
O peso e o tamanho do bloco
O nonce encontrado pelo grupo de mineiros
As recompensas recebidas pelo pool: bitcoins gerados (cerca de 6 BTC) e taxas de transação (cerca de 1 BTC).
Segurança e transparência da cadeia de blocos
Acabámos de ver como funciona a blockchain da Bitcoin, baseada num sistema de “prova de trabalho”. Em termos práticos, isto significa que um mineiro pode adicionar um bloco desde que consiga provar que trabalhou para resolver um cálculo complicado. Este trabalho, e o resultado do mesmo, são regidos por regras acordadas por toda a rede. É por isso que a “prova de trabalho” é um algoritmo de consenso. A blockchain do Bitcoin existe num estado de acordo permanente entre os seus membros, verificado a cada dez minutos.
Isto tem duas características principais:
Transparência: todos os dados são distribuídos na rede. São, portanto, públicos e qualquer pessoa pode verificá-los.
A blockchain é incorruptível: a mais pequena alteração nos dados de um bloco altera completamente o seu hash. Como o hash do bloco anterior é sempre adicionado ao novo bloco, é fácil ver que um hash foi modificado. O bloco com o hash modificado é então removido da blockchain.
A segurança da cadeia de blocos também reside no facto de os seus dados serem armazenados numa rede descentralizada. O facto de não ser centralizada torna a pirataria informática muito mais difícil, ao contrário do que acontece na Internet.
Desde 2008, a Bitcoin não registou qualquer perturbação significativa. Os problemas encontrados foram todos resultado de erro humano ou de intenção maliciosa e, portanto, nada tiveram a ver com o seu funcionamento. Assim, a tecnologia blockchain parece ter um futuro brilhante pela frente.
Aplicações da cadeia de blocos
Como já deve ter visto, a tecnologia blockchain baseia-se numa rede descentralizada, segura e transparente. O seu sistema acelera e facilita as transacções, reduz os custos associados aos intermediários e diminui os riscos. Embora esteja sempre associada às criptomoedas, esta é apenas uma das suas múltiplas utilizações.
Eis alguns exemplos de aplicações reais ou futuras do blockchain:
Com a DeFi (Decentralised Finance), muitos actores querem utilizar a cadeia de blocos para transmitir valor e criar financiamento para todos, sem intermediários. Por exemplo, deixaria de ser necessário revelar a identidade para abrir uma conta bancária ou contrair um empréstimo.
A cadeia de blocos, que é um grande registo partilhado, pode também ser utilizada para garantir uma melhor rastreabilidade dos produtos (medicamentos, alimentos, bens, etc.).
É igualmente possível redigir contratos diretamente na cadeia de blocos. Os “contratos inteligentes” permitem executar automaticamente as cláusulas de um contrato e verificar o seu cumprimento.
Estas aplicações abrangem uma vasta gama de domínios, desde as finanças e a música até ao sector imobiliário e farmacêutico.
A cadeia de blocos poderá também estar na origem de uma nova Web 3.0, totalmente descentralizada, que poderá prescindir dos serviços centralizados dos GAFAM.
Conclusão
Como terá descoberto, a tecnologia blockchain está longe de ser utilizada apenas pelas criptomoedas. O seu sistema descentralizado, seguro e transparente poderá revolucionar a nossa vida quotidiana. Mais uma razão para se interessar pelo seu funcionamento, que talvez seja um pouco mais claro para si depois de ler este artigo. Caso contrário, não entre em pânico: não há nada que o impeça de comprar criptomoedas sem conhecer a cadeia de blocos por dentro! E se é apaixonado pela blockchain, não hesite em consultar os nossos outros guias para aprender tudo sobre as criptomoedas.