O que afinal é uma Blockchain ?

Teo Moretti
VLabs
Published in
14 min readDec 17, 2021

Escrito em coautoria com Gabriel Mariani

Introdução

O termo “Blockchain” está entrando cada vez mais no nosso vocabulário por conta da visibilidade do mercado de cripto ativos. É compreensível que a primeira associação que se faça com essa tecnologia seja através do Bitcoin, Ether, ou outras criptomoedas. Entretanto, seu potencial vai muito além desta aplicação. Que tal conhecer um pouco mais sobre ela ?

Antes de mergulhar nos casos de uso, é importante entender o que é a Blockchain e como ela funciona. Naturalmente, existem diversas variações, porém este artigo foca na concepção de Nakamoto, um pseudônimo adotado pelo ‘inventor’ do Bitcoin. O primeiro ponto a ser entendido é o desafio que Nakamoto queria resolver com essa tecnologia. Em linhas gerais, buscava-se criar um meio digital de transferência de dinheiro que fosse ponto-a-ponto (peer-to-peer), e evitasse problemas como o double spending. Ser uma rede ponto-a-ponto significa que seus integrantes podem trocar informações entre si sem a necessidade de passagem por um servidor central. Um exemplo clássico dessa categoria de rede são os Torrents, em que são compartilhados arquivos como músicas, filmes, dentre outros.

Por sua vez, o double spending é um problema comum no mundo digital, e ocorre quando um mesmo ativo é gasto pelo seu dono mais de uma vez. Seria, por exemplo, criar uma cópia de um Bitcoin e gastar tanto a original quanto a cópia em compras distintas. Um paralelo com o mundo real seria criar uma cópia de uma nota de dinheiro e gastar ambas, criando dinheiro “do nada”.

Exemplo de uma rede tradicional (modelo cliente-servidor) à esquerda e uma rede ponto-a-ponto à direita. Na rede tradicional há um servidor central pelo qual passam todas as comunicações. Na rede ponto-a-ponto, cada nó age como cliente e também como servidor dos outros nós.

Para solucionar essas questões, criou-se a tecnologia conhecida como Blockchain. Em resumo, ela é um banco de dados distribuído em uma rede, com cópia em cada um dos seus integrantes e que não possui uma autoridade central que dita seu estado. Esse banco é constituído por blocos encadeados, cada um contendo transações feitas na rede.

O processo de adição de blocos à cadeia pode ser feito por qualquer integrante, e consiste em:

1. Agrupar e validar transações feitas na rede, mas ainda não presentes na Blockchain;

2. Criar um bloco com essas transações (e adicioná-lo à cópia do banco de dados que ele possui);

3. Repassar o bloco aos outros integrantes e esperar sua validação.

Os outros integrantes da rede validarão então o novo bloco , em caso positivo, o adicionarão às suas cópias do banco de dados. Em caso negativo, a alteração será rejeitada e não será adicionada. Podem surgir divergências na validação e adição de blocos, seja pela existência de nós mal-intencionados, seja pelo timing das transações e da criação de blocos. Elas são tratadas através de mecanismos de consenso, discutidos posteriormente.

Transações e seus componentes

Cada bloco pode ser definido como um agregado de transações, todas supostamente validadas pelo nó que quer adicioná-lo à rede. Para entender como uma transação é validada, é interessante compreender primeiro quais informações estão contidas nela.

1. Inputs: contas que realizarão a transferência dos ativos;

2. Outputs: contas que receberão os ativos;

3. Quantias: quantos ativos de cada input irão para cada output;

4. Total: quantidade total de ativos transferidos;

5. Hash da transação: um identificador da transação criado com base nos seus dados. Ele será melhor explicado posteriormente.

É necessário também que haja alguma maneira de provar que a transação é legítima. Para isso, verifica-se se o remetente possuía o dinheiro necessário no momento da transação, e se realmente foi

ele quem a realizou. Caso essa checagem falhe, a transação não é adicionada ao bloco. A checagem do dinheiro é feita observando todos os outputs de transações já validadas e adicionadas à Blockchain com destino à sua carteira e cujo dinheiro ainda não foi gasto. Esses outputs ainda não gastos se tornam os próprios inputs da transação nova, criando um histórico de movimentação rastreável.

Digital Signature

Mas como é verificada a identidade do remetente? A confirmação da identidade usa outro componente na transação chamado digital signature, uma espécie de assinatura. Ao realizar a transação, o remetente cria uma assinatura juntando o hash da transação com sua chave privada (basicamente um conjunto de caracteres gerados para ele ao entrar na rede). Além da chave privada, ele também possui uma chave pública, visível para toda a rede. Para checar se a assinatura realmente pertence ao remetente indicado na transação, basta utilizar a chave pública dele e decodificar a digital signature.

