Do Classic ao Hydra: as implementações do Ouroboros

Tradução da fonte: From Classic To Hydra: The implementations of Ouroboros explained.

De IOHK - Input Output, 23 de Março de 2020.

ouroboros

Com a recente atualização da BTF (Tolerância de Falhas Bizantinas) na Mainnet da Byron e o artigo recém-publicado da mesma, você provavelmente já deve ter ouvido muito falar sobre o Ouroboros: o protocolo Proof-of-Stake (método para assegurar que participantes de alguma cryptomoeda não poderão cunhar os coins que não receberam/compraram) usado pela Cardano. Desenvolvido como uma alternativa mais eficiente e sustentável energeticamente do que o Proof-of-Work (método utilizado para a prevenção de ataques cibernéticos como DDoS e Spam que utiliza funções Hash1), no qual as cryptomoedas anteriores foram construidas (Bitcoin e, atualmente, Ethereum). o Ouroboros foi o primeiro protocolo Consensus a ser desenvolvido através de pesquisas arbritradas.

O protocolo Ouroboros e as suas implementações subsequentes: BFT, Praos, Genesis, Hydra, lideradas pelo Aggelos Kiayias na Universidade de Edinburgo, proverão um novo ponto de referência para resolver alguns dos problemas mais complicados do mundo com segurança e em grande escala.

Porém, o reconhecimento começa com a educação e nós não podemos nos basear “no que” uma tecnologia atingiu para transmitir o “como”. Neste artigo nós apresentamos um panorama do “como ” do Ouroboros. Nós examinaremos as tangentes e cobriremos o que cada implementação introduz para ampliar o entendimento do protocolo por parte da comunidade e ilustrar o porquê de isso ser um divisor de águas nas cryptomoedas. Uma análise de cada implementação será encontrada nos comentários juntamente à seus links para a leitura. Entretanto, caso deseje uma leitura e explicação resumidas do protocolo Ouroboros e das suas implementações, continue lendo o texto.

  • Ouroboros Classic
  • Ouroboros BFT
  • Ouroboros Genesis
  • Ouroboros Praos
  • Ouroboros Hydra

Uma breve explicação dos protocolos Consensus e porque o Ouroboros é diferente

É aceitável presumir que qualquer pessoa que “caiu de cabeça” no assunto esteja confusa pelo termo “Protocolo Consensus”. Para simplificar, um Protocolo Consensus é um Sistema de leis e parâmetros que governam o comportamento de livros-razão distribuidos: um conjunto de regras através das quais cada participante da rede trabalha.

As Blockchains públicas não são controladas por nenhuma entidade específica. Ao invés disso, um Protocolo Consensus é usado para permitir que os participantes das redes distribuidas concordem com o histórico da rede presa na Blockchain, chegando assim a um consenso do que aconteceu e, a partir daí, continuarem de uma única fonte de veracidade.

A única fonte de veracidade provê um único registro disso. É por conta disso que as Blockchains ainda são chamadas de “inconfiáveis” de vez em quando: ao invés de exigir que os participantes confiem uns nos outros, a confiança é construida para com o protocolo. Operadores desconhecidos poderão interagir e transacionar uns com os outros sem que dependam de algum mediador, ou de algum pré-requisito para que haja a troca de dados pessoais.

O Ouroboros é um protocolo Prof-of-Stake, que é diferente de Proof-of-Work. O sistema Proof-of-Work depende dos “mineradores” para que as equações computavelmente complexas sejam resolvidas, assim criando novos blocos. Além disso, este sistema recompensa apenas o primeiro “minerador” a fazer isto. Já no Proof-of-Stake, o sistema seleciona os participantes que, no caso da Cardano são as Stake Pools, para que criem novos blocos baseados no Stake que eles controlam na rede.

As redes que usam o Ouroboros são mil vezes mais eficientes energeticamente que aquelas que usam o sistema Proof-of-Work e a Cardano é capaz de atingir uma eficiência energética inigualável através do Ouroboros. De acordo com algumas estatísticas atuais, a Cardano pode consumir até 0.01567GWh por ano (Gigawatt-hora), já o Bitcoin requer 67.000GWh por ano. Detalhe, estes dados foram oferecidos com a consideração de que ambas as cryptomoedas estivessem no mesmo nível de descentralização(suponhamos que seja de 100 Pools, uma quantidade que, em verdade, excede a rede atual do Bitcoin). Isso é baseado na capacidade do Ouroboros de rodar em um Raspberry Pi (Full Node), que tem um consumo de energia de 15 a 18W (Watts) ao total. Teoricamente, isso se equaliza a mais de quatro milhões de vezes mais do que a eficiência energética dele. A diferença de energia pode ser comparada como uma situação entre uma casa simples e um pequeno país: um pode ser escalado para o mercado de massa, o outro não.

