🇧🇷 Resumo: Ouroboros Genesis - tradução Pt-br e adaptações por @BrunoSS8

IOHK publicou recentemente seu último artigo de pesquisa, Ouroboros Genesis. Você pode ler o anúncio aqui.

Para todos os detalhes sobre o design do protocolo, o Ouroboros Genesis e as explicações sobre a execução do protocolo, recomendo assistir ao vídeo completo. O trabalho de pesquisa também está disponível ao público e você pode lê-lo aqui.

Abaixo, fiz o meu melhor para fornecer um resumo do vídeo de apresentação do professor Aggelos, abordando principalmente apenas tópicos introdutórios, como as origens do protocolo e sua evolução em Gênesis.

Conceito de razão de transações robustas

Começa com o conceito de contabilidade de transações robustas, que é o problema que resolve o Bitcoin. A definição formal de “Robust Transaction Ledger” pode ser encontrada neste documento. O documento do link propõe definir um modelo e uma meta que um protocolo de registro deve atender. A partir desse ponto, foram criados muitos outros artigos que examinaram outros aspectos, como a definição de propriedade, sincronia parcial e definições de composição.

O que é preciso para fazer contabilidade

A realização do razão pode ser obtida no Bitcoin, já que o protocolo deles foi a inspiração para a definição do próximo. Apesar dessa característica extraordinária do protocolo em fornecer (consenso), existem desvantagens significativas de escalabilidade e eficiência energética, levando à pergunta: é possível implementá-lo de forma mais eficiente sem comprometer suas premissas básicas? E então nos levando à Prova de Participação (PoS)? Esta foi uma alternativa discutida no ecossistema Bitcoin para substituir a Prova de Trabalho (PoW). (Nota: Vou me referir à Prova de Estaca como POS posteriormente, também usando o POW para Prova de trabalho.)

Uma pequena história sobre PoW

Se você observar como o protocolo blockchain do Bitcoin funciona, é semelhante a uma eleição. A próxima entidade que produzirá o bloco e será adicionada à blockchain será eleita. A eleição, em certo sentido, é baseada na probabilidade proporcional ao poder de hash da pessoa. Mais poder de hash, mais chances de ser eleito.

Aqui, o professor Aggelos observa que “conflitos” podem ocorrer. Isso acontece em um sistema descentralizado que não tem correlação entre as partes que executam o protocolo, com o mesmo projetado para absorver esses conflitos (ou desacordos momentâneos entre as partes). Modificar isso produz PoS.

Fundo PoS

O PoS usa piquetagem ou um “recurso virtual” em vez de poder de hash (um poder físico). Esse é o núcleo da idéia de PoS. Além disso, os mineiros são substituídos por aqueles que têm “participação” e são relatados no razão. Uma vez conseguido, precisamos de um processo aleatório capaz de emular a mesma idéia eleitoral que vem naturalmente do ecossistema de PoW. Essa idéia se mostrou poderosa e motivadora para as pessoas, tanto que propôs uma série de protocolos para a implementação do próprio conceito de PoS.

Abordagens para PoS

Atualmente, existem 2 abordagens principais. Ambos são classificados como PoS porque a participação é baseada na aposta de alguém.

  1. Blockchain PoS → basicamente funciona da mesma maneira que o blockchain Bitcoin, mas usar o PoS de uma maneira que não comprometa nenhum dos recursos fornecidos pelo protocolo PoW.
  2. Alguns exemplos incluem: Ouroboros, Branca de Neve, NXT e outros.
  3. A outra abordagem é PoS BFT (tolerância a falhas bizantina) → essa abordagem pode ser atualizada para que funcione na configuração PoS
  4. Um exemplo é: Algoran

“Folclore Bitcoin”

O PoS não foi criado sem problemas. A dúvida folclórica era que era impossível trabalhar com blockchains PoS. As principais dúvidas levantadas foram:

• Simulação sem custo

Isso sugere que, na ausência de PoW, o PoS se torna evidência de um recurso virtual. Não há nada que impeça você de executá-lo continuamente, em paralelo e várias vezes. A diferença fundamental entre PoW e PoS é o fato de que, no caso PoW, todas as partes devem se comprometer com a execução de um protocolo e avançar nesse projeto usando seu algoritmo PoW. Este não é o caso do PoS, porque a execução do protocolo em si é “quase” gratuita. Em princípio, praticamente não há nada em jogo e várias execuções do protocolo podem ser produzidas para que a mais favorável possa ser encontrada. Isso pode levar a …

• Ataques de longo alcance

Em ataques de longo alcance, há um nó vítima que tenta distinguir entre dois históricos alternativos sem ter acesso a informações recentes. Se você está constantemente on-line, conhece bem o que é comunicado na rede. Mas imagine ingressar na rede após um grande intervalo (hiato) ou ser um novo nó, enfrentando um problema de inicialização. Como alguém pode sincronizar com esse blockchain sem ter informações recentes?

Progressão de Gênesis

Um novo grupo está tentando encontrar “qual é o histórico certo”, mas não possui informações sobre o protocolo. Existem partes honestas que fornecem um blockchain e um “oponente” que fornece outro. A única informação que o novo grupo possui é o bloqueio da gênese e, diante dessa decisão, deve escolher a blockchain correta. No mundo do PoW, o que pode acontecer é que a cadeia principal (gerenciada por partes honestas) terá mais bloqueios. Isso significa que a cadeia adversária será substancialmente mais curta e permitirá que a nova parte se conecte à blockchain correta. Essa é uma idéia eficaz, mas baseia-se no pressuposto de que a maioria é composta de partes honestas que seguem o protocolo, e não de antagonistas.

Disponibilidade dinâmica

