Hyperledger Sawtooth na Blockchain

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

O Hyperledger Sawtooth é uma plataforma blockchain corporativa que cria redes e aplicações de registos distribuídos. A filosofia de design concentra-se na manutenção de registos distribuídos e na segurança de contratos inteligentes, especialmente para aplicações empresariais. Sawtooth utiliza a tecnologia blockchain como um serviço (BaaS).
Sawtooth é muito modular também. Esta modularidade permite que empresas e consórcios decidam sobre políticas nos seus respetivos campos de competência. As aplicações podem escolher os algoritmos transacionais, de permissão e de consenso que melhor se adequam aos seus requisitos comerciais únicos devido ao design fundamental do Sawtooth. A maioria dos sistemas baseados em blockchain em uso hoje hospeda e executa tanto o seu núcleo como as suas aplicações na mesma plataforma, o que pode ter um impacto tanto na segurança como no desempenho.

O que é Hyperledger Sawtooth?

O Hyperledger Sawtooth é uma plataforma de blockchain como serviço de código aberto para empresas 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.
  • O seu design amigável oferece um desempenho impecável para uso empresarial.
  • Suporta a permissão separada, ou seja, não existe um serviço centralizado que possa revelar informações confidenciais.

Como funciona o Hyperledger Sawtooth?

O Hyperledger Sawtooth é uma plataforma modular para construir, implementar e executar ledgers distribuídos (também chamados blockchains). Inclui um algoritmo de consenso inovador chamado "Prova de Tempo Decorrido" (PoET), que utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de forma justa e eficiente. O Sawtooth também possui um design modular que permite algoritmos de consenso plugáveis e suporta redes permissionadas e sem permissão.

  • O componente principal do Sawtooth é um livro-razão distribuído que regista um registo 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 inclui também um motor de contrato inteligente chamado “Lago Sawtooth” que permite a fácil implementação e execução de contratos inteligentes. A plataforma também fornece uma API RESTful para interagir com o livro-razão e enviar transações.
  • Sawtooth foi 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 a construção e implementação de registos distribuídos que podem ser utilizados numa ampla gama de aplicações, como gestão da cadeia de fornecimento, rastreio de ativos digitais e sistemas de votação.
  • Hyperledger Sawtooth torna mais simples desenvolver aplicativos, mantendo a segurança do sistema ao separar o sistema de contabilidade central do ambiente pertinente a cada aplicação.
  • Os desenvolvedores de aplicativos podem descrever as regras de negócios apropriadas para sua aplicação sem estar familiarizados com a arquitetura subjacente do sistema central. Esse design permite que os desenvolvedores criem aplicativos que podem ser hospedados, gerenciados e usados fora da rede principal de blockchain em sua linguagem de programação favorita.

Algoritmos de consenso do Hyperledger Sawtooth

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 no Sawtooth. Ele utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de forma justa e eficiente. PoET utiliza 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ática): Este é um algoritmo de consenso clássico amplamente usado em sistemas distribuídos. Utiliza um processo de votação de réplicas para garantir que a rede chegue a um consenso. PBFT é adequado para redes permissionadas com um conjunto conhecido de participantes.
  3. Raft: Projetado para sistemas distribuídos com um ritmo elevado 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 destina-se a testes e desenvolvimento. Sem requerer consenso, permite o processamento paralelo de transações.

Algoritmos de consenso mais avançados como PoA (Proof of Authority), PoS (Proof of Stake), etc também podem ser usados com Sawtooth instalando o motor 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.

Características do Hyperledger Sawtooth

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

Sawtooth separa o nível de aplicação do nível do sistema central, tornando mais fácil projetar e implementar programas. Os desenvolvedores de aplicativos podem projetar a lógica do 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 aplicações. 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 da rede blockchain.

2. Recursos de Permissão de Serra em Redes Privadas

Sawtooth foi criado para resolver os problemas associados às redes com permissão (privadas). Os clusters de nós Sawtooth podem ser facilmente implantados com permissões independentes. Não existe um serviço centralizado que possa revelar acidentalmente padrões de transação 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 utilizam a rede possam aceder a elas.

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

