WEB3DEV

Cover image for Visão geral da DLT Hedera Hashgraph
Rafael Ojeda
Rafael Ojeda

Posted on

Visão geral da DLT Hedera Hashgraph

Visão geral da DLT Hedera Hashgraph

O Hedera Hashgraph é um novo tipo de DLT ( Tecnologia de Ledger Distribuído) que, ao contrário dos DLTs baseados em blockchain (ethereum, bitcoin, ...), não depende de blocos contendo transações. O Hedera utiliza uma tecnologia diferente: o hashgraph, que de acordo com seus criadores, oferece, entre outras coisas, maior rendimento, ordenação justa, finalização instantânea e taxas de transação mais baixas.

Image description

Protocolo Hashgraph

O protocolo Hedera Hashgraph usa "eventos" que são basicamente pequenos blocos de informação, contendo uma ou muitas transações que foram submetidas à rede junto com algumas despesas gerais contendo assinaturas, carimbo de data e hora e hashes de eventos anteriores.

Os nós que formam a rede trocarão constantemente estes eventos uns com os outros. Esses eventos, como mencionado anteriormente, contêm hashes de eventos anteriores, que permitem aos nós transferir entre si não apenas informações sobre novas transações que chegam à rede, mas também informações sobre transações anteriores (processo conhecido como “gossip about gossip” (fofoca sobre fofoca) ), gerando efetivamente um "gráfico" de eventos que permitirá aos nós chegar a um consenso comum sobre os eventos - carimbo de data/hora e ordenação - através de votação virtual.

O protocolo Hedera Hashgraph é bastante complicado e honestamente além do escopo deste blog, mas você pode encontrar uma boa explicação no vídeo a seguir:

Conceitos centrais

Hedera, em seu núcleo, consiste nas seguintes entidades :

Contas: Podem ser comparadas a contas ethereum, pois são responsáveis pela entrega de transações à rede. Entretanto, elas são tecnicamente muito diferentes. As contas Hedera têm uma ou muitas chaves associadas a elas. Estas chaves (ou algumas delas, dependendo da configuração da conta) têm que assinar as transações que a conta está submetendo à rede. As contas podem ter qualquer Token Hedera, mas precisam primeiro associar-se a ela (somente HBARs podem ser mantidas sem qualquer associação prévia). Para simplificar para os usuários de ethereum, uma conta pode ser entendida como um contrato inteligente integrado multissinatura...

Tokens: Hedera levou as normas ERC20 e ERC721 um passo adiante, incorporando-as ao seu núcleo. Para criar um token você não precisa implantar um contrato inteligente, basta dizer ao Hedera que tipo de token você quer e pagar pelas taxas de criação. Os tokens fungíveis e não fungíveis do Hedera oferecem a funcionalidade clássica (transferir, transferirDe, aprovar, ...) mais alguns extras como associar/dissociar e congelar/descongelar contas, pausar/despausar o token...

Contratos Inteligentes: Como o Hedera é compatível com EVM, qualquer contrato inteligente de ethereum pode ser executado em Hedera. Entretanto, o contrato inteligente do Hedera não é apenas o código de bytes, armazenamento e equilíbrio associado a ele (como na ethereum), eles também têm administradores, podem por seus tokens em stake automaticamente, etc...

Arquivos: Hedera permite aos usuários armazenar arquivos (não mais que 1KB por arquivo) de forma descentralizada. De fato, os códigos de bytes dos contratos inteligentes são armazenados em múltiplos arquivos. Os arquivos têm um administrador que pode atualizar o conteúdo do arquivo.

Tópicos: Também podemos usar o Hedera DLT como uma fila onde as mensagens podem ser enviadas e as últimas recuperadas. O Hedera garante a segurança adequada do pedido (podemos limitar quem pode enviar mensagens) e a disponibilidade.

Transações programadas: As contas devem submeter as transações à rede, entretanto, as contas podem ter múltiplas chaves associadas, o que significa que são necessárias múltiplas assinaturas para que as transações da conta sejam aceitas pela rede. Normalmente, estas assinaturas devem ser adicionadas fora da cadeia e, quando a transação estiver pronta, submeter tudo a um ## de consenso. Para tornar este processo de múltiplas assinaturas mais simples, o Hedera oferece a possibilidade de enviar transações que ainda não tenham todas as assinaturas necessárias anexadas, a rede armazenará essa transação em uma fila, esperando que as assinaturas restantes cheguem antes que a transação possa finalmente ser submetida.

