Hiperledger Sawtooth em Blockchain

iniciantes6/3/2024, 3:07:33 PM
O Hyperledger Sawtooth é uma plataforma de blockchain empresarial que pode criar redes e aplicativos de contabilidade distribuída. Este artigo irá introduzir como a plataforma opera e seus atributos principais, bem como apresentar seus cenários de aplicação.

Hiperledger Sawtooth é uma plataforma de blockchain corporativa que cria redes de registros distribuídos e aplicativos. A filosofia de design concentra-se em manter registros distribuídos e garantir contratos inteligentes, especialmente para aplicativos corporativos. Sawtooth usa a tecnologia blockchain como um serviço (BaaS).
Sawtooth também é muito modular. Essa modularidade permite que empresas e consórcios decidam sobre a política em seus respectivos campos de competência. As aplicações podem escolher os algoritmos transacionais, de permissão e de consenso que melhor atendam aos seus requisitos comerciais exclusivos por causa do design fundamental do Sawtooth. A maioria dos sistemas baseados em blockchain em uso hoje hospeda e executa tanto seus núcleos quanto seus aplicativos na mesma plataforma, o que pode ter um impacto tanto na segurança quanto no desempenho.

O que é Hiperledger Sawtooth?

Hiperledger sawtooth é uma plataforma de serviço de blockchain empresarial de código aberto que pode executar contratos inteligentes personalizados sem precisar conhecer o design subjacente do sistema central.

  • Suporta uma variedade de algoritmos de consenso, incluindo PBFT e PoET.
  • Seu design amigável oferece um desempenho impecável para uso empresarial.
  • Suporta permissões separadas, ou seja, não há um serviço centralizado que possa revelar informações confidenciais.

Como funciona o Hyperledger Sawtooth?

Hyperledger Sawtooth é uma plataforma modular para a construção, implantação e execução de livros-razão distribuídos (também chamados de blockchains). Inclui um algoritmo de consenso inovador chamado "Proof of Elapsed Time" (PoET), que utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de maneira justa e eficiente. Sawtooth também possui um design modular que permite algoritmos de consenso plugáveis e suporta redes com permissão e sem permissão.

  • O componente central do Sawtooth é um livro-razão distribuído que registra um log de todas as transações e execução de contratos inteligentes. O livro-razão é replicado em todos os nós da rede, e as transações são processadas em paralelo para aumentar o desempenho.
  • Sawtooth também inclui um mecanismo de contrato inteligente chamado "Sawtooth Lake", que permite a implantação e execução fácil de contratos inteligentes. A plataforma também fornece uma API RESTful para interagir com o razão e enviar transações.
  • Sawtooth é projetado para ser altamente escalável e pode suportar redes com milhares de nós e milhões de transações por segundo.
  • Em geral, o Hyperledger Sawtooth é uma plataforma flexível e poderosa para construir e implantar registros distribuídos que podem ser usados em uma ampla gama de aplicações, como gestão da cadeia de abastecimento, rastreamento de ativos digitais e sistemas de votação.
  • Hiperledger Sawtooth torna mais simples desenvolver aplicativos enquanto mantém a segurança do sistema separando o sistema de contabilidade central do ambiente pertinente a cada aplicativo.
  • Desenvolvedores de aplicativos podem descrever as regras de negócios apropriadas para sua aplicação sem precisar estar familiarizados com a arquitetura subjacente do sistema central. Esse design permite que os desenvolvedores construam aplicativos que possam ser hospedados, gerenciados e usados fora da rede blockchain central em sua linguagem de programação favorita.

Algoritmos de consenso do Hyperledger Sawtooth

O Hyperledger Sawtooth inclui um design modular que permite algoritmos de consenso plugáveis. Alguns dos algoritmos de consenso suportados pelo Sawtooth incluem:

SKIP

  1. PoET (Proof of Elapsed Time): Este é o algoritmo de consenso padrão em Sawtooth. Ele usa ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de maneira justa e eficiente. O PoET usa um processo de eleição de líder aleatório e um tempo de espera para garantir que todos os participantes tenham uma chance igual de serem selecionados como líder.
  2. PBFT (Tolerância a Falhas Bizantinas Práticas): Este é um algoritmo de consenso clássico amplamente utilizado em sistemas distribuídos. Ele utiliza um processo de votação de réplicas para garantir que a rede alcance um consenso. PBFT é adequado para redes permissionadas com um conjunto conhecido de participantes.
  3. Raft: Projetado para sistemas distribuídos com um alto ritmo de mudança, Raft é um algoritmo de consenso. Ele faz uso de uma metodologia baseada em líder e permite uma rápida recuperação de partição de rede.
  4. Devmode: Esta técnica de consenso direto é destinada a testes e desenvolvimento. Sem exigir consenso, permite o processamento paralelo de transações.

Algoritmos de consenso mais avançados como PoA (Prova de Autoridade), PoS (Prova de Participação), etc, também podem ser usados com Sawtooth instalando o mecanismo de consenso correspondente. \
No geral, o design modular do Sawtooth permite o uso de diferentes algoritmos de consenso com base nos requisitos específicos da aplicação, como desempenho, segurança e modelo de confiança.