A maioria das blockchains exige processamento de transações em série para garantir uma ordem consistente em cada nó da rede. Um agendador paralelo de ponta no Sawtooth divide as transações em fluxos paralelos. O Sawtooth isola a execução das transações umas das outras, preservando as alterações 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 implementação de contratos inteligentes EVM (Ethereum Virtual Machine) no Sawtooth.

5. Consenso Dinâmico

O consenso numa blockchain refere-se a alcançar uma compreensão 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 como as variações dos algoritmos convencionais de Tolerância a Falhas Bizantinas (BFT) empregam inúmeras rondas de votação explícita para alcançar consenso. O primeiro elege um líder por algum tipo de sistema de lotaria. O 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 comunicam com o validador através da API de consenso, a interface de consenso do Sawtooth permite a conexão de várias implementações de consenso.

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

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

  • Para testar ledgers implementados, os programadores usam uma chave inteira.
  • As definições de configuração on-chain podem ser armazenadas usando a implementação de referência fornecida pelas Definições.
  • Gestiona identidades na cadeia de blocos para simplificar o tratamento 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 ocorrem eventos relacionados com blockchain, como quando um novo bloco é confirmado ou ocorre um fork.
    • Subscrever eventos específicos para uma aplicação e especificados por uma família de transações.
    • Informar os clientes sobre como uma transação foi realizada sem armazenar os detalhes no estado.
    • Através de um Socket ZMQ, as subscrições são enviadas e mantidas.

Elementos da Arquitetura Hyperledger Sawtooth

Vamos discutir os elementos principais da arquitetura do Hyperledger Sawtooth:

1. Sistema de Eventos

Ao olhar para qualquer exemplo do Hyperledger Sawtooth, pode-se observar que o sistema de eventos garante principalmente que os eventos sejam criados sem problemas e transmitidos para os nós. Como resultado, se usar o sistema de eventos, pode criar uma aplicação que subscreve eventos e obtém automaticamente novas informações. Estas coisas normalmente fazem com que a plataforma Sawtooth funcione de forma mais suave. Ajudar os nós a reunir as informações de que necessitam 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. Precisa de estar familiarizado com esta funcionalidade se quiser entender o Hyperledger Sawtooth. Aparece em todos os exemplos do Hyperledger Sawtooth que incorporam funcionalidades do Ethereum. Mas o que exatamente faz? Que aplicações têm para as propriedades do Ethereum? Assim, este componente menor ajuda a preencher a lacuna entre as duas plataformas. Como resultado, este elemento pode ser usado para alcançar compatibilidade entre estas duas plataformas. Tem alguma ideia de quantas oportunidades o Seth poderia apresentar? É uma adição fantástica ao design do Hyperledger Sawtooth, portanto, use-o se o seu projeto comercial o requerer.

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 da Blockchain. Permite selecionar o mecanismo de consenso que a sua plataforma necessita. Naturalmente, apenas alguns consensos são apropriados 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 ao seu contrato inteligente funcionalidades. Não é possível usar o sistema Hyperledger Sawtooth sem utilizar as famílias de transações, como pode ver ao olhar para um exemplo.

  • Família de transações Block Info: A família de transações Block Info 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 fazê-lo.
  • Família de Transações do Registo de Validadores: Utilize isto para expandir os validadores do sistema, adicionando novos membros. Não pode adicionar quaisquer validadores sem utilizar isto. É, portanto, absolutamente necessário.
  • Família de transações de chave inteira: uma das melhores famílias de transações que permitem testes sem recursos de todos os livros contábeis implantados.
  • Família de transações XO: Esta é uma interpretação mais divertida de toda a rede. Um jogo do galo foi também incluído no Sawtooth porque os criadores da rede queriam dar-lhe um toque extra. Assim, podes jogar com qualquer nó usando isto.
  • 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 para aceder. Mais importante ainda, mantém o registo de detalhes sobre os nós, incluindo as 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, pode utilizar aplicações criadas para a blockchain Ethereum na rede. Isto implica que pode usar contratos inteligentes construídos em Solidity ou outras aplicações.
  • 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 virtuais. Também torna possível que os contratos inteligentes sejam executados na cadeia.

