• Nenhum resultado encontrado

Logística reversa de latas de tinta utilizando Blockchain

N/A
N/A
Protected

Academic year: 2021

Share "Logística reversa de latas de tinta utilizando Blockchain"

Copied!
56
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE COMPUTAÇÃO

Luan Rodrigues Silva

LOGÍSTICA REVERSA DE LATAS DE TINTA UTILIZANDO BLOCKCHAIN

Araranguá 2019

(2)
(3)

Luan Rodrigues Silva

LOGÍSTICA REVERSA DE LATAS DE TINTA UTILIZANDO BLOCKCHAIN

Trabalho de Conclusão de Curso sub-metido à Universidade Federal de Santa Catarina para a obtençăo do Grau de Bacharel em Engenharia da Compu-tação.

Orientador: Prof. Dr. Martín Au-gusto Gagliotti Vigil

Araranguá 2019

(4)

Ficha de identificação da obra elaborada pelo autor,

através do Programa de Geração Automática da Biblioteca Universitária da UFSC.

Silva, Luan Rodrigues

Logística reversa de latas de tinta utilizando blockchain / Luan Rodrigues Silva ; orientador, Martín Augusto Gagliotti Vigil, 2019.

56 p.

Trabalho de Conclusão de Curso (graduação)

-Universidade Federal de Santa Catarina, Campus Araranguá, Graduação em Engenharia de Computação, Araranguá, 2019. Inclui referências.

1. Engenharia de Computação. 2. Logística reversa. 3. Blockchain. 4. Contrato inteligente. 5. Aplicativo móvel. I. Gagliotti Vigil, Martín Augusto. II. Universidade Federal de Santa Catarina. Graduação em Engenharia de Computação. III. Título.

(5)
(6)
(7)

AGRADECIMENTOS

Gostaria de agradecer a minha família, principalmente aos meus pais Venina e José Nilton que sempre me apoiaram de diversas maneiras durante esses anos de curso e também em outras etapas da minha vida. Agradeço ao professor Martín por orientar meu trabalho de con-clusão de curso e projeto de pesquisa, foram muitos ensinamentos vali-osos durante esse período.

Agradeço também a todos os meus colegas de faculdade que me ajudaram em diversos momentos de dificuldade e participação de pro-jetos, dentre eles, Gabriel Ghellere, Luan Lorenzo e Matheus Francisco. Não poderia esquecer do pessoal da Arara Makerspace, foram grandes aprendizados, também ao professor Marcelo Zannin que nos deu um grande apoiou na criação do projeto.

Também aos ex membros da EJEC que participaram comigo e aos professores da UFSC que participaram da minha jornada como acadêmico.

(8)
(9)

"Um navio está seguro no porto, mas não é para isso que os navios foram feitos"

(10)
(11)

RESUMO

Segundo os dados mostrados pela Abrelpe o Brasil gera cerca de 78,4 milhões de toneladas de resíduos sólidos urbanos ao ano. Dessa quanti-dade, destacam-se os lixos recicláveis, tais como embalagens metálicas que são amplamente recicladas por siderúrgicas, pois geram uma grande economia de matéria prima. A Política Nacional dos Resíduos Sólidos (PNRS) foi criada com o objetivo de ser uma grande aliada para a melhora desses dados, ela fomenta a criação de projetos de logística reversa de materiais e atribui a responsabilidade dos setores públicos e privados na vida dos resíduos sólidos. Para amenizar esse impacto neste trabalho foi proposto um modelo de logística reversa de latas de tinta utilizando a tecnologia blockchain. No modelo proposto as latas são registradas e cada participante realiza um depósito caução ao receber a lata, quando ela é entregue a uma siderúrgica os depósitos são libera-dos. Foi desenvolvido um contrato inteligente na plataforma Ethereum para este sistema e realizados testes nos diferentes cenários para a ga-rantia dos estados esperados para cada situação. Além do contrato foi desenvolvido um roteiro de testes para a garantia de funcionamento em diversos cenários diferentes. A partir do contrato foi desenvolvido um aplicativo móvel que interage com ele na blockchain de testes Ropsten, foi utilizada a tecnologia NFC para a identificação e registro de latas e códigos QR para identificação dos atores. Ao final do trabalho foi possível notar que o modelo de logística reversa aplicado no aplicativo pode ser utilizado de maneira a diminuir o impacto causado por latas de tintas que não são destinadas a um local correto.

Palavras-chave: Logística reversa; Blockchain; Contrato inteligente; Aplicativo móvel

(12)
(13)

ABSTRACT

According to data shown by Abrelpe, Brazil makes about 78.4 million tons of urban solid waste a year. On this amount stands out the recy-clable garbage, such as metallic packagings that are largely recycled by steel mills, seeing as they generate a big saving on raw material costs. The Nacional Politics of Solid Wastes (PNRS) was created to improve these data, it promotes the creation of materials reverse lo-gístics projects and attributes the responsibility of public and private sectors on the live cycle of the products. To soften this impact, in this work was proposed a logistics reverse model to paint cans using block-chain technology. On the proposed model the tins are registered and each participant does a bailment before receiving the tin. When it is received by the steel mill, the bails are released for the participants. For this system was developed a smart contract on the Ethereum plat-form, and it was tested on different scenarios to guarantee the system functionality. From this was developed a mobile application that in-teracts with the contract deployed on the blockchain, it was used the NFC technology to the identification and registering of tins, and QR codes to identify the actors. At the end of this work, it was noticed that the logistics reverse model applied to the mobile application can be useful to soften the impact of paint cabs that are not returned to the correct destination.

Keywords: Reverse logistics; Blockchain; Smart contract; Mobile ap-plication

(14)
(15)

LISTA DE FIGURAS

Figura 1 Foco da atuação da logística reversa.. . . 28 Figura 2 Exemplo de código QR com informação "Olá mundo". . 30 Figura 3 Exemplo de encriptação com chave pública e decriptação com chave privada. . . 31 Figura 4 Exemplo de encriptação com chave privada e decriptação com chave pública. . . 32 Figura 5 Estrutura dos dados na blockchain . . . 34 Figura 6 Diagrama de fluxo para a primeira etapa do sistema . . 39 Figura 7 Exemplo de código Solidity com a IDE Remix . . . 41 Figura 8 Execução dos testes programados pelo Truffle . . . 45 Figura 9 Diagrama da interação entre os serviços e o aplicativo . 46 Figura 10 Tela inicial do aplicativo, carregamento de carteira pelo código QR . . . 47 Figura 11 Verificação de siderúrgica registrada . . . 48 Figura 12 Mensagem de aviso após uma ação sobre a lata . . . 49 Figura 13 Tela após consulta de lata registrada e sem depósitos . 50 Figura 14 Tela de uma lata que foi recolhida pela siderúrgica . . . . 50

