Ouroboros é o protocolo de consenso de Cardano. Aqui, iremos explicar o que faz e como evoluiu.
Com a recente atualização BFT à rede principal Byron e o artigo Hydra publicado de fresco, provavelmente ouviste muito sobre Ouroboros: o protocolo de consenso à prova de participação inovador usado por Cardano. Desenvolvido como uma alternativa, pela eficiência energética e sustentabilidade, à prova de trabalho, na qual criptomoedas mais antigas - Bitcoin e atualmente Ethereum - utilizam, Ouroboros foi o primeiro protocolo de consenso a ser desenvolvido pela investigação baseada na revisão de pares.
Liderado pelo Aggelos Kiayias na universidade de Edimburgo, Ouroboros e as implementações subsequentes - BFT, Praos, Genesis, Hydra - fornecem uma nova linha de base para resolver alguns dos maiores desafios mundiais de forma segura e com escala.
No entanto, o reconhecimento começa com a educação e não podemos depender no que uma tecnologia consegue atingir para mostrar o como . Neste artigo apresentamos o como de Ouroboros. Examinamos os elementos tangíveis e o que cada implementação introduz para avançar a compreensão do protocolo pela comunidade e ilustrar porque é tão transformador.
Uma análise detalhada de cada implementação pode ser encontrada nos respetivos artigos abaixo. Por outro lado, para uma explicação geral de Ouroboros e das suas implementações continua a ler.
Umas palavras sobre protocolos de consenso e porque Ouroboros é diferente
É razoável assumir que alguém recém-chegado ao espaço criptográfico pode ficar confuso pelo termo ‘protocolo de consenso’. De forma simples é um sistema de leis e parâmetros que governa o comportamento dos razões distribuídos: um conjunto de regras pelas quais cada participante da rede se rege.
Blockchains públicos não são controlados por uma única entidade central. Em vez disso, o protocolo de consenso é usado para permitir aos participantes da rede distribuída a concordarem no histórico de rede captada na blockchain - para alcançar o consenso no que já acontece e continuar de uma única fonte de verdade.
Essa única fonte de verdade fornece um registo único. É por isso que blockchains são por vezes referidos como sistemas sem confiança: em vez de requerer aos participantes que confiem uns nos outros, a confiança é executada no protocolo. Atores desconhecidos pode interagir e transacionar uns com os outros sem dependerem num intermediário ou mediador ou que exista algum pré-requisito para trocar dados pessoais.
Ouroboros é um protocolo à prova de participação que é distinto de um protocolo à prova de trabalho. Em vez de depender de mineiros para resolver equações complexas com recursos computacionais para a criação de blocos - e recompensando-os para assim o fazerem - prova de participação seleciona participantes para a criação de novos blocos baseados na participação (no caso de Cardano, a quantidade de ada que controlam) que têm na rede.
Redes que utilizam Ouroboros têm muitas vezes mais eficiência energética do que a usar a prova de trabalho - e através de Ouroboros, Cardano é capaz de atingir uma eficiência energética sem paralelo. Para o mesmo nível de descentralização - por exemplo 100 agrupamentos, que excede aqueles da rede atual de Bitcoin - Cardano poderia consumir tão pouco quanto 0.01567GWh (gigawatt-horas) por ano. Por sua vez, Bitcoin necessitava de 67.000GWh por ano (de acordo com as estatísticas atuais). Isto é devido à capacidade de Ouroboros poder executar num Raspberry Pi, que tem uma potência de consomo de 15 a 18W (Watt). Em teoria isto seria mais de quatro milhões de vezes mais eficiente energeticamente. A diferença de energia entre protocolos pode ser comparado entre o consumo de uma moradia e de um pequeno país: um pode ser escalado para o mercado das massas; o outro não.
Agora, vejamos mais de perto como funciona o protocolo Ouroboros e o que cada implementação adiciona.
Ouroboros Classic
Começámos com Ouroboros: a primeira implementação do protocolo de Ouroboros, publicado em 2017. A primeira implementação (referido como Ouroboros Classic) criou as fundações para o protocolo como um rival à prova de trabalho pela eficiência energética, introduzindo um enquadramento matemático para analisar a prova de participação e introduzir um novo mecanismo de incentivo para recompensar participantes num contexto de prova de participação.
Contudo, mais do que isso, o que separa Ouroboros de outras blockchains e especificamente de protocolos à prova de participação foi a capacidade de gerar aleatoriedade sem ambiguidade no algoritmo de seleção do líder e subsequentes garantias de segurança que fornece. Aleatoriedade previne a formação de padrões e é uma das componentes críticas para manter a segurança do protocolo. Quando um comportamento é previsível, pode ser explorado - e apesar de Ouroboros assegurar a transparência também previne a coerção. De longe, Ouroboros foi o primeiro protocolo de blockchain a ser desenvolvido a ter este tipo de rigor na análise de segurança.
Como funciona Ouroboros
Uma explicação compreensiva do funcionamento de Ouroboros pode ser encontrada no artigo científico. Em suma, Ouroboros divide a blockchain em slots e épocas. Em Cardano cada slot dura 20 segundos e cada época - que é uma agregação de slots - representa aproximadamente 5 dias de slots.
Essencial à conceção de Ouroboros é o reconhecimento que ataques são inevitáveis. Como tal, inerente à conceção do protocolo está uma tolerância para prevenir contra ataques de versões alternativas da blockchain que assume que o adversário pode enviar mensagens arbitrárias a qualquer participante a qualquer momento. Na verdade, o protocolo garante a segurança desde que mais de 51% da participação é controlada por participantes honestos (isto é, aqueles que seguem o protocolo).
Um líder de slot é eleito para cada slot e é responsável por adicionar um bloco à cadeia e passar a cadeia ao próximo líder de slot. Para proteger contra tentativas adversárias de subverter o protocolo, a cada líder de slot é exigido que considerem os últimos blocos recebidos da cadeia como sendo transitórios: apenas a cadeia que precede o número predefinido de blocos transitórios é considerado como resolvido. Isto também é referido como resolução diferida. Entre outras coisas, isto significa que uma parte interessada pode ficar offline e ainda se manter sincronizado com a blockchain, desde que não seja mais do que a resolução diferida.
No protocolo Ouroboros, cada nó da rede armazena uma cópia da transação do mempool - onde as transações são adicionadas se estiverem consistentes com as transações existentes - e a blockchain. A cópia armazenada localmente da blockchain é substituída quando o nó reconhece uma alternativa, uma cadeia mais longa e válida.
O senão de Ouroboros Classic é que era suscetível a atacantes adaptativos - uma ameaça significativa num contexto de mundo real que foi resolvida com Ouroboros Praos - e não tinha nenhuma forma segura para um participante fazer o bootstrap à blockchain que foi resolvido com Ouroboros Genesis.
Ouroboros BFT
Ouroboros BFT veio a seguir. Ouroboros BFT (Tolerância de falha Bizantina) é um protocolo simples que foi usado por Cardano durante o reinício de Byron, que foi a transição do código de base antigo de Cardano para o novo. Ouroboros BFT irá ajudar a preparar a rede de Cardano para o lançamento de Shelley e com isso se torna descentralizada.
Em vez de requerer que os nós estejam sempre online, Ouroboros assume uma rede de servidores federados - a blockchain - e comunicação sincronizada entre servidores fornecendo o consenso ao razão de uma forma mais simples e determinística.
Benefícios adicionais incluem a prova de resolução instantânea, resolução de transação à velocidade da rede - significa que o que determina a velocidade das transações é a velocidade de ligação ao nó OBFT - e confirmação instantânea numa única comunicação de ida e volta. Cada um destes resultados resulta em significativas melhorias ao desempenho.
Ouroboros Praos
Ouroboros Praos foi concebido sobre - e fornece bastante segurança e melhorias em escalar - em relação a Ouroboros Classic.
Conforme com Ouroboros Classic, Ouroboros Praos processa blocos de transações pela divisão das cadeias em slots que quando agregados são épocas. Contudo, ao contrário de Ouroboros Classic, Praos é analisado numa configuração semi sincronizada e é seguro contra atacantes adaptativos.
Praos assume duas possibilidades: adversários podem atrasar mensagens de participantes honestos por mais do que um slot e que um adversário pode enviar mensagens arbitrárias a qualquer participante a qualquer altura.
Através da seleção de líder privada e o objetivo de segurança futura, assinaturas de chaves evolutivas, Praos assegura que um adversário forte não consegue prever o próximo líder de slot e lançar um ataque focado (tal como um ataque DDoS) para subverter o protocolo. Praos é capaz de tolerar atrasos de mensagens controladas pelos adversários e uma corrupção gradual de participantes individuais numa população de partes interessadas evolutiva, que é crítica para a manutenção da rede em segurança numa configuração global, desde que uma maioria de participação honesta se mantenha.
Ouroboros Genesis
Depois temos Ouroboros Genesis. Genesis melhora ainda sobre Ouroboros Praos ao adicionar uma nova regra de seleção de cadeias que permite aos participantes a fazer o bootstrap desde o bloco de génese - sem que sejam necessários significativos pontos de controlo ou pressupostos sobre a disponibilidade passada. Genesis também fornece evidência da propriedade de composição universal do protocolo, o que demonstra que o protocolo pode ser composto com outros protocolos arbitrários numa configuração real sem perder estas propriedades de segurança. Isto contribui de forma significativa para a segurança e a sustentabilidade e da própria rede que o utiliza.
Ouroboros Hydra
Por fim é Ouroboros Hydra. Hydra é uma arquitetura fora da blockchain escalável que visa três desafios de escalabilidade: elevado output de transações, reduzida latência e armazenamento mínimo por nó.
O recente lançamento do artigo de Hydra propõe e delineia a introdução de múltiplos canais de estado, que permite processamento de transações em paralelo para melhorar de forma dramática o output em transações por segundo (TPS) de Cardano e confirmação instantânea de transações. Refletindo o nome de implementação, o artigo refere-se aos razões irmãos fora da blockchain - canais de estado - como cabeças que torna o razão com várias cabeças.
Ouroboros Hydra permite a Cardano escalar de forma horizontal, aumentando o desempenho ao incorporar nós adicionais, em vez de forma vertical, através da adição de mais hardware mais potente. Simulações iniciais demonstraram que cada cabeça é capaz de processar até 1000 TPS. Com 1000 cabeças, isto poderia chegar ao 1000000TPS. Uma vez implementado, Ouroboros Hydra irá permitir Cardano escalar para níveis incomparáveis - ao nível por exemplo de sistemas globais de pagamento.
Enquanto que Hydra está a ser concebido em conjunto com o protocolo de Ouroboros e o razão de Cardano, poderá também ser empregado em vários outros sistemas, desde que partilhem as características necessárias com Cardano.
O futuro de Ouroboros
Ouroboros, assim chamado pelo símbolo de infinidade, é a espinha dorsal do ecossistema de Cardano. O protocolo serve como fundação e o ponto de preparação para sistemas se autopropagarem que ciclicamente se transformam e crescem, suplantando os sistemas existentes - financeiros e outros - e desintermediar as estruturas de poder nas quais atualmente dependemos. É o início de uma nova norma, definida não pelo centro, mas sim pelas margens.
O seu futuro é conforme o seu passado: um esforço interminável de exploração, iteração e otimização e concretização de mudanças positivas através de investigação rigorosa. Cada etapa na sua jornada - depois de Hydra vem Ouroboros Crypsinous e Ouroboros Chronos - é uma nova evolução e leva-nos mais próximos da nossa visão de um mundo mais justo, seguro e sustentável.