Aplicações do Hyperledger Sawtooth

  • X O: Joga um jogo de jogo da velha para ilustrar como criar transações simples. As transações de construção e realização na família de transações X O fornecem um comando X O que permite a dois jogadores jogar o jogo. 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 uma aplicação de exemplo que inclui um aplicativo da web, uma API REST personalizada e um processador de transações. Este exemplo de aplicação mostra como sincronizar o estado da blockchain com um banco de dados local para consultas complicadas, bem como uma forma descentralizada de assinatura de transações no navegador.
  • Mercado Sawtooth: Na blockchain, o mercado Sawtooth instrui os utilizadores sobre como trocar quantidades específicas de ativos especializados. Com a ajuda de um validador Sawtooth e de alguns outros componentes, esta aplicação de exemplo irá executar uma blockchain Sawtooth e oferecer uma API REST simples para comunicar com ela.

Idiomas Suportados para Processo de Transação

Hyperledger 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 registro 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 razão.
  3. Go: Sawtooth também oferece suporte para Go através do 'Sawtooth Go SDK', que permite uma integração fácil com aplicações baseadas 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.

Outras linguagens como Java, Rust, Shell, etc. também podem ser usadas através da API RESTful fornecida pelo Sawtooth. O suporte do Sawtooth a 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 Hyperledger 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 registo de todas as transações e execução de contratos inteligentes. O registo é 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 livro-razão. Inclui também um mecanismo de contrato inteligente chamado "Sawtooth Lake" que permite a implantação e execução fácil 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 múltiplos 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. Garante que as transações estão bem formadas e que estão 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. Garante que transações conflituosas sejam processadas de forma a evitar conflitos e manter a consistência no livro-razão.
  • Motor de Consenso: Cada algoritmo de consenso tem o seu próprio motor que executa o protocolo de consenso e comunica com outros componentes do sistema.

Hyperledger Sawtooth em Ação

O Hyperledger Sawtooth pode ser utilizado para construir uma variedade de aplicações de contabilidade distribuída. Alguns exemplos de como o Sawtooth pode ser utilizado em diferentes setores incluem:

  • Gestão da Cadeia de Abastecimento: Sawtooth pode ser usado para construir um sistema de gestão da cadeia de abastecimento à prova de manipulações e transparente. Pode ser usado para rastrear o movimento de bens, desde o ponto de origem até ao 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 manutenção de registros. Pode ser usado para atividades como financiamento comercial, gestão de ativos digitais e relatórios de conformidade
  • Saúde: Sawtooth pode ser usado para construir um sistema seguro e privado para partilhar registos médicos entre prestadores de cuidados de saúde. Pode ser usado para garantir que os dados do paciente só sejam acessíveis a partes autorizadas, proporcionando ainda uma forma eficiente de partilhar dados entre médicos, hospitais e companhias de seguros.
  • Gestão de Identidade: Sawtooth pode ser usado para construir um sistema descentralizado e à prova de manipulação para gestão 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 para gerir e controlar a produção, distribuição e consumo de energia. Pode ser usado para possibilitar a negociação de energia entre pares, rastrear e verificar créditos de energia renovável e gerir a distribuição de energia a partir de microrredes.

Estes são apenas alguns exemplos, e Sawtooth é suficientemente flexível para ser usado numa ampla gama de outras indústrias e aplicações também. A arquitetura modular do Sawtooth e o suporte para diferentes algoritmos de consenso tornam-no uma plataforma poderosa para a construção e implantação de registos distribuídos que podem ser utilizados para uma ampla gama de casos de uso.

O verão está aqui e é hora de aprimorar suas habilidades! Mais de 5.000 aprendizes concluíram sua jornada, desde o básico de DSA até programas avançados de desenvolvimento, como Full-Stack, Desenvolvimento de Back-End e Ciência de Dados.
\
E por que ir a outro lugar quando o nosso DSA para Desenvolvimento: Guia de Codificaçãoirá ajudá-lo a dominar tudo isto em poucos meses! Candidate-se agora ao nosso DSA para Programa de Desenvolvimento e os nossos conselheiros entrarão em contato consigo para orientação adicional & apoio.

Aviso legal:

  1. Este artigo é reproduzido a partir de [geeksforgeeks]. Todos os direitos de autor pertencem ao autor original [geeksforgeeks]. Se houver objeções a esta reimpressão, por favor entre em contacto com o Gate Aprenderequipa, e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente as do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Hyperledger Sawtooth na Blockchain

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

