Fundamentos do Blockchain

Publicado em por Davi Junior

"Blockchain" é o mais novo termo introduzido no repertório de palavras que estão na moda no mundo da tecnologia. Não importa se estamos falando de uma empresa que processa transações bancárias super rápidas ou que transporta queijo de cabra artesanal por estradas estaduais, a impressão que dá é que qualquer empresa que não estiver investindo nessa tecnologia - que serve de base para criptomoedas como o Bitcoin - estará fadada a extinção. Mas do que se trata realmente essa coisa mágica chamada "blockchain" e como que tal tecnologia, frequentemente associada com criptomoedas obscuras, seria capaz de mudar radicalmente a estrutura de elementos fundamentais de uma economia? É isso que vamos descobrir.

Blockchain saturado

Assim como "cloud" ou "nuvem", o termo "blockchain" está saturado e é frequentemente utilizado de maneira incorreta. Sem querer se aprofundar nas origens históricas por trás da confusão ao redor do termo, o objetivo aqui é buscar entender o que exatamente é uma blockchain.

Blockchain é uma lista de transações que fica armazenada em diferentes computadores. Também conhecida como "distributed ledger" ou "livro contábil distribuído", as alterações que são feitas nessa lista de transações são replicadas rapidamente para outros computadores dentro da blockchain, esses computadores são denominados "peers" ou "pares". Uma blockchain é implementada como um artefato de software. Este software, por sua vez, contém uma base de dados local que mantém uma cópia do blockchain. Quando algum dado é modificado (ex: uma nova transação é feita) o software percebe isso e notifica os computadores que estão ligados na rede, isso garante que todos os computadores ou peers mantenham sempre uma cópia exata do blockchain.

Embora cada implementação do blockchain seja diferente, a maioria dessas implementações oferece funcionalidades que vão além da capacidade de armazenar uma lista idêntica de transações em múltiplos computadores. Uma funcionalidade essencial é a de permissão que define quem pode ler e escrever transações. Outra funcionalidade, talvez a mais importante, é de garantir criptograficamente a validade das transações, fazendo com que modificações maliciosas sejam detectadas muito facilmente e praticamente impossíveis de serem realizadas com sucesso.

É importante entender que não existe uma única "blockchain" assim como também não há uma única "nuvem". O blockchain é uma rede peer-to-peer que possui um livro contábil distribuído que é criado através de um software que roda em vários computadores diferentes.

E o Bitcoin?

A blockchain sobre a qual o Bitcoin é construído possui a mesma arquitetura que foi descrita acima: vários computadores rodam um software oficial do Bitcoin e possuem uma lista idêntica que contém todas as transações de bitcoin que já foram realizadas. Na medida que novas transações ocorrem - um usuário manda bitcoin para outro - tais transações são validadas de forma independente por cada computador que roda o software do Bitcoin, isso acontece por meio de algoritmos complexos e dispendiosos computacionalmente. Essas validações de algoritmo verificam novas transações utilizando técnicas criptograficamente seguras que confirmam todas as transações de bitcoin feitas no passado. Cada peer/computador verifica novas transações de maneira independente e ao mesmo tempo concorrente, e essa verificação é fundamentada na criptografia utilizada por todas as outras transações feitas no passado. Isso acaba fazendo com que fique muito difícil para que um único peer/computador consiga criar, destruir ou modificar maliciosamente alguma transação na blockchain. É esse mecanismo de segurança, garantido matematicamente, que permite a visualização pública de todas as transações de bitcoin.

De onde surge os bitcoins?

É fundamental ter conhecimento básico de como funciona uma blockchain de bitcoin para poder responder a seguinte pergunta: "De onde vem os bitcoins?

Os computadores que rodam o software oficial do Bitcoin e verificam a validade das transações são recompensados com uma fração de bitcoin por cada transação que conseguem verificar, esse processo é popularmente conhecido como "mineração" de bitcoins. A computação envolvida em verificar e adicionar novas transações na blockchain é bastante complexa e demanda computadores potentes que consomem cargas elevadas de energia elétrica. Por definição da implementação do Bitcoin, a dificuldade desses algoritmos aumenta na medida em que mais pares(computadores) instalam o software do Bitcoin com a intenção de verificar transações para minerar Bitcoin. Isso significa que o custo monetário para minerar um único bitcoin em termos de eletricidade e espaço físico (mais de R$ 3.000,00 na data deste post) aumenta na medida em que o uso da rede bitcoin também aumenta. Esse fator, combinado com a inevitável especulação de investidores, influencia diretamente no valor do Bitcoin.