Recursos do Hiperledger Sawtooth

1. Separação entre o Nível da Aplicação e o Sistema Principal

Sawtooth separa o nível de aplicativo do nível do sistema central, facilitando o projeto e a implantação de programas. Os desenvolvedores de aplicativos podem projetar lógica de contrato em qualquer idioma de sua escolha com a ajuda do Sawtooth. Sawtooth oferece uma abstração para contratos inteligentes. As aplicações incluem lógica de negócios nativa ou máquinas virtuais para contratos inteligentes. Na verdade, uma única blockchain pode suportar ambos os tipos de aplicativos. Essas opções arquiteturais são possíveis graças ao Sawtooth na camada de processamento de transações, permitindo a coexistência de vários tipos de aplicativos na mesma instância de rede blockchain.

2. Recursos de Permissão Sawtooth em Redes Privadas

Sawtooth foi criado para lidar com os problemas associados às redes permissionadas (privadas). Os clusters de nós Sawtooth podem ser prontamente implantados com permissão independente. Não existe serviço centralizado que possa revelar acidentalmente padrões transacionais ou outros dados privados. Funções e identidades estão entre os parâmetros que definem as permissões armazenadas no blockchain para que todos que usam a rede possam acessá-las.

3. Execução Paralela de Transações

A maioria das blockchains exige o processamento de transações em série para garantir uma ordenação consistente em cada nó da rede. Um programador paralelo de ponta em Sawtooth divide as transações em fluxos paralelos. Sawtooth isola a execução das transações umas das outras enquanto preserva as mudanças contextuais com base nas localizações no estado que uma transação acessa. Embora seja viável, as transações são realizadas em paralelo para evitar gastos duplos, mesmo quando o mesmo estado é modificado mais de uma vez. Em relação à execução em série, o agendamento paralelo oferece um impulso de velocidade potencial significativo.

4. Compatibilidade de Contrato Ethereum com Seth

A plataforma Sawtooth agora é interoperável com o Ethereum graças ao projeto de integração Sawtooth-Ethereum, Seth. A família de transações Seth permite a implantação de contratos inteligentes EVM (Ethereum Virtual Machine) no Sawtooth.

5. Consenso Dinâmico

O consenso em uma blockchain refere-se a alcançar um entendimento entre os participantes da rede. Para alcançar um consenso com falhas arbitrárias, os algoritmos geralmente votam entre um grupo predeterminado de participantes. Tanto o consenso no estilo Nakamoto quanto as variações dos algoritmos convencionais de Tolerância a Falhas Bizantinas (BFT) empregam inúmeras rodadas de votação explícita para alcançar o consenso. O primeiro elege um líder por meio de algum tipo de sistema de loteria. Sawtooth separa o consenso da semântica da transação e abstrai as ideias fundamentais por trás do consenso. Como motores de consenso que se comunicam com o validador por meio da API de consenso, a interface de consenso Sawtooth permite a inserção de várias implementações de consenso.

6. Famílias de Transações de Exemplo

Uma família de transações, que funciona como um processador de transações em um nó de Sawtooth, implementa o modelo de dados e a linguagem de transação em uma aplicação Sawtooth. Sawtooth inclui várias famílias de transações fundamentais como modelos, enquanto a maioria dos desenvolvedores de aplicativos cria famílias de transações personalizadas para atender às necessidades específicas de seus livros-razão:

  • Para testar ledgers implantados, os desenvolvedores usam uma chave inteira.
  • As configurações de configuração on-chain podem ser armazenadas usando a implementação de referência fornecida pelo Settings.
  • Identity-Manages no encadeamento de permissões para chaves de transação e validação para simplificar o manuseio de identidades para coleções de listas de chaves públicas.
  • Sistema de Eventos: Os eventos podem ser criados e transmitidos usando o Hyperledger Sawtooth. Isso permite que as aplicações:
    • Seja notificado quando eventos relacionados à Blockchain acontecerem, como quando um novo bloco é confirmado ou ocorre um fork.
    • Inscreva-se em eventos específicos para um aplicativo e especificados por uma família de transações.
    • Informar aos clientes como uma transação foi realizada sem armazenar os detalhes no estado.
    • Sobre um Socket ZMQ, as assinaturas são enviadas e mantidas.

Elementos da Arquitetura do Hyperledger Sawtooth

Vamos discutir os elementos principais da arquitetura do Hyperledger Sawtooth:

1. Sistema de Eventos

Ao olhar para qualquer exemplo do Hyperledger Sawtooth, você pode observar que o sistema de eventos garante principalmente que os eventos sejam criados sem problemas e transmitidos para os nós. Como resultado, se você usar o sistema de eventos, poderá criar um aplicativo que se inscreva nos eventos e busque automaticamente novas informações. Essas coisas geralmente fazem com que a plataforma Sawtooth funcione de forma mais suave. Auxiliar os nós a reunir as informações de que precisam dos eventos contribui para a manutenção de um consenso completo.

2. Projeto de Integração Sawtooth-Ethereum (Seth)

