Prévia do material em texto
100 Unidade III Unidade III 5 TENDÊNCIAS NA GESTÃO DE DADOS (PARTE 1) Big data analytics é um tópico popular no mundo da tecnologia atualmente. Ele trata de perguntas como “Meu investimento atual em business intelligence está correto?”, “Devo encontrar novas soluções para minha organização?”, “Como faço para integrar meu data warehouse e business intelligence com big data?”, “Como faço para começar ver novos resultados?”, “Quais são as habilidades necessárias?”, “O que acontece com a governança de dados?” e “Como lidamos com a privacidade de dados?”. Em relação a essas perguntas, é evidente que há uma enorme quantidade de dados sendo gerados ao nosso redor, em cada setor da sociedade e da economia. Muitos setores estão gerando cargas de dados, por exemplo, manufatura, automóveis, finanças, setor de energia, consumidores, transporte, segurança, TI e redes. O advento do big data integra campos que envolvem domínio, conceito, teoria e ideia. Ele tornou possível armazenar, processar e analisar esses grandes dados para obter uma visão inteligente e executar informações e decisões calculadas. Essas decisões estão impulsionando as recomendações, o crescimento, o planejamento e as projeções em todos os segmentos da economia, e é por isso que o big data tem inundado o mundo como uma tempestade. Quando olhamos para as tendências de TI nas organizações, elas são comparáveis a uma era em que as pessoas migraram da forma de acessar aplicativos automatizados e computadorizados para aplicativos de nível empresarial, a qual deu origem à arquitetura de novas tecnologias como SaaS e PaaS. Agora vivemos uma era com uma enorme quantidade de dados, que podem ser processados e analisados de forma econômica. O mundo está se movendo em direção ao código aberto para obter os benefícios de taxas de licença reduzidas, armazenamento de dados e baixos custos de computação. Isso realmente se tornou lucrativo e acessível para todos os setores e segmentos nas organizações, ou seja, tornou o big data sinônimo de soluções de baixo custo, escalonáveis, altamente disponíveis e confiáveis que podem agregar grandes quantidades de dados a uma velocidade incrível e que gere percepções inteligentes. 5.1 Big data e analytics Os sistemas digitais estão interligados com as atividades do mundo real. Como consequência, multidões de dados são registrados e relatados por sistemas de informação. Durante os últimos 50 anos, o crescimento dos sistemas de informação e suas capacidades para capturar, tratar, armazenar,compartilhar, transferir, analisar e visualizar dados aumentou exponencialmente. Além disso, incríveis avanços tecnológicos, pessoas e organizações dependem cada vez mais de dispositivos informatizados e de fontes de informação na internet. 101 TENDÊNCIAS EM TI A maioria dos dados armazenados não são estruturados, e as organizações frequentemente vêm enfrentando desafios para capturá-los, selecioná-los e analisá-los. Uma das tarefas mais desafiadoras para as organizações de hoje é extrair informações e o valor que é gerado por esses dados armazenados em seus sistemas de informação. Esses dados, que são altamente complexos e muito volumosos para serem tratados por um DBMS tradicional, são chamados de big data. Segundo Lee, Wei e Mukhiya (2018), big data é um termo para um grupo de conjuntos de dados tão grande e sofisticado que se torna problemático processá-lo usando ferramentas de gerenciamento de banco de dados disponíveis ou aplicativos de processamento contemporâneos. No mercado recente, há tendências massivas de dados para se referir ao emprego de análises do comportamento do usuário, análises preditivas ou alguns métodos de análise de dados que extraem valor desses novos dados analíticos do ecosistema. Quer se trate de dados do dia a dia, dados de negócios ou dados básicos, eles representam um grande volume de dados, estruturados ou não, que são relevantes para a organização. No entanto, não são apenas os tamanhos dos dados que importam, e sim como esses dados estão sendo usados pela organização e quais métodos devem ser utilizados para extrair insights mais profundos que levarão aos melhores negócios e decisões estratégicas. Esses dados volumosos podem ser usados para determinar a qualidade da pesquisa, melhorar o fluxo do processo em uma organização, prevenir uma doença específica, vincular citações legais ou combater crimes. O big data está em toda parte, e com as ferramentas certas pode ser usado para tornar os dados mais eficazes para análise de negócios. Os mesmos autores apresentam alguns fatos interessantes relacionados à big data e a seu gerenciamento e análise: • quase 91% dos líderes de marketing do mundo consomem dados de clientes como big data para tomar decisões de negócios; • curiosamente, 90% dos dados totais do mundo foram gerados nos últimos dois anos; • 87% das pessoas concordam em registrar e distribuir os dados corretos; assim, é importante medir efetivamente o retorno do investimento (ROI) em sua própria empresa; • 86% das pessoas estão dispostas a pagar mais por uma ótima experiência do cliente com uma marca; • 75% das empresas afirmam que vão expandir os investimentos em big data nos próximos anos. Para começar, em termos simples, o big data nos ajuda a lidar com os três Vs: volume, velocidade e variedade. Recentemente, mais dois Vs foram adicionados: veracidade e valor. Entretanto, outros Vs foram associados ao big data. Nesta seção iremos abordar os mais usuais: • Volume: refere-se à quantidade de dados. Olhe a sua volta: enormes quantidades de dados são gerados a cada segundo, através do e-mail que você mandar, de uma mensagem enviada via Twitter, de uma mensagem respondida no Facebook ou outras mídias sociais, e também de outros 102 Unidade III dados como vídeos, imagens, mensagens de WhatsApp, registros de chamadas ou dados de vários dispositivos e sensores. As métricas de medição de dados estão sendo aumentadas de terabytes e zettabytes – todos representam figuras gigantescas de dados. Esse aspecto de volume sozinho se torna um banco de dados tradicional incapaz de armazenar e processar essa quantidade de dados em um prazo razoável e útil, embora uma pilha de big data possa ser empregada para armazenar, processar e calcular conjuntos de dados surpreendentemente grandes em um custo-benefício distribuído e de maneira confiável e eficiente. • Velocidade: refere-se à velocidade de geração de dados, ou a taxa em que os dados são sendo gerados. No mundo de hoje, em que o volume de dados representa um tremendo aumento, temos muitos dados porque estamos gerando dados muito rapidamente. Olhe para as redes sociais: coisas circulam em segundos e se tornam virais, insights das redes sociais são analisados em milissegundos pelos corretores de ações, e isso pode desencadear muita atividade em termos de compra ou venda. Do ponto de vista da venda de um produto, sua efetivação pode levar miléssimos de segundos para ser efetivada, entretanto, outras preocupações também estão sendo pensadas, como furto de dados de cartão de crédito e, dentro disso, processamento de transação fraudulenta, pagamento, escrituração e reconhecimento. O big data permite analisar os dados com grande velocidade. • Variedade: essa dimensão aborda o fato de que os dados podem ser não estruturados. No mundo tradicional de banco de dados, e mesmo antes disso, estávamos acostumados com a forma estruturada de dados que se encaixam perfeitamente nas tabelas. Mas hoje, mais de 80% desses dados não são estruturados, como fotos, videoclipes, atualizações de mídias sociais, dados de uma variedade de sensores, gravações de voz e bate-papo. O big data permite armazenar e processar esses dados de forma muito estruturada; na verdade, abrange a variedade. Observação Terabytes é o nome que caracteriza a unidade de medida utilizada para armazenamento de dados na área da informática, o que é equivalente a 1.024 gigabytes. Ele é representado pela sigla 1TB. Um único zettabyte contém um sextilhão de bytes, ou um bilhão de terabytes. Isso significa que seriam necessários um bilhão de terabytes em discos rígidos para armazenar um zettabyte de dados. • Veracidade: trata-se de validade e exatidão dos dados. Quão precisos e utilizáveis são os dados? Nem tudo em milhares de milhões de dados e registros é corrigido, e esses dados também não são nem precisos, nem referenciáveis. Isto é o que a veracidade realmente é: quão confiáveis são os dados e qual é a qualidade deles. Dois exemplos de dados com veracidade são postagens no Facebook e Twitter com siglas fora do padrão ou erros de digitação. O big data trouxe para a mesa a capacidade de executar análises nesse tipo de dados. Um dos fortes motivos do volume de dados é sua veracidade. 103 TENDÊNCIAS EM TI • Valor: como o nome sugere, este é o valor que os dados realmente contêm. Indiscutivelmente, é o V ou dimensão mais importante do big data. Uma motivação para ir em direção ao big data para o processamento desse conjuntos de dados é que ele nos leva há alguns insights valiosos, e a partir dele tudo leva a questões de custos e benefícios. Lembrete Como o nome sugere, o valor é o V ou dimensão mais importante do big data, o qual nos permite receber insights valiosos para a organização. Aplicações tradicionais de computadores utilizam dados estruturados, tabelas com linhas, colunas e campos bem definidos para processamento. Os dados na era do big data originam-se de diversos locais com diferentes tipos e formatos, o que torna complexa a sua manipulação. Segundo Neto (2018), os dados estão organizados em três tipos: • Estruturados: são organizados em linhas e colunas, em formato de tabela, e são encontrados em banco de dados relacionais, sendo muito eficientes quanto a recuperação e processamento. Planilhas eletrônicas e SQL (linguagem dos bancos de dados) são próprios para acesso e manipulação desses dados. • Semiestruturados: são dados com organização diferenciada, normalmente provenientes da web nos formatos XML e JSON, que precisam de uma prévia análise dos dados para a identificação de sua estrutura. • Não estruturados: são dados de vídeo, áudio, e-mails, documentos de textos em geral (posts, blogs) e dados gerados por aplicativos de redes sociais, como mensagens do WhatsApp, por exemplo. Esses dados requerem um pré-processamento para análise. Dados podem estar em movimento ou em repouso. Observação XML (eXtensible Markup Language) é um formato de dado muito utilizado na web para formulários eletrônicos. JSON (JavaScript Notation Object) é um formato de dado utilizado quando se quer fazer troca de dados entre aplicações. As soluções de big data realizam a análise dos dados provenientes de diferentes locais e de diferentes tipos de dados. Em soluções de software, dados estão misturados: uma parte vem de um banco de dados estruturado; outra, de um satélite em formato GIS (informação geográfica com satélites); outra, de arquivos de programas como Word e Excel; outra, das redes sociais; outra, de sensores de máquinas. Dessa mistura é que são produzidos insights, que serão utilizados para solução de problemas, resposta a perguntas ou, quem sabe, a criação de um novo produto empresarial (chamado de produto de dados). 104 Unidade III Lembrete Dados não estruturados são dados de vídeo e áudio, e-mails, documentos de textos em geral (posts, blogs) e aqueles gerados por aplicativos de redes sociais, como mensagens do WhatsApp. Esses dados requerem um pré-processamento para análise. Muitos deles podem estar em movimento ou parados. 5.2 A infraestrutura de big data As tecnologias que fornecem a capacidade de armazenar, processar e analisar dados são o núcleo de qualquer pilha de big data. A era das tabelas e registros durou muito tempo depois que o armazenamento de dados relacionais padrão assumiu o controle do armazenamento sequencial, baseado em arquivo. Hoje conseguimos aproveitar muito bem o armazenamento e a capacidade de computação; assim, novos desafios e, eventualmente, novas jornadas estão surgindo quando nos deparamos com os 5 Vs do big data. O robusto RDBMS vem lutando para sobreviver de forma econômica como uma ferramenta para armazenamento e processamento de dados. A escala de RDBMS tradicional, quando comparada ao seu poder de computação esperado para processar uma grande quantidade de dados com baixa latência, teve um preço muito alto. Isso levou ao surgimento de novas tecnologias de baixo custo e baixa latência, altamente escalonáveis e de código aberto. Hoje, lidamos com clusters Hadoop com milhares de nós, lançando e agitando milhares de terabytes de dados. Conhecido como o elefantinho amarelo, o Hadoop atualmente é usado para uma infinidade de aplicações de big data. Esse framework foi inicialmente projetado para um propósito específico: um algoritmo de busca da web, tal como o serviço do Google, porém open source. Criado por Doug Cutting e Mike Cafarella, o framework, que antes era parte integrante do projeto Apache Nutch, foi lançado oficialmente em 2006, passando a se chamar Hadoop. Desenvolvido inicialmente para um propósito específico, desde o seu lançamento ele vem sendo usado por grandes empresas. O Hadoop surgiu para suprir necessidades de diversas aplicações de big data. O Yahoo! é até hoje um dos principais utilizadores e colaboradores do framework, mas houve também contribuições significantes de empresas como o Twitter e Facebook, bem como de universidades e comunidades de usuários open source. Observação RDBMS = Sistema de gerenciamento de banco de dados relacional, do inglês Relational Database Management System. 105 TENDÊNCIAS EM TI Segundo Marquesone (2017, p. 91), entre as principais características que tornaram o Hadoop tão interessante para aplicações que envolvem o grande volume de dados estão: • Baixo custo: muitas soluções necessitam de hardware de alto desempenho para o processamento dos dados. O Hadoop foi projetado para o armazenamento e processamento de dados em servidores tradicionais, reduzindo consideravelmente custos com infraestrutura. • Escalabilidade: o Hadoop oferece escalabilidade linear para as aplicações, além de permitir a execução de aplicações em ambientes de cluster com centenas, ou até mesmo milhares, de servidores sem ser necessária a refatoração de código. • Tolerância a falhas: sabe-se que, em ambientes com grandes conjuntos de servidores, é comum a ocorrência de falhas nos componentes de hardware. Por esse motivo, Hadoop possui mecanismos em nível de software que garantem a disponibilidade dos dados e a execução de tarefas, mesmo na ocorrência de falhas. • Novas análises: a flexibilidade oferecida pelo Hadoop, tanto no armazenamento quanto no processamento de diferentes tipos de dados, somada à capacidade de escalar a solução, permitiram a exploração de novas análises até então inviáveis. A figura a seguir demonstra um diagrama de abstração oferecida pelo Hadoop em seus mecanismos existentes em ambiente distribuído, o que permite ao desenvolvedor concentração unicamente na lógica do problema. Por exemplo, caso a equipe do Big Compras precise executar uma aplicação de detecção de fraude utilizando Hadoop, ela pode se concentrar somente na lógica necessária para realizar a detecção. Todas as outras questões relativas à execução da aplicação são tratadas pelo próprio framework, reduzindo consideravelmente o tempo gasto no desenvolvimento. Escalabilidade Tolerância a falhas Balanceamento de carga Escalonamento de tarefas Comunicação entre máquinas Alocação de máquinasLógica do problema Implementado pelo HadoopImplementado pelo desenvolvedor Figura 38 – Abstração oferecida pelo Hadoop Fonte: Marquesone (2017, p. 96). 106 Unidade III NoSQL Abreviação originada de not only SQL, ou seja, não somente SQL, o termo foi cunhado para definir os novos modelos de armazenamento de dados, os quais foram criados para atender necessidadesde flexibilidade, disponibilidade, escalabilidade e desempenho das aplicações inseridas no contexto de big data. Observação O No-SQL na verdade é uma não linguagem de consulta estruturada tradicional. É basicamente uma ferramenta para processar um grande volume de dados multiestruturados, sendo os mais conhecidos HBase e Cassandra. Ao contrário dos sistemas de banco de dados tradicionais, eles geralmente não têm um único ponto de falha e são escaláveis. Uma das suas principais diferenças, se comparada ao banco de dados relacional, é o fato de seu foco ser voltado à integridade dos dados. Os modelos existentes em NoSQL tendem a sacrificar uma ou mais propriedades Acid (acrônimo de atomicidade, consistência, isolamento e durabilidade), para assim oferecer maior desempenho e escalabilidade às soluções que lidam com grande volume de dados. Assim como não existe um padrão único para a criação de aplicações de big data, o termo chamado de one-size-fits-all também não se enquadra em NoSQL. Ou seja, não existe um modelo de armazenamento único que seja adequado para todos os cenários de aplicações, uma vez que cada solução requer necessidades específicas. Os modelos existentes no NoSQL podem ser qualificados em quatro tipos: • Modelo orientado a chave-valor: possui estrutura mais simples. Nesse tipo de armazenamento, uma das principais estratégias é o armazenamento de dados utilizando chaves como identificadores das informações gravadas em um campo identificado como valor. • Orientado a documentos: categoria NoSQL mais popular, oferece simplicidade e flexibilidade no gerenciamento dos dados e também meios de criação de índices sobre os valores dos dados armazenados, enriquecendo as possibilidades de consultas. • Orientado a colunas: o mais complexo dos modelos. Esse modelo também é considerado uma extensão do armazenamento orientado a chave-valor e possui conceitos similares ao do modelo relacional, como a criação de linhas e colunas. • Orientado a grafos: a descoberta de como os dados estão relacionados é mais importante do que os dados em si em algumas situações. Observe o gráfico apresentado na figura a seguir, que oferece um exemplo dos relacionamentos da rede de usuários do aplicativo Big Compras: 107 TENDÊNCIAS EM TI Tipo:”seguidor” Data: “05-08-2015“ Tipo:”seguidor” Data: “06-02-2015“ Tipo:”seguidor” Data: “02-07-2015“ Tip o:”s egu idor ” Dat a: “0 4-0 3-2 015 “ Usuário: “Maria“ Usuário: “José“ Usuário: “João“ Figura 39 – Exemplo de banco de dados orientado a grafos Fonte: Marquesone (2017, p. 60). Bancos de dados MPP (massively parallel processing) São plataformas computacionais capazes de processar dados em uma taxa muito rápida. O trabalho básico usa o conceito de segmentação dos dados em blocos em nós em diferentes clusters, seguida pelo processamento dos dados em paralelo. É semelhante ao Hadoop em termos de segmentação de dados e processamento simultâneo em cada nó, mas se diferencia dele porque não pode ser executado em máquinas de baixo custo, mas em hardware especializado com alta capacidade de memória. Possui interfaces semelhantes à SQL para a interação e recuperação de dados e geralmente acaba processando dados mais rápido, porque usa a memória em processamento. Isso significa que, ao contrário do Hadoop, que opera no nível do disco, o MPP bancos de dados carrega os dados na memória e opera na memória coletiva de todos os nós do cluster. O próximo passo na jornada para big data é entender os níveis e camadas de abstração e os componentes em torno dela. A figura a seguir mostra alguns componentes comuns de pilhas analíticas de big data e sua integração com outros modelos. Vale ressaltar que, na maioria dos casos, HDFS/Hadoop forma o núcleo da maioria dos aplicativos centrados em big data, mas isso não é uma regra geral. 108 Unidade III Spark Impala Kafka Flume Oozie Sqoop Avro Hive Pig Mahout HBase ZooKeeper HDFS, MR, YARN Impala Kafka Flume Oozie Sqoop Avro Hive Pig Mahout HBase ZooKeeper HDFS, MR, YARN Flume Oozie Sqoop Avro Hive Pig Mahout HBase ZooKeeper HDFS, MR, YARN Sqoop Avro Hive Pig Mahout HBase ZooKeeper HDFS, MR Hive Pig Mahout HBase ZooKeeper HDFS, MR HBase ZooKeeper HDFS, MRHDFS, MR 2006 2008 2009 2010 2011 2012 2015 Figura 40 – Arquitetura de um ambiente de big data analytics com dados abertos conectados para o ecossistema proposto Fonte: Marquesone (2017, p.100). Um sistema de armazenamento pode ser uma das seguintes tecnologias: • HDFS (abreviação de Hadoop Distributed File System): é a camada de armazenamento que lida com o armazenamento de dados, bem como com os metadados que são necessários para completar o cálculo. • Modelo NoSQL: pode armazenar dados tabulares, como HBase ou valor-chave Cassandra, em uma camada de computação ou lógica que pode ter as seguintes tecnologias: —― MapReduce: é uma combinação de dois processos separados, o mapeador e o redutor. O mapeador é executado primeiro; em seguida, o conjunto de dados, o qual é transformado em outras estrutura de dados de valor-chave. Então o redutor entra em ação, o qual assume o mapa criado pelo trabalho do mapeador, convergendo em um conjunto de dados menor. —― Pig: outra plataforma colocada em cima do Hadoop para processamento, pode ser usada em conjunto com ou como um substituto para MapReduce. É uma linguagem de alto nível, amplamente usada para criar processamento de componentes para analisar conjuntos de dados muito grandes. Um dos aspectos principais é que sua estrutura pode ser corrigida em vários graus de paralelismo. Em sua essência, um compilador que converte scripts Pig em tarefas MapReduce é amplamente utilizado. 109 TENDÊNCIAS EM TI —― Hive: é uma camada de armazenamento de dados construída sobre a plataforma Hadoop. Oferece facilidade de interação, processamento e análise dos dados HDFS com consultas Hive, que são muito comuns como SQL. Isso permite uma transição do mundo RDBMS para o Hadoop. —― Cascading: é uma estrutura que expõe um conjunto de processamento de dados APIs e outros componentes que definem, compartilham e executam os dados de processamento sobre a pilha Hadoop/big data. É basicamente uma camada de API abstrata sobre Hadoop. É amplamente usado para desenvolvimento de aplicativos por causa de sua facilidade de desenvolvimento. Lembrete Dev é um processo de criação de produto de software usando as várias fases do ciclo de vida, como análise de requisitos, design, codificação, teste, implementação e teste de aceitação do usuário e software de operações. Ops é um processo de fazer com que o produto desenvolvido seja usado em um ambiente operacional, apoiando os usuários a utilizá-lo através dos processos como instalação, atualização, migração, controle operacional e monitoramento, gerenciamento e suporte de configuração. 5.3 Data science O primeiro uso registrado do termo ciência de dados remonta a 1960, por Peter Naur, que supostamente usou o termo ciência de dados como um substituto da ciência da computação e, eventualmente, introduziu o termo datalogia. Em 1974, Naur lançou seu livro intitulado Concise survey of computer methods, com uso liberal do termo ciência de dados em todo o livro. Em 1992, a definição contemporânea de ciência de dados foi proposta no segundo Simpósio Nipo-Francês de Estatística, com o reconhecimento do surgimento de uma nova disciplina pautada principalmente em tipos, dimensões e estruturas de dados. Observação Peter Naur foi um informático dinamarquês, um dos pioneiros no estudo da ciência da computação, agraciado com o Prêmio Turing. O termo dados pode ser definido como informações que são processadas e armazenadas por um computador. Nosso mundo digital inundou nossas realidades com dados. A partir de um clique em um site em nossos smartphones somos rastreados e nossa localização passa a ser usada pelas empresas que consomem esses dados a cada segundo do dia. Nosso mundo estáse afogando nos dados. Dar profundidade a esses dados gigantescos seria a soluções para nossos problemas, muitos dos quais ainda nem foram encontrados e já estão sendo extraídos pelas empresas. 110 Unidade III Esse processo particular de coletar percepções de um conjunto mensurável de dados, usando equações matemáticas e as estatísticas, pode ser definido como ciência de dados. O papel dos cientistas de dados tende a ser muito versátil e muitas vezes confundido com o de um cientista da computação ou um estatístico. Essencialmente, qualquer pessoa ou empresa poderá (desde que possua habilidade) extrair grandes volumes de dados para coletar informações que podem ser encaminhadas para nós, praticantes de ciência de dados. Por exemplo, empresas como Amazon e Target mantêm um controle e registro das compras feitas na loja on-line pelos clientes, para fornecer recomendações personalizadas sobre produtos e serviços. Plataformas de redes sociais como Twitter e Instagram permitem que os usuários listem sua localização atual, o que as torna capazes de identificar padrões de migração, analisando a riqueza de dados que é entregue a eles pelos próprios usuários. 5.3.1 Ciclo de vida da ciência de dados O ciclo de vida para projetos de ciência de dados (TDSP – Team Data Science Process) é uma metodologia amplamente usada para projetos que requerem a implantação de aplicativos baseados em inteligência artificial e/ou algoritmos de aprendizado de máquina. Também pode ser customizada para ser usada na execução de ciência de dados exploratória em projetos, bem como projetos de análise ad hoc. Observação Ad hoc: termo cuja tradução literal é “para esta finalidade”. O ciclo de vida do TDSP é projetado como uma iteração ágil e sequencial de etapas que servem como orientação sobre as tarefas necessárias para o uso de modelos preditivos. Esses modelos preditivos precisam ser implantados no ambiente de produção da empresa para que possam ser usados no desenvolvimento do formulário base de inteligência artificial. O objetivo dese ciclo de vida da ciência de dados é a entrega em alta velocidade e a conclusão do projeto de ciência de dados em direção a um endpoint de engajamento definido. A execução perfeita de qualquer projeto de ciência de dados requer comunicação de tarefas dentro da equipe, bem como para as partes envolvidas. Os componentes fundamentais do TDSP são formados por cinco estágios que descrevem as etapas necessárias para a execução do projeto do início ao fim: conhecimento do negócio, compreensão dos dados adquiridos, modelagem, implantação e aceitação do cliente. 5.3.2 Padronização na estrutura do projeto Permissão de acesso de forma fácil e contínua a documentos do projeto para a equipe de membros permite a recuperação rápida de informações. O uso de modelos e de uma estrutura de diretório compartilhado é um longo caminho. Durante a fase de desenvolvimento de um sistema, há necessidade 111 TENDÊNCIAS EM TI de criar um controle de versão, como TFS, Git ou Subversion, para a colaboração da equipe envolvida no projeto. Requisitos de negócios, tarefas e funcionalidades associadas devem ser armazenadas a um rastreamento ágil de sistema de projeto, como Jira, Rally e Azure DevOps, para permitir o rastreamento de cada funcionalidade do código. Essas ferramentas também ajudam na estimativa de recursos e custos envolvidos ao longo do ciclo de vida do projeto. Observação Endpoint é um dispositivo final conectado a um terminal de rede que pode ser desde computadores e smartphones até câmeras de vigilância e dispositivos IOT. Por estar conectado à rede, ele acaba transmitindo informações, e devido a isso ele está suscetível a diferentes tipos de ataques virtuais. Para garantir a gestão eficaz de cada projeto, segurança da informação e equipe de colaboração, o TDSP confere a criação de armazenamento separado para cada projeto no sistema de controle de versão. A adoção de estrutura padronizada para todos os projetos dentro de uma organização auxilia na criação de biblioteca de conhecimento institucional em toda a organização. Os arquivos contêm códigos de programação para a exploração e extração de dados. Funcionalidades podem ser organizadas usando a estrutura de pastas fornecidas, que também mantêm registros de iterações do modelo. Esses modelos permitem que as equipes-membros entendam facilmente o trabalho que foi concluído por outros, como a adição contínua de novos membros da equipe a um determinado projeto. O formato markdown oferece facilidade de acessibilidade, bem como a possibilidade de fazer edições ou atualizações para os modelos de documento. Para ter certeza de que o objetivo do projeto e todos os objetivos do documento são bem definidos e também para garantir a qualidade esperada dos entregáveis, esses modelos fornecem várias listas de verificação com importantes perguntas para cada projeto. Por exemplo, o termo de abertura do projeto pode ser usado para documentar o escopo do projeto e o problema de negócios que está sendo resolvido pelo projeto, enquanto os relatórios de dados padronizados são usados para documentar a estrutura estatística dos dados. Observação Markdown é uma linguagem simples de marcação criada por John Gruber e Aaron Swartz. Ele converte seu texto em HTML válido, sendo frequentemente usado para formatar arquivos README, para escrever mensagens em fóruns de discussão on-line e para criar rich text usando um editor de texto simples. 112 Unidade III 5.3.3 Infraestrutura e recursos dos projetos de ciência de dados Para armazenar a infraestrutura de forma eficaz e gerenciar análises compartilhadas, o TDSP recomenda o uso de ferramentas como serviço de aprendizado de máquina, bancos de dados, big clusters de dados e sistemas baseados em nuvem para armazenar conjuntos de dados. As análises e infraestrutura de armazenamento que hospedam dados brutos, bem como os processados ou conjuntos limpos de dados, podem ser baseados na nuvem ou localmente. A análise e a infraestrutura de armazenamento permitem a reprodutibilidade da análise e evitam a duplicação e a redundância de dados, que podem criar inconsistência e injustificados custos de infraestrutura. As ferramentas são fornecidas para conceder permissões específicas, para recursos compartilhados e para rastrear sua atividade, que, por sua vez, permite acesso seguro aos recursos de cada membro da equipe. 5.3.4 Ferramentas e utilitários para execução de projetos A introdução de quaisquer mudanças em um processo existente tende a ser bastante desafiadora na maioria das organizações. Para encorajar e aumentar a consistência de adoção dessas mudanças, várias ferramentas podem ser implementadas, as quais são fornecidas pelo TDSP. Algumas das tarefas básicas no ciclo de vida da ciência de dados, incluindo exploração de dados e modelagem de linha de base, podem ser facilmente automatizadas com as ferramentas fornecidas pelo TDSP. Para permitir a contribuição descomplicada de ferramentas compartilhadas e utilitários no repositório de código compartilhado da equipe, o TDSP fornece uma estrutura bem definida. Isso resulta em economia de custos, ao permitir o ingresso de outras equipes no projeto dentro da organização para reutilizar e reaproveitar essas ferramentas compartilhadas e os serviços de utilidade pública. O ciclo de vida do TDSP serve como um modelo padronizado, bem definido, com conjuntos de artefatos que podem ser usados para angariar a colaboração de equipe eficaz e a comunicação em toda a linha de produção. Esse ciclo de vida é composto por uma seleção das melhores práticas e estruturas da Microsoft, para facilitar o sucesso da entrega de soluções de análise preditiva e de aplicativos inteligentes. Vejamos os detalhes de cada um dos cinco estágios do ciclo de vida do TDSP, a saber: conhecimento do negócio, compreensão dos dados adquiridos, modelagem, implantação e aceite do cliente. Estágio 1 – Compreensão do negócio O objetivodesta etapa é reunir e detalhar as variáveis essenciais que serão usadas como alvos para o modelo e as métricas associadas, variáveis que acabarão por determinar o sucesso geral do projeto. Outro objetivo significativo dessa etapa é a identificação das fontes de dados que a empresa já possui ou pode precisar adquirir. Estágio 2 – Aquisição e compreensão de dados O objetivo desta etapa é a produção de conjunto de dados processados de alta qualidade, com relacionamentos definidos para os destinos do modelo e localização do conjunto de dados da análise 113 TENDÊNCIAS EM TI necessária. Nesta fase de “arquitetura de solução”, o pipeline de dados também deve ser desenvolvido, o que permitirá atualizações regulares e pontuação dos dados. As três tarefas principais que devem ser concluídas durante essa fase são a ingestão de dados, a exploração de dados e o conjunto de pipeline de dados. • Ingestão de dados: processo necessário para transferir os dados do local de origem para o destino local, o qual deve ser configurado nesta fase. Os locais de destino são determinados pelos ambientes que permitirão que você execute atividades analíticas como treinamento e previsões. • Exploração de dados: o conjunto de dados deve ser limpo para remover quaisquer discrepâncias e erros, antes que ele possa ser usado para treinar os modelos de dados. Para verificar a qualidade dos dados e reunir as informações necessárias para processamento e modelagem desses dados, ferramentas como resumo e visualização dos dados devem ser usados. Uma vez que este processo é repetido várias vezes, um utilitário automatizado chamado Idear, que é fornecido pelo TDSP, pode ser usado para visualização de dados e criação de relatórios resumidos de dados. Com a obtenção de qualidade satisfatória dos dados processados, os padrões de dados inerentes podem ser observados. Isso, por sua vez, ajuda na seleção e no desenvolvimento de modelo preditivo apropriado para o alvo. Deve-se avaliar se existe a quantidade necessária de dados para começar o processo de modelagem, que é iterativo e pode exigir identificação de novas fontes de dados para alcançar maior relevância e precisão. • Configurar o pipeline de dados: para complementar o processo iterativo de modelagem de dados, um processo padrão pode marcar novos dados, atualizar o conjunto de dados existentes e estabelecer uma configuração de pipeline de dados ou fluxo de trabalho. A arquitetura da solução dos dados, pipeline, deve ser desenvolvida até o final desta fase. Existem três tipos de pipelines que podem ser usados com base nas necessidades e restrições do negócio do sistema existente: baseado em lote, tempo real ou streaming e híbrido. Os entregáveis a serem criados nesta fase são: • Relatório de qualidade de dados: este relatório deve incluir um resumo de dados, a relação entre o requisito de negócios e seus atributos e a classificação variável entre outros detalhes. A ferramenta Idear, fornecida pelo TDSP, é capaz de gerar relatórios de qualidade de dados em uma tabela relacional, arquivo CSV ou qualquer outro conjunto de dados tabular. • Arquitetura de solução: trata-se de uma descrição ou um diagrama dos dados pipeline que é usada para marcar novos dados e previsões geradas, depois que o modelo foi construído, podendo ser referido como arquitetura de solução. Esse diagrama também pode fornecer o canal de dados necessário para retreinar o modelo com base em novos dados. • Decisão do ponto de verificação: antes do início do modelo real, o projeto de processo de construção deve ser reavaliado para determinar se o valor esperado pode ser alcançado e se vai se prosseguir no projeto. Essas decisões são também chamadas de “Vá ou Não”. 114 Unidade III Estágio 3 – Modelagem Nesta fase, o objetivo é encontrar recursos de dados ideais para o modelo de aprendizagem de máquina, o qual possui informações suficientes para prever as variáveis alvo, com precisão, e pode ser implantado no ambiente de produção. As três principais tarefas que devem ser realizadas neste estágio são: recurso de engenharia, treinamento do modelo e determinação da adequação do modelo para o ambiente de produção. Entregáveis a serem criados nesta fase: • Conjuntos de recursos: é um documento que contém todos os recursos descritos na seção de conjuntos de recursos do relatório de definição de dados. Isso é muito usado pelos programadores para escrever o código necessário e desenvolver recursos com base em uma descrição fornecida pelo documento. • Relatório de modelo: documento que deve conter os detalhes de cada modelo que foi avaliado com base no relatório de modelo padrão. • Decisões de ponto de verificação: uma decisão sobre a implantação do modelo para o ambiente de produção deve ser tomada com base no desempenho de diferentes modelos. Estágio 4 – Implantação Nesta fase, o objetivo é liberar os modelos de solução para um menor ambiente de produção, como ambiente de pré-produção e ambiente de teste de aceitação do usuário, antes de eventualmente implantar o modelo no ambiente de produção. A principal tarefa a ser realizada nesta fase é operacionalização do modelo. Depois de obter um conjunto de modelos com níveis de desempenho esperados, esses modelos podem ser operacionalizados para outras aplicações prontas para usar. De acordo com os requisitos de negócios, as previsões podem ser feitas em tempo real ou em lote. Para implantar o modelo, eles devem ser integrados com uma interface de programação de aplicativo (API) aberta para permitir interação do modelo com todos os outros aplicativos e seus componentes. Entregáveis a serem criados nesta fase: • Um relatório de painel usando os indicadores-chave de desempenho e métricas para acessar a integridade do sistema. • Um documento ou livro com os detalhes do plano de implantação para o modelo final. • Um documento contendo a arquitetura da solução do modelo final. 115 TENDÊNCIAS EM TI Estágio 5 – Aceitação do cliente O objetivo desta etapa é garantir que a solução final para o projeto atenda às expectativas das partes interessadas e aos requisitos do negócio reunidos durante o estágio 1 do ciclo de vida da ciência de dados. As duas tarefas principais que devem ser realizadas nesta fase são a validação do sistema e a transferência de projeto. 5.3.5 Importância da ciência de dados A capacidade de analisar e examinar de perto as tendências e padrões de dados usando algoritmos de aprendizado de máquina resultam na aplicação significativa de ciência de dados no espaço da cibersegurança. Com o uso da ciência de dados, as empresas não são apenas capazes de identificar os terminais de rede específicos que iniciaram o ataque cibernético, mas também estão em posição de prever possíveis ataques futuros contra seus sistemas e tomar as medidas necessárias para evitar os ataques que estão acontecendo em primeiro lugar. O uso de sistemas ativos de detecção de intrusão, que são capazes de monitorar usuários e dispositivos em qualquer rede de sua escolha e sinalizar qualquer atividade incomum, serve como uma arma poderosa contra hackers e atacantes cibernéticos, enquanto os sistemas de detecção preventiva de intrusão, que são capazes de usar algoritmos de aprendizado de máquina em dados históricos para detectar ameaças de segurança potenciais, servem como um escudo poderoso contra cyber predadores. Ataques cibernéticos podem resultar na perda de dados e informações inestimáveis, resultando em danos extremos à organização. E para garantir e proteger a criptografia sofisticada de conjunto de dados, as assinaturas complexas podem ser usadas para impedir o acesso não autorizado. A ciência de dados pode ajudar no desenvolvimento de tais protocolos e algoritmos impenetráveis. Ao analisar as tendências e padrões de ataques cibernéticos anteriores a empresas em diferentes setores industriais, a ciência de dados pode ajudar a detectar o conjunto de dados visados com mais frequência e até mesmoprever futuros ataques cibernéticos em potencial. As empresas dependem fortemente dos dados gerados e autorizados por seus clientes, mas à luz do aumento de ataques cibernéticos, os clientes passaram a ser extremamente cautelosos e comprometidos com suas informações pessoais e estão procurando levar seus negócios para as empresas que são capazes de garantir a segurança e a privacidade de seus dados por implementação de ferramentas e tecnologias avançadas de segurança de dados. Aqui é onde a ciência de dados está se tornando a “salvadora” das empresas, ajudando-as a melhorar suas medidas em segurança cibernética. A ciência de dados faz uso de algoritmos avançados de aprendizado de máquina, que tem uma grande variedade de aplicabilidade em vários domínios do negócio – por exemplo, o desenvolvimento de carros autônomos que são capazes de coletar dados em tempo real usando suas câmeras e sensores avançados para criar um mapa de seus arredores e tomar decisões sobre a velocidade do veículo e outras manobras de condução. As empresas estão sempre à espreita para entender melhor a necessidade de seus clientes. Isso agora pode ser alcançado pela coleta de dados, de fontes existentes, como histórico de pedidos do cliente, 116 Unidade III itens vistos recentemente, sexo, idade e dados demográficos, e a aplicação avançada de ferramentas analíticas e algoritmos sobre esses dados passará a gerir insights valiosos. Com o uso de algoritmos de machine learning (ML), o sistema pode gerar recomendações de produtos para clientes individuais com maior precisão. O consumidor atualmente procura aplicações que se preocupam com a experiência do usuário, criando um envolvimento entre ambos. Então, as empresas podem usar essas ferramentas analíticas e algoritmos para obter uma competitividade inovavadora e, com isso, expandir seus negócios. 5.3.6 Ciência de dados nos negócios Data science é um fenômeno que envolve princípios, processos e técnicas para a compreensão através de análise (automatizada) e nos permite melhorar a tomada de decisão, já que isso geralmente é de interesse direto para os negócios. A figura a seguir coloca a data science no contexto de vários outros processos intimamente relacionados na organização. Ela se distingue de outros aspectos de processamento de dados, que estão ganhando cada vez mais atenção nos negócios. Tomada de decisão baseada em dados (em toda a empresa) DDD automatizado Data Science Outros efeitos positivos do processamento de dados (por exemplo, processamento de transição mais rápido) Engenharia de dados e processamento (incluindo tecnologia e “big data“) Figura 41 – Contextualização de big datas de vários processos nas organizações Adaptada de: Provost e Fawcett (2013). A tomada de decisão baseada em dados (DDD – Data-driven decision making) refere-se à prática de basear as decisões na análise de dados, em vez de puramente por intuição. Por exemplo, um profissional de marketing pode selecionar anúncios baseados puramente em sua longa experiência no campo ou poderia basear sua seleção na análise de dados sobre como consumidores reagem a anúncios diferentes. Também poderia usar uma combinação dessas abordagens. DDD não é uma prática de tudo ou nada, diferentes empresas se envolvem em DDD para maiores ou menores graus. 117 TENDÊNCIAS EM TI Os benefícios da tomada de decisão baseada em dados foram demonstrados de forma conclusiva. O economista Erik Brynjolfsson e seus colegas do MIT e da Penn’s Wharton School conduziram um estudo de como o DDD afeta o desempenho da empresa (BRYNJOLFSSON; HITT; KIM, 2011). Eles desenvolveram uma medida de DDD que classifica as empresas quanto à intensidade com que usam dados para tomar decisões em toda a empresa. Eles mostram que, estatisticamente, quanto mais orientada a dados uma empresa, mais produtiva ela será, mesmo controlando uma ampla gama de possíveis fatores de confusão. E as diferenças não são pequenas. Um desvio padrão mais alto na escala DDD está associado a um aumento de 4% a 6% na produtividade. O DDD também é correlacionado com maior retorno sobre ativos, retorno sobre patrimônio líquido, uso de ativos e mercado de valor, e a relação parece ser causal. Para Provost e Fawcett (2013), há dois tipos de decisão: • decisões para quais “descobertas” precisam ser feitas dentro dos dados; • decisões a repetir, especialmente em grande escala, e assim a tomada de decisões pode se beneficiar até mesmo de pequenos aumentos da precisão da tomada de decisão com base na análise de dados. Em 2012, as concorrentes Walmart e Target viraram notícia, pois passaram a tomar decisões baseadas em dados de consumo dos seus clientes. Como a maioria dos varejistas, a Target se preocupa com os hábitos de compra dos seus clientes, o que os motiva e o que pode influenciá-los. Os clientes tendem a permancer fiéis àquilo que os agrada, e fazer com que eles não mudem de ideia é muito difícil. Os gestores da Target sabiam, no entanto, que a chegada de um novo bebê em uma família é um ponto em que as pessoas mudam significativamente seus hábitos de compra. O que passou a ser a palavra alvo dos analistas? Assim que eles comprarem nossas fraldas, eles vão começar a comprar tudo o que vendemos. Essa é uma prática conhecida pela maioria dos varejistas e, portanto, há uma competição de “que vença o melhor” entre as lojas, com cada um tentando vender produtos relacionados ao bebê para novos pais. Uma vez que a maioria dos registros de nascimento é pública, os lojistas obtêm informações sobre nascimentos e enviam ofertas especiais para os novos pais. Saiba mais Saiba mais sobre o estudo do economista Erik Brynjolfsson no artigo: TECNOLOGIA ‘rouba’ cada vez mais empregos. Estadão, 27 out. 2011. Disponível em: https://cutt.ly/5Weh403. Acesso em: 24 ago. 2021. Leia também o artigo a seguir: BRYNJOLFSSON, E.; HITT, L.; KIM, H. Strength in numbers: how does data-driven decision making affect firm performance? Semantic Scholar, 2011. Disponível em: https://cutt.ly/1WejPl6. Acesso em: 24 ago. 2021. 118 Unidade III Observação O Walmart Inc. (Wal-Mart até 2008) é uma multinacional estadunidense de lojas de departamento. Fundada por Sam Walton em 1962, foi incorporada em 31 de outubro de 1969 e teve seu capital aberto na New York Stock Exchange em 1972. Foi eleita a maior multinacional de 2010. A Target Corporation Inc. (NYSE: TGT), mais conhecida como Target, é uma rede de lojas de varejo dos Estados Unidos fundada em 1902 por George Draper Dayton. Sediada em Minneapolis, no estado de Minnesota, é a segunda maior rede de lojas de departamento nos Estados Unidos, atrás do Walmart. No entanto, os gestores da Target queriam dar um salto ainda maior sobre a concorrência. Eles estavam interessados em saber como poderiam prever que pessoas estariam esperando um bebê. Se eles pudessem prever essas informações antes de seus concorretes, eles teriam uma vantagem fazendo ofertas antes de seus concorrentes. Usando técnicas de ciências de dados, a Target analisou dados históricos de clientes (mulheres) que mais tarde revelaram ter estado grávidas e conseguiu extrair informações que poderiam prever quais consumidoras engravidariam. Por exemplo, as mães grávidas muitas vezes mudam suas dietas, sua alimentação, seus regimes de vitaminas e assim por diante. Esses indicadores podem ser extraídos de dados históricos, montados em modelos preditivos e, em seguida, implantados em campanhas de marketing. Por enquanto, entender o que é um modelo preditivo é o suficiente para abstrair grande parte da complexidade do mundo, concentrando-se em um determinado conjunto de indicadores correlacionados a alguma outra informação com uma quantidade de interesse (quem vai se exercitar, quem vai comprar, quem está grávida etc.). Exemplos como o do Walmart e da Target quanto à análise de dados não estavam testando apenas uma hipótese simples. Em vez disso, os dados foram explorados com a esperançade que algo útil fosse descoberto. Diferentes indústrias adotaram a tomada de decisão automática em diferentes cotações. Os setores de finanças e telecomunicações foram os primeiros a adotá-la, principalmente por causa do desenvolvimento precoce de redes de dados e da implementação de computação em escala massiva, que permitiram agregação e modelagem de dados em larga escala, bem como a aplicação dos modelos resultantes à tomada de decisão. Nos anos 1990, a tomada de decisão automatizada mudou dramaticamente setores como o sistema bancário e o de crédito ao consumidor. Bancos e empresas de telecomunicações também implementaram sistemas em grande escala para gerenciar decisões de controle de fraude baseadas em dados. Como os sistemas de varejo eram cada vez mais informatizados, as decisões de merchandising eram totalmente automatizadas. 119 TENDÊNCIAS EM TI Um princípio básico da ciência de dados é que a mineração de dados é um processo com estágios bem compreendidos. Alguns envolvem a aplicação de tecnologia da informação, como a descoberta automatizada e a avaliação de padrões de dados, enquanto outros requerem principalmente a criatividade, o conhecimento de negócios e o bom senso de um analista. Compreendendo o todo, o processo ajuda a estruturar projetos de mineração de dados, para que fiquem mais próximos de análises, e não de esforços heroicos movidos pelo acaso e perspicácia individual. 6 TENDÊNCIAS NA GESTÃO DE DADOS (PARTE 2) Segundo Caetano (2015), os humanos utilizam várias formas para representar o que é dinheiro há milhares de anos. Vários tipos de objetos preciosos já foram e são utilizados como um meio de troca. Nossos ancestrais trocavam grãos, gado, conchas e pedras preciosas por outros bens e serviços. Esse tipo de moeda, que podemos tocar e ver, pode ser considerado dinheiro físico. Conforme as civilizações progrediram, o mesmo aconteceu com nossos sistemas políticos. Eventualmente, tribos e aldeias tornaram-se reinos, estados e impérios. Através dessa transformação, vimos também nosso dinheiro se transformar em dinheiro político; dinheiro que é governado e emitido por um rei, imperador ou, na sociedade de hoje, um órgão central como o Banco Central. Moedas e notas emitidas pelo Estado, bem como impostos, regulamentos e política monetária, tudo surgiu dessa mudança. Hoje, a internet nos conecta diretamente uns aos outros, abrindo uma enorme possibilidade para que toda essa tecnologia possa ser utilizada. Ao dissolver as fronteiras físicas e políticas pré-existentes, pela primeira vez na história, todo o planeta tem acesso às mesmas informações. Esse nível de acesso é garantido pelo design descentralizado da internet. Sem um hub centralizado, não há um único ponto de falha ou controle. Satoshi Nakamoto, o criador do Bitcoin, alavancou essa rede poderosa ao implementar um sistema ponto a ponto (p2p) para troca de moeda virtual. Construído em um design descentralizado e protegido por uma poderosa criptografia, esse novo tipo de moeda não é mais físico, mas, sim, resiliente contra a corrupção e a manipulação. É sobre essa tecnologia que iremos mergulhar nos próximas seções deste livro-texto. 6.1 Blockchain Blockchains são uma nova abordagem para o banco de dados distribuído. A inovação vem da incorporação de tecnologias antigas abordadas com as novas. Eles podem ser pensados como bancos de dados distribuídos, em que um grupo de indivíduos controla o que é armazenado e como essas informações serão compartilhadas. Existem tipos diferentes de blockchains e também de aplicativos de blockchains. Trata-se de uma tecnologia abrangente que se integra entre plataformas e hardware em todo o mundo. Um blockchain é uma estrutura de dados que possibilita a criação de um livro de razão pública de dados compartilhados entre uma rede de partes independentes. A primeira moeda global, o Bitcoin, foi descrita pela primeira vez em 2008 em um artigo escrito por Satoshi Nakamoto. Isso coincidiu com a crise financeira que viu bancos resgatando dinheiro dos 120 Unidade III contribuintes. Desde 2013, foi desenvolvido para facilitar não só a criação descentralizada, o rastreamento e a troca de moeda digital, mas também contratos inteligentes. Seus proponentes afirmaram que a implantação global de contratos inteligentes através desse novo protocolo iria mudar o mundo dos negócios para sempre. E dependendo do tipo de pessoa que você é, do tipo de acesso que você tem e de seu conhecimento, ferramentas e recursos, você vai achar empolgante, exasperante, tolo, aterrorizante, ou simplesmente não é seu negócio. Se você tiver idade suficiente, isso irá lembrá-lo do clamor em torno do surgimento da World Wide Web. O blockchain está em estágio de desenvolvimento como a WWW no início dos anos 1990. Não é surpreendente, portanto, que muitas pessoas achem difícil entender o que é o blockchain. Uma criptomoeda digital pode ser usada e trocada eletronicamente com outras moedas. Depois de enviadas pelo mundo, as criptomoedas não podem ser controladas por uma autoridade central, como países ou bancos centrais. Em vez disso, seu valor e uso são alcançados como uma troca, por consenso entre seus usuários, usando tecnologia blockchain. Na criptomoeda, a confiança nas pessoas e instituições é substituída pela confiança na justiça das forças do mercado e na matemática da criptografia, que evita a falsificação e mantém sua segurança. O valor de uma criptomoeda é definido pela oferta e demanda do mercado, assim como ocorre com ouro ou prata. O valor dos metais duros deriva da escassez e da dificuldade de extração; com as criptomoedas, a única dificuldade é computacional e a única escassez é por design. Em um sistema chamado de prova de trabalho, as máquinas de mineiros executam um software que usa poder de processamento e muita energia para competir por moedas. Para extrair novas moedas, esses computadores reúnem periodicamente um “bloco” de novas transações de toda a rede e, em seguida, correm para resolver um difícil quebra-cabeça matemático para aquele bloco. Diz-se que o vencedor minerou com sucesso o bloco, garantindo a propriedade das moedas recém-cunhadas e quaisquer taxas de transação pagas pelos usuários. Segundo Bambara et al. (2018), para o mundo dos usuários de tecnologia, o blockchain representa uma melhoria drástica no cenário de coleta, distribuição e governança de informações. Esse ponto tem sido defendido nos últimos anos em livros e apresentações que exageram e imaginam esse novo mundo. Então, vamos começar. Simplificando, um blockchain é um banco de dados que abrange uma cadeia física de blocos de comprimento fixo que incluem de 1 a N transações, sendo que cada transação adicionada a um novo bloco é validada e então inserida no bloco. Quando o bloco é concluído, ele é adicionado ao final da cadeia de blocos existente. Além disso, as duas únicas operações são adicionar transação e visualizar transação. Portanto, o processamento de blockchain básico consiste nas seguintes etapas, que são numeradas como 3, 4 e 5 na figura a seguir: 1 – Adiciona novas transações não elimináveis e as organiza em blocos. 2 – Verifica criptograficamente cada transação no bloco. 3 – Anexa o novo bloco ao final do blockchain imutável existente. 121 TENDÊNCIAS EM TI Dessa forma mais abrangente, um blockchain também é um banco de dados distribuído, que mantém uma lista duplamente vinculada de blocos ordenados. Cada bloco tem em média 1 megabyte e possui dados de controle de aproximadamente 200 bytes, como um carimbo de data/hora, um link para um bloco anterior, alguns outros campos e transações de 1 a N, conforme cabem no espaço restante. Saiba mais Saiba mais sobre o tamanho médio de um blockchain no link a seguir: TAMANHO médio do bloco (MB). Blockchain, [s.d.]. Disponível em: https://cutt.ly/1WtEsny. Acesso em: 25 ago. 2021. A e B desejam conduzir uma interação ou transação Uma vez validado, um novo bloco é criado As chavescriptográficas são atribuídas à interação Este bloco é então adicionado A interação é transmitida e verificada por uma rede distribuída em que A e B são mantidos A transação entre A e B está completa para a cadeia 1 4 5 6 2 3 A A B B Figura 42 – Fluxo de transação de blockchain público Adaptada de: Bambara et al. (2018, p. 1). Uma vez registrados, os blocos são projetados para serem resistentes à modificação. Os dados em um bloco não podem ser alterados retroativamente por meio do uso de uma rede ponto a ponto e uma rede distribuída por um servidor de carimbo com data e hora. Um banco de dados público de blockchain é gerenciado de forma autônoma. Blockchains funcionam como um livro público aberto e distribuído que pode registrar transações entre duas partes de forma eficiente, verificável e permanente, conforme ilustrado na figura a seguir: 122 Unidade III Figura 43 – Layout dos dados do blockchain Fonte: Bambara et al. (2018, p. 2). Vejamos algumas analogias que ilustram o que há de diferente no blockchain público. Ele é um banco de dados e o software que o envolve. Como software, é como o BitTorrent, um programa que permite fazer upload e download de arquivos diretamente com outras pessoas que também executam o software BitTorrent. Então, em vez de enviar um arquivo para um serviço de compartilhamento de arquivos, como o Dropbox, e compartilhar com seu amigo um link para baixar o arquivo, basta enviar o arquivo diretamente para o computador do seu amigo. Isso é o que queremos dizer com programa ponto a ponto (p2p) (veja a figura a seguir). 123 TENDÊNCIAS EM TI Peer-Peer Livro razão descentralizadoLivro razão centralizado Dropbox Figura 44 – Armazenamentos de dados descentralizados versus centralizados Fonte: Bambara et al. (2018, p. 4). 6.1.1 Tipos de blockchain Quando as pessoas começaram a entender como o blockchain funciona, elas começaram a usá-lo para outros propósitos, como armazenamento de dados para coisas de valor, identidades, acordos, direitos de propriedade etc. Tecnologias como o Ethereum (abordados adiante) são utilizadas como inovação de blockchain, além de outras abrangentes, como Bitcoin. Como as implementações de computação em nuvem, surgiram diferentes tipos ou categorias de blockchain. De modo análogo à nuvem, há blockchains públicos, que todos podem acessar e atualizar, blockchains privados, que apenas um grupo limitado dentro de uma organização pode acessar e atualizar, e um terceiro tipo, um consórcio de blockchains que é usado em colaboração com outros. Empresas em Wall Street trabalham com esse tipo de arranjo de consórcio, o qual ainda pode entrar em cinco dos maiores bancos de investimento. O consórcio facilitou as negociações em um nível institucional entre os membros; por isso, faz sentido que o blockchain seja conhecido como uma ferramenta de tecnologia financeira. As seções a seguir são uma exploração rápida de cada tipo de blockchain. Blockchains públicos São aqueles que os criadores iniciais imaginaram como um blockchain que permitisse a todos acessar e fazer transações, cujas transações são incluídas se e somente se forem válidas e no qual todos podem contribuir para o processo de consenso. O processo de consenso determina quais blocos são adicionados à cadeia e qual é o estado atual. 124 Unidade III No blockchain público, em vez de usar um servidor central, o blockchain é protegido por verificação criptográfica apoiada por incentivos para os mineiros. Qualquer um pode ser um minerador para agregar e publicar essas transações. No blockchain público, como nenhum usuário é implicitamente confiável para verificar as transações, todos os usuários seguem um algoritmo que verifica as transações, comprometendo recursos de software e hardware para resolver um problema por força bruta (ou seja, resolvendo o quebra-cabeça criptográfico). O mineiro que chega primeiro à solução é recompensado, e cada nova solução, junto com as transações que foram usadas para verificá-la, forma a base para o próximo problema a ser resolvido. Os conceitos de verificação são prova de trabalho ou prova de aposta. Blockchains de consórcio Um blockchain de consórcio, como o R3, é um livro em que o processo é controlado por um conjunto pré-selecionado de nós – por exemplo, um consórcio de nove instituições financeiras, cada uma operando um nó, e das quais cinco (como a Suprema Corte dos EUA) devem assinar cada bloco para que este seja válido. O blockchain pode ser público ou restrito aos participantes, e também há rotas híbridas, como os hashes de raiz dos blocos públicos, juntamente com uma API, que permite que membros públicos façam um número limitado de consultas e obtenham de volta as provas criptográficas de algumas partes do blockchain. Esses tipos de blockchains são distribuídos e podem ser considerados parcialmente descentralizados. Blockchains privados Um blockchain totalmente privado é um blockchain no qual as permissões de gravação são mantidas centralizadas. As permissões de leitura podem ser públicas ou restritas de forma arbitrária. Os aplicativos prováveis incluem gerenciamento de banco de dados e auditoria interna de uma única empresa; portanto, a legibilidade pública pode não ser necessária em muitos casos, embora em outros casos a auditabilidade pública seja desejada. Os blockchains privados podem fornecer soluções para problemas de empresas financeiras, incluindo agentes de conformidade para regulamentações como as leis de portabilidade e responsabilidade de seguros de saúde (HIPAA), de antilavagem de dinheiro (AML) e de conheça seu cliente (KYC). O projeto Hyperledger da Linux Foundation e a rede Gem Health são projetos de blockchain privados em desenvolvimento. 6.1.2 Comparando blockchains Blockchains públicos e privados apresentam vantagens particulares. Os operadores privados podem alterar as regras de um blockchain. Se for um blockchain entre parceiros financeiros, em que os erros podem ser descobertos, eles poderão alterar as transações. Da mesma forma, eles serão capazes de modificar saldos e geralmente desfazer qualquer coisa. Dito isso, há uma trilha, e essa funcionalidade é necessária, por exemplo, no caso do registro de propriedades, se uma transação incorreta for emitida 125 TENDÊNCIAS EM TI ou algum tipo de intruso obteve acesso e se tornou o novo proprietário. Isso também é verdade em um blockchain público se o governo tiver chaves de acesso backdoor, como tinha na era Clinton. No blockchain privado, as transações são menos caras, uma vez que só precisam ser verificadas por alguns nós que podem ser confiáveis para ter um poder de processamento muito alto. Já os blockchains públicos tendem a ter taxas de transação mais caras, mas isso vai mudar à medida que tecnologias de escalonamento surgirem e reduzirem os custos do blockchain público para criar um sistema de blockchain eficiente. Uma forma confiável de acesso se dá a partir dos nós de acesso que possuem confiabilidade para se conectarem. Caso haja falhas, podem ser rapidamente corrigidos por intervenção manual, permitindo o uso de algoritmos de consenso que oferecem tempos de bloqueio muito mais curtos. Melhorias no blockchain público, como a prova de aposta da Ethereum, podem trazer blockchains públicos muito mais próximos do ideal, com “confirmação instantânea”. Mas os blockchains privados sempre serão mais rápidos, e a diferença de latência, infelizmente, nunca desaparecerá. Podemos comparar essa diferença com a velocidade da luz, que não segue a Lei de Moore e, portanto, não aumenta duas vezes a cada dois anos. Se as permissões de leitura forem restritas, as cadeias de bloqueio privadas podem fornecer um maior nível de privacidade. Saiba mais Saiba mais sobre a Lei de Moore no link a seguir: INTEL. Alimentando a inovação que tanto apreciamos e da qual dependemos. [s.d.]. Disponível em: https://cutt.ly/AWk97Gu. Acesso em: 31 ago. 2021. Diante de tudo isso, pode parecer queblockchains privados são, sem dúvida, uma escolha melhor para as instituições. No entanto, mesmo em um contexto institucional, os blockchains públicos ainda têm muito valor. Na verdade, esse valor reside em um grau substancial que os defensores dos blockchains públicos vêm promovendo o tempo todo. Entre suas principais qualidades estão a liberdade, a neutralidade e a abertura. As vantagens dos blockchains públicos geralmente se enquadram em duas categorias principais: • Fornecem uma maneira de proteger os usuários de um aplicativo dos desenvolvedores, estabelecendo que há certas coisas que mesmo os desenvolvedores de um aplicativo não têm autoridade para fazer. • São abertos e, portanto, usados por muitas entidades. Isso fornece alguns efeitos de rede. Se tivermos sistemas de retenção de ativos em um blockchain e uma moeda no mesmo blockchain, então podemos cortar os custos para quase zero com um contrato inteligente: a parte A pode enviar o ativo para um programa que o envia imediatamente para a parte B, que envia dinheiro ao 126 Unidade III programa, e o programa é confiável porque é executado em um blockchain público. Observe que, para que isso funcione com eficiência, duas classes de ativos completamente heterogêneas de setores completamente diferentes devem estar no mesmo banco de dados. Isso também pode ser usado por outros detentores de ativos, como registros de terras e seguros. 6.1.3 Implementações blockchain O conceito de moeda digital descentralizada, bem como de aplicativos alternativos como registros de propriedade, existe há décadas, mas nenhum produziu implementações de produção viáveis até agora. Os protocolos de eCash anônimos das décadas de 1980 e 1990 dependiam principalmente de uma primitiva chave criptográfica conhecida como chaumian blinding, com tradução literal para cegueira chaumiana (em homenagem a seu desenvolvedor, David Chaum). Segundo Bambara et al. (2018), a chaumian blinding forneceu a essas novas moedas altos graus de privacidade, mas seus protocolos subjacentes falharam em grande parte em ganhar força por causa de sua dependência de um intermediário centralizado. Em 1998, o b-money de Wei Dai se tornou a primeira proposta a introduzir a ideia de criar dinheiro por meio da solução de quebra-cabeças computacionais, bem como do consenso descentralizado, mas a proposta era escassa em detalhes sobre como o consenso descentralizado poderia realmente ser implementado. Em 2005, Hal Finney introduziu um conceito de provas reutilizáveis de trabalho, um sistema que usa ideias de b-money junto com os quebra-cabeças Hashcash (http://hashcash.org) e computacionalmente difíceis para criar um conceito para criptomoedas, mas isso provou, mais uma vez, que o modelo estava longe do ideal. O conceito de blockchain foi implementado como um componente central da moeda digital Bitcoin. Essa implementação crítica é talvez a primeira em produção do blockchain, tornando-a a primeira moeda digital a resolver o problema de gasto duplo sem o uso de uma autoridade confiável ou servidor central. Observação O eCash foi criado em 1983 para ser um sistema de moeda virtual criptográfica e anônima em que o software eCash guardaria o dinheiro do usuário de forma digital e criptograficamente assinada por um banco. O usuário poderia gastar esse dinheiro virtual em qualquer loja que aceitasse eCash sem que fosse necessário abrir uma conta antes ou passar seu número do cartão de crédito. Isso se tornou possível através de um sistema RSA de blind signatures, as quais garantem a não ligação entre as transações de retirada e de gastos. 127 TENDÊNCIAS EM TI 6.2 Bitcoin Quando a crise financeira de 2008 estava em alta, o Bitcoin (BTC), uma moeda descentralizada, foi implementada pela primeira vez, na prática, por Satoshi Nakamoto. O Bitcoin combina gerenciamento de propriedades por meio de criptografia de chave pública, com algoritmo de consenso para rastrear quem possui moedas, conhecido como prova de trabalho. O mecanismo por trás da prova de trabalho resolve simultaneamente dois problemas. Primeiro, ele fornece um algoritmo de consenso eficaz, permitindo que os nós da rede concordem coletivamente sobre um conjunto de atualizações para o estado do livro razão Bitcoin. Em segundo lugar, fornece um mecanismo para permitir a entrada livre no processo de consenso, resolvendo o problema político de decidir quem consegue influenciar o consenso, ao mesmo tempo em que evita o ataque Sybil, ou seja, ataques em que um sistema de reputação é subvertido pela falsificação de identidades em pares, em redes ponto a ponto. Ele funciona substituindo uma barreira formal à participação, como o requisito de ser registrado como uma entidade única, em uma lista particular, por uma barreira econômica – o peso de um único nó no processo de votação por consenso é diretamente proporcional ao poder de computação que o nó traz. Mais recentemente, foi proposta uma abordagem alternativa chamada prova de aposta, calculando o peso de um nó como sendo proporcional à sua moeda, e não aos seus recursos computacionais. Como o Bitcoin é o mais amplamente usado, iremos explorá-lo com alguns detalhes nas próximas seções. Saiba mais Para conhecer mais sobre a tecnologia do Bitcoin, acesse: Disponível em: https://bitcoin.org/en/. Acesso em: 4 set. 2021. 6.2.1 Transição de estado Bitcoin Do ponto de vista técnico, uma criptomoeda como o Bitcoin pode ser pensada como um sistema de transição de estado, em que existe um estado S consistindo no status de propriedade das bitcoins existentes (ou qualquer ativo para esse assunto) e uma transição de estado função, isto é, a API: EXECTX, que pega um estado S e uma transação TX e produz um novo estado S’, que é o resultado. Em um sistema bancário padrão, por exemplo, o estado é um balanço patrimonial, uma transação é uma solicitação para mover $ dinheiro em espécie de A para B, e a função de transição de estado reduz o valor da conta de A em X quantidade de $ em dinheiro e aumentar o valor da conta de B em uma quantia X de $ em dinheiro. Se a conta de A tiver menos de X quantia de $ em dinheiro em primeiro lugar, a função de transição de estado retorna um erro, conforme o exemplo da API seguir: 128 Unidade III EXECTX(S,TX) results in S’ (new state) or ERROR and S (no change to state) If A has enough $cash money: EXECTX({ A:$1000, B:$500},”send $500 :A to B”) results in { A:$500, B:$1000 } But if A does not have enough $cash money: EXECTX({ A:$1000, B:$500 },”send $1001 from A to B”) results in ERROR O estado de um blockchain é a “visão consensual” de todas as transações, em um determinado momento, que são confirmadas para todos os nós. No mundo do Bitcoin, é a coleção de todas as saídas de transações não gastas (UTXOs, ou unspent transaction output) que foram cunhadas e ainda não foram gastas. O UTXO possui uma denominação e um proprietário (definido por um endereço de 20 bytes, que é essencialmente uma chave criptográfica pública). Com relação aos UTXOs, cada saída de uma transação específica pode ser gasta apenas uma vez, e as saídas de todas as transações incluídas no blockchain podem ser categorizadas como saídas de transações não gastas (consulte o endereço https://bit.ly/2Y8Fw01) ou saídas de transações gastas. Para que um pagamento seja válido, ele deve usar apenas UTXOs como entradas. Se o valor das saídas de uma transação exceder suas entradas, a transação será rejeitada. Mas se as entradas excederem o valor das saídas, qualquer diferença no valor pode ser reivindicada como uma taxa de transação pelo minerador de Bitcoin que cria o bloco que contém essa transação. Uma transação possui uma ou mais entradas, com cada entrada contendo uma referência a um UTXO existente e uma assinatura criptográfica, produzida pela chave privada associada ao endereço do proprietário, a uma ou mais saídas, com cada saída contendo um novo UTXO para adição ao estado. A função de transição de estado EXECTX(S, TX) -> S” pode ser definida da seguinte forma: Para cada entrada em TX: 1) Se o UTXO referenciado não estiver em S, retorne um erro; isso evita que os remetentes das transações gastem moedas que não existem. 2) Se a assinatura fornecida não corresponder ao proprietário do UTXO, retorne um erro; isso evita que os remetentes das transações gastem as moedas de outras pessoas. 3) Se a soma das denominações de todos os UTXOs de entrada for menor que a soma das denominações de todos os UTXOs de saída, retornará um erro. 4) Retorne S’ com todo UTXO de entrada removido e todo UTXO de saída adicionado. 6.2.2 Mineração de Bitcoin Conforme Caetano (2015), o Bitcoin combina o sistema de transição de estado com um sistema de consenso para garantir que todos concordem com a ordem das transações. O processo de consenso 129 TENDÊNCIAS EM TI descentralizado do Bitcoin requer que os nós da rede tentem continuamente produzir blocos, ou seja, 1 a N transações. A rede Bitcoin se destina a criar um bloco aproximadamente a cada 10 minutos, com cada bloco contendo um carimbo de data/hora, um nonce, uma referência a (ou seja, hash) do bloco anterior e uma lista de todas as transações que ocorreram, desde a quadra anterior. Cada bloco na rede Bitcoin tem exatamente a mesma estrutura mostrada na figura a seguir. Cada bloco recém-criado é “encadeado” ao último bloco adicionado do blockchain e armazena sua impressão digital. Vamos examinar os campos de um bloco, com tamanhos de bytes sujeitos a alterações: • Identificador de bloco (4 bytes): este é um identificador para a rede blockchain. Ele tem um valor de número mágico constante de 0xD9B4BEF9. O número mágico não é algo específico do Bitcoin. Ele identifica o tipo de arquivo ou estrutura de dados que você está consumindo. O consumidor pode verificar o número mágico e saber imediatamente o suposto tipo daquele arquivo ou estrutura de dados. Neste caso, indica o início do bloco, e os dados são de uma rede de produção. • Identificador do próximo bloco (4 bytes). • Tamanho do bloco (4 bytes): indica o tamanho do bloco. Desde o início, cada bloco foi fixado em 1 MB. Isso será aumentado para 2 MB. A capacidade máxima é de 2 GB, portanto, o fator de escalabilidade já foi considerado. Figura 45 – Bitcoin blockchain schema Fonte: Bambara et al. (2018, p. 18). • Versão do bloco (4 bytes): cada nó executando o protocolo Bitcoin deve implementar a mesma versão e é mencionado neste campo. 130 Unidade III • Hash do bloco anterior (32 bytes): esta é uma impressão digital (hash) do cabeçalho do bloco anterior (adicionado por último) do blockchain. É calculado juntando todos os campos do cabeçalho (versão, nonce etc.). • Raiz do bloco Merkle (64 bytes). • Timestamp do bloco (8 bytes). • Nonce (4 bytes). O cabeçalho do bloco é composto pelos campos de Version a Nonce. • Contador de transações (variável: 4 bytes): esta é a contagem de transações que estão incluídas no bloco. • Lista de transações (variável: o tamanho total do bloco é 1 MB): armazena a impressão digital de todas as transações naquele bloco. Cada transação individual tem sua própria estrutura. Você também pode ver a altura do bloco (também conhecido como a contagem de blocos) desde que o primeiro bloco foi criado, e o bloco de gênese, o primeiro bloco que foi minerado. 6.3 Namecoin Criado em 2010, o Namecoin (http://namecoin.org) é um banco de dados de registro de nomes descentralizado. Em protocolos descentralizados como Tor, Bitcoin e Bitmessage. O Namecoin é a implementação mais antiga e bem-sucedida de um sistema de registro de nomes usando essa ideia. É uma tecnologia de código aberto que melhora a descentralização, segurança, resistência à censura, privacidade e velocidade de certos componentes da infraestrutura da internet, como DNS e identidades. Trata-se de um sistema de registro e transferência de par de chave/valor baseado na tecnologia Bitcoin. 6.4 Ripple A Ripple, vista como uma das empresas de tecnologia de razão distribuída (DLT) mais avançadas do setor, se concentra no uso de tecnologia do tipo blockchain para pagamentos. O protocolo Ripple tem sido adotado por um número crescente de instituições financeiras para oferecer opções alternativas de remessa aos consumidores. A empresa até obteve uma licença de moeda virtual do Departamento de Serviços Financeiros do Estado de Nova York, tornando-se uma das poucas com BitLicense. Em 2017, o Ripple era a terceira maior criptomoeda para capitalização no mercado, depois do Bitcoin e do Ether. Ele é baseado em um protocolo de internet de código aberto distribuído, livro de consenso e moeda nativa chamada XRP (ondulações), permitindo pagamentos (transfronteiriços) para clientes de varejo, corporações e outros bancos. 131 TENDÊNCIAS EM TI O protocolo Ripple é descrito como uma tecnologia de infraestrutura básica (liquidação) para transações interbancárias que permite a interoperação de diferentes livros e redes de pagamento e reúne três aspectos das soluções de pagamento modernas: mensagens, liquidação e gerenciamento de câmbio. Ele permite que bancos e empresas de serviços financeiros não bancários incorporem o protocolo Ripple em seus próprios sistemas e, assim, permite que seus clientes utilizem o serviço. O protocolo permite a transferência instantânea e direta de dinheiro entre duas partes. Como tal, o protocolo pode contornar as taxas e tempos de espera do sistema de banco correspondente tradicional. Qualquer tipo de moeda pode ser trocado, incluindo dólares americanos, euros, RMB, ienes, ouro, milhas aéreas e rúpias. O Ripple tem sua própria forma de moeda digital (apelidada de XRP) de maneira semelhante ao Bitcoin, usando a moeda para permitir que as instituições financeiras transfiram dinheiro com taxas e tempo de espera insignificantes. Uma das funções específicas do XRP é a de moeda-ponte, o que pode ser necessário se nenhuma troca direta estiver disponível entre duas moedas em um momento específico, por exemplo, ao fazer transações entre dois pares de moedas raramente negociados. Dentro da troca de moeda da rede, XRP são negociados livremente contra outras moedas, e seu preço de mercado flutua contra dólares, euros, ienes, bitcoins etc. Muitas empresas financeiras anunciaram suas experiências com integrações com o Ripple. Vários bancos importantes adotaram o Ripple para melhorar seus pagamentos internacionais, e muitos concluíram projetos de blockchain de teste. Essas instituições bancárias – incluindo Santander, UniCredit, UBS, Royal Bank of Canada, Westpac Banking Corporation, CIBC e National Bank of Abu Dhabi, entre outros – veem o protocolo de pagamento e a rede de câmbio da Ripple como um mecanismo válido para oferecer dinheiro acessível em tempo real. 6.5 Ethereum Ethereum é uma plataforma descentralizada que executa contratos inteligentes: aplicativos que funcionam exatamente como programados, sem qualquer possibilidade de tempo de inatividade, censura, fraude ou interferência de terceiros. Se o Bitcoin era blockchain 1.0, então Ethereum é blockchain 2.0 e além. 132 Unidade III Observe a figura a seguir: 1. Um país realiza uma eleição e quer prevenir a fraude eleitoral 4. Cada voto é registrado e processado no blockchain Ethereum, o que garante transparência e permite que tudo seja executado por si mesmo e de modo descentralizado 2. Um DAO deve ser criado para salvaguardar a transparência e eliminar fraude eleitoral Exemplo de eleição Ethereum DAO 5. Tokens de voto são emitidos para todos os elegíveis para votar 3. Isso é garantido pela incorporação de condições predefinidas no código Figura 46 – Plataforma de blockchain Ethereum Os aplicativos da Ethereum são executados em um blockchain personalizado, uma infraestrutura global compartilhada que pode movimentar valor e representar a propriedade da propriedade. Isso permite que os desenvolvedores criem mercados, armazenem registros de dívidas ou promessas e movam