Hyperledger Fabric 2.0: Blockchain de próxima geração

O Hyperledger Fabric já existe para as empresas há algum tempo. Na realidade, ele oferece uma das plataformas criativas para casos de uso de blockchain. Mas uma tecnologia que não melhora com o tempo se torna obsoleta muito rapidamente. É por isso que o Hyperledger nos trouxe o novo lançamento do Hyperledger Fabric 2.0.

Basicamente, anteriormente, a empresa oferecia um Fabric versão 1.4. Mas agora temos o blockchain da próxima geração entre nós. Se você está mais do que entusiasmado com o novo lançamento como nós, confira este guia. Porque hoje vamos falar sobre o lançamento do novo Hyperledger Fabric 2.0 e sobre todos os recursos que ele introduziu.

Mas antes de começar, vamos retratar o que é a plataforma Hyperledger Fabric e quais recursos ela ofereceu inicialmente.

Então vamos começar!

Hyperledger Fabric 2.0

O que é Hyperledger Fabric?

Hyperledger Fabric é uma plataforma de razão distribuída para soluções de nível empresarial que vem com versatilidade, modularidade e desempenho. Então, como você sabe, também existem plataformas sem permissão. Mas o Fabric é diferente disso.

Não permite que qualquer pessoa entre na plataforma. Em vez disso, oferece acesso com permissão aos usuários que têm autoridade no sistema. Mais ainda, ele também oferece privacidade de dados e contratos inteligentes para desempenho escalonável e seguro.

É por isso que qualquer setor pode usar o Hyperledger Fabric para qualquer tipo de solução. As oportunidades são ilimitadas e as empresas sempre obterão o melhor resultado da plataforma de contabilidade distribuída.

Mesmo que os usuários em um sistema de rede trabalhem juntos, as empresas precisam manter a privacidade para certas interações. É nisso que a indústria se baseia. Por exemplo, talvez um comprador esteja vendendo um produto para diferentes fornecedores, mas em diferentes faixas de preços.

Mas o comprador precisa manter a privacidade sobre isso. E é aqui que o Hyperledger Fabric pode ajudar.

Na realidade, você pode criar facilmente canais separados em uma transação para vendedores separados. Além disso, você pode usar opções de dados privados para manter as informações em um nível secreto.

Por que Hyperledger Fabric??

Na realidade, o Hyperledger Fabric evoluiu ao longo do tempo com a ajuda da comunidade de código aberto, focando principalmente em casos de uso de nível empresarial. Mais ainda, agora oferece muitos recursos que a empresa exige com frequência. Então, vamos ver o que são –

  • Arquitetura modular e permitida.
  • Uma solução de endosso muito flexível para consenso entre todas as organizações de transação.
  • Contratos inteligentes flexíveis e abertos que podem oferecer suporte a vários modelos de dados e soluções, como dados estruturados, modelo de conta, dados não estruturados, modelo UTXO, etc..
  • Opções de protocolo de consenso plugáveis ​​para transações de pedidos e bloqueio.
  • Privacidade total de dados para isolamento de transação ou compartilhamento apenas de informações necessárias usando modelos de dados privados.
  • Suporte de contrato inteligente para várias linguagens de programação, como JavaScript, Java, Go, etc.
  • Controle de versão e governança para contratos inteligentes.
  • Suporte para solidez.
  • Suporte para Máquina Virtual Ethereum.
  • Atualizações contínuas, operações corporativas, suporte de versão assimétrica.
  • Dados quadráveis, como consultas de intervalo, consultas chave, consultas JSON em cadeia e muito mais.

Hyperledger Fabric 2.0: O que há de novo?

O primeiro lançamento do Hyperledger Fabric estava de volta na v1.0. E agora, temos o segundo grande lançamento do Hyperledger Fabric 2.0. Desta vez, ele vem com muitos recursos novos e aprimorados para usuários e operadores na plataforma.

O lançamento do Hyperledger Fabric 2.0 inclui padrões de privacidade e oferece suporte a novos aplicativos, novos recursos para nós operacionais, sistemas de governança aprimorados para contratos inteligentes e muito mais.