É uma das principais características do Sawtooth. Você precisa estar familiarizado com essa funcionalidade se quiser entender o Hyperledger Sawtooth. Aparece em todos os exemplos do Hyperledger Sawtooth que incorporam recursos do Ethereum. Mas o que exatamente ele faz? Que aplicações eles têm para as propriedades do Ethereum? Portanto, esse componente auxiliar ajuda a preencher a lacuna entre as duas plataformas. Como resultado, esse elemento pode ser usado para alcançar compatibilidade entre essas duas plataformas. Você tem alguma ideia de quantas chances o Seth poderia apresentar? É uma adição fantástica ao design do Hyperledger Sawtooth, então use-o se seu projeto comercial precisar.

3. Algoritmos de Consenso Plugáveis

Incluir algoritmos de consenso plugáveis na arquitetura do Hyperledger Sawtooth é outra característica fascinante. O mecanismo de consenso plugável é um novo avanço fantástico para o setor de Blockchain. Permite selecionar o mecanismo de consenso que sua plataforma requer. Naturalmente, apenas alguns consensos são adequados para algumas situações de uso. Para construir um produto baseado em Blockchain empresarial, é necessário ter flexibilidade. Como resultado, o consenso plugável do Sawtooth traz dinâmica para o primeiro plano.

4. Modelos de Família de Transações

As famílias de transações fornecem uma variedade de operações, incluindo fornecer funcionalidades ao seu contrato inteligente. Você não pode usar o sistema Hyperledger Sawtooth sem usar famílias de transações, como você pode ver olhando para um exemplo.

  • Família de transações de informações de bloco: A família de transações de informações de bloco permite que você armazene informações relacionadas ao bloco.
  • Pequena Família de Transações Bancárias: Na prática, esta família é a melhor para avaliar e testar a viabilidade da sua empresa.
  • Configurando a Família de Transações: Você pode armazenar configurações on-chain com a ajuda da família de Configurações, que também lhe fornece um modelo de referência para fazer isso.
  • Família de transações do Registro de Validadores: Use isso para expandir os validadores do sistema adicionando novos membros. Você não pode adicionar nenhum validador sem usar isso. Portanto, é absolutamente necessário.
  • Família de Transações Integer Key: Uma das melhores famílias de transações que permitem testes sem recursos de todos os razões implantados.
  • Família de transações XO: Esta é uma interpretação mais divertida de toda a rede. Um jogo da velha também foi incluído no Sawtooth porque os criadores da rede queriam dar um toque extra a ela. Assim, você pode jogar com qualquer nó usando isso.
  • Família de Transações de Identificação: É principalmente para preservação de dados. Especificamente, os dados aos quais os validadores têm permissão de acessar. Mais importante, ele mantém o controle de detalhes sobre os nós, incluindo suas chaves públicas e outras coisas.

Existem também duas famílias de transações adicionais no sistema. São adições relativamente recentes:

  • Família de transações Seth: Graças à família de transações Seth, você pode usar aplicativos criados para o blockchain Ethereum na rede. Isso implica que você pode usar contratos inteligentes construídos em Solidity ou outros aplicativos.
  • Família de Transações Sabre: A Família de Transações Sabre é outro método para usar contratos inteligentes. Isso pode ser usado para executar contratos inteligentes em máquinas WASM ou WebAssembly virtual. Também torna possível que os contratos inteligentes sejam realizados na cadeia.

Aplicações do Hiperledger Sawtooth

  • X O: Joga um jogo da velha para ilustrar como criar transações simples. As transações de construção e de execução na família de transações X O fornecem um comando X O que permite que dois jogadores joguem o jogo. Você pode verificar a Família de Transações X O para obter detalhes adicionais.
  • Cadeia de Suprimentos Sawtooth: A cadeia de suprimentos Sawtooth mostra como rastrear as origens e outros dados contextuais relevantes de qualquer item. A cadeia de suprimentos oferece um aplicativo de amostra que inclui um aplicativo da web, uma API REST personalizada e um processador de transações. Este exemplo de aplicativo mostra como sincronizar o estado do blockchain com um banco de dados local para consultas complicadas, bem como uma forma descentralizada para assinatura de transações no navegador.
  • Mercado de Serra: Na blockchain, o mercado de serra instrui os usuários sobre como trocar quantidades específicas de ativos especializados. Com a ajuda de um validador de serra e alguns outros componentes, este aplicativo de exemplo executará uma blockchain de serra e oferecerá uma API REST simples para se comunicar com ela.

Idiomas suportados para o processo de transação

Hiperledger Sawtooth suporta o uso de várias linguagens de programação para o processo de transação. Algumas das linguagens suportadas incluem:

  1. Python: Sawtooth fornece uma biblioteca Python chamada "Sawtooth SDK" que permite aos desenvolvedores interagir com o livro-razão e enviar transações.
  2. JavaScript: Sawtooth suporta JavaScript através do uso do "Sawtooth JavaScript SDK" que fornece um conjunto de APIs para interagir com o livro-razão.
  3. Go: Sawtooth também fornece suporte para Go através do "Sawtooth Go SDK" que permite a integração fácil com aplicativos baseados em Go.
  4. C++: Sawtooth também oferece suporte para C++, via o "Sawtooth C++ SDK" que fornece APIs C++ para interagir com o livro-razão.