(16)
(17)

LISTA DE TABELAS

Tabela 1 Síntese dos Benefícios Ambientais, Sociais e Econômicos 29 Tabela 2 Atribuição de cada ator no primeiro modelo . . . 37 Tabela 3 Custo de execução no contrato para cada atividade e seu respectivo autor. . . 43

(18)
(19)

LISTA DE ABREVIATURAS E SIGLAS

IBGE Instituto Brasileiro de Geografia e Estatística . . . 23

Abrelpe Associação Brasileira de Empresas de Limpeza Pública e Resíduos Especiais . . . 23

PNRS Política Nacional dos Resíduos Sólidos . . . 23

NFC Near Field Communication . . . 29

RFID Radio-Frequency Identification . . . 29

QR Quick Response . . . 29

EVM Ethereum Virtual Machine . . . 34

SDK Software Development Kit . . . 35

PEV Ponto de entrega voluntário . . . 40

IDE Integrated Development Environment . . . 41

API Application Programming Interface . . . 46

(20)
(21)

LISTA DE SÍMBOLOS

(22)
(23)

SUMÁRIO 1 INTRODUÇĂO . . . 23 1.1 OBJETIVOS . . . 24 1.1.1 Objetivo Geral . . . 24 1.1.2 Objetivos Específicos . . . 24 1.2 METODOLOGIA . . . 24 1.3 ESTRUTURA DO TRABALHO . . . 25 2 FUNDAMENTAÇÃO TEÓRICA . . . 27 2.1 LOGÍSTICA REVERSA E CADEIA DE SUPRIMENTOS . . 27 2.2 NFC . . . 29 2.3 CÓDIGO QR . . . 29 2.4 HASH . . . 30 2.5 CRIPTOGRAFIA DE CHAVE PÚBLICA . . . 31 2.6 CRIPTOMOEDAS . . . 32 2.7 BLOCKCHAIN . . . 33 2.8 CONTRATOS INTELIGENTES . . . 34 2.9 TECNOLOGIAS DE SOFTWARE . . . 35 2.9.1 Flutter . . . 35 2.9.2 Infura . . . 35 2.9.3 Ganache . . . 36 2.9.4 Truffle . . . 36

3 MODELO ANTERIOR DE LOGÍSTICA REVERSA . 37

4 MODELO DE LOGÍSTICA REVERSA . . . 39 4.1 CONTRATO INTELIGENTE . . . 40 4.1.1 Requisitos Funcionais . . . 41 4.1.2 Desenvolvimento . . . 41 4.1.3 Testes . . . 42 4.2 APLICATIVO MÓVEL . . . 46 5 CONSIDERAÇÕES FINAIS . . . 51 5.1 TRABALHOS FUTUROS . . . 51 REFERÊNCIAS . . . 53

(24)
(25)

23

1 INTRODUÇĂO

O Brasil ocupa o lugar de 5o maior em população no mundo

IBGE (2018), em dados informados pela Associação Brasileira das Em-presas de Limpeza Pública e Resíduos Especiais (Abrelpe), ele também possui a marca de 78,4 milhões de toneladas de resíduos sólidos urba-nos gerados, totalizando 374,58 quilos de resíduos por habitante por ano (ABRELPE, 2018 ).

Dentre os tipos de lixo, pode-se destacar as embalagens metá-licas. A instituição Prolata Reciclagem que foi fundada por empresas pertencentes ao ramo de embalagens de aço desde sua criação propiciou uma quantidade de 2276 toneladas de aço reciclado e redução em 2595 toneladas em economia na extração do minério de ferro e 351 toneladas de carvão mineral (PROLATA, 2016 ).

Devido a propriedades físicas, a reciclagem de metais pode ser feita sem limites. Dado esse cenário, sucatas de obsolescência, que são captadas de produtos que não são mais utilizados, podem servir para reuso. A siderúrgica é o local onde há um grande interesse em captação de sucatas, visto que seu produto final é feito com essa matéria prima, dessa forma ela atua tanto no ramo de produção quanto de reciclagem ao mesmo tempo (VASQUES, 2009 ).

A lei no12.305/2010 institui a Política Nacional dos Resíduos

Só-lidos (PNRS) (BRASIL, 2019 ) apresenta a responsabilidade dos setores privados e públicos pelo ciclo de vida de resíduos sólidos. O objetivo de longo prazo é a melhora em métricas positivas para a sustentabilidade e meio ambiente. Nesta mesma lei é fomentada a elaboração de projetos para gerenciamento de resíduos sólidos nas esferas federal, estadual e municipal.

Como a PNRS foi oficializada recentemente, o cenário brasileiro ainda não está maduro na área de logística reversa, para uma efetivi-dade maior desta área é necessário a cooperação de todos os partici-pantes envolvidos no processo e que haja incentivo para que isso seja feito.

O uso da tecnologia blockchain permite que dados sejam trans-mitidos e armazenados de forma descentralizada, ela garante que dados persistidos na rede permaneçam imutáveis e ao mesmo tempo acessíveis para todos os participantes realizarem consultas e terem sua própria có-pia (BRAGA; LEAL; FILHO, 2016 ).

Neste trabalho é explorado um sistema descentralizado para in-centivar a logística reversa de resíduos sólidos. Transparência e

(26)

imu-24

tabilidade dos dados fornecem uma confiança maior na plataforma (BRAGA; LEAL; FILHO, 2016 ), por isso foi escolhida a utilização de uma proposta com Blockchain.

Este trabalho possui vínculo com as áreas de criptografia, com-putação, sistemas distribuídos e logística. Foi motivado no problema da logística reversa de resíduos sólidos.

1.1 OBJETIVOS

1.1.1 Objetivo Geral

Conceber uma nova solução para problema de logística reversa de latas de tinta utilizando blockchain.

1.1.2 Objetivos Específicos

• Estudar soluções existentes de logística reversa que usam block-chain.

• Projetar uma solução de logística reversa alternativa baseada em blockchain.

• Utilizar tecnologia NFC e código QR na solução desenvolvida. • Desenvolver uma prova de conceito para a solução projetada.

1.2 METODOLOGIA

Foram projetados os seguintes passos para alcançar os objetivos pelos quais são buscados na seção 1.1:

1. Pesquisa bibliográfica sobre soluções de logística reversa usando blockchain.

2. Projetar solução de logística reversa usando o blockchain Ethe-reum.

3. Implementar solução projetada criando contratos inteligentes e aplicativo móvel.

(27)

25

5. Sintetizar resultados através da escrita da monografia.

1.3 ESTRUTURA DO TRABALHO