Funcionamento da digital signature. Fonte: https://commons.wikimedia.org/wiki/File:Private_key_signing.svg . Usado sob a licença Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

Blocos e Validação

Agora que as transações estão um pouco mais claras, é interessante analisar as informações contidas nos blocos, e como eles se encadeiam.

Blockchain simplificada. Fonte: https://en.bitcoinwiki.org/wiki/File:Blockhashing.png .Usado sob a licença Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).

Dentro de um bloco encontram-se os seguintes elementos:

1. Uma lista das transações adicionadas;

2. A merkle root dessas transações, que seria basicamente uma árvore com os hashes delas em cada galho;

3. O header, ou título do bloco;

4. E o hash do bloco anterior.

Após um bloco ser criado e espalhado pela rede, ele precisa ser aceito para então encaixar-se ao final da cadeia. Uma questão que surge é como ocorre esse processo de aceitação, ou seja, como saber se esse bloco é verdadeiro e como é possível avaliá-lo. O criador do bloco precisa provar que ele é válido, e isso é feito através de uma técnica chamada Proof of Work, que usa Cryptographic Hash Functions e os hashes contidos no corpo do bloco.

As Cryptographic Hash Functions são funções matemáticas que têm como entrada um certo dado e produzem um código de saída de tamanho fixo, hash. As principais propriedades dessas funções são:

1. Não reversíveis: A partir dos dados calcula-se o hash, mas inverso não é verdadeiro;

2. Efeito de avalanche: Qualquer mínima mudança nos dados causa uma enorme diferença no hash;

3. Determinísticas: Com a entrada de um mesmo dado, a saída será sempre idêntica;

4. Resistentes a colisões: É muito difícil que dois dados tenham o mesmo hash;

5. Não predizíveis: Não é possível prever o cálculo de um hash sem realmente calculá-lo.

Exemplo de Hash Function (SHA1).

A partir dessas funções pode-se executar a Proof of Work. Uma das funções mais utilizadas atualmente é a SHA256, portanto ela será usada como exemplo. Para gerar um bloco válido por Proof of Work é necessário obter os seus dados, adicionar um conjunto de dígitos “aleatório”, executar a SHA256 sobre concatenação dos dados e por fim verificar com quantos 0 consecutivos se inicia o hash (verificação de formato). No código da Blockchain está definida a quantidade mínima de zeros aceitável para aquele momento.

Em linhas gerais, essa quantidade é selecionada conforme a demanda (uso) da rede e a oferta de capacidade de validação. Se a quantidade de zeros gerada for igual ao desejado, podemos dizer que o bloco é válido. Caso contrário, é necessário repetir todo processo até se encontrar um hash que atenda ao requisito. Quando isso ocorre, o código “aleatório” que gerou o hash válido é guardado no próprio bloco, e recebe o nome de nonce. Essa tarefa tem um grande ônus de tempo e de recursos computacionais, e é mais conhecida como mineração.

Os mineradores tentarão criar blocos válidos, quem encontrar primeiro um hash viável ganhará uma recompensa.

É necessário neste ponto fazer uma distinção entre criar um bloco válido (mineração) e verificar se um bloco é válido. A verificação consome muito menos processamento, e consiste em confirmar rapidamente se o bloco é válido executando uma vez a SHA256 com o bloco e o nonce guardado nele, observando a mesma regra de zeros mencionada anteriormente. Se na verificação o bloco não for válido, os outros nós não o adicionam às suas cópias da Blockchain.

Diferença entre minerar um bloco e verificar se ele é válido.

Como a tarefa de criação de blocos válidos é muito onerosa, é necessário oferecer recompensas para os mineradores, que podem vir de duas formas. A primeira é uma gratificação oferecida pela própria Blockchain, ou seja, ela própria “cria” uma quantidade de crypto e recompensa quem criou o bloco válido. Esse prêmio aparece como uma transação especial no próprio bloco. A segunda forma é através de uma taxa paga pelas partes envolvidas nas transações.

Consenso

Como visto anteriormente, os blocos são organizados em cadeias. Além disso, cada um armazena o hash do bloco anterior. Desse modo, se ocorrer uma mudança em um bloco, o seu hash mudará também, o que implicará em uma mudança no próximo bloco e assim por diante. Portanto, uma mudança em qualquer bloco invalida todos os blocos seguintes. Para validar essa cadeia de blocos seria necessário refazer todas as provas de trabalho.