Outros idiomas como Java, Rust, Shell, etc. também podem ser usados ao usar a API RESTful fornecida pelo Sawtooth. O suporte do Sawtooth para várias linguagens de programação facilita a integração com sistemas existentes e permite uma ampla gama de casos de uso.

Arquitetura de Desenvolvimento do Hiperledger Sawtooth

A arquitetura modular do Hyperledger Sawtooth permite a divisão de preocupações entre vários componentes do sistema. Os principais componentes da arquitetura do Sawtooth são:

  • Livro-razão Distribuído: Este componente é responsável por manter um registro de todas as transações e execução de contratos inteligentes. O livro-razão é replicado em todos os nós da rede e as transações são processadas em paralelo para aumentar o desempenho.
  • Processador de Transações: Este componente é responsável por processar transações e atualizar o estado do registro. Também inclui um mecanismo de contrato inteligente chamado "Sawtooth Lake", que permite fácil implantação e execução de contratos inteligentes.
  • Algoritmo de Consenso: Este componente é responsável por garantir que a rede chegue a um acordo sobre o estado do livro-razão. Sawtooth suporta vários algoritmos de consenso, incluindo PoET, PBFT, Raft e Devmode.
  • API REST: Este componente fornece uma API RESTful para interagir com o livro-razão e enviar transações. Permite uma integração fácil com sistemas existentes e suporta várias linguagens de programação.
  • Validador: Este componente é responsável por validar transações e blocos antes de serem adicionados ao livro-razão. Ele garante que as transações sejam bem formadas e que estejam em conformidade com as regras do contrato inteligente.
  • Agendador de Transações: Este componente é responsável por agendar a ordem em que as transações são processadas pela rede. Ele garante que as transações conflitantes sejam processadas de forma a evitar conflitos e manter a consistência no livro-razão.
  • Motor de Consenso: Cada algoritmo de consenso tem seu próprio motor que executa o protocolo de consenso e se comunica com outros componentes do sistema.

Hiperledger Sawtooth em Ação

Hiperledger Sawtooth pode ser usado para construir uma variedade de aplicações de livro-razão distribuído. Alguns exemplos de como Sawtooth pode ser usado em diferentes indústrias incluem:

  • Gerenciamento da Cadeia de Suprimentos: Sawtooth pode ser usado para construir um sistema de gerenciamento de cadeia de suprimentos à prova de violações e transparente. Pode ser usado para rastrear o movimento de mercadorias, desde o ponto de origem até o destino final, proporcionando visibilidade e responsabilidade para todas as partes envolvidas.
  • Serviços Financeiros: Sawtooth pode ser usado para construir um sistema seguro e eficiente para transações financeiras e registro. Pode ser usado para atividades como financiamento comercial, gerenciamento de ativos digitais e relatórios de conformidade
  • Saúde: Sawtooth pode ser usado para construir um sistema seguro e privado para compartilhar registros médicos entre provedores de saúde. Pode ser usado para garantir que os dados do paciente sejam acessíveis apenas a partes autorizadas, enquanto ainda fornece uma maneira eficiente de compartilhar dados entre médicos, hospitais e companhias de seguro
  • Gerenciamento de Identidade: Sawtooth pode ser usado para construir um sistema descentralizado e à prova de adulteração para gerenciamento de identidade. Pode ser usado para armazenar e validar identidades e credenciais e fornecer acesso seguro e privado a serviços e recursos.
  • Gestão de Energia: Sawtooth pode ser usado para construir um sistema de gerenciamento e rastreamento da produção, distribuição e consumo de energia. Pode ser usado para permitir a negociação de energia entre pares, rastrear e verificar créditos de energia renovável e gerenciar a distribuição de energia de microrredes.

Estes são apenas alguns exemplos, e Sawtooth é flexível o suficiente para ser usado em uma ampla gama de outras indústrias e aplicações também. A arquitetura modular do Sawtooth e o suporte a diferentes algoritmos de consenso o tornam uma plataforma poderosa para construir e implantar registros distribuídos que podem ser usados para uma ampla gama de casos de uso.

O verão está aqui e é hora de aprimorar suas habilidades! Mais de 5.000 alunos concluíram sua jornada, passando dos conceitos básicos de DSA para programas avançados de desenvolvimento, como Full-Stack, Desenvolvimento de Back-End, Ciência de Dados.
\\
E por que ir a outro lugar quando o nosso DSA para Desenvolvimento: Guia de Codificaçãovai ajudar você a dominar tudo isso em alguns meses! Inscreva-se agora no nossoDSA para Programa de Desenvolvimentoe nossos conselheiros entrarão em contato com você para mais orientações e apoio.

Aviso Legal:

  1. Este artigo é reproduzido a partir de [geeksforgeeks]. Todos os direitos autorais pertencem ao autor original [geeksforgeeks]. Se houver objeções a esta reimpressão, entre em contato com oAprender Gateequipe e eles lidarão com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Hiperledger Sawtooth em Blockchain