No entanto, eles não o forçarão a atualizar para o Hyperledger Fabric 2.0 mais recente se você ainda não estiver pronto. Portanto, você tem a opção de atualizar quando estiver pronto ou sua empresa estiver pronta para a transição.

E isso é um grande ponto positivo para o Hyperledger Fabric 2.0.

Vamos dar uma olhada em alguns dos destaques do novo lançamento –

Governança Descentralizada de Contratos Inteligentes

O Hyperledger Fabric 2.0 agora vem com governança descentralizada, especialmente para contratos inteligentes. Ele também oferece um novo processo onde você pode instalar um chaincode nos pares e iniciá-lo no canal. Assim, o novo gerenciamento do ciclo de vida do chaincode agora permite que várias organizações cheguem a um acordo com base nos parâmetros do chaincode.

Então, basicamente, você usará a política de endosso do código de cadeia para interagir com o razão. Vamos ver quais outras melhorias ele oferece em relação ao processo de ciclo de vida do chaincode anterior –

Acordo com os parâmetros do Chaincode

Basicamente, na versão anterior, apenas uma organização no chaincode poderia configurar os parâmetros até mesmo para outros membros do canal. Mas os outros membros podem se recusar a obter o código de cadeia e não participar do processo de transação. Portanto, invocando-o.

No entanto, o novo Hyperledger Fabric 2.0 oferece uma rota mais flexível para o chaincode. Agora ele suporta modelos de chaincode centralizados e modelos de chaincode descentralizados. Na versão descentralizada, as empresas têm que chegar a um acordo sobre o chaincode para que ele possa se tornar ativo no canal.

Atualizações Cautious Chaincode

Anteriormente, apenas uma única organização podia atualizar a transação. No entanto, isso deixaria os outros membros do canal em risco se eles não tivessem o chaincode instalado. Assim, o novo Hyperledger Fabric versão 2.0 permite que o chaincode seja atualizado somente depois que membros suficientes concordarem com a atualização sem quaisquer problemas.

Coleta de dados privados e atualizações fáceis da política de endosso

O novo Hyperledger Fabric versão 2.0 oferece uma nova política de endosso onde você pode atualizar a coleta de dados privada ou configuração de política sem reinstalar o chaincode. Mais ainda, os usuários podem utilizar a política de endosso, pois exige a concordância de um grande número de usuários no canal.

Na realidade, a política será atualizada sempre que um membro entrar no livro-razão ou sair do livro-razão.

Pacotes de Chaincode inspecionáveis

Agora, o Hyperledger Fabric versão 2.0 vem com um arquivo tar de fácil leitura para chaincode. Isso o ajudará a inspecionar os arquivos chaincode facilmente e determinar as instalações em outras organizações.

Múltiplos Chaincodes em um canal

Na versão anterior, o ciclo de vida usado para definir cada chaincode usando a versão e o nome especificados durante a instalação do pacote. Mas agora você pode usar apenas um único pacote chaincode e implantá-lo mais de uma vez com vários nomes todas as vezes na rede. Além disso, você pode fazer isso em canais diferentes ou no mesmo canal.

Pacotes Chaincode entre membros do canal

No Hyperledger Fabric versão 2.0, os usuários podem estender um chaincode para seus próprios casos de uso. Por exemplo, uma organização pode estender um código de cadeia para validações dentro de sua própria empresa. Mas há um número mínimo de requisitos das organizações. Então, quando o endosso suficiente for possível, as transações serão validadas e terão um lugar no livro-razão.

Assim, ajudará a sua empresa a corrigir automaticamente quaisquer problemas no seu próprio tempo, sem comprometer toda a rede.

Usando o Novo Ciclo de Vida Chaincode

O Hyperledger Fabric versão 2.0 agora oferece um ciclo de vida chaincode completamente novo. No entanto, se você não estiver pronto para as novas mudanças, você pode simplesmente continuar usando o ciclo de vida anterior com o Hyperledger Fabric versão 2.0.

Na realidade, o novo ciclo de vida só se tornará ativo quando você atualizar os recursos para a v2.0.

Novos padrões de aplicativo Chaincode

Basicamente, o roteiro do Hyperledger Fabric 2.0 permite que você use o mesmo método de consenso descentralizado para seus próprios aplicativos chaincode. Isso irá garantir que as organizações tenham consentimento para as transações de dados antes de comprometer o livro-razão.