Taxas

As taxas em Hedera são pagas usando seu símbolo nativo "HBAR", embora o montante a ser pago dependa da relação de troca atual entre HBAR e USD, a idéia é que os usuários paguem uma taxa fixa calculada em USD (o montante de HBAR será sempre diferente).

Há duas categorias de taxas em Hedera:

Taxas de transação: pagas uma vez pela conta que apresenta a transação (para criar uma entidade ou operar com ela).

Taxas de armazenagem: as entidades não são implantadas no DLT "para sempre", elas têm um tempo de expiração. Uma vez que uma entidade expira, ela será automaticamente removida do DLT a menos que uma taxa de renovação seja paga pela conta definida como a conta de renovação.

Governança

A rede Hedera é, por enquanto, totalmente gerenciada pelo conselho administrativo do Hedera, uma organização de até 39 empresas muito conhecidas (atualmente apenas 27), cada uma delas administrando um . No entanto, o objetivo é descentralizar completamente a rede em algum momento, permitindo que qualquer um administre um .

Protocolo de consenso

O protocolo de consenso utiliza o Proof-of-Stake(Prova de Participação), onde os nós devem ter uma quantidade mínima de HBAR para serem autorizados a validar eventos, mas não podem ter mais do que uma quantidade máxima (a fim de evitar que um tome conta da rede). A votação é proporcional à quantidade de HBAR apostado. Uma transação é validada e colocada em consenso após ser validada por nós que representam uma stake (participação) agregada de mais de dois terços do número total de barramentos da rede (fixado em 50 bilhões).

Contas e contratos inteligentes podem colocar sua HBAR em um (ou em outra conta/contrato inteligente) e receber recompensas quando eventos são adicionados ao hashgraph. O Stakin em Hedera, ao contrário do staking em outros DLTs, não exige que os tokens staked sejam bloqueados, e o slashing também não é implementado no protocolo, não há nenhuma "punição" para nós desonestos, pelo menos por enquanto...

Há uma conta especial em Hedera (0,0.800 na rede principal) que centraliza a alocação da recompensa. Ela detém todas as recompensas e as distribui proporcionalmente às contas/contratos.

As contas e contratos podem ser definidos para recusar recompensas.

Contas

As contas Hedera devem ser criadas (ao contrário da ethereum onde qualquer chave pública é tecnicamente uma conta) e as taxas devem ser pagas ao fazer isso.

Para criar novas contas no Hedera você pode usar um fornecedor oficial de carteiras:

https://docs.hedera.com/guides/mainnet/mainnet-access,

ou o portal Hedera se você precisar de uma conta testnet :

https://portal.hedera.com/.

Você também pode obter uma conta Hedera solicitando a qualquer pessoa que transfira fundos para seu endereço público na Ethereum. A operação de transferência criará automaticamente sua conta Hedera e as taxas de criação serão deduzidas do valor da transferência.

Escaneamentos

Se você precisar escanear as transações, contas, contratos inteligentes do Hedera... você pode usar o hashscan em todas as redes:

mainnet : https://hashscan.io/mainnet/dashboard

testnet :https://hashscan.io/testnet/dashboard

O Hashgraph e o protocolo de consenso são de código aberto.

API (Interface de Programação de Aplicativos)

Hedera apresenta uma API (HAPI) que permite a qualquer pessoa interagir com suas entidades centrais ( tokens, contas, ...). O protocolo de comunicação HAPI é gRPC sobre HTTP e os dados são serializados utilizando o protobuf. Entretanto, o Hedera fornece um SDK (Kit de Desenvolvimento de Software) para múltiplas linguagens de programação como JavaScript, Java, Go... permitindo uma integração perfeita de seu HAPI em aplicações já existentes.

O HAPI é subdividido em serviços, cada um dedicado a uma entidade central específica (HTS para criação e gerenciamento de Tokens, HSCS para criação e gerenciamento de Contratos Inteligentes, etc...).

As duas grandes vantagens do HAPI é que ele dá a possibilidade aos desenvolvedores de interagir com a funcionalidade central do Hedera sem implementar um contrato inteligente e oferece um enorme rendimento (milhares de transações por segundo) uma vez que as transações não precisam ser executadas pelo EVM (Máquina Virtual Ethereum).

Rede

