Participe da Maratona Behind the Code! A competição de programação que mais te desafia! Inscreva-se aqui

Desenvolva, regule e opere sua rede de negócios com a IBM Blockchain Platform

O blockchain é uma tecnologia transformadora que está ajudando a gerar valor de negócios entre os segmentos de mercado, pois economiza tempo, reduz custos, diminui os riscos e permite novos modelos de negócios.

Por exemplo, a IBM Global Financing é uma das maiores financiadoras de tecnologia do mundo, com mais de 125.000 clientes em mais de 60 países, com 4.000 parceiros e fornecedores. O uso da tecnologia blockchain pela IBM liberou 100 milhões de dólares que anteriormente estavam bloqueados em disputas de transação. Para saber mais sobre essa implementação bem-sucedida do blockchain, confira o vídeo à direita.

Valor do blockchain

Colaboradores (fornecedores, consumidores, parceiros etc.) em qualquer rede precisam compartilhar dados para realizar negócios. Considere o cenário de uma loja de varejo como um exemplo simplificado: uma loja de varejo que está comprando peças de computador registra a ordem de compra com um fornecedor, além de registrar a ordem de compra e a transferência financeira em seu banco de dados. O fornecedor envia o item, registrando que o item foi enviado em seu banco de dados e registrando a coleta do dinheiro pago pela mercadoria.

Nesse cenário, o fornecedor e a loja de varejo possuem seus próprios dados em seus próprios bancos de dados separados. Quando ocorre um problema (por exemplo, o produto enviado não chegou), como a loja de varejo rastreia a localização da peça? Hoje, além de confiar em registros diferentes para validar o que ocorreu, também é necessário navegar pelo pipeline de entrega para determinar onde o item está localizado. Esse processo manual é demorado e propenso a erros.

O blockchain é revolucionário porque permite um ledger descentralizado e imutável que registra cada transação. O ledger é descentralizado e compartilhado: cada membro da rede possui uma cópia do ledger (em nosso exemplo, a loja de varejo e o fornecedor têm a mesma cópia). O ledger também é imutável: cada transação é assinada por várias partes e protegida pela cadeia de hashes de blocos que representa o conteúdo de cada bloco de dados. Como resultado, se uma organização desonesta tentar violar os dados do ledger, ela será facilmente descoberta.

Em nosso cenário da loja de varejo, o item é retirado na loja por uma transportadora, é entregue em um porto, é carregado em um navio, chega a outro porto e, finalmente, é entregue por um caminhão à loja de varejo. Quando o item chega a um local específico, esse item, a data e o local são registrados no ledger do blockchain. Como resultado, o ledger agora possui um registro detalhado da data e localização do item à medida que ele se move através do pipeline de entrega. Se o item não chegar, tanto a loja de varejo quanto o fornecedor poderão consultar o ledger, onde todas as informações estão registradas. A loja de varejo e o fornecedor podem, então, determinar onde o item está localizado atualmente, porque todos os pontos de chegada estão registrados no ledger e não podem ser excluídos ou alterados.

Com esse ledger compartilhado e imutável, as empresas podem reduzir drasticamente o tempo usado para resolver disputas, descobrir informações e verificar transações, o que leva a uma resolução mais rápida. Além disso, os custos podem ser reduzidos porque um mediador ou órgão governamental central é eliminado da resolução de contestações e porque o ledger compartilhado permite a automação de processos ineficientes. Devido à natureza segura e transparente da tecnologia blockchain, os riscos de segurança também são reduzidos, porque há minimização de colusão e adulteração.

O que é IBM Blockchain Platform?

A IBM Blockchain Platform é a primeira plataforma comercialmente disponível para utilizar tecnologias do Hyperledger, um esforço global e colaborativo de software livre hospedado pela The Linux Foundation.