Bom, vamos nos aprofundar um pouquinho em como o protocolo Ouroboros funciona e o que cada nova implementação agregará.

Ouroboros Classic

Começaremos com o Ouroboros: a primeira implementação do protocolo Ouroboros foi em 2017. Esta implementação, aqui chamada de Ouroboros Classic, estabeleceu os fundamentos do protocolo como um rival energéticamente eficiente ao Proof-of-work, introduziu o contexto matemático para que as análises do Proof-of-Stake pudessem ser feitas e introduziu um mecanismo inédito de recompensas para participantes que realizassem o Proof-of-Stake

Entretanto, além disso, o que separou o Ouroboros das outras Blockchains e, mais especificamente dos protocolos Proof-of-Stake, foi a sua habilidade de gerar a aleatoriedade completamente imparcial no algorítmo de seleção de líderes do protocolo e as garantias de segurança subsequentes que ele provê. A aleatoriedade previne a formação de padrões e é um ponto crítico no que diz respeito ao mantimento da segurança do protocolo. Quando algum comportamento tem a possibilidade de ser previsto, consequentemente pode ser aproveitado e, apesar do Ouroboros garantir a transparência para com os seus participantes, este novo protocolo previne a coerção. O protocolo Ouroboros foi o primeiro protocolo de Blockchains a ser desenvolvido com esse tipo de análise de segurança extremamente rigorosa.

Como o Ouroboros funciona?

Para resumir, o Ouroboros divide a Blockchain em Épocas e Slots. Na Cardano, cada Slot dura por 20 segundos e cada Época (uma acumulação de Slots) representa aproximadamente 5 dias de períodos de Slots totais.

No centro do design do Ouroboros estão a noção e o reconhecimento de que os ataques serão inevitáveis de acontecer. Sendo assim, o protocolo tem uma tolerância programada internamente para previnir que os ataques propaguem versões alternativas da Blockchain e assume que algum dos adversários (da Chain em um geral) poderá enviar mensagens arbitrárias para quaisquer dos participantes oficias a qualquer momento. Na verdade, o protocolo é garantido ser seguro (por parte da Cardano) contanto que mais de 51% dos stakes estejam sendo controlados por participantes honestos, isto é, aqueles que seguirem o protocolo!

Um Slot “líder” é selecionado para cada Slot, sendo assim responsável por adicionar um bloco na Chain e passá-lo para o próximo “líder”. Para proteger os blocos das tentativas de subversão ao protocolo realizadas pelos adversários da Chain, cada “líder” considerará os últimos blocos da Chain recebida como transitórios, ou seja, apenas na Chain precedente o bloco será classificado como liquidado. Isso também é chamado de Delay de Liquidação. Isso significa que o Stakeholder poderá ficar offline e continuará sincronizado à Blockchain, contanto que não seja por um tempo posterior ao dia de liquidação do bloco.

Dentro do protocolo Ouroboros, cada Nó guarda uma cópia da “área de espera” da transação (um lugar onde as transações são colocadas se forem consistentes com outras transações existentes - Mempool) e a Blockchain. A Blockchain que está guardada será substituida quando o Nó perceber uma Chain válida mais longa como alternativa.

A desvantagem do Ouroboros Classic era que ele era muito sucetível a ataques adaptados, sendo estes uma grande ameaça para um cenário de transações reais que foi resolvido com o Ouroboro Praos, e porque não havia alguma maneira segura de um novo usuário iniciar a partir da Blockchain, algo que foi resolvido no Ouroboros Genesis.

Ouroboros BFT (Byzantine Fault Tolerance)

O Ouroboros BFT veio logo em seguida. É um protocolo simples que foi usado pela Cardano durante a reinicialização Byron, que foi a transição da antiga base de códigos da Cardano para a nova base. Este protocolo ajudou a preparar a rede da Cardano para o lançamento da era-Shelley e com ela a descentralização da cryptomoeda.

Ao invés de exigir que os Nós permaneçam ligados o tempo inteiro, o Ouroboros BFT assume uma rede federada de servidores (Blockchain) e uma comunicação sincronizada entre eles, o que provia um livro-razão Consensus de uma maneira mais simples e determinista.

Os benefícios adicionais incluem: prova de liquidez instantânea, liquidez da transação na velocidade da rede, o que significa que o ponto determinante para a velocidade das suas transações é a velocidade da sua conexão à rede de um Nó do protocolo, e a confirmação instantânea, tudo isso em uma única comunicação de ida e volta. Cada um destes pontos resultam em melhorias de performance.