O Hyperledger Sawtooth é uma plataforma blockchain corporativa que cria redes e aplicações de registos distribuídos. A filosofia de design concentra-se na manutenção de registos distribuídos e na segurança de contratos inteligentes, especialmente para aplicações empresariais. Sawtooth utiliza a tecnologia blockchain como um serviço (BaaS).
Sawtooth é muito modular também. Esta modularidade permite que empresas e consórcios decidam sobre políticas nos seus respetivos campos de competência. As aplicações podem escolher os algoritmos transacionais, de permissão e de consenso que melhor se adequam aos seus requisitos comerciais únicos devido ao design fundamental do Sawtooth. A maioria dos sistemas baseados em blockchain em uso hoje hospeda e executa tanto o seu núcleo como as suas aplicações na mesma plataforma, o que pode ter um impacto tanto na segurança como no desempenho.

O que é Hyperledger Sawtooth?

O Hyperledger Sawtooth é uma plataforma de blockchain como serviço de código aberto para empresas 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.
  • O seu design amigável oferece um desempenho impecável para uso empresarial.
  • Suporta a permissão separada, ou seja, não existe um serviço centralizado que possa revelar informações confidenciais.

Como funciona o Hyperledger Sawtooth?

O Hyperledger Sawtooth é uma plataforma modular para construir, implementar e executar ledgers distribuídos (também chamados blockchains). Inclui um algoritmo de consenso inovador chamado "Prova de Tempo Decorrido" (PoET), que utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de forma justa e eficiente. O Sawtooth também possui um design modular que permite algoritmos de consenso plugáveis e suporta redes permissionadas e sem permissão.

  • O componente principal do Sawtooth é um livro-razão distribuído que regista um registo 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 inclui também um motor de contrato inteligente chamado “Lago Sawtooth” que permite a fácil implementação e execução de contratos inteligentes. A plataforma também fornece uma API RESTful para interagir com o livro-razão e enviar transações.
  • Sawtooth foi 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 a construção e implementação de registos distribuídos que podem ser utilizados numa ampla gama de aplicações, como gestão da cadeia de fornecimento, rastreio de ativos digitais e sistemas de votação.
  • Hyperledger Sawtooth torna mais simples desenvolver aplicativos, mantendo a segurança do sistema ao separar o sistema de contabilidade central do ambiente pertinente a cada aplicação.
  • Os desenvolvedores de aplicativos podem descrever as regras de negócios apropriadas para sua aplicação sem estar familiarizados com a arquitetura subjacente do sistema central. Esse design permite que os desenvolvedores criem aplicativos que podem ser hospedados, gerenciados e usados fora da rede principal de blockchain em sua linguagem de programação favorita.

Algoritmos de consenso do Hyperledger Sawtooth

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 no Sawtooth. Ele utiliza ambientes de execução confiáveis (TEEs) para garantir que o consenso seja alcançado de forma justa e eficiente. PoET utiliza 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ática): Este é um algoritmo de consenso clássico amplamente usado em sistemas distribuídos. Utiliza um processo de votação de réplicas para garantir que a rede chegue a um consenso. PBFT é adequado para redes permissionadas com um conjunto conhecido de participantes.
  3. Raft: Projetado para sistemas distribuídos com um ritmo elevado 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 destina-se a testes e desenvolvimento. Sem requerer consenso, permite o processamento paralelo de transações.

Algoritmos de consenso mais avançados como PoA (Proof of Authority), PoS (Proof of Stake), etc também podem ser usados com Sawtooth instalando o motor 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.

Características do Hyperledger Sawtooth

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

Sawtooth separa o nível de aplicação do nível do sistema central, tornando mais fácil projetar e implementar programas. Os desenvolvedores de aplicativos podem projetar a lógica do 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 aplicações. 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 da rede blockchain.

2. Recursos de Permissão de Serra em Redes Privadas

Sawtooth foi criado para resolver os problemas associados às redes com permissão (privadas). Os clusters de nós Sawtooth podem ser facilmente implantados com permissões independentes. Não existe um serviço centralizado que possa revelar acidentalmente padrões de transação 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 utilizam a rede possam aceder a elas.

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