O capítulo 1 é apresenta uma uma contextualização no am-biente de logística reversa e blockchain, em seguida a justificativa e objetivos do trabalho. No capítulo 2 são apresentados os conceitos básicos teóricos para o entendimento do trabalho. No capítulo 3 é mostrado um modelo relacionado a este trabalho. No capítulo 4 é apresentada uma proposta de modelo de logística reversa aplicado no cenário de latas de tinta, acompanhado com uma prova de conceito. No capítulo 5 são feitas as considerações finais e trabalhos futuros.

(28)
(29)

27

2 FUNDAMENTAÇÃO TEÓRICA

2.1 LOGÍSTICA REVERSA E CADEIA DE SUPRIMENTOS

Segundo (ROGERS; TIBBEN-LEMBKE et al., 1999, p.2 ) a logística reversa é a captação de mercadorias no seu destino final, em busca da captação de valor ou quando ela chega ao destino correto.

Faz parte do ciclo de logística reversa atividades como retorno de mercadorias defeituosas, excesso de estoque, programas de reciclagem e materiais perigosos (ROGERS; TIBBEN-LEMBKE et al., 1999, p.3 ).

A coleção de tarefas repetidas desde a coleta de matéria prima até a parte onde é gerado valor ao cliente é chamada de cadeia de suprimentos (BALLOU, 2006 ). Fazem parte dessa área atividades como transporte, controle, distribuição de matéria prima.

Exitem casos em que o processo de logística não encerra no con-sumidor final, já que possuem um canal de logística reversa, onde o produto por sua vez deve ser devolvido para um destino correto após o uso, por obsolescência ou porque não é mais utilizado. Estes materiais podem ser levados para seu produtor ou a um destino correto como lixo, para reciclagem ou devido descarte. A cadeia de suprimentos encerra quando o produto é descartado no destino correto (BALLOU, 2006 ).

Segundo (LEITE, 2002 ) a logística reversa pode atuar em duas grandes áreas, a logística reversa de pós-consumo e a de pós-venda. A logística reversa pós-venda se enquadra em produtos que foram usados pouco ou nenhuma vez e que retornam a participantes da cadeia de dis-tribuição devido a qualquer tipo de problema . Já a logística reversa de pós-consumo parte de produtos que foram utilizados pelo consumidor, não possuem mais utilidade para ele e retornam ao mercado através de canais reversos. Na figura 1 é mostrada todas as possíveis combinações de atuação no ramo da logística reversa:

(30)

28

Figura 1 – Foco da atuação da logística reversa.

Fonte: (LEITE, 2002 ) adaptado, colocado estoques e validade de produto.

Na parte mostrada na figura 1 de "Bens de Pós-Consumo"no Fim de Vida útil, o material pode retornar ao mercado através da reciclagem.

No trabalho de (SANTOS; LOUREIRO; OLIVEIRA, 2013 ), foi feito um estudo de caso de uma empresa citada com nome fictício de RG Reciclagem, que realiza serviços de logística reversa de materiais reci-cláveis. Como consequência dos serviços dessa empresa foi constatado que houveram benefícios como na redução de lixo em aterros, geração de empregos e uma diminuição no custo de adquirir matéria-prima em siderúrgicas.

Na tabela 1 são mostrados benefícios ambientais, sociais e econô-micos na implantação de um sistema de logística reversa.

(31)

29

Tabela 1 – Síntese dos Benefícios Ambientais, Sociais e Econômicos

Dimensão Benefícios Ambientais, Sociais e Econômicos Ambiental Preservação de recursos ambientais.

Ambiental Diminuição da quantidade de resíduos descartados. Social Geração de empregos.

Social Conscientização da importância de separar os materiais. Econômico Diminuição nos custos de aquisição de matéria-prima

para as empresas compradoras. Fonte: (SANTOS; LOUREIRO; OLIVEIRA, 2013 )

2.2 NFC

Near Field Communication (NFC) é uma tecnologia de comuni-cação de curto alcance sem fio desenvolvida pela Philips e Sony em 2002 (COSKUN; OZDENIZCI; OK, 2013 ). Possui uma comunicação do tipo half duplex entre os diferentes dispositivos (COSKUN; OZDENIZCI; OK, 2013 ). O NFC é considerado uma versão limitada do Radio-Frequency Identification (RFID) que opera na frequência de 13,56 MHz. Possui três diferentes modos de operação, leitura/escrita, ponto-a-ponto e o modo de simulação de cartão. No modo de leitura/escrita, um disposi-tivo NFC pode ler e escrever tags passivas, que são ativadas através do campo magnético emitido pelo dispositivo que está interagindo com ela. No modo ponto-a-ponto é possível a conexão e transmissão de dados entre dois dispositivos NFC. No modo de simulação de cartão o dis-positivo NFC atua como um cartão contactless que pode ser utilizado para pagamentos (ANDERSSON, 2016 ).

2.3 CÓDIGO QR

Códigos QR são matrizes de duas dimensões que são utilizadas para a codificação de dados (KROMBHOLZ et al., 2014 ). Ele foi inven-tado em 1994 pela empresa Denso, com o objetivo principal de controle de peças de carros, porém se tornou em uso para outras diversas ati-vidades (SOON, 2008 ). Pelo baixo custo de produção e facilidade de implantação, códigos QR são amplamente utilizados em anúncios. Prin-cipalmente para codificação de endereços de websites (KROMBHOLZ et

(32)

30

al., 2014 ).

Figura 2 – Exemplo de código QR com informação "Olá mundo".

Fonte: Autor

Para a decodificação de um código QR, um smartphone pode capturar a imagem através de sua câmera e decodificar o código para uma informação utilizando um software para a leitura. Existem 40 tipos diferentes de códigos QR com diferentes capacidades de armazenamento (KROMBHOLZ et al., 2014 ). Eles são resistentes a danificações e podem ser lidos mesmo que haja uma remoção parcial do código, devido ao uso de código Reed-Solomon em sua implementação (KROMBHOLZ et al., 2014 ).

2.4 HASH

Uma função hash é uma função do tipo h = H(M) , onde M é a mensagem a ser processada e h é a mensagem cifrada (STALLINGS,

2017, p. 340 ). Ela transforma uma mensagem uma sequência de caracteres de tamanho fixo. É recomendado que seja muito difícil, ou computacionalmente impraticável, uma função hash gerar a uma mesma saída de caracteres para duas mensagens de entrada diferentes. Em geral a principal motivação da função hash é a integridade dos dados. Uma função hash utilizada para aplicações de segurança são ditas seguras pois dado um atacante com o hash de um dado sigiloso, o método mais eficiente de descobrir o dado original é o de força bruta (STALLINGS, 2017, p. 340 ).