O modelo a seguir é usado para entender como os blocos funcionam e como os protocolos operam, e o que o professor Aggelos e sua equipe de pesquisa chamaram de Disponibilidade Dinâmica. Esta é a configuração na qual analisaremos o protocolo blockchain que sugere um ambiente:

• onde as partes podem participar e sair à vontade
• o número de peças online e offline será alterado dinamicamente ao longo do tempo (eles podem perder a sincronização do relógio ou a conexão de rede)
• não haverá competência a priori em nenhum momento.

Esta é a razão da nova versão, Ouroboros Genesis, baseada em Ouroboros Praos. A nova versão do protocolo está abordando o problema da disponibilidade dinâmica. A intenção é ver se é possível produzir uma blockchain PoS capaz de operar nativamente com a mesma configuração que o Bitcoin. A principal novidade é que eles criaram uma nova regra de seleção de cadeias que permite que as peças progridam a partir do Gênesis.

Vamos dar um passo atrás para entender Ouroboros

Ouroboros foi projetado em conjunto com um teste formal que atesta sua capacidade efetiva de criar a funcionalidade de um livro contábil sólido. A estratégia de teste envolve as propriedades das estruturas de dados subjacentes da blockchain: elas também são propriedades compartilhadas com a análise PoW do Bitcoin. Prefixo comum, qualidade da cadeia, crescimento da própria cadeia são as propriedades fundamentais que o trabalho anterior identificou como blocos de construção importantes para a segurança dos protocolos blockchain.

Portanto, a questão é … podemos aplicar essa lógica à configuração de PoS?

O que Ouroboros fez é mostrar que o problema de um candidato que reutiliza a oportunidade de emitir um bloco em vários caminhos de um fork (devido à simulação sem custos) pode ser superado.

Existem três quantidades significativas que são importantes ao estudar a execução de um protocolo como este. Cada caminho que você verá na execução terá estas 3 quantidades:

  1. Gap = é identificado pela observação de um determinado caminho na execução e, em seguida, comparando-o com o que está longe do principal.

  2. Reservar = Olhe para um determinado caminho e identifique quantos slots ainda têm controle total do concorrente, um fator que isso pode ser usado para avançar nesse caminho.

  3. Alcance = Subtraia a lacuna da reserva para ver qual é o escopo desse caminho. Exemplo: o intervalo de -1 é muito curto (de 1) para vencer no prato principal. Se você se encontra nessa situação e é um nó honesto, usando a regra da cadeia mais longa, não será enganado pelo outro candidato.
    Então, no final, olhando para toda a execução. Vamos examinar 2 conceitos:

  4. Alcance: capacidade máxima de alcance em todos os momentos

  5. Margem: qual é o segundo melhor alcance separado
    Ao analisar tudo isso, geralmente espera-se que a margem seja sempre menor que zero. Essa configuração significa que o pretendente não pode enganar uma parte honesta que está tentando se conectar à execução do protocolo.

Portanto, alcance e margem são as duas qualidades fundamentais que se tornam interessantes ao analisar as execuções de protocolo. A equipe de pesquisadores agora pode provar que o pretendente vencerá se e somente se a margem for pelo menos 0. O interessante é que essas duas quantidades juntas definem uma caminhada aleatória. Mesmo aqueles que têm uma caminhada aleatória analisada mais complexa que a do Bitcoin, ainda têm bons recursos que podem ser usados ​​para demonstrar segurança.

Voltando à pergunta original

Quando você tem 2 cadeias, que têm um fork em algum momento, e você precisa escolher a blockchain correta, se o fork for de alguma forma recente, seja para um ataque de curto alcance ou para um desacordo entre nós produzidos naturalmente em devido às condições da rede, a regra da cadeia mais longa será aplicada. Mas se o garfo for maior que k blocos, a regra a seguir se aplicará (Regra da plenitude) -> Vá para o momento em que a cadeia diverge e, logo em seguida, isole uma determinada região de blocos. Dentro de um certo período de tempo, observe qual das duas cadeias é mais densa. A parte em questão seguirá a cadeia que é mais densa nesse intervalo de tempo. Essa regra ainda é bastante simples de implementar, o que significa que é bastante fácil programar e trabalhar para melhorar a regra mais longa da cadeia.

Intuição para a Regra da Plenitude e o que foi demonstrado no protocolo.

Se a maioria das partes seguir o protocolo, em qualquer segmento de tempo suficientemente longo, a cadeia correspondente será mais densa (especialmente após um garfo). Foi possível demonstrar que cadeias de blocos contraditórias logo após o ponto de divergência mostrarão uma distribuição menos densa de blocos. Use esta regra para determinar qual é o blockchain certo para se conectar.

Foi a primeira vez que esses pesquisadores puderam dizer que o blockchain PoS é capaz de operar com a mesma configuração de disponibilidade dinâmica na qual sabemos que as blockchains baseadas em PoW Bitcoin operam.

Mais por vir na pesquisa Ouroboros

• estrutura de incentivos, delegação, grupos de estaca do protocolo
• sidechains, atualizações de software e sustentabilidade do ecossistema
• smart contracts e linguagem específica de domínio
• Versão permitida do blockchain Ouroboros
• olhando para como os blockchains do POS fragmentam e podem ser escalonáveis

Mais sobre a pesquisa Ouroboros

• estrutura de incentivos, delegação, grupos de apostas do protocolo
• sidechains, atualizações de software e sustentabilidade do ecossistema
• smart contracts e linguagem específica de domínio
• versão licenciada da blockchain Ouroboros
• olhando como as blockchains PoS se fragmentam e podem ser escalonáveis

Aqui está um vídeo, se você estiver interessado em aprender sobre a Prova de Estaca Ouroboros:

1 Like

Otimo trabalho @BrunoSS8

1 Like

Obrigada por contribuir com a comunidade brasileira