A maioria das blockchains exige processamento de transações em série para garantir uma ordem consistente em cada nó da rede. Um agendador paralelo de ponta no Sawtooth divide as transações em fluxos paralelos. O Sawtooth isola a execução das transações umas das outras, preservando as alterações 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 implementação de contratos inteligentes EVM (Ethereum Virtual Machine) no Sawtooth.

5. Consenso Dinâmico

O consenso numa blockchain refere-se a alcançar uma compreensão 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 como as variações dos algoritmos convencionais de Tolerância a Falhas Bizantinas (BFT) empregam inúmeras rondas de votação explícita para alcançar consenso. O primeiro elege um líder por algum tipo de sistema de lotaria. O 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 comunicam com o validador através da API de consenso, a interface de consenso do Sawtooth permite a conexão de várias implementações de consenso.

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

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

  • Para testar ledgers implementados, os programadores usam uma chave inteira.
  • As definições de configuração on-chain podem ser armazenadas usando a implementação de referência fornecida pelas Definições.
  • Gestiona identidades na cadeia de blocos para simplificar o tratamento 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 ocorrem eventos relacionados com blockchain, como quando um novo bloco é confirmado ou ocorre um fork.
    • Subscrever eventos específicos para uma aplicação e especificados por uma família de transações.
    • Informar os clientes sobre como uma transação foi realizada sem armazenar os detalhes no estado.
    • Através de um Socket ZMQ, as subscrições são enviadas e mantidas.

Elementos da Arquitetura Hyperledger Sawtooth

Vamos discutir os elementos principais da arquitetura do Hyperledger Sawtooth:

1. Sistema de Eventos

Ao olhar para qualquer exemplo do Hyperledger Sawtooth, pode-se observar que o sistema de eventos garante principalmente que os eventos sejam criados sem problemas e transmitidos para os nós. Como resultado, se usar o sistema de eventos, pode criar uma aplicação que subscreve eventos e obtém automaticamente novas informações. Estas coisas normalmente fazem com que a plataforma Sawtooth funcione de forma mais suave. Ajudar os nós a reunir as informações de que necessitam 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. Precisa de estar familiarizado com esta funcionalidade se quiser entender o Hyperledger Sawtooth. Aparece em todos os exemplos do Hyperledger Sawtooth que incorporam funcionalidades do Ethereum. Mas o que exatamente faz? Que aplicações têm para as propriedades do Ethereum? Assim, este componente menor ajuda a preencher a lacuna entre as duas plataformas. Como resultado, este elemento pode ser usado para alcançar compatibilidade entre estas duas plataformas. Tem alguma ideia de quantas oportunidades o Seth poderia apresentar? É uma adição fantástica ao design do Hyperledger Sawtooth, portanto, use-o se o seu projeto comercial o requerer.

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 da Blockchain. Permite selecionar o mecanismo de consenso que a sua plataforma necessita. Naturalmente, apenas alguns consensos são apropriados 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 ao seu contrato inteligente funcionalidades. Não é possível usar o sistema Hyperledger Sawtooth sem utilizar as famílias de transações, como pode ver ao olhar para um exemplo.

  • Família de transações Block Info: A família de transações Block Info 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 fazê-lo.
  • Família de Transações do Registo de Validadores: Utilize isto para expandir os validadores do sistema, adicionando novos membros. Não pode adicionar quaisquer validadores sem utilizar isto. É, portanto, absolutamente necessário.
  • Família de transações de chave inteira: uma das melhores famílias de transações que permitem testes sem recursos de todos os livros contábeis implantados.
  • Família de transações XO: Esta é uma interpretação mais divertida de toda a rede. Um jogo do galo foi também incluído no Sawtooth porque os criadores da rede queriam dar-lhe um toque extra. Assim, podes jogar com qualquer nó usando isto.
  • 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 para aceder. Mais importante ainda, mantém o registo de detalhes sobre os nós, incluindo as 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, pode utilizar aplicações criadas para a blockchain Ethereum na rede. Isto implica que pode usar contratos inteligentes construídos em Solidity ou outras aplicações.
  • 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 virtuais. Também torna possível que os contratos inteligentes sejam executados na cadeia.