Verificações automatizadas

Uma organização pode adicionar verificações automatizadas para codificar em cadeia a fim de validar mais informações antes de endossar uma transação no livro-razão.

Acordo Descentralizado

A melhor parte é que o roteiro do Hyperledger Fabric 2.0 permite modelar decisões humanas no código de cadeia para abranger mais de uma transação. No entanto, você precisaria de outros usuários de organizações para interagir com os termos e condições do contrato.

Então, finalmente, uma proposta de código de cadeia pode verificar se todas as condições do usuário foram atendidas e liquidar a transação com base nisso.

Capacidades

Existem certos recursos no roteiro do Hyperledger Fabric 2.0. Vamos ver o que são –

Aplicativo V2_0: Ele inicia um novo ciclo de vida do chaincode para os operadores, conforme mencionado no Chaincode.

Canal V2_0: Basicamente, ele não tem alterações, mas você pode usá-lo para manter a consistência com o nível de capacidade solicitado e os aplicativos.

Solicitante V2_0: Este controla o UseChannelCreationPolicyAsAdmins e altera a maneira como normalmente uma transação de canal é validada. Se você combiná-lo com a opção -baseProfile, poderá alterar os valores herdados anteriormente no sistema do solicitante.

Mas quando você estiver atualizando seus níveis de capacidade, sempre lembre-se de atualizar os binários de pares também. Além disso, atualize os binários do solicitante antes de atualizar os recursos do solicitante e do canal.

Aprimoramentos de dados privados

O roteiro do Hyperledger Fabric 2.0 também vem com um novo padrão para compartilhar todos os seus dados privados sem coletar todos eles de uma vez e, em seguida, combinar os membros do canal com base nisso. Mais especificamente, sem compartilhar informações privadas com uma coleção de usuários, você pode simplesmente compartilhá-las com uma única organização.

Mas antes de nos aprofundarmos um pouco mais na documentação do Hyperledger Fabric 2.0, vamos ver a que dados privados realmente se referem no Hyperledger.

O que são dados privados?

Em muitos casos, uma empresa pode precisar manter certas informações privadas em um canal de outras empresas. Assim, eles têm que criar um novo canal com apenas as organizações que podem ver as informações separadamente. Mas isso significa que também precisará de administrações, políticas, acessos de membros adicionais e muito mais.

Mais ainda, também não permite que o participante do canal use o sistema em quaisquer casos de uso em que todas as partes podem ver alguma parte das informações enquanto outras permanecem ocultas.

No entanto, agora o roteiro do Hyperledger Fabric 2.0 o ajudará a criar uma coleta de dados privada. Aqui você pode definir um subconjunto de empresas que podem ver os dados privados sem criar um novo canal para cada caso.

O que é coleta de dados privados?

Basicamente, uma coleção é uma combinação de dois elementos diferentes –

A informação real que é transmitida entre pares usando o protocolo gossip. Mas aqui, apenas a empresa autorizada a vê-lo pode ver isso. Basicamente, esses dados estão em um banco de dados estatal privado dentro dos livros dos pares dessa organização.

Mais ainda, não há serviços de pedidos aqui, e eles não podem ver as informações privadas. De qualquer forma, como os protocolos de fofoca transmitem as informações de um par para outro, você precisa configurar nós de âncora no canal.

Ele também contém um hash dos dados privados que são solicitados, endossados ​​e gravados no razão de todos os pares no canal. Basicamente, serve como evidência para a validação de uma transação no canal. Você também pode usá-lo para fins de auditoria.

Usando uma coleção

Dentro de um canal

Você precisa usar canais se quiser manter uma transação inteira em segredo de um grupo de organizações dentro do canal.

Canal Separado

De acordo com a documentação do Hyperledger Fabric 2.0, você pode usar coleções quando precisar manter apenas uma parte do livro-razão secreto de um conjunto de empresas.

Na realidade, algumas organizações terão acesso total ao livro-razão e outras poderão ver apenas o que lhes é permitido. Se você também deseja manter os dados transacionais ocultos dos serviços de pedidos, pode usar coletas de dados privadas para fins de confidencialidade.

Um exemplo

