Azure BaaS Descontinuado – Pode um dApp ser um BaaS e ainda o substituir?

O Blockchain como um serviço da Azure será descontinuado pela Microsoft em setembro. A empresa sugere a migração para o Quorum Blockchain Service hospedado no Azure, gerenciado por consensys.

O Azure BaaS forneceu interfaces gráficas para implantar, com eficiência, uma rede blockchain com baixo grau de código. No entanto, sendo o Azure o intermediário, não faz muito sentido a sua adoção, uma vez que o blockchain é uma rede descentralizada, desenhada para eliminar intermediários e problemas de confiança entre os participantes.

Se for necessário depender de terceiros para gerenciar a rede de blockchain, isso vai contra o seu princípio principal, a descentralização. Neste artigo, vamos explorar a possibilidade de um dApp (aplicativo descentralizado) ser um substituto para o Azure BaaS, o que também pode se aplicar a outros BaaS.

Problema

Blockchain é um sistema de banco de dados distribuído, descentralizado e autogerenciado que fornece integridade de dados, transparência e custos operacionais baratos quando comparado aos sistemas legados. Existem vários frameworks de blockchain, como as redes Hyperledger Fabric, Corda e Ethereum, que tornam um pouco mais fácil implantar uma rede de blockchain privada entre uma série de participantes. Até mesmo para pessoas que não são da área de tecnologia e que querem criar um back-end e uma interface gráfica para interagir com o blockchain, conseguem fazer a implementação. Claro, uma equipe de desenvolvedores é sempre necessária para atender aos padrões de segurança e acessibilidade.

O blockchain da Azure teve como objetivo resolver essa lacuna, fornecendo uma interface de usuário para implantar e interagir perfeitamente com o blockchain. No entanto, a Azure estaria atuando como um intermediário, a própria função que o blockchain visa eliminar, a fim de proporcionar negócios de forma confiável e eficiente.

Componentes

Um programa de computador totalmente funcional consiste nas camadas de processamento e armazenamento. Um blockchain é 2 em 1. Em seu núcleo, tem a camada de processamento com regras definidas para o processamento de dados e, os seus blocos representam a camada de armazenamento com o estado atual de objetos. Para que um dApp seja construído, é necessário que ambas as camadas estejam em uma governança descentralizada.

Este artigo propõe a construção de um dApp em cima de um blockchain, que criará outros blockchains de maneira simples e eficiente, que podem ser usados por pessoas que não são da área da tecnologia. Isso exigirá uma interface do usuário amigável pela qual o usuário se comunicará, um núcleo, no qual um blockchain atuará como a camada de processamento e armazenamento, e uma interface. O dApp precisará conter regras e métodos que terão que gerar todos os artefatos para criar um aplicativo, ponta-a-ponta, com variáveis ​​parametrizadas.

Soluções Possíveis

Blockchains públicos com UIs já existem e há dApps que operam no topo deles. No entanto, não há dApps que facilitam a implantação de uma rede em um clique, usando uma interface de usuário amigável. Mas pode existir? Talvez. Temos muitos fatores a serem considerados. Por exemplo, para implantar uma rede blockchain privada, você precisa de uma máquina host e dos artefatos necessários para que essa rede seja implantada e comece a operar, criando automaticamente a rede, um servidor e os terminais a serem utilizados. Vamos considerar cada aspecto que o Azure possui e ver se podemos mapeá-los para serem criados por um dApp.

Existem duas soluções possíveis. Cada uma com as suas próprias vantagens e desvantagens.

  1. Um blockchain privado com permissão dentro de uma infraestrutura de rede de blockchain pública, com a capacidade de se desvincular e atender às solicitações de forma criptografada para se mascarar e fornecer privacidade.
  2. Um blockchain dApp que irá processar e criar os artefatos necessários para uma implementação com um clique em qualquer máquina, gerando os arquivos necessários para iniciar a interface do usuário, middleware e back-end.

Referências

As soluções foram pensadas com base nos IPFS (sistema de arquivos interplanetários) existentes. São dois projetos que trazem os conceitos de descentralização dos dois principais componentes dos sistemas digitais, processamento e armazenamento de dados. Ambos são serviços de armazenamento descentralizados hospedados em seus próprios blockchains.

Os dois serviços contam com “nós” descentralizados, para processar e armazenar qualquer tipo de dados e arquivos, por meio de criptografia e protocolos de retransmissão para disponibilidade segura e sob demanda. Com esse processamento descentralizado e armazenamento de dados, podemos projetar um aplicativo blockchain como um serviço descentralizado, que é mais seguro e mais barato do que serviços tradicionais como Azures e IBMs BaaS.

Proposta de Solução 1 (PS1)

A Solução 1 propõe um blockchain dentro de outro. Podemos compará-lo a contratos inteligentes dentro de um blockchain, mas não exatamente. Esta solução proposta vai além de um contrato inteligente, com regras de processamento predefinidas operando em outro blockchain. O PS1 pode ser comparado a um cluster Kubernetes, seguindo o mesmo princípio de um nó mestre, que gerencia o cluster e todos os pods. Esta é uma rede de blockchain pública que gera blockchains privados e permitidos dentro dela.

O nó mestre seria o blockchain como o “cérebro” que gerará os artefatos para uma rede blockchain. Você pode desacoplar a sua rede blockchain do nó mestre a qualquer momento, e ela ainda estará totalmente funcional. A criptografia irá mascarar as informações por meio da SNARK.

O diagrama a seguir descreve como a rede funcionará:

  • Nós mestres – responsáveis ​​por implantar uma rede blockchain para a rede blockchain. Ele funciona como um tradutor de configuração, gerenciamento de nós e balanceador de carga. Implantando nós e contratos inteligentes, mantendo o estado das redes e as suas informações, como em quais nós estão localizados, identidades e estados de distribuição;
  • Nós comuns – responsáveis ​​pelo processamento, armazenamento e sincronização de blocos, identidades, controle de acesso, descoberta de novas redes, novos nós pertencentes a uma determinada rede blockchain, processamento de transações, manutenção de acesso API e gerenciamento de contratos inteligentes.

Proposta de Solução 2 (PS2)

A solução 2 propõe um dApp, semelhante ao Azures BaaS. Basicamente, o dApp operará no topo de seu blockchain com recursos para gerar os artefatos necessários para o solicitante implantar uma rede blockchain em uma máquina. O dApp fará praticamente toda a pré-programação da configuração da rede, o que inclui front-end, middleware e back-end. Todos os 3 componentes prontos para se comunicarem entre si, com recursos plug-and-play.

Conclusões

Esses sistemas não precisam saber quais dados estão sendo armazenados e processados. Com a criptografia, é possível disseminar dados para nós de terceiros sem ter que se preocupar com privacidade.

Como os conceitos de blockchain eliminam intermediários, só faz mais sentido usar um dApp para criar o seu próprio blockchain, do que confiar toda a sua rede e informações confidenciais a um intermediário que ofereça BaaS.