O Hedera conta atualmente com três redes públicas:

  • Mainnet: Rede principal da Hedera, onde os HBARs têm valor real.

  • Previewnet: Rede pré-principal, onde os contratos inteligentes e/ou entidades podem ser testados antes de serem implantados na rede principal.

  • Testnet: Uma rede para o desenvolvedor testar sua implementação sem qualquer risco. A grande diferença entre esta rede e a "Previewnet" é que o Hedera às vezes repõe seu conteúdo, removendo todas as entidades existentes, razão pela qual ela deve ser usada apenas para testes "efêmeros".

As redes do Hedera têm dois tipos diferentes de nós

  • Nós de consenso: Estes são os nós que processam as transações de entrada e as adicionam ao Hashgraph. Qualquer interação com um de consenso custa HBARs, mesmo se for uma transação que só lê dados do DLT.

  • Nós de espelho: Estes nós não participam do processo de consenso, eles são como bancos de dados que armazenam o status atual do DLT para que qualquer pessoa possa consultá-los gratuitamente. Os nós de consenso fornecem mudanças de estado na forma de arquivos assinados para os nós espelho, o que significa que pode haver um pequeno atraso entre o momento em que uma nova transação é adicionada ao DLT e o novo estado está disponível nos nós espelho.

Transações

Uma transação Hedera pode conter campos diferentes, dependendo de qual serviço HAPI e do seu método estão sendo entregues, mas geralmente todos eles contêm os seguintes campos:

  • Conta do *nó : A identificação do *nó de consenso ao qual a transação está sendo entregue.

  • ID da transação: O ID da transação consiste no ID da conta de envio seguido da hora de início da transação (não confundir com os carimbos de tempo de consenso calculados pelos nós de consenso da rede).

  • Taxa de Transação: Taxa máxima que a conta de envio está disposta a pagar pela transação.

  • Duração válida: Número de segundos que o usuário deseja que a transação seja válida, começando na "hora de início" indicada no ID da transação.

  • Assinatura: Uma transação deve ser assinada pelo menos pela conta emissora, mas em alguns casos, as transações devem ser assinadas por várias contas.

As transações do Hedera podem acionar outras transações (por exemplo, quando um método de contrato inteligente cria um novo Token...). A identificação das transações pai e filho será a mesma, mas a transação filho terá um nonce extra indicando a ordem em que foram executadas.

Quando uma transação é submetida e processada pela rede, os usuários podem solicitar as seguintes confirmações:

  • Recibo: os recibos contêm informações básicas sobre a transação, são gratuitos e só estão disponíveis por 3 minutos após a transação ser validada.

  • Registro: os registros contêm mais informações sobre a transação do que recibos, eles também estão disponíveis por apenas 3 minutos após a transação ser validada, mas não são gratuitos.

  • Prova de Estado: Este é um documento assinado pelos nós de consenso que contém todas as informações relacionadas à transação, a grande diferença entre provas de estado e recibos/registros é que as provas de estado podem ser usadas para validar criptograficamente uma transação.

Compatibilidade com a ethereum

O Hedera está se tornando cada vez mais compatível com a ethereum.

Para começar, os nós de consenso executam um EVM, permitindo que os desenvolvedores implementem contratos inteligentes implementados usando Solidity ou qualquer outra linguagem compatível com EVM.

Mais recentemente, o Hedera acrescentou um novo tipo de a suas redes: "nós de encaminhamento". Estes nós apresentam a API ethereum JSON-RPC, para que carteiras compatíveis com ehtereum (metamask, ...) possam interagir com eles. Os nós de encaminhamento funcionam como uma ponte entre estas carteiras de ethereum e a rede Hedera, a maneira como o fazem é relativamente simples, recebem transações de ethereum e as encapsulam em transações Hedera que são enviadas ao HSCS (Hedera Smart Contract Service).

Cada de encaminhamento tem uma conta que é a que paga as taxas de entrega da transação, porém as taxas de execução da transação são pagas pela conta que assina a transação da ethereum. Por enquanto, os nós de encaminhamento são abertos para qualquer pessoa, mas em algum momento é esperado que esses nós cobrem algum tipo de taxa para compensar as taxas de entrega da transação que são cobradas automaticamente na conta do de encaminhamento.

Este artigo foi escrito por Alberto Molina e traduzido para o português por Rafael Ojeda

Você pode ler o artigo original aqui

Oldest comments (0)