Também é preciso considerar que cadeias de blocos são armazenadas de maneira descentralizada (cada nó da rede tem uma cópia da Blockchain), ou seja, se existir divergência entre as cadeias, será necessário entrar em um consenso de qual é a certa. O consenso sempre escolherá a cadeia mais longa, já que foi validada mais vezes, e portanto, é onde toda a rede mais trabalhou e concordou.

Exemplo de divergências resolvidas com o passar do tempo, da esquerda para a direita. Cadeias paralelas (em roxo) podem aparecer em determinados momentos e competir até o ponto em que uma delas se torna a maior, prevalecendo e sendo considerada como a verdadeira (em preto) . Fonte: https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Blockchain_landscape.svg/2560px-Blockchain_ landscape.svg.png. Usado sob a licença Attribution 3.0 Unported (CC BY 3.0).

Os conceitos de consenso da maior cadeia e de que qualquer alteração em um bloco invalida parte da cadeia confere segurança à Blockchain. Se alguém tentar alterar um registro em um bloco mais antigo, fará com que todos os blocos seguintes percam validade.Como consequência, a cadeia se tornará mais curta, não sendo escolhida no consenso. Outra possibilidade é alguém tentar manter uma cadeia paralela falsa, mas para isso é necessário que essa cadeia seja a mais longa, logo, a entidade precisa criar blocos válidos mais rapidamente que todo o resto da rede, ou seja, ter pelo menos 51% do poder computacional.

O poder de processamento de uma Blockchain pode ser medido através da sua capacidade de gerar hashes por segundo (hashing power ou hashrate). Para se ter uma noção, a capacidade atual da rede do Bitcoin é de cerca de 130 exahashes por segundo, enquanto uma GPU tradicional não chega a 1 gigahash por segundo. Por conta disso, a Blockchain do Bitcoin se torna uma ferramenta de validação estatisticamente inquebrável.

Nos parágrafos acima foram descritos os mecanismos originais de consenso e validação, porém eles podem variar de acordo com o tipo de Blockchain estudado. Existem casos de Blockchains privadas nas quais só algumas entidades com permissão executam tarefas dentro da chain. Esses casos se relacionam principalmente com o uso dessa tecnologia em corporações, como, por exemplo, no controle de uma supply chain.

Aplicações

Supply Chain

A tecnologia da Blockchain possui um enorme potencial de disrupção da Cadeia de Suprimentos, assim como na geração de valor para as empresas, principalmente no que diz respeito ao aumento da transparência, redução de riscos e melhoria da eficiência na cadeia logística. A melhoria da transparência e rastreabilidade da cadeia pode trazer benefícios a diversos setores da economia, como o farmacêutico , o de moda, varejo, indústria, entre outros. Através do tagueamento dos produtos é possível conhecer toda a linha do tempo e o processamento das mercadorias até a chegada ao consumidor final. Também é facilitada a identificação da origem do produto, o que agiliza o gerenciamento da qualidade, conformidade de padrões, além de reduzir aspectos burocráticos e custos administrativos.

Quando o assunto é risco, a Blockchain pode contribuir com sua mitigação, assegurando a origem dos produtos, atestando sua qualidade , e auxiliando no monitoramento de níveis de estoque e de prazos de entrega acordados. Além disso, a Blockchain também ajuda a evitar rupturas na cadeia de produção, bem como a falsificação de produtos. Estes pontos, somados, contribuem para o aumento da eficiência da cadeia de suprimentos, trazendo benefícios financeiros para empresas e consumidores.

Aplicação da Blockchain em uma cadeia de suprimentos de pão, em que cada nó registra os dados desde o insumo até o produto final.

Finance

Há diversas discussões sobre os possíveis benefícios que a tecnologia da Blockchain pode levar para o mercado financeiro. Para entender as motivações que envolvem estas discussões, precisamos entender o cenário atual e quais características configuram o mundo financeiro tradicional:

1. Toda transação passa por um intermediário, seja um banco, casa de investimento ou outra instituição financeira

2. Cada transação passa por várias etapas de verificações para garantir sua veracidade e legalidade

Existem alguns problemas com este sistema como é constituído hoje. Um deles é que os intermediários financeiros mantêm vastas reservas centrais de dados de clientes - vulnerável a ataques cibernéticos. Além disso, grandes quantidades de tempo e dinheiro são investidos para garantir o processamento correto de cada transação, bem como a segurança da informação processada. Por fim, há uma falta de acessibilidade para as pessoas que não conseguem atender aos padrões estabelecidos pelas instituições financeiras, algo que se intensifica com as elevadas taxas cobradas durante as transações.