Vamos verificar um exemplo da documentação do Hyperledger Fabric 2.0 para entender melhor a situação.

Digamos que, em uma plataforma de negociação, existem cinco empresas em um canal.

  • O fazendeiro que vende mercadorias
  • Distribuidor que movimenta essas mercadorias
  • Remetente que movimenta mercadorias entre duas partes
  • Atacadista que compra mercadorias do distribuidor
  • Varejista que compra mercadorias de atacadistas e remetentes

Basicamente, o distribuidor pode cobrar diferentemente em cada caso. Então, ele pode querer manter as transações com o remetente e o Fazendeiro privadas porque ele pode ter outros negócios com o varejista e o atacadista.

Além disso, o distribuidor cobra menos do atacadista do que do varejista. Portanto, ele pode querer manter isso em segredo do varejista.

O atacadista, por outro lado, também pode ter relações privadas com o embarcador e o varejista. Mas se você quiser criar um canal separado para cada informação privada, o sistema se tornaria muito mais complicado.

Em vez de fazer isso, você pode ter diferentes coletas de dados privados ou PDCs para cada um dos membros.

Tal como,

Private-Data-Collection-1: Remetente, Fazendeiro e Distribuidor

Private-Data-Collection-2: Remetente, varejista e atacadista

Private-Data-Collection-3: Atacadista e Distribuidor

De acordo com a documentação do Hyperledger Fabric 2.0, todos os distribuidores pares terão bancos de dados privados contendo dados privados para relação de remetente, fazendeiro e distribuidor e atacadista e relação de distribuidor.

Aprimoramentos em padrões de dados

De acordo com a documentação do Hyperledger Fabric 2.0, existem alguns aprimoramentos que realmente possibilitam que os novos padrões de dados privados funcionem. Esses são –

Compartilhamento e verificação de dados privados

As partes receptoras podem usar a API GetPrivateDataHash () para verificar se os dados privados compartilhados com elas são autênticos ou não em dois cenários –

  • Quando você compartilha informações privadas com um usuário do canal que não é membro de uma coleção.
  • Quando você compartilha com outra coleção que vem com um ou mais membros.

Políticas de endosso em nível de coleção

Agora você pode definir coletas de dados privadas com a ajuda de uma política de endosso que pode substituir outras diretivas de nível de código de cadeia para chaves entre a coleta. Basicamente, você pode usá-lo para restringir outras empresas a escrever na coleção e o que pode ativar o ciclo de vida do chaincode e os padrões de aplicativo.

Bem, por exemplo, você pode precisar de endosso onde, se a maioria das empresas concordar, você pode iniciar a transação, mas em casos, você pode precisar do acordo de uma organização específica para fazê-la funcionar.

Coleções implícitas por organização

De acordo com a documentação do Hyperledger Fabric 2.0, em qualquer caso, se você quiser usar um padrão de dados privados por organização, poderá implantar o chaincode sem definir a coleção na nova versão. É um dos principais recursos do Hyperledger Fabric 2.0.

Iniciador de Chaincode Externo

O lançador chaincode externo é um dos incríveis recursos do Hyperledger Fabric 2.0. Principalmente, irá capacitar os operadores, pois agora eles podem escolher lançar o código de cadeia de sua escolha de tecnologia. Mais ainda, você não terá que usar um iniciador externo ou construtor para ele, e ele executará o chaincode usando a API Docker.

Basicamente, os pares agora não terão que acessar um daemon do Docker para executar ou construir o chaincode. Em um ambiente de produção, isso não é absolutamente desejável, e é por isso que os pares agora podem eliminar a dependência do daemon do Docker.

Agora você não precisa executar um chaincode em um contêiner do Docker, você pode processar sua própria escolha de ambiente para executar o chaincode.

Além disso, os operadores podem oferecer executáveis ​​de construtor externo para substituir como os usuários iniciam ou constroem o chaincode.

Anteriormente, os pares lançavam um código de cadeia e, em seguida, ele era conectado de volta a eles. Mas agora você pode executá-lo como o serviço externo.

Desempenho aprimorado no CouchDB