iniciantes6/3/2024, 3:07:33 PM
O Hyperledger Sawtooth é uma plataforma de blockchain empresarial que pode criar redes e aplicativos de contabilidade distribuída. Este artigo irá introduzir como a plataforma opera e seus atributos principais, bem como apresentar seus cenários de aplicação.

Hiperledger Sawtooth é uma plataforma de blockchain corporativa que cria redes de registros distribuídos e aplicativos. A filosofia de design concentra-se em manter registros distribuídos e garantir contratos inteligentes, especialmente para aplicativos corporativos. Sawtooth usa a tecnologia blockchain como um serviço (BaaS).
Sawtooth também é muito modular. Essa modularidade permite que empresas e consórcios decidam sobre a política em seus respectivos campos de competência. As aplicações podem escolher os algoritmos transacionais, de permissão e de consenso que melhor atendam aos seus requisitos comerciais exclusivos por causa do design fundamental do Sawtooth. A maioria dos sistemas baseados em blockchain em uso hoje hospeda e executa tanto seus núcleos quanto seus aplicativos na mesma plataforma, o que pode ter um impacto tanto na segurança quanto no desempenho.

O que é Hiperledger Sawtooth?

Hiperledger sawtooth é uma plataforma de serviço de blockchain empresarial de código aberto que pode executar contratos inteligentes personalizados sem precisar conhecer o design subjacente do sistema central.

  • Suporta uma variedade de algoritmos de consenso, incluindo PBFT e PoET.
  • Seu design amigável oferece um desempenho impecável para uso empresarial.
  • Suporta permissões separadas, ou seja, não há um serviço centralizado que possa revelar informações confidenciais.

Como funciona o Hyperledger Sawtooth?

Hyperledger Sawtooth é uma plataforma modular para a construção, implantação e execução de livros-razão distribuídos (também chamados de blockchains). Inclui um algoritmo de consenso inovador chamado "Proof of Elapsed Time" (PoET), que utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de maneira justa e eficiente. Sawtooth também possui um design modular que permite algoritmos de consenso plugáveis e suporta redes com permissão e sem permissão.

  • O componente central do Sawtooth é um livro-razão distribuído que registra um log de todas as transações e execução de contratos inteligentes. O livro-razão é replicado em todos os nós da rede, e as transações são processadas em paralelo para aumentar o desempenho.
  • Sawtooth também inclui um mecanismo de contrato inteligente chamado "Sawtooth Lake", que permite a implantação e execução fácil de contratos inteligentes. A plataforma também fornece uma API RESTful para interagir com o razão e enviar transações.
  • Sawtooth é projetado para ser altamente escalável e pode suportar redes com milhares de nós e milhões de transações por segundo.
  • Em geral, o Hyperledger Sawtooth é uma plataforma flexível e poderosa para construir e implantar registros distribuídos que podem ser usados em uma ampla gama de aplicações, como gestão da cadeia de abastecimento, rastreamento de ativos digitais e sistemas de votação.
  • Hiperledger Sawtooth torna mais simples desenvolver aplicativos enquanto mantém a segurança do sistema separando o sistema de contabilidade central do ambiente pertinente a cada aplicativo.
  • Desenvolvedores de aplicativos podem descrever as regras de negócios apropriadas para sua aplicação sem precisar estar familiarizados com a arquitetura subjacente do sistema central. Esse design permite que os desenvolvedores construam aplicativos que possam ser hospedados, gerenciados e usados fora da rede blockchain central em sua linguagem de programação favorita.

Algoritmos de consenso do Hyperledger Sawtooth

O Hyperledger Sawtooth inclui um design modular que permite algoritmos de consenso plugáveis. Alguns dos algoritmos de consenso suportados pelo Sawtooth incluem:

SKIP

  1. PoET (Proof of Elapsed Time): Este é o algoritmo de consenso padrão em Sawtooth. Ele usa ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de maneira justa e eficiente. O PoET usa um processo de eleição de líder aleatório e um tempo de espera para garantir que todos os participantes tenham uma chance igual de serem selecionados como líder.
  2. PBFT (Tolerância a Falhas Bizantinas Práticas): Este é um algoritmo de consenso clássico amplamente utilizado em sistemas distribuídos. Ele utiliza um processo de votação de réplicas para garantir que a rede alcance um consenso. PBFT é adequado para redes permissionadas com um conjunto conhecido de participantes.
  3. Raft: Projetado para sistemas distribuídos com um alto ritmo de mudança, Raft é um algoritmo de consenso. Ele faz uso de uma metodologia baseada em líder e permite uma rápida recuperação de partição de rede.
  4. Devmode: Esta técnica de consenso direto é destinada a testes e desenvolvimento. Sem exigir consenso, permite o processamento paralelo de transações.

Algoritmos de consenso mais avançados como PoA (Prova de Autoridade), PoS (Prova de Participação), etc, também podem ser usados com Sawtooth instalando o mecanismo de consenso correspondente. \
No geral, o design modular do Sawtooth permite o uso de diferentes algoritmos de consenso com base nos requisitos específicos da aplicação, como desempenho, segurança e modelo de confiança.

