Compartilhe este artigo

Indo além de "O Blockchain é o aplicativo"

Blockchains são inúteis por si só. Para que a computação descentralizada funcione, eles devem se cruzar com outras soluções. escreve Mic Bowman da Intel.

Mic Bowman é engenheiro principal da Intel e membro do conselho consultivo da CoinDesk.

O artigo a seguir foi publicado originalmente na Consensus Magazine, distribuída exclusivamente aos participantes do evento Consensus 2019 da CoinDesk.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter Crypto for Advisors hoje. Ver Todas as Newsletters


Quatro veículos autônomos chegam a um cruzamento. Quem vai primeiro?

Sim, isso parece o começo de uma piada ruim, mas o problema é muito real e surpreendentemente difícil. A solução está na computação descentralizada, um campo emergente que provavelmente envolverá blockchains, junto com uma série de outras tecnologias. Para entender os problemas que ele tenta resolver, vamos nos aprofundar nesse impasse suburbano...

Se assumirmos que não há infraestrutura estática – por exemplo, um farol de trânsito – para arbitrar o cruzamento, os veículos terão que negociar uma solução usando apenas sua capacidade de computação no veículo. Quais seriam as instruções do computador? Bem, existem algumas regras sociais gerais a serem seguidas: ONE quer um acidente; todos querem passar pelo cruzamento o mais rápido possível; e há alguma noção de “justiça” (“sério, cheguei aqui primeiro, então posso ir primeiro!”).

Tudo isso parece mais ou menos factível, exceto que os veículos podem ser aumentados com um “pequeno botão vermelho” que engana a negociação para passar primeiro. (Sério, se você estivesse atrasado para o trabalho, você apertaria o botão, certo?).

De uma perspectiva de arquitetura de sistemas, porém, há grandes problemas com esse cenário. Aqui estão alguns: não há uma autoridade central decidindo qual carro vai em qual ordem. Segundo, a única infraestrutura disponível para computação reside nos carros; ou seja, os recursos são alocados dinamicamente para a computação. Terceiro, cada motorista é motivado por objetivos que conduzirão a computação de seu veículo e, embora alguns objetivos — como passar pelo cruzamento sem um acidente — sejam compartilhados por todos, algumas metas serão exclusivas do indivíduo.

(Estou atrasado, então deixe-me passar primeiro!).

É essa última característica que torna a computação descentralizada tão desafiadora.

Aplicações e Desafios

Criptomoedas são as aplicações mais bem estabelecidas da computação descentralizada. Mas há muitas outras. Na maioria dos casos, blockchains, que funcionam como uma alternativa descentralizada e baseada em consenso para confiar em uma autoridade centralizada, provavelmente desempenharão um papel fundamental. No entanto, blockchains são inúteis por si só. Para que a computação descentralizada funcione, blockchains devem se cruzar com outras soluções.

Uma aplicação de computação descentralizada muito discutida é a proveniência em cadeias de suprimentos. O Walmart anunciou recentemente que todos os seus fornecedores de alimentos devem enviar seus dados para um sistema baseado em blockchain para que os usuários possam monitorar a cadeia de suprimentos em busca de alimentos contaminados. Ideias semelhantes estão sendo aplicadas para rastrear minerais livres de conflito.

Nesses casos de procedência, o blockchain é um componente crítico, mas de forma alguma o ONE. Como discuti na Consensus Magazine do ano passado, embora um blockchain possa fornecer gerenciamento transacional persistente e transparente, armazenamento e atualizações de dados, a capacidade de rastrear a procedência também requer entrada de dados eficiente e de alta integridade. A qualidade do monitoramento do blockchain é tão boa quanto os dados coletados. Sem supervisão adequada, a entrada de dados (por exemplo, por meio de dados de sensor e telemetria) pode ser manipulada por um participante malicioso para deturpar a procedência.

Os aplicativos da cadeia de suprimentos também demonstram a importância da confidencialidade e Política de Privacidade dos dados porque, no CORE, eles são sobre acesso interorganizacional a dados compartilhados. Consultas sobre os dados como "de onde veio essa alface?" são relativamente incontroversas e, na maioria das circunstâncias, consistentes com os objetivos compartilhados dos participantes. Outras são mais conflitantes, no entanto, e são aquelas que expõem as dificuldades em gerenciar a confidencialidade em sistemas descentralizados.

Um fornecedor pode provar, por exemplo, que pode atender aos requisitos de entrega sem expor detalhes confidenciais de suas operações internas? Aqui está um problema CORE para a computação descentralizada: como executar computação em toda a rede em dados confidenciais sem expor os detalhes dessas informações confidenciais ao grupo.

Considere os desafios com dados genômicos. Com pesquisadores buscando curas para doenças, há um tremendo valor social e potencialmente comercial em realizar cálculos no conjunto mais amplo possível de fontes de dados genômicos, fontes que geralmente são criadas, gerenciadas ou de propriedade de diferentes organizações. No entanto, cada banco de dados contém dados que são altamente valiosos como propriedade intelectual e restritos por regulamentações que protegem a Política de Privacidade dos Colaboradores individuais desses dados genômicos.

Dilema.

Ou poderíamos simplesmente retornar aos nossos veículos autônomos, que provavelmente ainda estão parados no cruzamento. (“Você vai primeiro.” “Não, você vai primeiro”, “Não, VOCÊ vai primeiro”). Um requisito recente para operar um AV é que ele deve ter uma “caixa preta” que registre dados de telemetria que podem ser usados ​​para analisar comportamentos passados ​​– por exemplo, para determinar a causa de um acidente. Este é basicamente o mesmo papel que uma caixa preta desempenha em um avião – com uma diferença fundamental: um avião está em grande parte sozinho no céu, enquanto um veículo autônomo está continuamente interagindo com outros veículos (potencialmente autônomos). A caixa preta em um veículo fornece uma única perspectiva histórica.

No entanto, ele não fornece insights sobre as ações ou decisões dos outros veículos autônomos na estrada. Tudo isso é complicado pelo aprendizado de máquina adversário, que pode criar um novo vetor de ataque para veículos autônomos. Como um computador que depende de um registro local simples de dados de telemetria pode diferenciar entre um erro interno feito pelo veículo autônomo, um ataque externo à telemetria do veículo ou as ações de um participante malicioso no protocolo de coordenação?

Idealmente, para fornecer um histórico resistente a ataques do comportamento do veículo, a caixa preta confirmaria os dados de telemetria do veículo com os de veículos próximos, bem como informações sobre interações com esses veículos — um instantâneo completo de todo o sistema, em outras palavras. E isso apenas nos leva de volta ao problema de fazer computação com informações confidenciais de fontes não confiáveis.

Tratando o Blockchain como âncora de confiança

A Internet das Coisas exigirá aplicativos descentralizados. Mas construir versões não triviais deles é difícil. Problemas relativamente simples, como troca justa determinística entre duas partes, são conhecidos por serem impossíveis sem uma terceira parte confiável para arbitrar a interação. Aqui, um blockchain fornece grande valor porque, na verdade, se torna uma terceira parte confiável baseada em tecnologia que pode arbitrar protocolos multipartidários. Ainda assim, precisamos abordar muitos outros desafios antes de podermos realizar a computação descentralizada de propósito geral.

Em parte, chegar lá requer uma transição de "blockchain é a aplicação" para "blockchain é a âncora de confiança".

É uma transição que já estamos vendo no Bitcoin. Por exemplo, a Lightning Network move o gerenciamento de transações de Bitcoin para um canal off-chain criado por um par de participantes que só fecharão seus saldos para o blockchain se houver uma disputa off-chain.

Assim, o blockchain funciona como uma âncora de confiança, enquanto a Lightning Network é a aplicação descentralizada.

Enquanto isso, o Thunderella, um algoritmo de consenso desenvolvido na Universidade Cornell, alcança uma melhoria substancial de desempenho ao combinar um protocolo de consenso "off-chain" otimista e de alto desempenho com um caminho lento assíncrono que usa um protocolo de consenso de blockchain tradicional como uma âncora de confiança de reserva quando suposições otimistas falham.

Neste caso, o papel do blockchain subjacente é publicar evidências de que as suposições otimistas não são mais válidas e redefinir visões inconsistentes.

Nosso próprio trabalho em Private Data Objects, um projeto do Hyperledger Labs para explorar modelos de computação descentralizados, divide a execução do contrato em um componente off-chain que realiza a computação real e um componente on-chain que simplesmente garante uma ordenação de atualizações que respeita dependências entre objetos de contrato. Assim, intuitivamente, o blockchain serve como um log de coordenação/commit descentralizado para atualizações de banco de dados.

Enfrentando o desafio da confidencialidade

Como dimensionar isso e proteger a confidencialidade?

Bem, uma abordagem exige que reconheçamos que equilibrar as tensões entre objetivos compartilhados e individuais é simplificado se ampliarmos nossas noções de computação bem-sucedida. Sob o princípio da Política de Privacidade diferencial, podemos diminuir, ou “difusar”, a precisão necessária de um banco de dados para preservar a confidencialidade. Por exemplo, podemos converter um resultado preciso como "o caminhão de entrega está na 4th e Wilshire" em algo menos definitivo como "o caminhão de entrega chegará em cerca de 10 minutos".

Considere como esse conceito – onde alguns objetivos devem ser cumpridos para o sucesso enquanto outros são "difusos" para completar a computação – pode se aplicar aos nossos veículos autônomos. Pode não ser necessário que o primeiro veículo a chegar ao cruzamento seja o ONE a passar pelo cruzamento, desde que T haja acidentes e que ele possa continuar até seu destino em tempo hábil. Justiça e primeiro a chegar, primeiro a passar continuam sendo os objetivos, mas podem não ser requisitos para o sucesso.

Outros avanços na ciência da computação também podem ajudar. Criptomoedas que preservam a privacidade usando provas de conhecimento zero (ZKP), como Zcash e Monero, demonstram o poder da criptografia para permitir a computação em conjuntos de dados protegidos por privacidade. Ainda assim, até agora, os desenvolvedores têm lutado para levar essa Tecnologia computacionalmente complexa ao tipo de escala necessária para a computação descentralizada de propósito geral.

Aqui, ambientes de execução confiáveis ​​(TEE) baseados em hardware oferecem uma alternativa potencial. Muitos processadores modernos vêm com Tecnologia para executar computação que garante a integridade e a confidencialidade da computação sob certas circunstâncias.

Exemplos de produtos de envio incluem TrustZone da ARM, Software Guard Extensions (SGX) da Intel e Secure Encrypted Virtualization (SEV) da AMD. Para aqueles mais inclinados a especificações de hardware abertas, o Keystone Project de pesquisadores da UC Berkeley e do MIT, busca desenvolver um TEE de código aberto para o processador RISC-V.

Um TEE baseado em hardware fornece um ambiente de computação de propósito geral que aborda requisitos de desempenho e flexibilidade que limitam a aplicabilidade das tecnologias ZKP. No entanto, a confiança baseada em hardware não deve ser vista como uma panaceia. Quando está situada apropriadamente no contexto maior de design de segurança, pode ser uma maneira eficaz de

executar cálculos confidenciais de forma otimista.

Em outras palavras, a computação descentralizada requer uma combinação de soluções. Odeio dizer a eles, mas aqueles carros presos no cruzamento vão ter que fazer multitarefas.

Imagem da placa-mãevia Shutterstock

Picture of CoinDesk author Mic Bowman