ūüáĶūüáĻ De Classic a Hydra: as implementa√ß√Ķes de Ouroboros explicadas

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.

1 Like