A IBM é cofundadora e membro de destaque da comunidade Hyperledger, além de colaboradora tecnológica ativa do projeto de software livre Hyperledger Fabric. O projeto está alcançando avanços fundamentais na padronização de blockchains com permissão para uso comercial. Embora a IBM tenha contribuído significativamente para as bases de código do Hyperledger Fabric, o ecossistema de colaboradores cresceu e passou a incluir desde desenvolvedores de startups até desenvolvedores de grandes corporações. Para a primeira liberação do Hyperledger Fabric, contribuíram 159 engenheiros de 27 organizações.

A IBM Blockchain Platform é o único software como serviço gerenciado que suporta e guia usuários em todos os estágios necessários para ativar uma rede de blockchain: desenvolver e testar aplicativos de prova de conceito em um ambiente de pré-produção, ativar uma rede de produção, estabelecer políticas de controle flexíveis para membros da rede e gerenciar operações diárias com os mais altos níveis de segurança e desempenho.

A IBM Blockchain Platform reflete a experiência da IBM com mais de 400 clientes e diversas redes ativas operando a mais antiga rede de blockchain de produção voltada para empresas. Desde 2016, a IBM Blockchain Platform tem operado redes de blockchain ativas, como a Food Safety do Walmart, a Trusted Identity Exchange da SecureKey e a Luxury Good Exchange da Everledger, para citar algumas.

A IBM Blockchain Platform simplifica o desenvolvimento, o controle e a operação de uma rede descentralizada entre diversas empresas ou instituições que formam um ecossistema de negócios. Ela permite que todos os membros atinjam rapidamente o objetivo comum de ativar e controlar colaborativamente suas redes para que possam continuar conduzindo, inovando e derivando valor de suas transações de negócios.

Tecnologias de software livre que potencializam a plataforma

Pense no Hyperledger Fabric como o sistema operacional que potencializa a IBM Blockchain Platform. O Hyperledger Fabric é uma estrutura para soluções distribuídas de ledger em redes com permissão, na qual os membros se conhecem. Sua arquitetura modular permite um modelo de confiança flexível e maximiza o desempenho e a escalabilidade enquanto abre caminho para suportar padrões desejados (associação e criptografia, por exemplo).

A escalabilidade e o desempenho da rede são otimizados porque apenas um pequeno subconjunto dos nós precisa participar do endosso de transações, enquanto a chance de falha no consenso é reduzida porque a participação dos endossantes e committers no processamento da transação é limitada aos canais. Os canais, introduzidos no Hyperledger Fabric v1.0, ajudam a assegurar que os dados cheguem somente às partes envolvidas, fornecendo isolamento de dados para dados que devem ser protegidos a todo custo.

A confiança também foi aumentada, pois cada chaincode pode especificar um conjunto selecionado de endossantes e committers nos quais confia para realizar a execução para cada transação específica. (O Chaincode, também chamado de contrato inteligente, é o software que encapsula a lógica de negócios e as instruções transacionais para criar e modificar ativos). Com a IBM Blockchain Platform, os usuários com as permissões corretas podem instalar e instanciar facilmente o chaincode para canais, além de ver os membros que estão nos canais dos quais participam. Os usuários devidamente autorizados podem chamar o chaincode, criar novos canais e até mesmo atualizar os direitos de acesso de um canal com base na política da rede de blockchain estabelecida.

Políticas que requerem consenso de membros ou administradores da organização podem ser definidas e aplicadas para conceder acesso a canais, instanciar chaincode, chamar chaincode, enviar transações, reconfigurar credenciais de associação de organizações participantes, fazer upgrade do chaincode ou até mesmo modificar políticas existentes. Além disso, auditores devidamente autorizados também podem auditar facilmente o conteúdo de determinadas transações associadas a uma transferência de ativo para assegurar que a lógica de negócios foi aplicada corretamente. (Observe que o hash de chaincode é enviado ao blockchain, então os endossantes estão ligados ao que eles executaram).