Recursos do Hiperledger Sawtooth

1. Separação entre o Nível da Aplicação e o Sistema Principal

Sawtooth separa o nível de aplicativo do nível do sistema central, facilitando o projeto e a implantação de programas. Os desenvolvedores de aplicativos podem projetar lógica de contrato em qualquer idioma de sua escolha com a ajuda do Sawtooth. Sawtooth oferece uma abstração para contratos inteligentes. As aplicações incluem lógica de negócios nativa ou máquinas virtuais para contratos inteligentes. Na verdade, uma única blockchain pode suportar ambos os tipos de aplicativos. Essas opções arquiteturais são possíveis graças ao Sawtooth na camada de processamento de transações, permitindo a coexistência de vários tipos de aplicativos na mesma instância de rede blockchain.

2. Recursos de Permissão Sawtooth em Redes Privadas

Sawtooth foi criado para lidar com os problemas associados às redes permissionadas (privadas). Os clusters de nós Sawtooth podem ser prontamente implantados com permissão independente. Não existe serviço centralizado que possa revelar acidentalmente padrões transacionais ou outros dados privados. Funções e identidades estão entre os parâmetros que definem as permissões armazenadas no blockchain para que todos que usam a rede possam acessá-las.

3. Execução Paralela de Transações

A maioria das blockchains exige o processamento de transações em série para garantir uma ordenação consistente em cada nó da rede. Um programador paralelo de ponta em Sawtooth divide as transações em fluxos paralelos. Sawtooth isola a execução das transações umas das outras enquanto preserva as mudanças contextuais com base nas localizações no estado que uma transação acessa. Embora seja viável, as transações são realizadas em paralelo para evitar gastos duplos, mesmo quando o mesmo estado é modificado mais de uma vez. Em relação à execução em série, o agendamento paralelo oferece um impulso de velocidade potencial significativo.

4. Compatibilidade de Contrato Ethereum com Seth

A plataforma Sawtooth agora é interoperável com o Ethereum graças ao projeto de integração Sawtooth-Ethereum, Seth. A família de transações Seth permite a implantação de contratos inteligentes EVM (Ethereum Virtual Machine) no Sawtooth.

5. Consenso Dinâmico

O consenso em uma blockchain refere-se a alcançar um entendimento entre os participantes da rede. Para alcançar um consenso com falhas arbitrárias, os algoritmos geralmente votam entre um grupo predeterminado de participantes. Tanto o consenso no estilo Nakamoto quanto as variações dos algoritmos convencionais de Tolerância a Falhas Bizantinas (BFT) empregam inúmeras rodadas de votação explícita para alcançar o consenso. O primeiro elege um líder por meio de algum tipo de sistema de loteria. Sawtooth separa o consenso da semântica da transação e abstrai as ideias fundamentais por trás do consenso. Como motores de consenso que se comunicam com o validador por meio da API de consenso, a interface de consenso Sawtooth permite a inserção de várias implementações de consenso.

6. Famílias de Transações de Exemplo

Uma família de transações, que funciona como um processador de transações em um nó de Sawtooth, implementa o modelo de dados e a linguagem de transação em uma aplicação Sawtooth. Sawtooth inclui várias famílias de transações fundamentais como modelos, enquanto a maioria dos desenvolvedores de aplicativos cria famílias de transações personalizadas para atender às necessidades específicas de seus livros-razão:

  • Para testar ledgers implantados, os desenvolvedores usam uma chave inteira.
  • As configurações de configuração on-chain podem ser armazenadas usando a implementação de referência fornecida pelo Settings.
  • Identity-Manages no encadeamento de permissões para chaves de transação e validação para simplificar o manuseio de identidades para coleções de listas de chaves públicas.
  • Sistema de Eventos: Os eventos podem ser criados e transmitidos usando o Hyperledger Sawtooth. Isso permite que as aplicações:
    • Seja notificado quando eventos relacionados à Blockchain acontecerem, como quando um novo bloco é confirmado ou ocorre um fork.
    • Inscreva-se em eventos específicos para um aplicativo e especificados por uma família de transações.
    • Informar aos clientes como uma transação foi realizada sem armazenar os detalhes no estado.
    • Sobre um Socket ZMQ, as assinaturas são enviadas e mantidas.

Elementos da Arquitetura do Hyperledger Sawtooth

Vamos discutir os elementos principais da arquitetura do Hyperledger Sawtooth:

1. Sistema de Eventos

Ao olhar para qualquer exemplo do Hyperledger Sawtooth, você pode observar que o sistema de eventos garante principalmente que os eventos sejam criados sem problemas e transmitidos para os nós. Como resultado, se você usar o sistema de eventos, poderá criar um aplicativo que se inscreva nos eventos e busque automaticamente novas informações. Essas coisas geralmente fazem com que a plataforma Sawtooth funcione de forma mais suave. Auxiliar os nós a reunir as informações de que precisam dos eventos contribui para a manutenção de um consenso completo.

2. Projeto de Integração Sawtooth-Ethereum (Seth)

