Artigos

Uma breve introdução técnica em Blockchain para negócios

Desde o seu surgimento, a Blockchain vem se provando transformador nos mercados corporativos e revolucionário aos olhos visionários que investem nesta tecnologia. Na IBM, exemplos de sucesso não faltam: IBM Food Trust e Everledger são provas de uma tendência do mercado que só cresce.

A aplicabilidade dessa tecnologia se faz presente nos mais diversos sistemas produtivos: Cadeia de Suprimentos, Sistema Bancário, Identificação, a indústria do futuro muito provavelmente terá Blockchain como conceito fundamental.

Apesar da tecnologia já estar difundida em vários mercados por todo o mundo, Blockchain é uma tecnologia relativamente recente, e a sua existência por muitas vezes nem é reconhecida. Regularmente me deparo com profissionais da tecnologia, imersos nesse mundo de inovação, me questionando sobre algo fundamental: “Mas o que é Blockchain?”, e algumas vezes, até mesmo: “Aquele do Bitcoin?

Obviamente, para aqueles envolvidos e engajados profundamente com Blockchain, essas questões estão ultrapassadas, em especial, essa relação quase instintiva que vejo fazerem de Blockchain com criptomoedas, mas com certeza é interessante perceber como o impacto social não acompanhou o tecnológico.

É justamente por isso que hoje vamos falar sobre Blockchain para Negócios, mais especificamente, sobre Hyperledger Fabric. Com isso, podemos fazer uma breve introdução aos conceitos básicos e evidenciar sua enorme diferença com o Blockchain do Bitcoin.

Primeiramente, é de fundamental importância que seja compreendido o significado corporativo do Blockchain. Antes de ser uma solução tecnológica, Blockchain é uma solução de negócio, identificar o use case é fundamental. Para isso, recomendo a leitura deste artigo do Mauricio Magaldi.

Compreendida esta questão, você está pronto para o que falaremos aqui: a parte técnica.

 

Overview Simplificado do Hyperledger Fabric

Blockchain, fundamentalmente, é uma tecnologia que visa trazer confiança para uma rede de negócios. Diferentes tipos de blockchain visam alcançar esse objetivo de diferentes formas através de algoritmos de consenso.

O sistema pode transacionar qualquer ativo que possua valor, seja material ou imaterial.

Visualizando o conceito básico de Blockchain de maneira simplificada

Toda e qualquer mudança realizada em um ativo é gravada em uma transação, que por sua vez, é gravada em um bloco.

Desta forma, toda transação está encadeada pela transação anterior e pela seguinte, sistematicamente interligadas. O mesmo é verdade para os blocos.

Agora vamos aos conceitos fundamentais:

O que esse sistema garante?

  1. Rastreabilidade. A história de todas as transações dos ativos na rede de negócio está registrada no sistema.
  2. Imutabilidade. Um sistema invulnerável a fraudes por alteração nas informações dos blocos, já que uma vez que o sistema valida uma transação ou um bloco, este se torna imutável por consequência da arquitetura do sistema.
  3. Consenso. Uma vez que todos os dados são coerentes entre todos os participantes da rede.

 

Como?

Ex: TRANS A [Ativo CARRO: 0 anomalias] -> TRANS B [Ativo CARRO: 2 anomalias] -> TRANS C [Ativo CARRO: 0 anomalias]

 

  1. Por ser imutável, é seguro e possível retraçar todo o caminho de um ativo, tornando seu ciclo de vida totalmente rastreável.
    Por motivo das transações serem interligadas, é possível passar pelas transações A, B e C e descobrir que o ativo passou de 0 para 2 para 0 anomalias, mesmo que atualmente, no caso, na TRANS C, o carro não possua nenhuma.
  2. Ativos não são modificados em toda a cadeia de blocos/transações. Nesse sistema, uma nova transação é emitida notificando a mudança do estado de um ativo de A para B (Sistema Append-Only).Isto garante apenas que caso haja uma alteração fraudulenta, ela é facilmente identificável. Para alcançarmos verdadeira imutabilidade, basta introduzir o conceito de replicação ao sistema.
    Se todos os participantes de uma rede Blockchain possuírem uma réplica das transações e blocos, para possibilitar uma fraude seria necessário que todos os registros de todos os participantes fossem alterados igualmente e simultaneamente, visto que qualquer divergência entre os registros relevantes à transação resultará na falha da mesma.
  3. Consenso é garantido através de vários fatores, como o Ordering Service, credenciais criptográficas, formatação e integridade dos dados (já que todos compartilham o mesmo registro replicado localmente), entre outros.

 

Outra questão importante, principalmente no meio corporativo, é segurança e privacidade. Como o Hyperledger Fabric endereça isto?

Vamos começar pela Segurança.

Naturalmente, o conceito de criptografia é fundamental no blockchain. Os IDs do bloco e das transações são gerados através de funções hash. Os participantes da rede possuem identidade conhecida a partir de certificados criptográficos. Esses certificados são garantidos por um serviço chamado Certificate Authority, que os emite e assina. Todos os certificados são codificados com criptografia assimétrica.

Além disso, todas as transações são registradas usando um registro de horário com precisão em nano segundos passando por um serviço chamado Ordering Service que garante cronologia ao sistema.

Em Privacidade, precisamos tratar a questão da replicação dos registros. Se todos os participantes da rede conseguem ver todas as transações, aonde estaria a privacidade corporativa nesse contexto?
Este é um problema bem importante que o Hyperledger Fabric supera através do conceito de Blockchain Permissionado.

Transações só são criptografadas aos participantes relevantes a ela. Em paralelo, para validar transações, não é necessário que todos os membros da rede as aprovem, é necessário que somente os participantes relevantes àquela transação aprovem. Este é um conceito presente nas Endorsement Policies.

E finalmente, o último dos conceitos básicos do Hyperledger Fabric é o Chaincode, também chamado de SmartContract. Basicamente, é um código que é executado toda vez que uma transação é emitida. A transação só é aprovada se ela cumpre com todas as regras estabelecidas no contrato.

O Chaincode seria o equivalente às “regras de negócio” em forma de código. Hoje, é muito comum que sejam escritos no Hyperledger Composer, visto que este possui uma interface web que facilita a criação e o teste, enquanto um contrato feito diretamente para Hyperledger Fabric deve ser escrito e compilado em Go Lang ou Node, e o processo de teste do contrato é todo feito por CLI.

Dito isso, passamos por todos os conceitos básicos do Hyperledger Fabric: Imutabilidade, Rastreabilidade, Consenso, Segurança e Privacidade. Aqui falamos de maneira muito simplificada, há muitos outros conceitos e detalhes relativos ao Fabric que não tratamos. Mas isto deve ser o suficiente para iniciar um estudo pessoal e torna-lo um possível futuro entusiasta ou especialista em Blockchain.

Para saber mais, acessem a documentação do Hyperledger: hyperledger-fabric.readthedocs.io

Lucas Fuzaro

Estudante do 2° ano em Sistemas de Informação pela FIAP, com passagem em Física pela UNESP. Estagiario na IBM, atualmente trabalha no desenvolvimento de Demos, PoCs e MVPs em Blockchain. Especialista em arquitetura e infraestrutura da rede de negócios e no desenvolvimento de APIs, como Interfaces WEB, Mobile Apps e SmartContracts. Também trabalhou com com desenvolvimento de PoCs em IBM Cloud utilizando tecnologias como IBM Watson."

Comentários

PUBLICIDADE

RECEBA NOVIDADES

Fique por dentro de todas as novidades, eventos, cursos, conteúdos exclusivos e muito mais.

Oferecimento:

Projeto mantido por:

Media Partners: