Design de arquitetura de computação com várias partes

Armazenamento do Blobs do Azure
AKS (Serviço de Kubernetes do Azure)
Banco de Dados SQL do Azure

A computação de várias partes ou a computação de preservação de privacidade permite que as partes em uma relação comercial compartilhem dados, façam cálculos e cheguem a um resultado mútuo sem divulgar seus dados privados. Os serviços do Azure podem ajudá-lo a criar uma solução de computação de várias partes. A solução pode incluir recursos locais e baseados em nuvem.

A computação de várias partes tem os seguintes atributos:

  • Mais de uma empresa ou organização está envolvida.
  • As partes são independentes.
  • As partes não confiam umas nas outras com todos os seus dados.
  • Todas as partes acessam uma plataforma comum de computação e armazenamento de dados.
  • Alguns processos devem ser privados para algumas das partes envolvidas.

Uma cadeia de suprimentos é um exemplo de um fluxo de trabalho que envolve várias partes. As matérias-primas fluem do ponto de origem para a fabricação. As mercadorias do fabricante passam por parceiros de envio para um hub de distribuição. No hub, as mercadorias são enviadas para lojas de varejo.

Diagram shows a progression of members of a supply chain as clip art images.

Esse processo tem empresas trabalhando juntas. Essas partes incluem o fornecedor de matérias-primas, o fabricante, as empresas de transporte, os operadores de armazém e os pontos de venda. O produto muda de mãos várias vezes durante a cadeia de suprimentos. Diferentes partes precisam acompanhar o produto em todos os estágios.

Tecnologias de computação multipartidária

A computação multipartidária inclui diferentes tecnologias que permitem que as partes façam transações com segurança em uma rede.

Diagram shows ledgers being implemented as confidential computing, Azure Kubernetes Service, virtual machines, or partner offerings.

Uma opção são os razões distribuídos. Blockchain é um exemplo. Blockchain é um razão de dados que pode ser compartilhada entre partes independentes em que todas as partes confiam nos dados no razão. As transações são coletadas em blocos com cada bloco vinculado ao bloco anterior. Alguns razões distribuídos não usam blocos. Cada transação pode ser vinculada à transação anterior no razão.

Outra possibilidade de computação de várias partes usa memória protegida por hardware na própria CPU. Essas regiões, chamadas de enclaves seguros, são protegidas criptograficamente. Essa abordagem significa que mesmo um administrador privilegiado que tem acesso total ao servidor não pode examinar o processo ou os dados dentro desses enclaves seguros.

Como enclaves seguros têm a capacidade de atestar remotamente a si mesmos para outros enclaves, você pode projetar uma rede de várias organizações em que o sistema é executado a partir dos enclaves. Essa abordagem é chamada de ambiente de execução confiável.

O Azure oferece um serviço gerenciado chamado Razão Confidencial do Azure que permite executar um modelo de blockchain em enclaves seguros.

Por fim, você pode escolher um sistema centralizado, que oferece imutabilidade e confiabilidade. O razão do Banco de Dados SQL do Azure oferece a confiança necessária para a computação de várias partes em um banco de dados relacional. Talvez você não precise de um consenso descentralizado, mas apenas do aspecto de imutabilidade do razão.

Modelos de rede blockchain

Para decidir se o blockchain é um bom ajuste para um processo de negócios, considere estas perguntas:

  • Esse processo empresarial ultrapassa limites de confiança?
  • Várias partes compartilham e atualizam dados?
  • Há intermediários que controlam a única fonte de verdade?
  • O processo envolve etapas de verificação manual de baixo valor?

Se as respostas a essas perguntas forem sim, o processo de negócios será um bom candidato para uma abordagem baseada em blockchain. Mesmo que algumas respostas sejam não, o blockchain ainda pode fazer sentido. Examine atentamente as outras opções de computação de várias partes antes de decidir.

Há vários tipos de redes blockchain para atender às suas necessidades de negócios. Uma característica são os critérios para participar da rede. Se a rede estiver aberta para todos, ela será chamada de rede blockchain pública. Basta baixar o cliente e ingressar. A maioria das criptomoedas funciona assim.

Uma alternativa é uma rede blockchain com permissão, na qual você precisa de permissão dos membros existentes da rede para ingressar. Esse modelo funciona para empresas que lidam com organizações conhecidas. Por exemplo, um superloja pode querer ter uma rede blockchain fechada e permissão para seus participantes da cadeia de suprimentos.

Um processo de negócios pode exigir apenas dados à prova de adulteração ou adulteração evidentes, o que não exigiria blockchain. Se o processo puder ser executado centralmente ou todas as partes confiarem umas nas outras com os dados, o blockchain também poderá ser desnecessário.

Computação de várias partes do Azure

Esta seção descreve as opções de computação de várias partes disponíveis usando os serviços do Azure.

Blockchain com Máquinas Virtuais do Azure

Você pode executar o software do razão usando as Máquinas Virtuais do Azure. Crie quantas máquinas virtuais precisar e conecte-as em uma rede blockchain.

A implantação de suas próprias máquinas virtuais permite que você personalize sua solução. A abordagem inclui sobrecarga de gerenciamento, como atualizações, alta disponibilidade e requisitos de continuidade dos negócios. Você pode ter várias organizações e várias contas de nuvem. Conectar os nós individuais pode ser complicado.

Há modelos de implantação disponíveis no Azure para a maioria dos razões de blockchain para máquinas virtuais.

Blockchain no Kubernetes

Como a maioria dos razões de blockchain dá suporte à implantação em contêineres do Docker, você pode usar o Kubernetes para gerenciar os contêineres. O Azure tem uma oferta de Kubernetes gerenciados chamada AKS (Serviço de Kubernetes do Azure) que você pode usar para implantar e configurar seus nós de blockchain.

As implementações do AKS vêm com um serviço gerenciado para as máquinas virtuais que alimentam o cluster do AKS. No entanto, sua organização ainda deve gerenciar seus clusters AKS e quaisquer opções de rede ou armazenamento em sua arquitetura.

Há modelos de implantação disponíveis no Azure para a maioria dos razões de blockchain para o AKS.

Blockchain como serviço

O Azure dá suporte a serviços de terceiros que executam o software do razão no Azure. O provedor de serviços gerencia a infraestrutura. Eles lidam com manutenção e atualizações. A alta disponibilidade e o gerenciamento de consórcio estão incluídos no serviço.

O ConsenSys oferece Quorum no Azure. Quorum é uma camada de protocolo de código aberto que dá suporte a aplicativos baseados em Ethereum.

Pode haver outras ofertas no futuro.

Razão Confidencial do Azure

O Razão Confidencial do Azure é um serviço gerenciado criado no Confidential Consortium Framework. Ele implementa uma rede de blockchain com permissão de nós na computação confidencial do Azure. O Razão Confidencial baseia-se na criptografia existente.

  • Criptografia existente
    • Dados inativos. Criptografar dados inativos quando armazenados no armazenamento de blobs ou em um banco de dados.
    • Dados em trânsito. Criptografar dados que estão fluindo entre redes públicas ou privadas.
  • Computação confidencial
    • Dados em uso. Criptografar dados que estão em uso, na memória e durante a computação.

A computação confidencial permite a criptografia de dados na memória principal. A computação confidencial permite processar dados de várias fontes sem expor os dados de entrada a outras entidades. Esse tipo de computação segura dá suporte a cenários de computação de várias partes em que a proteção de dados é obrigatória em todas as etapas, como detecção de lavagem de dinheiro, detecção de fraudes e análise segura de dados de saúde.

Os dados armazenados no Razão Confidencial são imutáveis e à prova de adulteração no razão somente acréscimo. O razão também é verificável de forma independente. O Razão Confidencial usa enclaves seguros para uma rede blockchain descentralizada e requer uma base de computação confiável mínima.

Razão do Banco de dados SQL do Azure

O razão do banco de dados SQL do Azure permite que os participantes verifiquem a integridade dos dados centralizados sem o consenso de rede de uma rede blockchain. Para algumas soluções centralizadas, a confiança é importante, mas a infraestrutura descentralizada não é necessária. Essa abordagem evita a complexidade e as implicações de desempenho dessa infraestrutura.

Diagram shows database ledger architecture.

Observação

No momento, o razão do Banco de Dados SQL do Azure está em versão prévia pública.

O razão oferece funcionalidades de comprovação de adulteração para seu banco de dados. Esses recursos permitem que você ateste criptograficamente que seus dados não foram adulterados.

O razão ajuda a proteger dados de qualquer invasor ou de um usuário com privilégios elevados, incluindo administradores de banco de dados, de sistema e de nuvem. Os dados históricos são preservados. Se uma linha é atualizada no banco de dados, o valor anterior dela é mantido e protegido na tabela de histórico. Isso oferece proteção sem nenhuma alteração de aplicativo.

O razão é um recurso do Banco de Dados SQL do Azure. Ele pode ser habilitado em qualquer Banco de Dados SQL do Azure existente.

Comparação de opções

Razão Confidencial e razão do Banco de Dados SQL do Azure

Esta tabela compara o Razão Confidencial com o razão do Banco de Dados SQL do Azure.

Razão do Banco de Dados SQL Razão Confidencial
Sistema centralizado que requer evidências de adulteração Sim Não
Sistema descentralizado que exige que os dados sejam à prova de adulteração Não Sim
Protege os dados relacionais contra adulteração Sim Não
Protege dados não estruturados contra adulteração Não Sim
Proteger o repositório off-chain de dados de cadeia em um blockchain Sim Não
Proteger o repositório off-chain para arquivos referenciados de um blockchain Não Sim
Os dados relacionais podem ser consultados Sim Não
Os dados armazenados não estruturados podem ser consultados Não Sim

Razão Confidencial e Armazenamento de Blobs do Azure

O recurso de armazenamento imutável do Armazenamento de Blobs do Azure garante que os dados gravados nele possam ser lidos, mas nunca alterados. Esta tabela compara essa tecnologia com o Razão Confidencial.

Razão Confidencial Armazenamento imutável
Enclaves de hardware confidenciais Sim Não
Integridade de dados somente acréscimo Sim Sim, limitado a intervalos
Criptografia de dados em uso Sim Não
Prova do razão de blockchain Sim Não

Decisão de computação de várias partes

Este diagrama resume as opções para a computação de várias partes com os serviços do Azure.

Diagram summarizes decisions for choosing a multiparty computing option.

Baixe um Arquivo Visio dessa arquitetura.

Próximas etapas