Anteriormente, quando você usaria o banco de dados de estado CouchDB, enfrentaria atrasos de leitura na validação e endosso. Portanto, era difícil obter um desempenho o mais suave possível. Mas agora, com os recursos do Hyperledger Fabric 2.0, você obtém um novo cache de pares que substituirá pesquisas demoradas por saídas rápidas. Mais ainda, você pode configurá-los com a propriedade core.yaml cacheSize.

Imagens Docker baseadas em Alpine

No novo Hyperledger Fabric 2.0, ele usará Alpine Linux para as imagens Docker. O Alpine Linux é uma distribuição Linux mais segura e leve que pode facilmente aumentar o desempenho da rede.

Na realidade, isso significa que as imagens do Docker serão menores em tamanho, portanto, levaria menos tempo para fazer o download ou para a inicialização. Mais ainda, não vai ocupar muito espaço de agora em diante também.

A empresa projetou o Alpine Linux do zero, mantendo a segurança em mente, e o recurso minimalista desta distribuição elimina todas as vulnerabilidades.

Rede de teste de amostra

Agora você terá uma nova rede de teste de amostra no repositório de amostras de malha. É um dos recursos interessantes do Hyperledger Fabric 2.0. Na realidade, essa rede de teste é modular e fácil de usar. Portanto, você não terá problemas em testar seus contratos ou aplicativos inteligentes antes de lançar a solução.

Além disso, você também pode implantar a rede com autoridades de certificação junto com criptogênica.

Como fazer upgrade para o Fabric v2.0

Cada vez que ocorre um grande lançamento, ele traz uma série de problemas de atualização. Em muitos casos, pode ser necessário instalar a nova versão do zero, mas isso pode causar tempos de inatividade. Mas, um dos recursos do Hyperledger Fabric 2.0 é que, se você já está na versão 1.4, você pode atualizar diretamente para a versão 2.0 sem qualquer tempo de inatividade.

Eles também retrabalharam e expandiram os documentos de atualização para você conferir e também têm uma casa autônoma em seus documentações. Quer fazer um upgrade? Em seguida, verifique o documentação naquilo.

Basicamente, a atualização para a versão mais recente é um processo de quatro etapas –

  • Primeiro, você deve fazer backup de seus livros e MSPs.
  • Em seguida, comece a atualizar continuamente os binários do solicitante para a versão mais recente.
  • Depois disso, siga o mesmo processo de atualização para os binários pares também.
  • Por último, você precisa atualizar os canais do aplicativo e o canal do sistema do solicitante para seus recursos mais recentes, quando estiverem disponíveis. Mais ainda, nem todos os lançamentos terão recursos de aumento, às vezes eles têm grandes melhorias, às vezes não.

Tutoriais de atualização

Antes de atualizar qualquer processo, você deve considerar verificar seus tutoriais para isso. Você também pode conferir nosso tutorial do Fabric. De qualquer forma, estamos dando uma versão resumida disso aqui –

  • Antes de atualizar seus recursos, você deve primeiro atualizar todos os seus componentes. Certifique-se de que são a versão mais recente.
  • Além disso, certifique-se de atualizar todos os nós para a versão mais recente antes de atualizar todo o canal.
  • Você tem que adicionar políticas de endosso para uma empresa específica para iniciar um novo ciclo de vida do chaincode no sistema.

A malha agora considera a atualização de nós e o aumento de recursos como um padrão.

Observação: É recomendável que você atualize seu SDK para a versão mais recente também. Mesmo que seu SDK deva ser capaz de lidar com versões equivalentes do Hyperledger Fabric e versões anteriores, seria melhor atualizá-lo porque assim você pode usar os recursos mais recentes do Fabric de forma eficiente.

Se você ainda está confuso sobre o processo de atualização, verifique a documentação sobre ele.

Conclusão

O lançamento mais recente da versão 2.0 é um marco na história. Na realidade, o Fabric 2.0 é considerado a tecnologia de blockchain da próxima geração. Mais ainda, há tantos recursos do Hyperledger Fabric 2.0 que oferecem muitas oportunidades.

No momento, ainda não sabemos como essa tecnologia funcionará ou se a nova versão pode finalmente se livrar dos aspectos negativos do blockchain. Mesmo assim, o novo marco para a família e a comunidade Hyperledger trouxe muitos novos aprimoramentos, e só podemos esperar o melhor.