A tecnologia Blockchain tem evoluído rapidamente. As evidências a favor têm sua fonte não apenas nas inúmeras implementações já existentes no mundo das criptomoedas, mas, também na forma como muitas dessas implementações diferem umas das outras.
Pode-se dizer que a implementação-mãe da cadeia de blocos começou com o Bitcoin e muito tem sido desenvolvido e aprimorado depois dele.
Após um estudo um pouco mais aprofundado sobre as questões técnicas e conceituais que envolvem Blockchain, entendo que não se trata de uma tecnologia fechada e pronta. O Blockchain é um conceito arquitetural de tecnologia que leva em conta alguns pontos-chave e, a partir deles, surgem implementações distintas de acordo com as necessidades, conforme alguns pontos abaixo:
Cadeia de blocos
Resumidamente, o conceito aqui é o de que a assinatura digital de cada bloco de informações seja formada pelos dados do bloco atual somado à assinatura do bloco anterior, sendo assim, cada bloco está encadeado, vinculado, atrelado ao seu bloco anterior.
Em uma plataforma Blockchain, uma assinatura digital (hash) é formada pelos dados do bloco + assinatura do bloco anterior.
Em uma rede Blockchain com mil blocos, só seria possível alterar o bloco de número 990 após alterar todos os 989 blocos anteriores, porém, alterar blocos já inseridos na cadeia envolve a ingrata tarefa de quebra de criptografia, outro ponto chave da arquitetura.
Rede, criptografia e consenso
Blockchain consiste em uma rede descentralizada de nós que estão conectados (por nós, entende-se indivíduos que, voluntariamente, conectam seus computadores a um determinado Blockchain). Para que esses computadores/nós sejam reconhecidos como parte da rede, é necessária a geração de chaves públicas e privadas.
A chave pública se torna o lugar que vai receber dados ou valores. No contexto de criptomoedas, o endereço é a carteira/wallet que vai armazenar as moedas digitais adquiridas. Essas chaves são criadas com base em criptografia assimétrica, onde a combinação das duas chaves remete a uma ligação matemática única entre elas, uma chave é gerada baseada na outra.
Nesse tipo de criptografia, a chave pública se encarrega de encriptar mensagens enquanto a chave privada faz a função oposta, decriptando mensagens e/ou valores. Mesmo com muito poder computacional, quebrar uma chave criptografada com algoritmos já testados exigiria muitos anos, o que tornam improdutivas as tentativas de ataques virtuais.
Outro ponto é que as transações enviadas para a rede precisam de um consenso para serem validadas. O Consenso, nesse caso, é um ponto central da arquitetura, pois é exatamente isso que elimina a necessidade dos intermediários, por exemplo, em transações financeiras.
Ok, mas como chegar nesse consenso?
As transações enviadas para a rede têm uma assinatura digital com informações importantes, tais como o saldo do remetente e data de envio. Essas informações ficam em assinaturas como a exemplificada abaixo: 5dc5acc3083bd43e166282d16bd218
Para evitar fraudes e garantir que as transações não sejam repetidas (duplo-gasto), alguns computadores anônimos da rede dedicam poder de processamento para identificar quais informações estão por trás dessa assinatura (hash).
Computadores com maior poder de processamento conseguem ler um maior número de assinaturas digitais e, assim, validar mais blocos, enviando-os para o Blockchain. No Blockchain do Bitcoin, por exemplo, o processamento dedicado para validar as transações têm um alto custo de energia, por isso, os computadores que validam blocos recebem frações de Bitcoin como recompensa.
A cadeia de blocos proporciona imutabilidade com confiança. A rede descentralizada elimina um único ponto de falha, pois mantém os dados distribuídos, diferente de quando temos que confiar em aplicações que dependem apenas de um ou dois servidores centralizados como fonte de informação.
A Criptografia proporciona privacidade e segurança. O Consenso representa segurança e confiança, eliminando intermediários. Esses pontos caracterizam uma arquitetura Blockchain, mas a forma como são implementados é o que tem diferenciado algumas implementações Blockchain em projetos distintos.
Problemas testam o conceito e aprimoram a tecnologia
Quando falamos em poder de processamento necessário para validar uma transação na rede, estamos falando sobre o conceito de mineração, que foi definido fazendo uma analogia à mineração real do ouro, visto que, para adquirir criptomoedas sem realizar a compra das mesmas, tal como o ouro, é necessário disponibilizar máquinas de alto custo e poder de processamento que fazem um trabalho pesado com cálculos matemáticos.
No ano de 2017, com a popularidade do Bitcoin aumentaram o investimento por este criptoativo, a necessidade de consenso e mineração, o aumento das taxas de transações pagas aos computadores que realizam os cálculos e o consumo de energia elétrica. Nos picos de negociação do Bitcoin, não apenas as transações ficaram demoradas, como também mais caras.
Atentos aos problemas técnicos apresentados na rede Blockchain do Bitcoin, projetos posteriores têm trabalhado em novos conceitos de consenso que não fazem uso de mineração e sim de participação, em que o consenso das transações ocorre por meio dos participantes da rede com maior número de ativos.
Blockchain é uma tecnologia em evolução, não está pronto, passa por constantes melhorias, e cabe aos profissionais encontrar as melhores formas de aplicação, de acordo com as reais necessidades apresentadas.