O que é Tendermint? Como funciona o consenso do Tendermint?

intermediárioJan 08, 2024
Tendermint é um novo protocolo blockchain que visa resolver o problema de tolerância a falhas bizantinas usando um modelo de rede parcialmente síncrono e um algoritmo de consenso determinístico. Ele foi projetado para ser escalonável e seguro e pode ser usado para criar blockchains públicos e privados.
O que é Tendermint? Como funciona o consenso do Tendermint?

O mundo do blockchain pode ser um lugar confuso, mesmo quando se olha para os protocolos “mais simples” como o Bitcoin. As coisas ficam um pouco mais complicadas quando passamos para protocolos mais novos como o Ethereum, ou mesmo para protocolos mais novos que pegam o que as gerações 1 e 2 nos ensinaram e procuram desenvolver isso com novas ideias e conceitos.

Um desses projetos que pretende revolucionar a maneira como abordamos o desenvolvimento e o uso da tecnologia blockchain é o Tendermint.

Tendermint é um novo protocolo que ajuda a ordenar eventos em uma rede distribuída sob condições adversárias. Mais comumente conhecido como algoritmo de consenso tolerante a falhas bizantinas (BFT) ou transmissão atômica, o problema atraiu atenção significativa nos últimos anos devido ao amplo sucesso de moedas digitais baseadas em blockchain, como Bitcoin e Ethereum.

Estas duas moedas resolveram com sucesso o problema de gestão de tal rede num ambiente público sem uma autoridade central, criando o que hoje chamamos de blockchains públicos descentralizados. O Tendermint moderniza o trabalho acadêmico clássico sobre o assunto e simplifica o design do algoritmo BFT, contando com um protocolo de fofoca ponto a ponto entre nós.

O que você aprenderá 👉

Um olhar mais atento sobre o Tendermint


O Tendermint existe em uma pilha com o Cosmos, uma plataforma blockchain que serve como mediadora e se autodenomina “Internet dos Blockchains”; esta plataforma lançou seu blockchain há apenas alguns dias, iniciando a existência prática do ecossistema Cosmos/Tendermint. Todo o ecossistema funciona de forma semelhante ao Ethereum, exceto que é mais modular, flexível e mais fácil de desenvolver.

O Cosmos SDK atua como a camada de aplicação do ecossistema (semelhante ao EVM da Ethereum), enquanto o Tendermint representa tanto a camada de consenso (algoritmo de consenso de prova de participação tolerante a BFT) quanto a camada de rede (Tendermint Core).

Algoritmo de consenso + protocolo de rede p2p que são unidos na pilha Tendermint Core são conectados ao Cosmos SDK por meio de outro elemento separado do ecossistema chamado Application Blockchain Interface (ABCI).

Cosmos SDK é a implementação básica do ABCI e representa a parte modular do ecossistema; é uma camada básica de aplicativo que os desenvolvedores podem usar e aprimorar com recursos personalizados. Isso permite que blockchains já existentes construam aplicativos baseados em Tendermint que podem se conectar ao ecossistema e trocar mensagens e valores entre si.

É por isso que Tendermint e Cosmos usam o apelido “Internet of Blockchains”; todo o sistema quer se tornar um hub que permita a interoperabilidade entre diferentes blockchains.

Uma empresa californiana com fins lucrativos por trás do projeto (também chamada Tendermint), separou os três elementos principais mencionados acima e, em seguida, conectou a camada de rede/consenso sob a pilha Tendermint.

Isso é feito para tornar os componentes da tecnologia mais fáceis de usar e consertar, sem precisar desenvolver para todo o ecossistema quando quiser mudar alguma coisa. Os principais desenvolvedores, Jae Kwon, como Ethan Buchman, queriam criar algo que fosse fácil de entender, implementar e desenvolver, e Tendermint é o resultado final de seus esforços.