(33)

31

2.5 CRIPTOGRAFIA DE CHAVE PÚBLICA

Segundo (STALLINGS, 2017, p.289 ), a criptografia de chave pú-blica utiliza uma chave para criptografar um dado, e outra para des-criptografar. Além de criptografia e descriptografia, elas servem para gerar e verificar assinaturas.

Apesar de serem completamente diferentes, elas são relacionadas. É muito difícil computacionalmente descobrir uma chave de decriptação de um dado, sabendo o algoritmo de criptografia e a chave de encrip-tação (STALLINGS, 2017, p.287 ). O usuário deve guardar para sí uma das chaves que não foi usada, assim a segurança do dado criptografado é garantida.

É mostrada na figura 3 o caso da encriptação com chave pública onde Bob envia a mensagem X encriptada com a chave pública de Alice P Uae ela com sua chave privada P Raconsegue decriptar a mensagem..

Figura 3 – Exemplo de encriptação com chave pública e decriptação com chave privada.

Fonte: (STALLINGS, 2017, p.287 ) traduzido pelo autor

Na figura 4 é realizada a encriptação do dado X com a chave privada P Rb e o usuário destino consegue decriptar o dado Y com sua

(34)

32

Figura 4 – Exemplo de encriptação com chave privada e decriptação com chave pública.

Fonte: (STALLINGS, 2017, p.287 ) traduzido pelo autor

No ambiente de criptomoedas chaves públicas e privadas são uti-lizadas como carteiras, no Bitcoin por exemplo quando é realizada uma transação, ela é assinada com a chave privada do usuário utilizando o algoritmo de assinatura digital, com a chave pública é possível veri-ficar que a transação foi assinada por aquele endereço (TSCHORSCH; SCHEUERMANN, 2016 ).

2.6 CRIPTOMOEDAS

A ideia de dinheiro digital começou pela década de 80, mas de-morou muito tempo para surgir uma solução aplicada. No projeto de (DAI, 1998 ) é mostrada a tentativa de dar um valor monetário em uma moeda digital a partir da resolução de um problema computacional como uma prova de trabalho(TSCHORSCH; SCHEUERMANN, 2016 ).

O problema de moedas digitais era a incapacidade de gerenciar o gasto duplo de uma moeda, que significa garantir que um determinado valor seja gasto apenas uma vez. Quando é feita a mesma tentativa em

(35)

33

um sistema centralizado como o de um banco, ele é capaz de detectar que o usuário está tentando realizar a transferência de uma quantidade de moeda para duas pessoas ao mesmo tempo (TSCHORSCH; SCHEUER-MANN, 2016 ).

O Bitcoin surgiu com o objetivo de criar um mecanismo para evitar o gasto duplo. Nesse sistema o valor a ser transferido em uma transação deriva de uma transação passada assinada, que mostra que o valor foi para a pessoa que está a transferir a moeda para uma próxima pessoa. Em casos de que existem duas transações para a transferência de um mesmo valor, é considerada apenas a primeira recebida pelo sistema (NAKAMOTO, 2009 ).

Após o Bitcoin, popularizou-se a adoção de criptomoedas, se-gundo (COINMARKETCAP, 2019 ), atualmente existem 3052 moedas registradas oficialmente, sendo as três com o maior valor de mercado são Bitcoin, Ethereum e Ripple, este valor é calculado pelo valor que está sendo negociado no momento por cada moeda multiplicado pela quantidade total de moedas em circulação. Essas moedas podem ser negociadas diretamente entre usuários ou utilizando um serviço centra-lizado, que é o caso de corretoras.

2.7 BLOCKCHAIN

No modelo de (NAKAMOTO, 2009 ), o bitcoin funciona através do blockchain, que é um livro-razão distribuído (TSCHORSCH; SCHEU-ERMANN, 2016 ). Os participantes da rede realizam transferências de moedas através de transações, que são agrupadas em um bloco e ele é ligado a um bloco anterior pelo seu hash como mostra na figura 5 (TSCHORSCH; SCHEUERMANN, 2016 ).

O bloco garante que uma transação foi registrada em um deter-minado momento, desde que essa transação seja assinada pelo reme-tente e ele possua saldo (TSCHORSCH; SCHEUERMANN, 2016 ).

Para que isso funcione, é necessário de um algoritmo de consenso para os participantes da rede, que determina como são gerados e aceitos os blocos, o Bitcoin usa o algoritmo de prova de trabalho. Deste modo o participante realiza um cálculo matemático de alta complexidade, gas-tando recursos computacionais para a geração do bloco (NAKAMOTO, 2009 ).

Com um bloco formado, ele é propagado para a rede, onde os outros participantes podem verificar a autenticidade dele e adicionar a sua cópia do blockchain, no Bitcoin o algoritmo seleciona a cadeia de

(36)

34

Figura 5 – Estrutura dos dados na blockchain

Fonte: (TSCHORSCH; SCHEUERMANN, 2016 )

blocos mais longa (NAKAMOTO, 2009 ).

Em blockchains não permissionadas como no Bitcoin e Ethereum, qualquer um pode ser participante da rede e entrar em concenso com os demais para manter um estado válido da blockchain. Já em uma blockchain permissionada os participantes são conhecidos e o controle é limitado a quem possui permissão. Um exemplo de blockchain per-missionada é a plataforma Hyperledger (CACHIN, 2016 ).

2.8 CONTRATOS INTELIGENTES

No ambiente Ethereum, contratos inteligentes são programas imu-táveis que rodam de maneira determinística dentro de uma EVM (Ethe-reum Virtual Machine) (ANTONOPOULOS; WOOD, 2018 ).

Estes programas podem ser criados utilizando uma linguagem de alto nível que é compilada para bytecode. Ao ser lançado na rede Ethereum, o contrato recebe um endereço onde pode ser utilizado e serve como identificação (ANTONOPOULOS; WOOD, 2018 ).

As execuções de um contrato são feitas através de um incentivo. Além disso suas operações são atômicas, caso ocorra algum erro durante a execução, é realizado um roll back em todas as alterações de estado realizadas (ANTONOPOULOS; WOOD, 2018 ). Um contrato não pode ser modificado uma vez lançado, caso tenha sido programado ele pode apenas se auto destruir.

Funções de contratos são classificadas nas que realizam mudança de estados do contrato e as que apenas realizam consulta, como verifi-car o valor de uma variável, consultas não possuem custo para serem realizadas. Já as que realizam mudança de estado possuem uma taxa

(37)

35

que pode variar de acordo com a quantidade de dados salvos e o número de operações de baixo nível a serem executadas, essa taxa é chamada de gas (WOOD, 2019 ).

