Tecnologias Disruptivas: Blockchain e tangle aplicadas na internet das coisas (V.3, N.5, P.10, 2020)

Tempo estimado de leitura: 9 minute(s)

Divulgador da Ciência:  Prof. Dr. Carlo Kleber da Silva Rodrigues (CMCC/UFABC)

 

A Internet das Coisas (do inglês, Internet of ThingsIoT) possui diversas aplicações, incluindo redes inteligentes, cidades inteligentes, contratos inteligentes e gestão de saúde. Neste cenário, a rede de comunicação subjacente deve oferecer processamento e disseminação de dados de maneira transparente, intensa e pervasiva, o que traz preocupações relacionadas a aspectos de segurança, privacidade e escalabilidade.

 

Considere, por exemplo, uma operação de crédito entre dispositivos IoT regulada por um contrato inteligente em uma rede de comunicação peer-to-peer (P2P). Os nós dos dispositivos IoT armazenam cópias consistentes do contrato inteligente. Um dos dispositivos pode solicitar a atualização do estado do contrato para atribuir crédito a um outro dispositivo para prestação de um serviço. Os nós constituintes da rede são informados dessa atualização quando recebem individualmente o novo estado do contrato. Eventualmente, o dispositivo IoT destinatário do crédito verifica esse estado em seu nó e, em seguida, libera o serviço para o dispositivo solicitante. 

 

Esse processo permite a troca de crédito na ausência de confiança mútua, uma vez que a transação é certificada por um terceiro, ou seja, a rede de nós, e é dificilmente reversível. O objetivo desse processo é, sobretudo, garantir que cada dispositivo observe o mesmo estado do contrato inteligente. A questão crucial de projeto é então fazer com que cada dispositivo permaneça sincronizado com a versão mais recente do contrato, além de garantir segurança, privacidade e escalabilidade.

 

Independentemente da natureza da aplicação IoT, a solução da questão ilustrada acima reside na escolha da tecnologia para manipular as informações das transações entre os dispositivos comunicantes. Nesse sentido, Blockchain e Tangle são duas importantes tecnologias disruptivas e bem merecedoras de atenção na literatura. 

 

Como é implementada a tecnologia Blockchain?

 

As transações dos clientes são agrupadas em blocos interligados formando uma lista encadeada, i.e., a blockchain. Cada bloco está ligado a apenas um bloco anterior a ele. Mineração é o processo matemático que precisa ser executado para que o bloco seja adicionado à blockchain. Esse processo é executado por um peer, denominado de minerador, ou por um grupo de peers, denominado de mining pool. 

 

Os mineradores ou mining pools são também responsáveis por coletar as transações transmitidas em broadcast na rede e agrupá-las em blocos. Cada vez que um bloco é minerado, o correspondente minerador ou mining pool recebe uma recompensa, que é um incentivo financeiro para que a mineração seja continuamente realizada. 

 

Na prática, a mineração consiste em tentativas sucessivas para determinar um valor de nonce que resolve o hash criptográfico do bloco de transações, atendendo a um certo critério. A dificuldade desse critério é ajustada com base na frequência com que os blocos são adicionados à blockchain. A determinação do nonce é a chamada prova de trabalho (do inglês, proof of work) de que o bloco foi verificado e pode ser adicionado. O algoritmo de hash criptográfico utilizado é o SHA256.  

 

Além das transações, cada bloco possui um cabeçalho com metadados. A identificação de cada bloco é feita pelo hash criptográfico de seu cabeçalho. Como informado, cada bloco faz referência a apenas um bloco anterior, chamado de bloco pai. Essa referência é feita com o hash do cabeçalho do bloco pai. Ou seja, cada bloco contém o hash do cabeçalho de seu pai dentro de seu próprio cabeçalho. 

 

A sequência de hashes que liga cada bloco ao seu pai cria uma cadeia de blocos que faz o caminho de volta até o primeiro bloco do sistema, denominado bloco gênese. A mudança da identidade de um bloco B geraria um efeito cascata da mudança da identidade de todos os blocos subsequentes a ele. Esse efeito cascata constitui a base da segurança do sistema com relação à inviolabilidade das informações registradas. Vide Figura 1.

 

Figura 1: Segurança da Blockchain.

 