⚡️ Antes do Tendermint, a construção de um blockchain exigia a construção de todas as três camadas (rede, consenso, aplicação) desde o início. Ethereum simplificou isso fornecendo um blockchain de máquina virtual no qual qualquer pessoa poderia implantar lógica personalizada na forma de contratos inteligentes. Um problema permaneceu: o desenvolvimento do próprio blockchain. O Tendermint simplifica significativamente o processo, pois os desenvolvedores só precisam se preocupar com a camada do aplicativo.

Camadas de rede e consenso já são fornecidas através do mecanismo Tendermint Core; tudo o que você precisa fazer é adaptar o ABCI por meio de uma linguagem de programação de sua preferência, desenvolver seu aplicativo exclusivo e começar a usar os recursos do Tendermint.

A equipe do Tendermint fez algo assim pegando a base de código do Ethereum, retirando o PoW e conectando o resultado final ao seu Tendermint Core. Isso criou o Ethermint, um protocolo semelhante ao Ethereum que tinha recursos de Prova de Participação. Todas as ferramentas Ethereum existentes (Truffle, Metamask, ..) são compatíveis com Ethermint, e você pode portar seus contratos inteligentes para lá sem nenhum trabalho adicional.

Um elemento importante de toda a equação que ainda não mencionamos, mas que é muito importante para a interoperabilidade do blockchain, é o protocolo de comunicação inter-Blockchain (IBC). O IBC permite que cadeias heterogêneas transfiram valores e dados entre si, desbloqueando, em última análise, a interoperabilidade entre blockchains que possuem diferentes aplicações e conjuntos de validadores.

Para evitar problemas de escalabilidade que podem surgir com centenas ou milhares de blockchains futuros, o Cosmos propõe uma arquitetura modular com duas classes de blockchain: Hubs e Zonas.

As zonas são blockchains heterogêneos regulares e os hubs são blockchains projetados especificamente para conectar zonas. Quando uma Zona cria uma conexão IBC com um Hub, ela pode acessar automaticamente (ou seja, enviar e receber de) todas as outras zonas conectadas a ela. Como resultado, cada Zona só precisa estabelecer um número limitado de conexões com um conjunto restrito de Hubs.

Os Hubs também evitam gastos duplos entre Zonas. Isso significa que quando uma Zona recebe um token de um Hub, ela só precisa confiar na Zona de origem desse token e do Hub. O primeiro hub (Cosmos Hub) já foi lançado há alguns dias. Algumas correntes não serão totalmente compatíveis com o Tendermint; os desenvolvedores imaginaram as chamadas zonas de fixação para lidar com esse problema.

A criptografia do Tendermint em si não é tão avançada, sendo as assinaturas ECDSA a tecnologia mais “exótica” do ecossistema. Agregação de assinaturas BLS, provas de conhecimento zero e contas Ristretto foram mencionadas durante a recente transmissão ao vivo pós-lançamento, mas nada disso parece estar no horizonte ainda.

A tecnologia pode ser usada para a criação de cadeias públicas e privadas, com as primeiras operando por meio de PoS e as últimas por meio de nós autorizados; ambos os sistemas serão BFT. Os blocos no Tendermint Core podem ter um tempo de bloqueio de um segundo e são considerados instantaneamente finais; caso contrário, seria seguro assumir que a rede está sofrendo um ataque de 33% (mais de um terço dos validadores são maliciosos).

Nós maliciosos e tolerância a falhas bizantinas


Um blockchain precisa ser tolerante a falhas bizantinas, também conhecido como capaz de tolerar nós potencialmente maliciosos que comunicam estados e mensagens falsos à rede e colocam em risco o consenso. A ciência era escassa nos sistemas tolerantes a falhas bizantinos, pois este tópico não era tão popular na academia.

A pouca pesquisa feita concentrou-se em redes de pequeno tamanho de amostra de até 7 nós; Os desenvolvedores do Tendermint queriam algo que pudesse escalar em um nível superior. Mesmo quando o Bitcoin introduziu um sistema capaz de suportar milhares de nós independentes, o sistema tinha (e ainda tem) um único domínio administrativo que limita significativamente a sua escalabilidade.