É possível realizar transferências para um contrato depositando Ether, a maneira de como essa moeda será movimentada do contrato para fora depende das regras programadas na criação dele. Podem ser criados ativos virtuais dentro de contratos, chamados de Tokens, eles podem representar também outras informações abstratas de posse, como o direito de ação em um sistema (ANTONOPOULOS; WOOD, 2018 ).

2.9 TECNOLOGIAS DE SOFTWARE

2.9.1 Flutter

Flutter1é um SDK para o desenvolvimento de aplicativos de alto

desempenho. Ele permite que através de um código-fonte seja possível gerar aplicativos para iOS, Android e web. Os aplicativos são feitos na linguagem Dart2. No Flutter todos os elementos são criados a partir

de Widgets, ao contrário de outros modelos que podem separar a parte de controle com a de interface. Cada Widget pode ser composto por diversos pequenos Widgets, como por exemplo um Widget botão pode ter um Widget de texto dentro dele.

2.9.2 Infura

Infura3é um serviço que fornece o acesso a blockchain do

Ethe-reum através de uma API, onde pode ser conectada pelo protocolo HTTP e WebSocket. Pode-se realizar requisições onde um dado é envi-ado, ou conexões de inscrição que o usuário pode receber eventos toda vez que determinada ação ocorre. Os tipos de requisições e inscrições são padronizadas, dessa forma interagir com a API do Infura e com um nodo conectado a blockchain funcionariam da mesma maneira.

A vantagem de utilizar este serviço é não precisar utilizar um servidor realizar as conexões a blockchain. Além do fornecimento da API, o usuário cadastrado neste serviço pode acompanhar estatísticas

1Flutter - https://flutter.dev/docs/resources/technical-overview 2Dart Programming Language - https://dart.dev/

(38)

36

das requisições.

2.9.3 Ganache

O software Ganache4 permite a criação de uma blockchain

pri-vada do Ethereum para ambientes de desenvolvimento. São disponibi-lizadas carteiras com saldo para o usuário utilizar em suas aplicações. Pode ser utilizada para realizar testes de contratos na rede Ethereum. Ele também fornece uma interface para a visualização de transações, carteiras, blocos e outras estatísticas da rede privada.

2.9.4 Truffle

Truffle 5 é um framework de testes para a blockchain do

Ethe-reum. É possível realizar testes automatizados de contratos inteligentes utilizando a linguagem Javascript ou Solidity. Para os testes ele precisa se conectar a alguma blockchain para executar as ações do contrato e realizar as verificações, por isso geralmente são utilizadas redes privadas de teste como o Ganache para isso.

4Ganache - https://www.trufflesuite.com/ganache 5Truffle - https://www.trufflesuite.com/truffle

(39)

37

3 MODELO ANTERIOR DE LOGÍSTICA REVERSA No modelo desenvolvido por (ROSA, 2019 ), foi criado um

mo-delo de logística reversa para latas de tinta utilizando o mecanismo de recompensas para o consumidor que devolver a lata a um destino correto. Neste trabalho é mostrado um sistema para logística reversa de latas de tinta, utilizando a tecnologia Hyperledger, que é uma block-chain privada. No cenário foram criados 8 autores que participam do sistema de logística reversa, indústria, lojista, consumidor, catador de lixo, siderúrgica, aterro, governo e gestor. A forma de pagamento do sistema é com cripto-ativos, denominados como Criptolata, este ativo é gerado e controlado pela indústria.

A recompensa do criptoativo é feita quando o consumidor de-volve a lata a um PEV (ponto de entrega voluntária).

Tabela 2 – Atribuição de cada ator no primeiro modelo

Ator Função

Indústria Geração de cripto ativos. Promove descontos em latas pagas com cripto ativos.

Lojista Aceita e compra latas com cripto ativo. Além disso pode servir de PEV para a coleta das latas.

Consumidor Utiliza latas e recebe cripto ativo ao deixar latas usadas em PEV.

Catador Coleta latas em PEVs e verifica se a lata pode ser reapro-veitada ou não.

Siderúrgica Recebe latas que podem ser reaproveitadas para a indús-tria.

Gestor Organiza eventos, consultorias e capacitação para consci-entização de logística reversa do sistema

Governo

Recebe dados de quantidade de latas em circulação da indústria, recolhimento pela cooperativa de catadores e de compra de sucata da siderúrgica

Fonte: Autor

(40)

38

distribuidor, lojista e consumidor, o consumidor após o uso do produto, deve descartá-lo em um PEV, neste lugar é realizada a recompensa do cripto ativo pela ajuda dele no sistema. A partir desse ponto o consumidor pode ganhar descontos em latas utilizando esse cripto ativo como pagamento, os demais participantes também, até o cripto ativo chegar novamente a indústria. O produto devolvido pelo cliente a um PEV será recolhido por um catador que levará ele para a cooperativa e nela será realizada a triagem, decidindo se o resíduo será descartado a um aterro ou reaproveitado pela siderúrgica. A partir do momento que a siderúrgica recolhe o produto, o mesmo pode servir de matéria prima para novas latas.

Como prova de conceito, foi desenvolvido um contrato inteligente na plataforma hyperledger composer, que é uma blockchain permissio-nada, foi utilizada a linguagem javascript.

(41)

39

4 MODELO DE LOGÍSTICA REVERSA

Assim como o sistema de compra de bebidas de garrafas retorná-veis, onde o consumidor compra a garrafa separadamente da bebida, foi elaborado um sistema de logística reversa baseado em depósito caução e penalidade a todos os participantes da cadeia de logística caso não haja cooperação para levar a embalagem a um destino correto. Nesse cenário o produto utilizado é a lata de tinta.

Na figura 6 é mostrado um diagrama de fluxo e atores que par-ticipam do sistema de logística reversa.

Figura 6 – Diagrama de fluxo para a primeira etapa do sistema

Fonte: Autor

O governo apesar de não ser mostrado no diagrama, ele possui o papel de ser responsável pela implantação e incentivo do sistema, assim como verificar possíveis irregularidades. Mesmo com a implanta-ção dos acordos setoriais, a penalidade caso não seja devolvida a lata ajudará na cooperação com o sistema e ao mesmo tempo contribuindo positivamente para o meio ambiente.

A indústria registra uma lata e realiza a venda para o distri-buidor. O distribuidor deposita um caução CD como garantia de que

aquela lata será devolvida a um local apropriado, como mostra na figura 6. Este caução será liberado no momento em que a lata for devolvida a um ponto de reciclagem, representado pela siderúrgica.

(42)

40

O lojista realiza o mesmo procedimento de compra da lata com depósito de um caução CL. Ao realizar a venda da lata, o lojista faz

com que o consumidor também deposite o caução CC na compra da