O chaincode é executado em um contêiner protegido associado a qualquer peer que precise interagir com ele. Primeiramente, o chaincode é instalado no sistema de arquivos de um peer que participará da troca de ativos. Em seguida, ele é instanciado em um canal específico que contém uma lista de membros. Cada canal representa um subconjunto de membros autorizados a ver os dados para o chaincode instanciado nesse canal. O modelo de confiança associado à execução de cada chaincode pode ser baseado na lógica de negócios em si, sendo executado apenas no conjunto de endossantes e committers ao invés de ser executado em todos os nós.

Se você não estiver em um canal, não será possível ver os dados nele. Cada canal possui um ledger exclusivo. Os usuários devem estar devidamente autorizados para executar operações de leitura/gravação nesses dados para esse canal. Diversos canais podem ser configurados com uma lista de membros com permissão. O gerenciamento da instalação e da instanciação do chaincode, assim como a participação dos membros nos canais, é facilitado por meio do controle e da interface com o usuário da IBM Blockchain Platform. O Hyperledger Fabric também permite a criptografia de camada do aplicativo. Já o acesso às chaves de descriptografia pode ser restringido a alguns endossantes devidamente autorizados nos quais o aplicativo confia. Essa capacidade demonstra como o modelo de confiança da lógica de negócios ajuda a assegurar a confidencialidade das chaves.

Vamos analisar as maneiras específicas e exclusivas como a IBM Blockchain Platform simplifica o desenvolvimento, o controle e a operação para acelerar a ativação da rede e o controle colaborativo em toda a rede.

DESENVOLVA com ferramentas e serviços flexíveis

As redes de blockchain geralmente são geradas por ideias de negócios inovadoras que os desenvolvedores de aplicativos convertem em código funcional. Com a IBM Blockchain Platform, os desenvolvedores podem transformar rapidamente requisitos de negócios e tecnologia em aplicativos de blockchain funcionais em um prazo bastante curto utilizando linguagens e estruturas populares.

Os desenvolvedores podem iniciar o desenvolvimento de aplicativos de prova de conceito de blockchain imediatamente, graças a um conjunto aberto e progressivo de ferramentas de desenvolvimento e serviços populares que estão totalmente integrados na Plataforma.

Os desenvolvedores iniciantes no blockchain podem usar amostras e tutoriais integrados para aprender conceitos importantes de blockchain, criar definições de rede e explorar modelos de mercado reutilizáveis. A eficiente combinação da linguagem de modelagem de negócios e da lógica de negócios JavaScript permite que os desenvolvedores de aplicativos se tornem rapidamente desenvolvedores de blockchain.

Além disso, as valiosas aptidões que os desenvolvedores ganham no controle e na operação da rede são transferidas facilmente para um plano Enterprise para implementação em uma rede de produção completa.

Ferramentas de desenvolvimento versáteis

Com o conjunto de ferramentas da IBM Blockchain Platform, tudo o que os desenvolvedores precisam conhecer é o JavaScript. Eles estarão a poucos passos de ter uma rede de blockchain ativa usando o Hyperledger Fabric. A abordagem exclusiva do conjunto de ferramentas para design de software permite que uma pessoa ou um desenvolvedor codifique de maneira colaborativa, garantindo a entrega rápida e a fidelidade plena a um conceito de negócios.

Os desenvolvedores podem modelar rapidamente uma rede de negócios especificando seus ativos (sejam bens, serviços ou propriedades tangíveis ou intangíveis); os tipos de transações, bem como as regras que regulam as transações que interagirão com os ativos (talvez comprando ou vendendo um ativo); e os participantes que interagem com os recursos e as transações que podem ter uma identidade exclusiva. Com três conceitos simples de ativos, transações e participantes, um desenvolvedor pode criar rapidamente um verdadeiro aplicativo de negócios. Os desenvolvedores podem usar consultas para retornar dados sobre o estado global. Por exemplo, um ativo ou participante pode ser selecionado de acordo com determinados critérios. Em seguida, ações podem ser executadas em um conjunto de resultados.