Aplicações do Hyperledger Sawtooth

  • X O: Joga um jogo de jogo da velha para ilustrar como criar transações simples. As transações de construção e realização na família de transações X O fornecem um comando X O que permite a dois jogadores jogar o jogo. 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 uma aplicação de exemplo que inclui um aplicativo da web, uma API REST personalizada e um processador de transações. Este exemplo de aplicação mostra como sincronizar o estado da blockchain com um banco de dados local para consultas complicadas, bem como uma forma descentralizada de assinatura de transações no navegador.
  • Mercado Sawtooth: Na blockchain, o mercado Sawtooth instrui os utilizadores sobre como trocar quantidades específicas de ativos especializados. Com a ajuda de um validador Sawtooth e de alguns outros componentes, esta aplicação de exemplo irá executar uma blockchain Sawtooth e oferecer uma API REST simples para comunicar com ela.

Idiomas Suportados para Processo de Transação

Hyperledger 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 registro 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 razão.
  3. Go: Sawtooth também oferece suporte para Go através do 'Sawtooth Go SDK', que permite uma integração fácil com aplicações baseadas 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.

Outras linguagens como Java, Rust, Shell, etc. também podem ser usadas através da API RESTful fornecida pelo Sawtooth. O suporte do Sawtooth a 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 Hyperledger 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 registo de todas as transações e execução de contratos inteligentes. O registo é 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 livro-razão. Inclui também um mecanismo de contrato inteligente chamado "Sawtooth Lake" que permite a implantação e execução fácil 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 múltiplos 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. Garante que as transações estão bem formadas e que estão 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. Garante que transações conflituosas sejam processadas de forma a evitar conflitos e manter a consistência no livro-razão.
  • Motor de Consenso: Cada algoritmo de consenso tem o seu próprio motor que executa o protocolo de consenso e comunica com outros componentes do sistema.

Hyperledger Sawtooth em Ação

O Hyperledger Sawtooth pode ser utilizado para construir uma variedade de aplicações de contabilidade distribuída. Alguns exemplos de como o Sawtooth pode ser utilizado em diferentes setores incluem:

  • Gestão da Cadeia de Abastecimento: Sawtooth pode ser usado para construir um sistema de gestão da cadeia de abastecimento à prova de manipulações e transparente. Pode ser usado para rastrear o movimento de bens, desde o ponto de origem até ao 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 manutenção de registros. Pode ser usado para atividades como financiamento comercial, gestão de ativos digitais e relatórios de conformidade
  • Saúde: Sawtooth pode ser usado para construir um sistema seguro e privado para partilhar registos médicos entre prestadores de cuidados de saúde. Pode ser usado para garantir que os dados do paciente só sejam acessíveis a partes autorizadas, proporcionando ainda uma forma eficiente de partilhar dados entre médicos, hospitais e companhias de seguros.
  • Gestão de Identidade: Sawtooth pode ser usado para construir um sistema descentralizado e à prova de manipulação para gestão 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 para gerir e controlar a produção, distribuição e consumo de energia. Pode ser usado para possibilitar a negociação de energia entre pares, rastrear e verificar créditos de energia renovável e gerir a distribuição de energia a partir de microrredes.

Estes são apenas alguns exemplos, e Sawtooth é suficientemente flexível para ser usado numa ampla gama de outras indústrias e aplicações também. A arquitetura modular do Sawtooth e o suporte para diferentes algoritmos de consenso tornam-no uma plataforma poderosa para a construção e implantação de registos distribuídos que podem ser utilizados para uma ampla gama de casos de uso.

O verão está aqui e é hora de aprimorar suas habilidades! Mais de 5.000 aprendizes concluíram sua jornada, desde o básico de DSA até programas avançados de desenvolvimento, como Full-Stack, Desenvolvimento de Back-End e Ciência de Dados.
\
E por que ir a outro lugar quando o nosso DSA para Desenvolvimento: Guia de Codificaçãoirá ajudá-lo a dominar tudo isto em poucos meses! Candidate-se agora ao nosso DSA para Programa de Desenvolvimento e os nossos conselheiros entrarão em contato consigo para orientação adicional & apoio.

Aviso legal:

  1. Este artigo é reproduzido a partir de [geeksforgeeks]. Todos os direitos de autor pertencem ao autor original [geeksforgeeks]. Se houver objeções a esta reimpressão, por favor entre em contacto com o Gate Aprenderequipa, e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente as do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!