Pular para o conteúdo

Sobre Ouroboros BFT

Por volta de 4 min

Ouroboros BFT é um protocolo de consenso simples tolerante a falhas bizantinas. Nomeado após o símbolo do infinito, Ouroboros é a espinha dorsal do ecossistema Cardano. Ouroboros BFT é a versão implementada na sidechain de prova de conceito EVM do Cardano. É um protocolo simples e determinístico para consenso de ledger que tolera falhas bizantinas.

Contexto

Então, o que é uma falha bizantina? Para entender isso, precisamos voltar a 1982, para o artigo sobre o problema dos generais bizantinosopen in new window por Leslie Lamport, Robert Shostak e Marshall Pease. Imagine vários generais cercando uma cidade, incapazes de se comunicar entre si exceto por mensagens. Os generais precisam chegar a um consenso sobre se devem atacar ou recuar, mesmo que um ou mais generais sejam traidores. Essa história é fácil de entender e é usada como uma alegoria para a situação em um sistema de ledger distribuído onde os nós precisam chegar a um consenso sobre o conteúdo do ledger mesmo que um ou mais dos nós participantes estejam offline, com falhas ou sejam maliciosos. Tal nó pode criar uma falha bizantina. O problema é fácil de entender, mas difícil de resolver. É aí que o Ouroboros entra.

Descrição

Esta descrição é baseada em blogs do Professor Aggelos Kiayias e Kieran Costello.

Uma palavra sobre protocolos de consenso, e por que Ouroboros é diferente

É razoável supor que alguém novo no assunto possa ficar confuso com o termo 'protocolo de consenso'. Simplificando, um protocolo de consenso é o sistema de leis e parâmetros que governam o comportamento de ledgers distribuídos: um conjunto de regras pelo qual cada participante da rede joga.

Não existe uma única autoridade central para controlar uma blockchain pública. Em vez disso, um protocolo de consenso é usado para permitir que participantes distribuídos da rede concordem com a história da rede capturada na blockchain – para alcançar consenso sobre o que aconteceu e continuar a partir de uma única fonte de verdade.

Essa única fonte de verdade fornece um único registro. É por isso que blockchains às vezes são referidas como sem confiança. Em vez de exigir que os participantes confiem uns nos outros, a confiança é incorporada ao protocolo. Atores desconhecidos podem interagir e transacionar uns com os outros sem depender de um intermediário para mediar ou para que haja uma troca prévia de dados pessoais.

Ouroboros é um protocolo de prova de participação, distinto da prova de trabalho. Em vez de depender de 'mineradores' para resolver equações computacionalmente complexas para criar novos blocos – e recompensar o primeiro a fazer isso – a prova de participação seleciona participantes (no caso do Cardano, pools de participação) para criar novos blocos com base na participação que controlam na rede.

Redes que usam Ouroboros são muitas vezes mais eficientes em termos de energia do que aquelas que usam prova de trabalho, e, por meio do Ouroboros, o Cardano consegue alcançar uma eficiência energética sem paralelo. A diferença resultante no uso de energia pode ser analogamente comparada àquela entre uma casa e um pequeno país: uma pode ser escalada para o mercado de massa; a outra, não.

Agora, vamos dar uma olhada mais de perto em como o protocolo Ouroboros funciona.

Ouroboros Clássico

Começando com Ouroboros, a primeira implementação do protocolo Ouroboros, publicada em 2017. Esta primeira implementação (referida como Ouroboros Clássico) estabeleceu as fundações para o protocolo como um rival eficiente em termos de energia para a prova de trabalho. Ele introduziu a estrutura matemática para analisar a prova de participação e um mecanismo de incentivo inovador para recompensar os participantes em um cenário de prova de participação.

Mais do que isso, no entanto, o que separou Ouroboros de outros protocolos de blockchain e, especificamente, protocolos de prova de participação, foi sua capacidade de gerar aleatoriedade imparcial no algoritmo de seleção de líderes do protocolo e as subsequentes garantias de segurança que isso proporcionou. A aleatoriedade impede a formação de padrões e é uma parte crítica da manutenção da segurança do protocolo. Sempre que um adversário pode prever um comportamento, ele pode explorá-lo – e embora Ouroboros garanta transparência, ele previne coerção. Significativamente, Ouroboros foi o primeiro protocolo de blockchain a ser desenvolvido com esse tipo de análise de segurança rigorosa.

Como Ouroboros funciona

O artigo de pesquisaopen in new window sobre Ouroboros oferece uma explicação abrangente de como ele funciona. Para resumir, Ouroboros divide a blockchain em slots e épocas. No Cardano, cada slot dura 20 segundos e cada época representa aproximadamente cinco dias de slots.

Central para o design do Ouroboros é o reconhecimento de que ataques são inevitáveis. Como tal, o protocolo tem tolerância incorporada para evitar que atacantes propaguem versões alternativas da blockchain e assume que um adversário pode enviar mensagens arbitrárias para qualquer participante a qualquer momento. De fato, o protocolo é garantido como seguro desde que mais de 51% da participação seja controlada por participantes honestos (ou seja, aqueles que seguem o protocolo).

Um líder de slot é eleito para cada slot, responsável por adicionar um bloco à cadeia e passá-lo para o próximo líder de slot. Para proteger contra tentativas adversárias de subverter o protocolo, cada novo líder de slot é obrigado a considerar os últimos blocos da cadeia recebida como transitórios: apenas a cadeia que precede o número pré-especificado de blocos transitórios é considerada resolvida. Este número define o atraso de liquidação. Entre outras coisas, isso significa que um participante pode ficar offline e ainda estar sincronizado com a blockchain, desde que não seja por mais do que o atraso de liquidação.

Dentro do protocolo Ouroboros, cada nó da rede armazena uma cópia do mempool de transações – onde transações são adicionadas se forem consistentes com transações existentes – e da blockchain. A blockchain armazenada localmente é substituída quando o nó toma conhecimento de uma alternativa, cadeia válida mais longa.

Ouroboros BFT

Ouroboros BFT é um protocolo simples usado pelo Cardano durante o reboot de Byron, que foi a transição do antigo código-base do Cardano para o novo. Ouroboros BFT ajudou a preparar a rede do Cardano para o lançamento de Shelley e, com isso, sua descentralização. Esta é a versão do Ouroboros que é implementada na sidechain EVM do Cardano.

Em vez de exigir que os nós estejam online o tempo todo, Ouroboros BFT assume uma rede federada de servidores – a blockchain – e comunicação síncrona entre os servidores, fornecendo consenso de ledger de uma maneira mais simples e determinística.

Benefícios adicionais incluem prova instantânea de liquidação, liquidação de transações na velocidade da rede – o que significa que o determinante para transações é a velocidade da sua conexão de rede com um nó OBFT – e confirmação instantânea em uma única viagem de comunicação. Cada um desses resultados em melhorias significativas de desempenho.

Última atualização:
Contribuidores: cauechianca