Para tornar facilitar ainda mais o desenvolvimento, o conjunto de ferramentas se integra com a maioria das estruturas de JavaScript e permite que um desenvolvedor conclua um projeto de blockchain incluindo uma interface com o usuário (angular.js) e a conexão com origens de dados externas (loopback). O conjunto de ferramentas possui chaincode pré-desenvolvido e modelos extensíveis para os principais casos de uso do mercado. O conjunto de ferramentas também utiliza Node-RED para integração com IoT, TCP, soquetes da web e outras interfaces modernas, bem como ferramentas de integração corporativas, como o IBM Integration Bus, para que desenvolvedores possam integrar sistemas externos, como SAP e CICS, para obter dados dentro e fora do blockchain.

CONTROLE com ferramentas de gerenciamento democráticas e integradas

Geralmente, o desafio de decidir como oferecer a todos os membros participantes algum controle em uma rede de blockchain com um ledger compartilhado, enquanto evita que um membro tenha controle exclusivo, é ignorado e subestimado. O controle de uma rede de blockchain operacional entre um grupo de membros pode exigir coordenação, tempo e esforço significativos. Os principais objetivos do controle de rede adequado são assegurar a conformidade regulamentar, remover a incerteza e o risco relacionados à aplicação de regras de negócios (codificadas em contratos inteligentes, ou chaincode), fornecer privacidade e confidencialidade para diferentes classes de transações (protegidas em canais) e evitar que agentes não autorizados se juntem à rede. O ecossistema precisa superar o fato de que ele é simplesmente tão forte quanto o membro mais fraco, tão rápido quanto o membro mais lento, tão rico quanto o membro mais pobre (que pode estar se esforçando para levantar fundos), tão seguro quanto o membro mais inseguro e tão inteligente quanto seu membro menos informado.

Você poderia imaginar que a autoinicialização de uma rede de blockchain corporativa fosse um processo complexo, que exigisse muita informação e coordenação para configurar o hardware e o software. E estaria certo! A configuração de uma rede com todos os certificados, os membros da rede e o controle necessário é muito complexa, mas fica mais fácil com a IBM Blockchain Platform. Em alguns minutos, é possível ativar uma rede de blockchain, convidar participantes para a rede, incluir novos canais e configurar as regras operacionais para a rede. As ferramentas de ativação permitem que você inicie com uma rede pequena e cresça gradativamente à medida que mais membros são necessários.

A IBM Blockchain Platform também fornece ferramentas de controle, que ajudam os membros a operar uma rede distribuída de forma democrática. Como exemplo de uma política de controle, membros podem desejar configurar regras para determinar como outros membros se juntarão à rede. Todos os membros precisam concordar para que outro membro se associe? Ou 50% dos membros são suficientes para decidir que um membro pode se juntar à rede? O controle da rede é incorporado em políticas de controle como essas. Um Editor de Políticas está disponível dentro da IBM Blockchain Platform para ajudar a configurar as políticas democráticas para inúmeras tarefas de ciclo de vida de uma rede de blockchain.

Com base nesse conjunto de ferramentas e nas políticas de controle para quem possui acesso apropriado, são fornecidas telas de recursos para ajudar a gerenciar recursos para a Autoridade de Certificação, os peers e o serviço de ordenação. Como exemplo, nas telas de recursos, aqueles que possuem permissão podem acessar logs que podem ser úteis na depuração de aplicativos de blockchain em canais específicos. Além disso, o Editor de Políticas é uma ferramenta de fluxo de trabalho de várias partes que fornece recursos, tais como o painel de atividades do membro, notificações integradas e coleta de assinatura segura para votação de política.

OPERE uma rede segura e sempre conectada

Quando você tiver ativado sua rede usando a IBM Blockchain Platform, será possível implementar e operar sua rede descentralizada com um serviço pronto para produção, com segurança reforçada, sempre ativo e otimizado para desempenho. Seu ambiente de segurança extremamente alta inclui muitos recursos de segurança de hardware, firmware e software criados para escalabilidade, resiliência e disponibilidade.