Blockchain nos negócios

O Bitcoin tem se mostrado um método promissor para a transferência de valor devido a certas vantagens que ele oferece em relação aos sistemas tradicionais de pagamento: as transações são instantâneas e não envolvem bancos, os registros das transações são permanentes, as transações podem ser comprovadas. Embora o Bitcoin siga ficando cada vez mais popular, é a sua tecnologia subjacente, o blockchain, o foco de indústrias globais para obter as mesmas vantagens aproveitadas pelo Bitcoin: descentralização, imutabilidade e provabilidade. Se o que não falta são vaporwares (software/solução de tecnologia que foi anunciada mas não foi concebida para compra/consumo) que prometem resolver problemas que os usuários nem sabem que tem, tudo isso utilizando o "poder do blockchain", casos de uso reais para o blockchain nos negócios existem também fora da área de finanças.

Descentralização

Diversos negócios contam com um modelo de serviço centralizado onde os dados são armazenados ou processados por uma entidade única. Pense nos serviços de rede social onde os dados do usuário são armazenados em bases de dados centrais: usuários confiam em serviços de redes sociais unicamente pela integridade e longevidade de seus dados. O que aconteceria se tal serviço interrompesse sua operação, tivesse seus dados corrompidos, ou inexplicavelmente excluísse o conteúdo dos usuários? Através de um processo de serialização (conversão de tipo de dado) e armazenamento de dados para transações em uma blockchain pública, ao invés de bases de dados convencionais, o risco de violação da integridade de dados poderia ser drasticamente reduzido. Por exemplo, se os dados de um usuário fossem maliciosamente alterados por um peer/computador comprometido, todos os outros computadores iriam rejeitar a mudança (eles iriam consultar o histórico de mudanças da lista de transações e detectar a anomalia da mudança), e isso iria diminuir drasticamente o impacto que um hacker poderia causar numa rede social. De maneira similar, se um peer/par parasse de funcionar, todos os outros peers/pares iriam continuar operando normalmente de forma transparente para os usuários finais.

Imutabilidade

Outro caso de uso que está sendo investigado no contexto da tecnologia de livro contábil distribuído é o da imutabilidade do registro dos eventos. Esse tipo de tecnologia é muito mais comum do que parece; por exemplo, considere o serviço de aluguel de carro onde os usuários pagam para fazer o check-out e utilizar carros que são utilizados também por outros clientes. Em uma arquitetura tradicional de base de dados, os registros de quem fez check-out de determinado carro ficariam armazenados em uma tabela na base de dados. O que aconteceria se um hacker fizesse check-out de vários carros, levasse eles embora e depois apagasse qualquer registro na base de dados que pudesse comprovar quem foi a última pessoa que fez check-out em cada carro? Embora medidas de proteção contra esse tipo de coisa já existam, se fosse possível armazenar transações de check-out em uma blockchain distribuída, o risco poderia ser mitigado quase que completamente. Devido ao registro de transações antigas ser necessário para a verificação de novas transações, a reescrita do histórico de transações do blockchain seria uma coisa praticamente impossível no arranjo do blockchain.

Provabilidade

Similar a imutabilidade, a arquitetura de um sistema baseado em blockchain herda a noção de provabilidade em que é possível provar que uma transação ocorreu em determinado momento. No contexto do bitcoin e outras aplicações financeiras do blockchain, provabilidade das transações não é apenas uma grande vantagem, se trata de elemento crucial para o negócio. Entretanto, as vantagens oferecidas pela habilidade de provar a existência de transações no blockchain se estendem para além do campo financeiro. Considere uma cadeia de abastecimento de pesca que conecta pescadores com peixarias e peixarias com restaurantes. O dono do restaurante deseja pagar o preço do peixe da peixaria com base no preço que a peixaria teve que pagar para o pescador. Como o dono do restaurante pode ter certeza de estar pagando um preço que foi derivado do preço que as peixarias pagaram para o pescador? Se todas as partes envolvidas estivessem dentro de uma mesma rede blockchain e todas as transações fossem registradas nessa blockchain, o dono do restaurante poderia ter certeza de que o preço que ele paga pelo peixe deriva precisamente do preço de uma transação comprovada no blockchain. Algumas blockchains oferecem suporte para escrever código que é executado quando certas transações ocorrem; em nosso exemplo, o preço que os restaurantes pagam poderia ser automaticamente calculado com base na última transação feita entre pescador e peixaria.

Tudo bem...mas e o lucro?