A Blockchain teve sua origem em 2008, junto com a proposta da criptomoeda Bitcoin. Apesar da concepção original para pagamentos eletrônicos, a Blockchain foi rapidamente identificada como de aplicabilidade mais abrangente. Por exemplo, na implementação de aplicações de controle de votos, de recursos em gestão orçamentária, de direitos de propriedades e, ainda, de comunicação em sistemas distribuídos, incluindo especialmente IoT.

 

Como é implementada a tecnologia Tangle?

 

A tecnologia Tangle surgiu para implementação da criptomoeda iota, então projetada em 2014 para a indústria de IoT. Sua aplicabilidade, no entanto, não se restringe a pagamentos eletrônicos, mas envolve um escopo bem mais abrangente, tal como ocorre com a tecnologia Blockchain

 

Tangle se baseia na implementação de um Grafo Acíclico Direcionado (do inglês, Directed Acyclic Graph − DAG), onde cada nó é uma transação. Para que a transação seja adicionada ao DAG, há um processo matemático baseado em hash criptográfico, como na Blockchain, e ainda ocorre a validação de duas outras transações pré-existentes no DAG. A função de hash criptográfico originalmente utilizada nessa tecnologia foi a Curl, tendo sido substituída mais tarde pela Keccak-384, também conhecida como SHA-3 (Secure Hash Algorithm 3). Os defensores dessa tecnologia professam que ela é a evolução da Blockchain, levando-se em conta os três aspectos comentados a seguir. 

 

O primeiro aspecto diz respeito a não existência de recompensas na Tangle. Na Blockchain, a recompensa pode inviabilizar a execução de transações típicas de IoT. Isso porque essas transações tendem a ser de pequenos valores. Daí, a existência de uma recompensa de valor maior que o montante que está sendo transferido na transação não seria lógico. Simplesmente eliminar a recompensa na Blockchain tampouco seria aceitável, pois ela é o incentivo para a contínua mineração de blocos. 

 

O segundo aspecto relaciona-se à homogeneidade funcional dos dispositivos IoT na tecnologia Tangle. Isto é, todos os participantes desempenham a mesma função. Isso não é observado na tecnologia Blockchain, pois há dois tipos distintos de participantes: aqueles que emitem transações e aqueles que aprovam transações.

 

Essa discriminação entre dispositivos pode levar a conflitos na mineração de blocos em virtude das recompensas previstas. Nesse caso, uma disputa entre mineradores ou mining pools pode transformar um paradigma de validação concebido originalmente descentralizado em um paradigma centralizado, constituído por mineradores ou mining pools de maior capacidade de processamento.

 

O terceiro aspecto refere-se à maior simplicidade da Tangle para adição de novas transações ao sistema. Essa adição envolve a resolução de uma prova de trabalho e a validação de duas transações pré-existentes. Ocorre que a prova de trabalho da Tangle, por considerar apenas uma transação, demanda um esforço computacional bem menor que àquele da mineração na Blockchain, que envolve múltiplas transações. Por sua vez, a validação de uma transação pré-existente é simples e pode ser realizada em tempo constante. 

 

Cabe mencionar que as validações são representadas por arestas direcionadas no DAG, que partem da nova transação em direção às transações pré-existentes. Se não existe uma aresta direcionada entre uma transação A e uma transação B, mas há um caminho direcionado entre elas, diz-se então que A indiretamente aprova B. Quanto maior é o número de validações que uma transação possui, mais confiável é a validade dessa transação. Por definição, há ainda a transação denominada gênese, que representa a primeira transação do sistema e é validada direta ou indiretamente por todas as outras transações do DAG. Vide Figura 2.

 

 

Figura 2: Visualização gráfica da Tangle.

 

Fontes principais

Popov, S. (2018). The Tangle – Version 1.4.4. Disponível em: https://iota.org/IOTA_Whitepaper.pdf. Acessado em: 13 de junho, 2019.

 MATA, R. Z. A; RODRIGUES, C. K. S. (2018). Uma análise competitiva entre as tecnologias Tangle e Blockchain para Projetos de Aplicações IoT. In: Anais do 17º Workshop de Desempenho em Sistemas Computacionais e de Comunicação (WPerformance / CSBC 2018), julho, Natal, RN, Brasil.

 

Acesse às redes sociais do blog. Estamos no Twitter!

@Blog_UFABC

Você pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Twitter
Blog UFABC Divulga Ciência