A operação da IBM Blockchain Platform garante tempo de atividade ao fornecer resiliência nativa e, dessa maneira, a arquitetura elimina pontos únicos de falha e inclui redundância à rede de blockchain. Por exemplo, o serviço de ordenação é tolerante a falhas de travamento e dois peers podem ser fornecidos automaticamente por membro para fins de alta disponibilidade. Além disso, está disponível uma tecnologia especial para backup do ambiente inteiro no caso de falha catastrófica.

A IBM Blockchain Platform possui endossantes, serviços de ordenação e committers que são executados com recursos dedicados dentro de diversos ambientes isolados. A comunicação entre peers ocorre por meio de uma rede de alta velocidade, onde a comunicação é altamente segura e sem vazamento de dados. Além disso, a comunicação é acelerada, graças à tecnologia criptográfica avançada, na qual operações são mais eficazes com relação a hashing, criptografia e assinaturas digitais.

O suporte técnico integrado está disponível 24 horas por dia, sete dias por semana, caso surjam problemas ou questões à medida que os membros avançam no uso da tecnologia e na expansão do consórcio. Um monitor de painel fornece monitoramento e suporte integrados para o gerenciamento simplificado do ciclo de vida dos ativos. Os membros da rede podem ter uma visão geral do ambiente de blockchain, incluindo informações sobre peers, logs, estado do ledger, canais e chaincode. Isso permite gerenciar a rede e entender o status do ativo a qualquer momento. Por ser um serviço gerenciado, atualizações contínuas de versão para o Hyperledger Fabric subjacente são aplicadas automaticamente em todos os componentes da rede.

Segurança desde a concepção

Com base na experiência da IBM em centenas de ambientes de blockchain operacionais em produção, a segurança tem sido um dos elementos mais críticos que precisam ser protegidos em vários segmentos de mercado. Como resultado, a IBM Blockchain Platform foi reforçada e teve a segurança testada por firmas externas para assegurar que todos os dados fossem protegidos e gerenciados adequadamente e que a infraestrutura fosse sólida e segura.

A IBM Blockchain Platform é executada em um ambiente isolado e altamente seguro. O sistema operacional integrado e todos os componentes do Fabric são executados em diversos Contêineres de Serviço Seguro (SSC). O Contêiner de Serviço Seguro fornece criptologia, segurança e confiabilidade avançadas apresentando aos sistemas operacionais um contêiner de boot seguro, criptografando discos de dispositivo, fornecendo proteção contra violação e protegendo a memória. Ele pode ser configurado para ser compatível e certificado para EAL5. Todos esses recursos ajudam a proteger dados altamente sensíveis e regulados.

Foi criado um dispositivo virtual para a IBM Blockchain Platform com base no Contêiner de Serviço Seguro. Nesse dispositivo, o acesso a dados é controlado e o acesso ao Sistema Operacional integrado está desativado. O firmware desativa o acesso à memória para evitar o dump de dados. O dispositivo é inicializado com uma arquitetura de inicialização segura, que garante que o código não tenha sido corrompido. Toda a imagem do dispositivo é assinada e criptografada. O dispositivo é descriptografado apenas na memória e as chaves de criptografia são protegidas por meio do hardware e do firmware, de modo que os administradores não tenham acesso a elas. Os administradores, incluindo administradores de serviço, não podem acessar ou modificar o chaincode, os endossantes, o serviço de ordenação, o committer ou a rede de blockchain.

Além desses recursos, o Módulo de Segurança de Hardware (HSM) protege e gerencia chaves digitais para autenticação reforçada. O Hyperledger Fabric fornece PKCS11 modificado e não modificado para a geração de chaves, compatível com casos que precisam de mais proteção, como o gerenciamento de identidade. Para cenários relacionados ao gerenciamento de identidade, o HSM aumenta a proteção de chaves e de dados sensíveis. A IBM Blockchain Platform possui suporte ao HSM com a conformidade no mais alto nível do FIPS.

Próximas etapas

Aviso

O conteúdo aqui presente foi traduzido da página IBM Developer US. Caso haja qualquer divergência de texto e/ou versões, consulte o conteúdo original.