Ouroboros Praos

O Ouroboros Praos se estrutura no Ouroboros Classic e também provê uma seguridade e uma expansão à ele.

Assim como o Ouroboros Classic, o Ouroboros Praos processa os blocos de transação ao dividir as Chains em Slots, que são agregados em Épocas. Porém, do contrário do Classic, o Praos é analizado em uma configuração semi-sincronizada contra ataques adaptativos.

Ele prevê duas possibilidades: a primeira de que os adversários podem atrasar as mensagens de avisos dos participantes e a segunda de que um adversário pode enviar mensagens arbitrárias para outros participantes a qualquer segundo.

Ao fornecer seleções para “líderes” privadas e assinaturas-chave extremamente seguras, o protocolo Praos assegura que um forte adversário não pode prever o proximo Slot “líder” e lançar um ataque focado para subverter o protocolo (assim como um ataque DDoS), ele também é capaz de evitar atrasos na entrega de mensagens causados por adversários e uma corrupção gradual dos participantes em uma população Stakeholder em desenvolvimento, o que é algo crítico para manter a segurança da rede em um ambiente global, visto que a maioria dos Stakes honestos serão mantidos.

Ouroboros Genesis

E então temos o Ouroboros Genesis. Ele aprimora o Ouroboros Praos ao adicionar uma regra de seleção de Chains inédita, o que permite os participantes a inicializar de um bloco “Gênesis” sem que haja a necessidade de uma espécie de “ponto de controle” transacional, ou suposições de disponibilidades prévias. O Genesis também provê um comprovante da Modularidade Universal do protocolo, o que demonstra que ele epode ser composto com outros protocolos em um ambiente real em configurações arbitrárias sem que perca as suas propriedades de segurança. Isso contribui significativamente para a sua segurança e viabilidade, assim como as das redes que o usufruem.

Ouroboros Hydra

Por fim temos o Ouroboros Hydra. O Hydra é uma estrutura de expansão Off-chain que nomeia três desafios-chave de expansão: Output de grandes transações; baixas latências e mínimo armazenamento por Nó.

O artigo recém-lançado do protocolo Hydra propõe e salienta a introdução de canais fora da Chain multilaterais, o que oferece o processamento paralelo de transações para melhorar drasticamente o Output de transações-por-segundo da Cardano (TPS) e confirmação instantânea das transações. Ao refletir seu próprio nome de implantação, o artigo se refere aos irmãos do livro-razão Off-chain, os canais Off-chain, como “cabeças”, o que faz o livro-razão ser multifacetado.

O Ouroboros Hydra permite a Cardano a nivelar horizontalmente, assim aumentando a performance ao incorporar novos nós, ao invés de verticalmente, através da adição de peças de hardware mais poderosas e eficientes. Simulações prévias mostram que cada “faceta” pode performer com uma capacidade de até 1.000 TPS. Utilizando 1.000 “facetas”, o total poderia chegar a 1.000.000 TPS. Uma vez implementado, o protocolo Hydra permitirá a Cardano nivelar-se a níveis nunca vistos, ao nível de, por exemplo, talvez, sistemas de pagamentos globais.

Enquanto o Hydra está sendo construido em conjunto com o protocolo Ouroboros e o livro-razão da Cardano, ele também poderá ser implementado sobre outros sistema, visto que compartilhem das mesmas características necessárias da Cardano.

O futuro do Ouroboros

Ouroboros, assim nomeado por homenagem ao símbolo do infinito, é a estrutura de todo o ecossistema Cardano. O protocolo serve como uma fundação e prepare para sistemas auto-propagáveis que se transformam e crescem ciclicamente, suplementando outros sistemas já existentes, sendo estes financeiros ou não, e serve como uma desintermediação das grandes e poderosas estruturas nas quais eles se apoiam. Isso é apenas o começo de um novo padrão definido não pelo centro, mas pelas margens, pela periferia.

O seu futuro é exatamente como o seu passado: uma tentativa incessante para explorar, otimizar, interagir e comandar uma mudança muito positiva no mundo através de muita pesquisa. Após o Hydra vêm o Ouroboros Crypsinous e o Ouroboros Chronos. Cada passo em sua jornada é uma nova evolução e nos leva cada vez mais perto de um mundo mais sustentável, seguro e justo. Isto é Cardano.

Hash1: Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo.

6 Likes

Que trabalho bacana. Aprendo muito com vc

1 Like

É um conteúdo bacana, né?!

1 Like