A Blockchain pode contribuir para mitigar essas questões. No caso da privacidade dos dados, com essa tecnologia não é necessário que uma pessoa ou empresa saiba quem é a contraparte da operação, basta saber que ela possui os recursos necessários para pagar pelo produto ou serviço. Além disso, a própria arquitetura da Blockchain permite que os dados fiquem descentralizados, reduzindo exposição a alguns tipos de riscos e ataques cibernéticos. Outro ponto é relacionado à inclusão - visto que o Blockchain pode abrir portas para investimentos e negociações de títulos para qualquer pessoa no mundo de maneira digital, rápida e independente, sem estar necessariamente atrelada a uma instituição Financeira.

Tendo em vistas estas melhorias e possibilidades dessa tecnologia na indústria financeira, podemos citar algumas utilizações comuns neste meio:

1. Transações Globais: a transferência de dinheiro através das fronteiras tem sido tradicionalmente lenta e cara, visto que os ativos normalmente passam por diversas instituições financeiras até o destino do pagamento. Portanto, os pagamentos baseados na Blockchain prometem ser econômicos, quase imediatos, transparentes e seguros. Os pagamentos peer to peer (transações feitas entre dois usuários de maneira direta) através da Blockchain podem reduzir os custos de transação em 40–80% com o uso.

Além desses pontos, a Blockchain permite que os bancos reinventem seus relacionamentos. Contas correspondentes (criadas por bancos para receber depósitos, fazer pagamentos ou lidar com transações financeiras de outras instituições financeiras) podem ser substituídas por moeda fiduciária na Blockchain para melhorar drasticamente a transparência e a eficiência. Ela dá a capacidade de gerenciar transações em todos os ativos de um banco, anteriormente em contas correspondentes, por meio de uma única interface. Também há maior visibilidade do status de cada transação, do saldo atual de alguma carteira e rastreamento temporal, independentemente do horário comercial do banco em diferentes fusos horários.

Fonte: https://medium.com/techwasti/future-of-global-transaction-blockchain-975e6bd873a7

2. Plataformas de financiamento: o financiamento de comércio é outra aplicação em finanças que merece atenção. Muitos bancos e outras entidades estão usando plataformas de financiamento de comércio com Blockchain para criar contratos inteligentes entre os participantes, aumentando a eficiência e a transparência e abrindo novas oportunidades de receita.

3. Verificação de identidade digital: a Blockchain permite que bancos e outras instituições financeiras identifiquem indivíduos usando IDs habilitados. Quando as informações de identificação do cliente são protegidas usando esta tecnologia, os bancos podem aumentar a confiança pública enquanto se protegem contra fraudes e aceleram significativamente o processo de verificação.

Se os bancos conseguirem cooperar e manter um registro compartilhado de dados relevantes para a verificação de identidade, isso pode ajudar a agilizar a verificação de identidade e onboarding. KUBE (Know Your Customer Utility for Banks and Enterprises) é uma tecnologia proposta pelo grupo Isabel juntamente com Belfius, BNP Paribas Fortis, ING e KBC para conseguir exatamente isso. A tecnologia visa aumentar a eficiência da integração para clientes empresariais através de um registro compartilhado de atributos de identidade previamente verificados pelos bancos membros.

Os detalhes técnicos do KUBE ainda não estão claros, mas a natureza distribuída na arquitetura contribuirá para o consenso entre cada banco sobre a versão mais recente da transação, além de garantir a integridade e disponibilidade dos dados. Uma vez cadastrados os clientes no sistema KUBE, a verificação de identidade realizada em um banco fica à disposição de outro banco com o consentimento do cliente, que recebe o benefício de que só precisa verificar sua identidade uma vez entre aquela federação de bancos. Neste exemplo, o KUBE fornece um registro verificável e transparente que cria transparência entre os bancos na rede. Porém, o cliente deve confiar nessa solução para proteger a confidencialidade de suas informações pessoais.

4. Relatórios de crédito: os relatórios de crédito impactam dramaticamente a vida financeira dos clientes. Os relatórios de crédito baseados em Blockchain podem ser mais seguros do que os relatórios tradicionais hospedados em servidor, por conta da maior rastreabilidade e visibilidade.

5. Criptomoedas: A criptomoeda é uma forma de pagamento que pode ser trocada online por bens e serviços. Muitas empresas emitem suas próprias moedas, geralmente chamadas de tokens, e estas podem ser negociadas especificamente pelo bem ou serviço que a empresa fornece. É possível pensar neles como se fossem fichas de fliperama ou fichas de cassino. Será necessário trocar a moeda real pela criptomoeda para acessar o produto ou serviço.