É uma das principais características do Sawtooth. Você precisa estar familiarizado com essa funcionalidade se quiser entender o Hyperledger Sawtooth. Aparece em todos os exemplos do Hyperledger Sawtooth que incorporam recursos do Ethereum. Mas o que exatamente ele faz? Que aplicações eles têm para as propriedades do Ethereum? Portanto, esse componente auxiliar ajuda a preencher a lacuna entre as duas plataformas. Como resultado, esse elemento pode ser usado para alcançar compatibilidade entre essas duas plataformas. Você tem alguma ideia de quantas chances o Seth poderia apresentar? É uma adição fantástica ao design do Hyperledger Sawtooth, então use-o se seu projeto comercial precisar.

3. Algoritmos de Consenso Plugáveis

Incluir algoritmos de consenso plugáveis na arquitetura do Hyperledger Sawtooth é outra característica fascinante. O mecanismo de consenso plugável é um novo avanço fantástico para o setor de Blockchain. Permite selecionar o mecanismo de consenso que sua plataforma requer. Naturalmente, apenas alguns consensos são adequados para algumas situações de uso. Para construir um produto baseado em Blockchain empresarial, é necessário ter flexibilidade. Como resultado, o consenso plugável do Sawtooth traz dinâmica para o primeiro plano.

4. Modelos de Família de Transações

As famílias de transações fornecem uma variedade de operações, incluindo fornecer funcionalidades ao seu contrato inteligente. Você não pode usar o sistema Hyperledger Sawtooth sem usar famílias de transações, como você pode ver olhando para um exemplo.

  • Família de transações de informações de bloco: A família de transações de informações de bloco permite que você armazene informações relacionadas ao bloco.
  • Pequena Família de Transações Bancárias: Na prática, esta família é a melhor para avaliar e testar a viabilidade da sua empresa.
  • Configurando a Família de Transações: Você pode armazenar configurações on-chain com a ajuda da família de Configurações, que também lhe fornece um modelo de referência para fazer isso.
  • Família de transações do Registro de Validadores: Use isso para expandir os validadores do sistema adicionando novos membros. Você não pode adicionar nenhum validador sem usar isso. Portanto, é absolutamente necessário.
  • Família de Transações Integer Key: Uma das melhores famílias de transações que permitem testes sem recursos de todos os razões implantados.
  • Família de transações XO: Esta é uma interpretação mais divertida de toda a rede. Um jogo da velha também foi incluído no Sawtooth porque os criadores da rede queriam dar um toque extra a ela. Assim, você pode jogar com qualquer nó usando isso.
  • Família de Transações de Identificação: É principalmente para preservação de dados. Especificamente, os dados aos quais os validadores têm permissão de acessar. Mais importante, ele mantém o controle de detalhes sobre os nós, incluindo suas chaves públicas e outras coisas.

Existem também duas famílias de transações adicionais no sistema. São adições relativamente recentes:

  • Família de transações Seth: Graças à família de transações Seth, você pode usar aplicativos criados para o blockchain Ethereum na rede. Isso implica que você pode usar contratos inteligentes construídos em Solidity ou outros aplicativos.
  • Família de Transações Sabre: A Família de Transações Sabre é outro método para usar contratos inteligentes. Isso pode ser usado para executar contratos inteligentes em máquinas WASM ou WebAssembly virtual. Também torna possível que os contratos inteligentes sejam realizados na cadeia.

Aplicações do Hiperledger Sawtooth

  • X O: Joga um jogo da velha para ilustrar como criar transações simples. As transações de construção e de execução na família de transações X O fornecem um comando X O que permite que dois jogadores joguem o jogo. Você pode verificar a Família de Transações X O para obter detalhes adicionais.
  • Cadeia de Suprimentos Sawtooth: A cadeia de suprimentos Sawtooth mostra como rastrear as origens e outros dados contextuais relevantes de qualquer item. A cadeia de suprimentos oferece um aplicativo de amostra que inclui um aplicativo da web, uma API REST personalizada e um processador de transações. Este exemplo de aplicativo mostra como sincronizar o estado do blockchain com um banco de dados local para consultas complicadas, bem como uma forma descentralizada para assinatura de transações no navegador.
  • Mercado de Serra: Na blockchain, o mercado de serra instrui os usuários sobre como trocar quantidades específicas de ativos especializados. Com a ajuda de um validador de serra e alguns outros componentes, este aplicativo de exemplo executará uma blockchain de serra e oferecerá uma API REST simples para se comunicar com ela.

Idiomas suportados para o processo de transação

Hiperledger Sawtooth suporta o uso de várias linguagens de programação para o processo de transação. Algumas das linguagens suportadas incluem:

  1. Python: Sawtooth fornece uma biblioteca Python chamada "Sawtooth SDK" que permite aos desenvolvedores interagir com o livro-razão e enviar transações.
  2. JavaScript: Sawtooth suporta JavaScript através do uso do "Sawtooth JavaScript SDK" que fornece um conjunto de APIs para interagir com o livro-razão.
  3. Go: Sawtooth também fornece suporte para Go através do "Sawtooth Go SDK" que permite a integração fácil com aplicativos baseados em Go.
  4. C++: Sawtooth também oferece suporte para C++, via o "Sawtooth C++ SDK" que fornece APIs C++ para interagir com o livro-razão.