lata.

O consumidor tem o papel de entregar a lata a um ponto de entrega voluntário , é considerado que há uma supervisão neste local para que a lata possa ser deixada corretamente, então a siderúrgica pode realizar a coleta do material e fazer a liberação do caução feito pelos integrantes da cadeia logística. No modelo as siderúrgicas são pontos confiáveis, pois elas devem garantir para cada lata recebida, seja feita realizada a liberação dos cauções de quem participou no ciclo de vida do produto.

Com os registros de quem gerou cada lata e quem recebeu, é possível realizar acordos entre siderúrgicas e fábricas, visando a compra de latas recicladas mais baratas e a siderúrgica conseguindo sucata para servir de matéria prima para suas vendas. Além disso é possível auditar por exemplo se uma siderúrgica está realmente recebendo os materiais gerados pela fábrica.

Um ponto negativo de um sistema de penalidades deste tipo é que caso algum participante decida não realizar a devolução da lata, os demais participantes perdem o depósito, sem chances de recuperação. Além disso no modelo é considerado que o PEV é um ponto de confi-ança onde a siderúrgica pode recolher as latas e fazer a liberação dos depósitos.

4.1 CONTRATO INTELIGENTE

No modelo proposto, todas as ações são realizadas na blockchain do Ethereum, um contrato inteligente ficará responsável pelo armaze-namento e processamento das informações do sistema. Os depósitos de caução são feitos com a moeda Ether, e permaneceram no contrato até que seja dada a ordem de liberação por uma siderúrgica confiável. A confiança da siderúrgica é dada por um endereço de carteira aprovado pelo dono do contrato, que pode ser um órgão governamental, dessa maneira há um controle de que não ocorra uma liberação indevida por algum usuário malicioso.

(43)

41

4.1.1 Requisitos Funcionais

O sistema possui os seguintes requisitos funcionais para seu fun-cionamento:

• Registrar uma lata

• Realizar depósito caução para uma lata e vinculá-lo a uma car-teira

• Dar baixa em lata e devolver os respectivos depósitos as carteiras vinculadas

• Associar uma carteira a uma siderúrgica • Consultar status de uma lata

• Contabilizar latas recebidas por uma siderúrgica

4.1.2 Desenvolvimento

Para o desenvolvimento do contrato foi utilizada a linguagem Solidity e a IDE Remix.

Figura 7 – Exemplo de código Solidity com a IDE Remix

Fonte: Autor

Os testes foram feitos utilizando a rede de testes Ropsten, nela é possível obter moedas fictícias para testes e ao mesmo tempo testar de forma muito semelhante com a rede oficial.

(44)

42

Através do contrato é possível realizar toda a interação com os atores representados na figura 6. A criação do contrato é proposta para o governo, que terá autonomia para delegar siderúrgicas que são certificadas e que podem ser auditadas para métricas do governo em reciclagem, além de garantir que acordo entre indústrias e siderúrgicas sejam mais transparentes.

Após o lançamento do contrato na rede, é possível que qualquer indústria realize o cadastro de latas, latas possuem um identificador único, cada lata pode ser passada para a próxima pessoa através de um depósito caução fixo, isso garante que cada pessoa que realiza o depósito possa cobrar da próxima pessoa a destinar a lata para um destino correto. Apenas uma siderúrgica certificada pode receber as latas e assim liberar os depósitos para todos os participantes do sistema. Foram criadas funções no contrato para a criação de lata, de-pósito, e recolhimento da siderúrgica. Foram criadas outras funções auxiliares que consultam o estado atual do contrato. O código do con-trato será colocado no link da plataforma de hospedagem de código fonte Github1 após o registro do software.

Para as principais funções do contrato são cobradas taxas de execução do contrato, que serão pagas juntas com possíveis depósitos, as funções listadas na tabela 3. O valor da transação foi calculado pela seguinte fórmula:

Ct= G ∗ Pg∗ Pe (4.1)

Onde Cté o custo da transação, G é o gas utilizado, Pgé o preço

pago por gas e Pe preço do ether em real. O preço do gas foi obtido

pelo serviço Gitcoin2, nele é estimado o preço para uma transação ser

efetivada em até 5 minutos, o custo obtido no momento foi de 1 Gwei3.

A cotação do Ether foi feita através de uma corretora brasileira. Os preços colocados na tabela 3 foram calculados nas cotações do dia 4 de novembro de 2019.

4.1.3 Testes

Para os testes de funcionamento do contrato foi utilizado o fra-mework de testes Truffle e o software Ganache para criar um ambiente de testes com uma blockchain privada e carteiras.

1https://github.com/Luanr/logistica-rev-contrato 2Gitcoin - https://gitcoin.co/gas/

(45)

43

Tabela 3 – Custo de execução no contrato para cada atividade e seu respectivo autor.

Ator Ação Gas Custo Aproximado (R$)

Governo Criação contrato 1199488 0,88

Governo Conceder permissão siderúrgica 45120 0,03

Fábrica Criação lata 65827 0,05

Distribuidor Depósito caução 106752 0,08

Lojista Depósito caução 91752 0,07

Consumidor Depósito caução 91752 0,07

Siderúrgica Coleta Lata, libera depósitos 65387 0,05

Fonte: Autor

Foram listados e executados testes unitários e de integração do contrato. Para abranger a maior quantidade possível de situações, fo-ram listados os cenários de maneira que fosse testada todas as etapas do modelo e situações que não devem ocorrer. Nos testes foi utilizada a linguagem Javascript.

Para garantir o funcionamento do contrato foram utilizadas fun-ções de asserção para sucesso ou falha, ela verifica se o resultado espe-rado é o obtido no teste.

Os testes foram pensados para formalizar uma sequências de ati-vidades que devem ocorrer no sistema, e garantir que o sistema atue da forma correta mesmo que o usuário tente fazer alguma operação não permitida. Dentro da sequência de testes, foram testadas funções do contrato durante o ciclo de vida de uma lata, simulando um cená-rio real onde o usuácená-rio poderá tentar chamar qualquer função em um determinado momento. Os casos de teste abaixo foram separados em categorias para um melhor entendimento:

Verificação de dono do contrato e permissão de siderúrgica: • Dono do contrato deve ser quem criou

• Consulta de siderúrgica não cadastrada deve retornar falso • Cadastro de siderúrgica confiável não é aprovado por endereço

que não é dono do contrato

• Consulta de siderúrgica cadastrada pelo dono do contrato deve retornar verdadeiro e disparar evento de siderúrgica cadastrada

Ações para lata não registrada:

(46)

44

• Depósito feito em lata não registrada deve disparar erro

• Depósito feito para outra pessoa em lata não registrada deve dis-parar erro