Talvez a aplicação mais conhecida, a Blockchain também é utilizada para criptomoedas como o Bitcoin. Os registros transacionais entre os indivíduos desta ficam armazenados em uma Blockchain específica, geralmente pública. Como já mencionado, a cada novo bloco, a própria criptomoeda é dada como recompensa, criando um mecanismo de incentivo.

Mais de 10.000 criptomoedas diferentes são negociadas publicamente, de acordo com CoinMarketCap.com, um site de pesquisa de mercado. E as criptomoedas continuam a proliferar, levantando dinheiro por meio de ofertas iniciais de moedas, ou ICOs. O valor total de todas as criptomoedas em 18 de agosto de 2021 foi de mais de US $ 1,9 trilhão — abaixo da alta de abril de US $ 2,2 trilhões. Na tabela abaixo encontram-se as criptomoedas com maior valor de mercado.

Apesar dessa solução revolucionária, as criptomoedas ainda estão lutando para serem amplamente adotadas. Elas são extremamente voláteis, com preços flutuando rápida e imprevisivelmente. Dada a infância da tecnologia, alguns julgam que ainda há um longo caminho a percorrer antes que as elas se tornem um meio de troca viável e prático. Atualmente, um atributo importante que dá origem a essa volatilidade extrema é a especulação; a demanda por criptomoedas é alimentada por comércio e especulação, e não pela adoção no mundo real.

Conclusões

Até o momento, essa tecnologia passou por diversas ondas de promoção e descrédito, assim como por avanços, modificações e aplicações. Ela ainda é considerada relativamente nova, com muita experimentação associada. Alguns desafios persistem como entraves para sua adoção em massa. Eles englobam tanto aspectos técnicos, como problemas de escalabilidade e proteção contra hackers; quanto aspectos de negócio, como incerteza regulatória, dificuldade de encontrar mão-de-obra especializada, e dificuldade de conciliá-la com os sistemas legados das companhias, principalmente os baseados em bancos de dados tradicionais. O potencial de disrupção é alto, mas é fundamental entender suas aplicações antes de investir nesta tecnologia. Nas próximas edições detalharemos outras aplicações e mais casos de uso.

Referências

KOTESKA, B; KARAFILOSKI, E; MISHEV, A.Blockchain Implementation Quality Challenges: A Literature Review.Sixth Workshop on Software Quality Analysis, Monitoring, Improvement, and Applications, 6., Belgrado, Servia, 2017. Disponível em: http://ceur-ws.org/Vol-1938/paper-kot.pdf.

KAZI, SADIA, et al. Blockchain Based Secured E-voting by Using the Assistance of Smart Contract. Springer IETE International Conference on Blockchain Technology (IC-BCT 2019), Mumbai, India, 2019. Disponível em: https://www.researchgate.net/publication/336915031_Blockchain_Based_Secured_E-voting_by_Using_t he_Assistance_of_Smart_Contract

National Institute of Standards and Technology. Draft NISTIR 8202: Blockchain Technology Overview. Gaithersburg.2018. Disponível em: https://csrc.nist.gov/CSRC/media/Publications/nistir/8202/draft/documents/nistir8202-draft.pdf

MASSESSI, D. Blockchain Public / Private Key Cryptography In A Nutshell. Coinmonks. [S.I] 15 out. 2018. Disponível em: https://medium.com/coinmonks/Blockchain-public-private-key-cryptography-in-a-nutshell-b7776e475e7 c

BITCOIN.ORG. Bitcoin Developer[S.I]. Introdução à Blockchain. Disponível em: https://developer.bitcoin.org/devguide/block_chain.html. Acesso em: 20/08/2021.

IANSITI, M.; LAKHANI;K.R.The Truth about Blockchain. Harvard Business Review. Jan-Feb 2017, pp 118–127. Disponível em : https://hbr.org/2017/01/the-truth-about-blockchain. Acesso em : 19/08/2021.

GAUR, V.; GAIHA;A. Building a Transparent Supply Chain. Harvard Business Review. May-Jun 2020, pp 118–127. Disponível em : https://hbr.org/2020/05/building-a-transparent-supply-chain . Acesso em : 19/08/2021.

FRANKENFIELD, J. Double-Spending. Investopedia,2020. Disponível em: https://www.investopedia.com/terms/d/doublespending.asp. Acesso em: 20/08/2021.

--

--