Kwon e seus parceiros imaginaram um protocolo BFT que pudesse ser dimensionado para centenas de nós no ambiente sem permissão com Prova de Participação (PoS) como mecanismo de segurança subjacente. Eles criaram o sistema baseado em BFT que possui dois elementos principais que já nomeamos: Tendermint Core, que é usado para chegar a consenso e “fofocar”, e Cosmos SDK, que serve como camada de aplicação.

Seu algoritmo de prova de participação BFT supera o problema dos generais bizantinos usando um modelo de rede parcialmente síncrono, o que significa que os validadores que votam em um bloco não precisam agir ao mesmo tempo. Os blocos neste sistema não são votados de acordo com um cronograma nem têm tamanho determinado.

⚡️ No Bitcoin, que é considerado “totalmente síncrono”, temos um prazo definido de 10 minutos que os nós devem procurar, coletar, validar e adicionar transações a um bloco. Com Ethereum, esse prazo é de apenas 15 segundos. Tudo está muito bem até que a sincronia seja quebrada; alguns dos nós podem ficar offline e sofrer problemas de latência; nesse caso, a cadeia pode parar ou ser bifurcada.

O Tendermint pretende implementar um modelo mais centralizado, que recuse estas limitações de tempo devido aos seus nós operarem de forma assíncrona.

O protocolo é mais assíncrono: em vez de cada rodada levar um período de tempo predeterminado, cada etapa de uma rodada progride após mais de 2/3 dos nós chegarem a um consenso. Esta falta de sincronização é parcial e o projeto refere-se a ela como “fracamente assíncrona”. Os validadores são bem conhecidos e podem comunicar entre si para coordenar os seus esforços e garantir que o consenso da rede seja sempre alcançado. Tudo isso implica que a rede deles, de fato, nunca se bifurcará.

O Tendermint reatribui regularmente aos validadores o direito de propor um bloco para mitigar ligeiramente possíveis problemas com a centralização deste processo. Depois que os blocos são propostos, os validadores votam em um processo determinístico de múltiplas rodadas.

Para expandir isso, precisamos perceber que, no mundo dos protocolos, temos protocolos não determinísticos e determinísticos. Protocolos não determinísticos são aqueles que vemos em sistemas completamente assíncronos. O consenso de um caso puramente assíncrono pode depender de oráculos aleatórios e geralmente incorre em sobrecarga de alta complexidade de mensagens, pois dependem de transmissão confiável para todas as comunicações.

O Tendermint evita essa alta sobrecarga seguindo o caminho determinístico; nada é realmente aleatório, mas sim feito por meio de uma função matemática definida que nos permite fazer uma previsão de que o protocolo tem garantia de tomar decisões.

Com o Tendermint, os validadores são alternados com a ajuda de um formato round-robin ponderado determinístico. Quanto mais interesse um validador tiver, mais vezes ele poderá ser eleito líder. Atualmente, o protocolo está limitado a cem validadores, no entanto, a equipe possivelmente considerará adicionar mais validadores, se necessário. Isso garante que o sistema esteja seguro em ambientes assíncronos e ativo em ambientes fracamente síncronos. No geral, o mecanismo de consenso sacrifica um certo grau de vivacidade em prol da segurança do consenso e da finalidade instantânea.

Fazendo sentido de tudo…


Tendermint é um conceito interessante que talvez pareça mais complicado no papel do que realmente é na realidade. É basicamente EOS de interoperabilidade e tem muitas semelhanças com Ethereum e uma série de seus projetos clones. O principal objetivo do Tendermint é abordar a questão da interoperabilidade do blockchain e enfrenta forte oposição nesse mercado. Ark, ICON, Polkadot, AION e projetos semelhantes têm o mesmo objetivo em mente, então resta saber quem sairá por cima.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de Captainaltcoin]. Todos os direitos autorais pertencem ao autor original [Dobrica Blagojevic]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.

  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos 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 do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!
Créer un compte