• Devolução em lata não registrada deve disparar erro Ações após registro da lata:

• Criação de lata com sucesso deve disparar sucesso com o evento de criação de lata

• Criação de lata já registrada deve disparar erro e ser revertida • Consulta de criador do produto deve ser quem criou

• Depósito feito sem a quantidade de ether deve disparar erro • Depósito para outra pessoa feito sem a quantidade de ether deve

disparar erro

• Depósito deve disparar evento em sucesso

• Depósito feito para outra pessoa deve disparar evento em sucesso Ações para lata com pelo menos um depósito até finalização: • Após dois depósitos com sucesso, devolução por siderúrgica

con-fiável deve disparar erro por não ter 3 depósitos

• Após três depósitos, próximo depósito deve disparar erro • Após três depósitos, devolução deve disparar erro caso seja

exe-cutada por siderúrgica não certificada

• Função de identificar depositantes pelo id deve retornar todos que devem receber caução

• Após três depósitos, devolução deve disparar sucesso se a siderúr-gica for certificada e cauções devem ser liberados no mesmo valor pago

• Devolução disparar erro caso a lata já tenha sido devolvida • Criação de lata deve disparar erro caso a lata já tenha sido

de-volvida

Após a execução dos testes foi verificado que todos passaram de acordo com o esperado de acordo com a figura 8.

(47)

45

Figura 8 – Execução dos testes programados pelo Truffle

(48)

46

4.2 APLICATIVO MÓVEL

Foi desenvolvido um aplicativo móvel para a visualização da prova de conceito desenvolvida. O aplicativo foi desenvolvido utilizando a linguagem Dart e o framework Flutter.

Para a interação com a blockchain do Ethereum foi utilizado o serviço Infura, que disponibiliza uma API para requisições do tipo Hy-pertext Transfer Protocol (HTTP) e Websockets. Informações enviadas ao Infura são recebidas e enviadas ao nodo deles que interage com a blockchain do Ethereum como mostra na figura 9.

O aplicativo móvel se comunica com o contrato que está ins-tanciado na blockchain através de transações enviadas por requisições HTTP do tipo POST e eventos são recebidos por Websockets toda vez que uma ação é realizada no contrato.

Figura 9 – Diagrama da interação entre os serviços e o aplicativo

Fonte: Autor

No aplicativo foram utilizadas as tecnologias de identificação de código QR pela câmera para coletar endereços de carteiras. Para a identificação de uma lata foi utilizada a tecnologia NFC, onde o usuá-rio pode aproximar o dispositivo de uma tag e realizar o cadastro ou consulta de uma lata.

Ao abrir o aplicativo, o usuário recebe uma requisição para car-regar sua carteira com um código QR como mostra na figura 10 (a). Em seguida o saldo é carregado e são mostradas as opções de usuá-rio, inicialmente o usuário pode consultar uma lata e verificar se uma

(49)

47

siderúrgica é registrada como mostra na figura 10 (b).

Figura 10 – Tela inicial do aplicativo, carregamento de carteira pelo código QR

Fonte: Autor

Para verificar uma siderúrgica o usuário deverá apontar para o código QR da carteira que ele quer verificar. Na verificação da siderúr-gica é mostrada também a quantidade de latas coletadas por ela caso ela seja registrada, de acordo com a figura 11.

A etapa de cadastro de lata consiste em consultar uma tag de uma lata que não foi cadastrada e realizar o pedido de criação pelo aplicativo. No pedido é feita uma requisição para o contrato registrar aquele identificador como uma lata, após isso o usuário pode verificar o estado atual daquela lata através da tag. A lata pode possuir quatro

(50)

48

Figura 11 – Verificação de siderúrgica registrada

Fonte: Autor

estados possíveis, o primeiro é onde ela não está registrada, registrada porém sem depósitos, lata com a quantidade máxima de depósitos feita e pronta para devolução e o estado de devolvida. A partir do estado da lata o usuário pode realizar ações como registro, depósito, devolu-ção ou apenas visualizar o status atual dela. Na figura 13 mostra o carregamento de uma lata que já foi registrada pela fábrica e está sem depósitos, dessa maneira a única opção de ação sobre a lata é realizar um depósito para si ou em nome de outra pessoa. Após a realização de uma ação sobre a lata, a transação é enviada e o usuário é alertado com um identificador dessa transação como mostra na figura 12. Após a efetivação dessa operação o usuário recebe outra mensagem com os dados da requisição feita e avisando que a transação foi efetivada.

Outras funcionalidades para a experiência do usuário foram adi-cionadas e o acesso delas pode ser visto na figura 13, a primeira é o carregamento de uma outra carteira através do código QR, onde é o ícone de câmera no canto superior direito da figura. A consulta do

(51)

his-49

Figura 12 – Mensagem de aviso após uma ação sobre a lata

Fonte: Autor

tórico de ações do usuário no aplicativo pode ser acessada através do ícone "Histórico"localizado no canto direito da parte inferior. Para a limpeza do histórico do aplicativo o usuário pode utilizar o botão de lixeira ao lado do ícone do carregamento da câmera.

Através da consulta da lata pela tag mostra informações como data de criação, nome do criador, endereço das carteiras que realizaram depósito e endereço da siderúrgica caso a lata tenha sido devolvida, caso a lata não tenha sido registrada no momento, o usuário pode realizar esse cadastro. No cenário da figura 14 a lata passou finalizou seu ciclo de vida.

(52)

50

Figura 13 – Tela após consulta de lata registrada e sem depósitos

Fonte: Autor

Figura 14 – Tela de uma lata que foi recolhida pela siderúrgica

(53)

51

5 CONSIDERAÇÕES FINAIS

Este trabalho buscou mostrar um modelo alternativo de logística reversa para latas de tinta utilizando a tecnologia blockchain, com o intuito de melhorar o reaproveitamento de latas metálicas. O modelo de logística reversa proposto serviu como uma alternativa ao modelo de bonificação, utilizando um esquema de penalidade para os participantes caso não haja cooperação de um deles. No cenário os pagamentos e recebimentos foram feitos utilizando a moeda Ether do blockchain do Ethereum.

A tecnologia blockchain mostrou-se eficiente para a resolução deste problema, onde foi possível desenvolver um contrato inteligente que descreveu corretamente as regras para o sistema de logística re-versa. Foi realizada uma análise de custos do contrato

As regras do contrato foram validadas pela etapa de testes, em que foram feitos diversos cenários de teste onde uma ação deveria ser ou não válida. Para a exemplificação do sistema foi desenvolvido um aplicativo móvel, que se comunica com a blockchain do Ethereum para envio e recebimento de informações desse contrato.

Ao final do trabalho foi possível atingir todos os objetivos alme-jados no início do trabalho.

