O que esperar de blockchain?

Uma das primeiras perguntas que as empresas fazem a respeito de blockchain é quais benefícios podem ser obtidos com sua adoção. Isso nem sempre é fácil de determinar, dada a quantidade de plataformas disponíveis e diferentes focos que cada uma apresenta.

Para auxiliar nesse entendimento, iremos destacar características que essa tecnologia tem apresentado desde sua primeira implementação, há mais de nove anos, e suas aplicações comerciais.

Neste primeiro artigo, falaremos das características de descentralização do blockchain, das abordagens em diferentes plataformas e quais os benefícios que oferece para um projeto prático.

Descentralização

Talvez este seja o objetivo com o qual a implementação original do blockchain, o bitcoin, tenha se comprometido mais fortemente. No contexto dessa tecnologia, "descentralização" significa a ausência de órgãos reguladores centrais. Qualquer equipamento pode se conectar à rede estabelecida, não há restrições a qual das tarefas existentes um componente pode executar, todas as informações são conferidas por todos os nós e qualquer equipamento pode se desconectar da rede, a qualquer momento, sem que haja prejuízo para as operações da rede como um todo. Esse é um dos sentidos em que se compara a tecnologia blockchain com a internet, que também é fundamentada sobre conceitos de descentralização similares.

Na prática, esse objetivo é atingido em grau variável. A plataforma bitcoin, como se disse, é extremamente comprometida com ele, e chega a grandes extremos em arquitetura para mantê-lo. Por exemplo, uma das razões pelas quais todas as suas operações sejam mantidas em um arquivo único e público é dar a qualquer nó a capacidade de conferir todas as operações. O método de consenso por prova de trabalho permite que qualquer nó possa executar mineração, se desejar. E o tempo médio de resolução de 10 minutos reduz as colisões quando vários nós conseguem minerar um novo bloco "ao mesmo tempo".

A rigor, até a plataforma é definida de forma descentralizada, já que decisões para alteração em seu algoritmo não são tomadas por um órgão central. Quando a maioria dos mineradores concorda com a implementação de uma mudança específica, eles a instalam em seus equipamentos. Divergências podem levar um grupo à separação em outras criptomoedas (como ocorreu com o bitcoin cash).

O Ethereum procura manter essa mesma postura, mas como sua implementação visa execuções de códigos computacionais complexos, existe uma centralização maior pelo menos nas decisões de desenvolvimento. Porém ainda é uma rede pública, acessível pela internet, à qual qualquer um pode se juntar ou sair a qualquer momento e assumir qualquer papel.

Muitas outras plataformas, principalmente as voltadas para aplicações em redes privadas ou semi-privadas, abrem mão de uma descentralização tão generalizada. Nesses casos, o desenvolvimento da plataforma costuma ser coordenado por uma entidade mantenedora, ainda que muitas vezes seja aberto e colaborativo. Só podem participar da rede componentes devidamente autorizados (seja por um elemento específico, seja por configuração). Podem surgir funcionalidades específicas: alguns componentes, por exemplo, podem cuidar da escrita na estrutura de dados, enquanto outros tratam da determinação do consenso de quais operações devem ser escritas e em qual ordem.

Mesmo quando há separação de funcionalidade numa plataforma, em geral a função pode ser executada por um pool de equipamentos que podem ser acrescentados e retirados e tem o mesmo peso em sua operação. Por exemplo, podem haver vários nós com capacidade de escrita e leitura de dados, cada qual responsável por manter uma cópia local do blockchain idêntica aos seus nós "irmãos"; ou uma unidade que determina a ordem de execução de escrita no blockchain pode ser composta por um pool de equipamentos que se fiscalizam mutuamente enquanto decidem a forma de executar essa tarefa.

O desenvolvimento da plataforma costuma ser centralizado em uma entidade mantenedora, ainda que em muitos casos seja aberto e colaborativo.

O que procurar em uma aplicação prática

A descentralização em sua forma mais extrema cria redes públicas onde máquinas de procedências diversas executam as operações requisitadas sobre os dados. Não é um processamento distribuído: todos os nós da rede executam a mesma operação, garantindo a confiabilidade do processo e assegurando que dados não se percam quando equipamentos são retirados da rede, além de manter uma alta disponibilidade. São mais adequadas para dados públicos, organizações não-governamentais e pequenos contratos estabelecidos diretamente entre duas pessoas ou entidades, além da implementação e até integração com criptomoedas. Ou seja, aplicações onde a transparência total seja desejada, ou os dados tenham pouca necessidade de sigilo.

Já em aplicações privadas empresariais, costuma-se optar por uma descentralização menos abrangente, normalmente em redes privadas, para garantir o sigilo de informação. Mesmo nesse caso, ela ajuda a manter a alta disponibilidade do serviço. E nos casos em que há diversos atores que trabalham sobre um conjunto comum de dados, cada qual com seus próprios interesses no processo, cada um deles pode manter um ou mais nós próprios locais naturalmente sincronizados com os outros componentes da rede. Cadeias de fornecimento para produção e/ou transporte são casos típicos. Outra situação é a integração de informações de auditoria, reportes de desempenho ou informações para fiscalização entre sistemas, pois ao manter nós de processamento em todos os interessados com os mesmos dados, aumenta-se a confiabilidade e reduz-se muito os gastos com conciliações custosas.

Autor: Márcio Marcelo Pelícia - Jun/2018

Outros artigos:
"Blockchain": uma palavra em evolução.