Outros idiomas como Java, Rust, Shell, etc. também podem ser usados ao usar a API RESTful fornecida pelo Sawtooth. O suporte do Sawtooth para várias linguagens de programação facilita a integração com sistemas existentes e permite uma ampla gama de casos de uso.

Arquitetura de Desenvolvimento do Hiperledger Sawtooth

A arquitetura modular do Hyperledger Sawtooth permite a divisão de preocupações entre vários componentes do sistema. Os principais componentes da arquitetura do Sawtooth são:

  • Livro-razão Distribuído: Este componente é responsável por manter um registro de todas as transações e execução de contratos inteligentes. O livro-razão é replicado em todos os nós da rede e as transações são processadas em paralelo para aumentar o desempenho.
  • Processador de Transações: Este componente é responsável por processar transações e atualizar o estado do registro. Também inclui um mecanismo de contrato inteligente chamado "Sawtooth Lake", que permite fácil implantação e execução de contratos inteligentes.
  • Algoritmo de Consenso: Este componente é responsável por garantir que a rede chegue a um acordo sobre o estado do livro-razão. Sawtooth suporta vários algoritmos de consenso, incluindo PoET, PBFT, Raft e Devmode.
  • API REST: Este componente fornece uma API RESTful para interagir com o livro-razão e enviar transações. Permite uma integração fácil com sistemas existentes e suporta várias linguagens de programação.
  • Validador: Este componente é responsável por validar transações e blocos antes de serem adicionados ao livro-razão. Ele garante que as transações sejam bem formadas e que estejam em conformidade com as regras do contrato inteligente.
  • Agendador de Transações: Este componente é responsável por agendar a ordem em que as transações são processadas pela rede. Ele garante que as transações conflitantes sejam processadas de forma a evitar conflitos e manter a consistência no livro-razão.
  • Motor de Consenso: Cada algoritmo de consenso tem seu próprio motor que executa o protocolo de consenso e se comunica com outros componentes do sistema.

Hiperledger Sawtooth em Ação

Hiperledger Sawtooth pode ser usado para construir uma variedade de aplicações de livro-razão distribuído. Alguns exemplos de como Sawtooth pode ser usado em diferentes indústrias incluem:

  • Gerenciamento da Cadeia de Suprimentos: Sawtooth pode ser usado para construir um sistema de gerenciamento de cadeia de suprimentos à prova de violações e transparente. Pode ser usado para rastrear o movimento de mercadorias, desde o ponto de origem até o destino final, proporcionando visibilidade e responsabilidade para todas as partes envolvidas.
  • Serviços Financeiros: Sawtooth pode ser usado para construir um sistema seguro e eficiente para transações financeiras e registro. Pode ser usado para atividades como financiamento comercial, gerenciamento de ativos digitais e relatórios de conformidade
  • Saúde: Sawtooth pode ser usado para construir um sistema seguro e privado para compartilhar registros médicos entre provedores de saúde. Pode ser usado para garantir que os dados do paciente sejam acessíveis apenas a partes autorizadas, enquanto ainda fornece uma maneira eficiente de compartilhar dados entre médicos, hospitais e companhias de seguro
  • Gerenciamento de Identidade: Sawtooth pode ser usado para construir um sistema descentralizado e à prova de adulteração para gerenciamento de identidade. Pode ser usado para armazenar e validar identidades e credenciais e fornecer acesso seguro e privado a serviços e recursos.
  • Gestão de Energia: Sawtooth pode ser usado para construir um sistema de gerenciamento e rastreamento da produção, distribuição e consumo de energia. Pode ser usado para permitir a negociação de energia entre pares, rastrear e verificar créditos de energia renovável e gerenciar a distribuição de energia de microrredes.

Estes são apenas alguns exemplos, e Sawtooth é flexível o suficiente para ser usado em uma ampla gama de outras indústrias e aplicações também. A arquitetura modular do Sawtooth e o suporte a diferentes algoritmos de consenso o tornam uma plataforma poderosa para construir e implantar registros distribuídos que podem ser usados para uma ampla gama de casos de uso.

O verão está aqui e é hora de aprimorar suas habilidades! Mais de 5.000 alunos concluíram sua jornada, passando dos conceitos básicos de DSA para programas avançados de desenvolvimento, como Full-Stack, Desenvolvimento de Back-End, Ciência de Dados.
\\
E por que ir a outro lugar quando o nosso DSA para Desenvolvimento: Guia de Codificaçãovai ajudar você a dominar tudo isso em alguns meses! Inscreva-se agora no nossoDSA para Programa de Desenvolvimentoe nossos conselheiros entrarão em contato com você para mais orientações e apoio.

Aviso Legal:

  1. Este artigo é reproduzido a partir de [geeksforgeeks]. Todos os direitos autorais pertencem ao autor original [geeksforgeeks]. Se houver objeções a esta reimpressão, entre em contato com oAprender Gateequipe e eles lidarão com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!