Apesar disto, este trabalho apresentou dificuldades durante o desenvolvimento, o primeiro foi encontrar a maneira fácil de utilizar o sistema por todos os participantes. Cada participante tem uma ma-neira de utilizar o aplicativo, consumidores podem preferir a facilidade na instalação e uso, já os atores que utilizam isso em larga escala po-dem se preocupar na velocidade de ação em cada lata. Como cada lata é registrada individualmente, participantes que lidam com uma grande quantidade de latas não conseguirão adotar o sistema de forma efici-ente. Latas podem ser sujadas de tinta, isso pode atrapalhar ou ainda impossibilitar a leitura das tags.

5.1 TRABALHOS FUTUROS

Apesar da especificidade do tema, para futuros trabalhos é possí-vel a adaptação do modelo sugerido para outros materiais ou modificar a quantidade de atores envolvidos. Além disso a implementação de um modo de somente leitura para as tags NFC pode melhorar o sistema, dessa maneira uma vez registrada não seria possível modificá-la. A

(54)

im-52

plementação de uma maneira mais eficiente para realizar operações com muitas latas de uma vez, isso poderia ser implementado no aplicativo em conjunto com o código do contrato para aceitar diversos valores de latas para uma devida operação.

(55)

53

REFERÊNCIAS

ABRELPE. Panorama dos resíduos sólidos no Brasil 2017. 2018. http://abrelpe.org.br/pdfs/panorama/panorama_abrelpe_2017.pdf. Acessado em: 25-10- 2019.

ANDERSSON, D. E. A survey on contactless payment methods for smartphones. In: . [S.l.: s.n.], 2016.

ANTONOPOULOS, A.; WOOD, G. Mastering Ethe-reum: Building Smart Contracts and DApps. O’Reilly Media, Incorporated, 2018. ISBN 9781491971949.

<https://books.google.com.br/books?id=SedSMQAACAAJ>. BALLOU, R. Gerenciamento da Cadeia de Suprimentos: Logística Empresarial. Bookman, 2006. ISBN 9788536305912. <https://books.google.com.br/books?id=XTq7VgXxm5MC>. BRAGA, A. M.; LEAL, R. L. V.; FILHO, J. R. F. Tecnologia blockchain: uma visão geral. 2016.

BRASIL. Lei da Política Nacional de Resíduos Só-lidos No 12.305. 2019. Acessado: 6 set. 2019.

<http://www.planalto.gov.br/ccivil_03/_ato2007-2010/2010/lei/l12305.htm>. Acessado em 6 sep. 2019.

CACHIN, C. architecture of the hyperledger blockchain fabric. 2016. <https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf>. COINMARKETCAP. CoinMarketCap: Cryptocurrency Market Capitalizations. 2019. https://coinmarketcap.com/. Acessado em 25-10-2019.

COSKUN, V.; OZDENIZCI, B.; OK, K. A survey on near field communication (nfc) technology. Wireless Personal Communications, v. 71, n. 3, p. 2259–2294, Aug 2013. ISSN 1572-834X.

<https://doi.org/10.1007/s11277-012-0935-5>. DAI, W. B-Money. 1998. Acessado em 23-10-2019. <http://www.weidai.com/bmoney.txt>.

IBGE. Estimativas da população residente no Brasil e Unidades da Federação com data de referência em 1o de julho de 2018. [S.l.], 2018.

(56)

54

KROMBHOLZ, K. et al. Qr code security: A survey of attacks and challenges for usable security. In: TRYFONAS, T.; ASKOXYLAKIS, I. (Ed.). Human Aspects of Information Security, Privacy, and Trust. Cham: Springer International Publishing, 2014. p. 79–90. ISBN 978-3-319-07620-1.

LEITE, P. R. Logística reversa nova área de logística empresarial. Revista tecnologística – MA. SÃO PAULO, Edit. Publicare, May 2002. NAKAMOTO, S. Bitcoin: A peer-to-peer electronic cash system. 2009. <http://www.bitcoin.org/bitcoin.pdf>.

PROLATA. Programa Prolata. 2016.

https://www.abrafati.com.br/wp-content/uploads/2013/04/programa-prolata.pdf. Acessado em: 25-10- 2019.

ROGERS, D. S.; TIBBEN-LEMBKE, R. S. et al. Going backwards: reverse logistics trends and practices. [S.l.: s.n.], 1999.

ROSA, R. J. da. modelo de logística reversa baseado em contabilidade distribuída - blockchain. Dissertaçăo (Mestrado) — UFSC, 2019. SANTOS, C. A. F. dos; LOUREIRO, M. G.; OLIVEIRA, T. S. de. A logística reversa e suas implicações na sustentabilidade: um estudo de caso de uma organização intermediária da cadeia reversa do ramo de sucatas. Espacios. Vol. 34, 2013.

SOON, T. J. Qr code. Synthesis Journal, v. 2008, p. 59–78, 2008. STALLINGS, W. Cryptography and network security : principles and practice. Boston: Pearson, 2017. ISBN 978-0134444284.

TSCHORSCH, F.; SCHEUERMANN, B. Bitcoin and beyond: A technical survey on decentralized digital currencies. IEEE Communications Surveys Tutorials, v. 18, n. 3, p. 2084–2123, thirdquarter 2016.

VASQUES, A. C. estudo da reciclagem de metais no país. [S.l.], 2009. WOOD, G. Ethereum: A secure decentralised generalised transaction ledger. 2019. <https://ethereum.github.io/yellowpaper/paper.pdf>.

Referências

Documentos relacionados

Both the distribution of toxin concentrations and toxin quota were defined by epilimnetic temperature (T_Epi), surface temperature (T_Surf), buoyancy frequency (BuoyFreq) and

Assim, este trabalho apresenta uma abordagem que tem como objetivo principal: (i) analisar a cobertura de código levando em consideração os fluxos de chamadas existentes no sistema

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

Analisaram-se 15 diferentes ovários em cada estágio, com exceção do estágio IV (desovado), no qual foram observadas apenas quatro fêmeas.. As medidas foram tomadas sempre no

et al., (2012), nos estudos realizados sobre o PCK, são propostas algumas estratégias para reconhecê-lo, como entrevistas, observações de aulas, análise de planejamentos de ensino

Em média, a Vivo forneceu a melhor velocidade de download para os seus clientes em 2020... A Vivo progrediu em especial a partir de abril

־ Uma relação de herança surge quando um objecto também é uma instância de uma outra classe mais geral (exemplo: “automóvel é um veículo”). ־ É sempre possível

A partir deste momento é dada indicação para a seleção da população em estudo e é ativado o envio da medicação pelo promotor, ficando o FH da Unidade de