Enquanto os benefícios da tecnologia blockchain parecem promissores, o sucesso da aplicação de blockchain fora do setor financeiro ainda não aconteceu. Diversas indústrias têm operado por anos utilizando modelos de base de dados tradicionais e centralizados apesar das violações de integridade e interrupções de serviço. A promessa da descentralização vem também com um dilema filosófico: se os intermediários são removidos de serviços comuns como aluguel de imóveis ou carros, quem se responsabiliza por incidentes inevitáveis que podem ocorrer? Conceitualmente, a descentralização de dados utilizando blockchain necessita de múltiplos computadores ou "pares" para verificar transações independentes umas das outras. Isso funciona bem num contexto de criptomoeda, como o bitcoin, onde os usuários são incentivados a se tornar verificadores com a promessa de serem recompensados pela atividade de mineração. Mas como fica no contexto de redes sociais como foi descrito acima, de que forma os usuários seriam incentivados a se tornarem verificadores de transações da rede social baseada em blockchain? Se apenas uma empresa atuasse como um par único numa rede blockchain, o cenário seria de um ambiente centralizado como em uma base de dados tradicional.

Mesmo que empresas como IBM estejam investigando problemas de cadeia de produção similares aos exemplos descritos acima, as cadeias de produção existem e funcionam bem há centenas de anos, muito antes do blockchain ser utilizado para verificar integridade do produtos.

Apesar de tentativas desenfreadas de várias empresas tentarem utilizar o blockchain para resolver problemas que ninguém tem, a história do blockchain está apenas começando. Pesquisas interessantes de blockchain estão sendo feitas em áreas como contratos legais, cadeias dinâmicas de produção, registros médicos e indústrias da microeconomia que tradicionalmente envolvem intermediários, incluindo as áreas de aluguel de imóveis e armazenamento de dados.

Uma boa parte do uso de blockchain para problemas não financeiros acaba sendo apenas investigativo e forçado. Mas como costuma ocorrer com novas tecnologias, experimentações precisam ser conduzidas antes que a tecnologia possa ser corretamente aplicada.

JS Foundation: Interledger.js

Esta breve explicação do blockchain que foi dada até agora, passou por um aspecto da arquitetura do blockchain que é muito importante e, sobretudo limitativo, dos livros contábeis distribuídos: se trata do fato de que transações entre duas partes, quando um usuário manda bitcoin para outro, somente podem ocorrer na mesma rede blockchain. Por exemplo, se um usuário precisa desesperadamente enviar 10 bitcoins para um amigo mas este usa somente outra criptomoeda, o ethereum, tal transferência se torna impossível. Isso acontece porque a rede Bitcoin é composta por diferentes conjuntos de computadores peers/pares, cada um rodando um software que é diferente daquele que roda na rede ethereum, ou seja, as redes são independentes e não sabem nada uma da outra. Em um mundo onde a existência de diversas criptomoedas está se tornando cada vez mais comum e a confiança nos bancos diminuindo cada vez mais, a capacidade de enviar valor entre redes baseadas em blockchain se torna essencial.

Interledger.js, um projeto da JS Foundation baseado num esforço de padronização chamado W3C Interledger Protocol

A padronização Interledger define um conjunto de protocolos e oferece ferramentas para a transferência de valor entre redes de pagamento, incluindo blockchains de criptomoedas completamente independentes. Ela é agnóstica a rede subjacente de pagamento e permite interoperabilidade entre dois mecanismos de valor, mesmo se ambos forem completamente incompatíveis, permitindo, por exemplo, enviar Bitcoin para uma carteira na rede Ethereum. A intenção do Interledger é de proteger os usuários das taxas de câmbios que ocorrem ao converter criptomoedas de blockchains diferentes.

O Futuro

A empolgação dos benefícios potenciais da tecnologia blockchain é tremenda em quase todas os segmentos da economia, e é difícil manter um conhecimento sólido de novos conceitos nesse cenário emergente. Diferentes explicações do termo "blockchain" e sua inevitável associação ao termo "Bitcoin" somente contribuem para a confusão, mas uma coisa fica clara: a imutabilidade descentralizada de dados que o blockchain pode oferecer, especialmente dentro de uma rede composta por participantes não confiáveis, é uma mudança de paradigma. Projetos como o Interledger abrem portas para um novo tipo de aplicação de pagamentos que não mais precisam ficar restritos à uma única rede de pagamento. Assim como ocorreu com boom das dot-com nos anos 90, a dúvida que reside hoje na tecnologia blockchain mudou de "e se" para "e o que vem agora".

Traduzido por Davi Junior
Postado originalmente por Paul Bouchon em sitepen

Círculo Liberal | Curitiba | 2017