ūüáßūüá∑ O caminho de descentraliza√ß√£o de Ouroboros

O protocolo que alimenta Cardano e sua filosofia de design

(Publicado originalmente por Aggelos Kiayas em 23/06/2020, traduzido por Joselmo Cabral)

Projetar e implantar um ledger distribu√≠do √© uma tarefa tecnicamente desafiadora. O que se espera de um ledger √© a promessa de uma vis√£o consistente para todos os participantes, bem como uma garantia de resposta ao fluxo cont√≠nuo de eventos que resultam de suas a√ß√Ķes. Essas duas propriedades, √†s vezes chamadas de persist√™ncia e vivacidade , s√£o a marca registrada dos sistemas de contabilidade distribu√≠dos.

Conseguir persist√™ncia e vivacidade em um sistema centralizado √© uma tarefa bem estudada e bastante direta; infelizmente, o ledger que surge √© precariamente quebradi√ßo porque o servidor que suporta o ledger se torna um ponto √ļnico de falha. Como resultado, invadir o servidor pode levar √† viola√ß√£o instant√Ęnea de ambas as propriedades. Mesmo que o servidor n√£o seja invadido, os interesses dos operadores do servidor podem n√£o estar alinhados com a garantia cont√≠nua dessas propriedades. Por esse motivo, a descentraliza√ß√£o foi proposta como rem√©dio essencial.

Informalmente, descentraliza√ß√£o refere-se a uma arquitetura de sistema que exige que muitas entidades ajam individualmente de tal maneira que as propriedades do ledger surjam da converg√™ncia de suas a√ß√Ķes. Em troca desse aumento de complexidade, um sistema bem projetado pode continuar funcionando mesmo que algumas partes se desviem da opera√ß√£o adequada. Al√©m disso, no caso de desvios mais significativos, mesmo que alguma interrup√ß√£o seja inevit√°vel, o sistema ainda deve ser capaz de retornar √† opera√ß√£o normal e conter os danos.

Como projetar um sistema descentralizado robusto? O mundo √© um lugar complicado e a descentraliza√ß√£o n√£o √© uma caracter√≠stica que pode ser codificada ou demonstrada por meio de testes ‚Äď as configura√ß√Ķes potenciais que podem surgir s√£o infinitas. Para combater isso, √© preciso desenvolver modelos que abranjam sistematicamente todas as amea√ßas diferentes que o sistema possa encontrar e demonstrar rigorosamente que as duas propriedades b√°sicas de persist√™ncia e vivacidade s√£o mantidas.

Os argumentos mais fortes para a confiabilidade de um sistema descentralizado combinam garantias formais contra um amplo portf√≥lio de diferentes classes de modelos de falha e ataque. A primeira classe importante √© a dos poderosos modelos bizantinos. Nesse cen√°rio, deve-se garantir que, mesmo que um subconjunto de participantes se desvie arbitrariamente das regras, as duas propriedades fundamentais sejam mantidas. A segunda classe importante s√£o os modelos de racionalidade. Aqui, sup√Ķe-se que os participantes sejam maximizadores racionais da utilidade e o objetivo √© mostrar que as propriedades do ledger surgem de seus esfor√ßos para buscar o interesse pr√≥prio.

Ouroboros √© um protocolo de ledger descentralizado que √© analisado no contexto do comportamento bizantino e racional. O que torna o protocolo √ļnico √© a combina√ß√£o dos seguintes elementos de design.

  • Ele usa o stake como recurso fundamental para identificar a alavancagem dos participantes no sistema. Nenhum recurso f√≠sico √© desperdi√ßado no processo de manuten√ß√£o do ledger, que se mostra robusto, apesar dos ataques de ‚Äėsimula√ß√£o sem custo‚Äô e de ‚Äėnada em jogo‚Äô que antes se pensava serem barreiras fundamentais aos registros baseados em stake. Isso torna Ouroboros claramente mais atraente do que os protocolos de proof-of-work, que exigem um gasto energ√©tico prodigioso para manter o consenso.

  • √Č comprovadamente resistente, mesmo que subgrupos arbitrariamente grandes de participantes, em termos de participa√ß√£o, se abstenham da manuten√ß√£o do ledger. Essa garantia de disponibilidade din√Ęmica garante vivacidade, mesmo sob n√≠veis arbitr√°rios e imprevis√≠veis de envolvimento. Ao mesmo tempo, dos participantes ativos, quase mais da metade precisa seguir o protocolo ‚Äď o restante pode se desviar arbitrariamente; de fato, mesmo picos tempor√°rios acima do limite de 50% podem ser tolerados. Assim, Ouroboros √© nitidamente mais resiliente e adapt√°vel do que os protocolos de toler√Ęncia a falhas bizantinos cl√°ssicos (bem como todas as suas adapta√ß√Ķes modernas), que precisam prever com relativa seguran√ßa o n√≠vel de participa√ß√£o esperada e podem parar de operar quando a previs√£o √© falsa.

  • O processo de ingresso e participa√ß√£o na execu√ß√£o do protocolo √© confi√°vel no sentido de que n√£o requer a disponibilidade de nenhum recurso compartilhado especial, como um ponto de verifica√ß√£o recente ou um rel√≥gio comum. O envolvimento no protocolo requer apenas o bloco de g√™nese p√ļblico da cadeia e o acesso √† rede. Isso torna o Ouroboros livre das suposi√ß√Ķes de confian√ßa comuns em outros protocolos de consenso cuja seguran√ßa cai quando os recursos compartilhados confi√°veis ‚Äč‚Äčest√£o subvertidos ou indispon√≠veis.

  • Ouroboros incorpora um mecanismo de compartilhamento de recompensa para incentivar os participantes a se organizarem em n√≥s operacionais, conhecidos como stake pools, que podem oferecer uma boa qualidade de servi√ßo independentemente de como o stake √© distribu√≠do entre a popula√ß√£o de usu√°rios. Dessa forma, todas as partes interessadas contribuem para a opera√ß√£o do sistema ‚Äď garantindo robustez e representa√ß√£o democr√°tica ‚Äď enquanto o custo da manuten√ß√£o do ledger √© distribu√≠do de forma eficiente na popula√ß√£o de usu√°rios. Ao mesmo tempo, o mecanismo vem com contramedidas que desestimulam a centraliza√ß√£o. Isso torna Ouroboros fundamentalmente mais inclusivo e descentralizado em compara√ß√£o com outros protocolos que acabam com apenas alguns atores respons√°veis ‚Äč‚Äčpela manuten√ß√£o do ledger ou n√£o fornecem incentivos para que as partes interessadas participem e ofere√ßam uma boa qualidade de servi√ßo.

Esses elementos de design do Ouroboros n√£o devem ser apelos evidentes ao senso comum do usu√°rio do protocolo. Em vez disso, eles foram entregues com documenta√ß√£o meticulosa em documentos submetidos √† revis√£o por pares e apareceram em confer√™ncias e publica√ß√Ķes de primeira linha na √°rea de seguran√ßa cibern√©tica e criptografia. De fato, √© justo dizer que nenhum outro esfor√ßo de pesquisa de consenso √© representado de maneira t√£o abrangente nesses c√≠rculos. Cada artigo √© expl√≠cito sobre o tipo espec√≠fico de modelo usado para analisar o protocolo e os resultados obtidos s√£o apresentados em termos concretos. Os documentos s√£o de acesso aberto, sem patentes e incluem todos os detalhes t√©cnicos para permitir que qualquer pessoa, com os conhecimentos t√©cnicos relevantes, se conven√ßa da veracidade das alega√ß√Ķes feitas sobre desempenho, seguran√ßa e funcionalidade.

Construir uma infraestrutura inclusiva, justa e resiliente para aplicativos financeiros e sociais em escala global √© o grande desafio da tecnologia da informa√ß√£o atualmente. Ouroboros contribui n√£o apenas como um protocolo com caracter√≠sticas √ļnicas, mas tamb√©m na apresenta√ß√£o de uma metodologia de design que destaca os primeiros princ√≠pios, modelagem cuidadosa e an√°lise rigorosa. Sua arquitetura modular e adapt√°vel tamb√©m se presta √† melhoria cont√≠nua, adapta√ß√£o e enriquecimento com elementos adicionais (como paralelismo para melhorar a escalabilidade ou provas de zero conhecimento para melhorar a privacidade, para citar dois exemplos), o que √© uma caracter√≠stica adequada para atender √†s necessidades e complexidades em evolu√ß√£o do mundo real.

Leitura adicional

Para se aprofundar no protocolo Ouroboros, desde o início até os novos recursos recentes, siga estes links:

Ouroboros (Classic): o primeiro protocolo blockchain comprovadamente seguro de proof-of-stake.

Ouroboros Praos: elimina a necessidade de uma estrutura redonda r√≠gida e melhora a resili√™ncia contra atacantes ‚Äúadaptativos‚ÄĚ.

Ouroboros Genesis: como evitar a necessidade de um ponto de verifica√ß√£o recente e provar que o protocolo √© seguro sob disponibilidade din√Ęmica para ingresso e participa√ß√£o sem confian√ßa.

Ouroboros Chronos: elimina a necessidade de um relógio comum.

Esquemas de compartilhamento de recompensa para stakepools.

Gerenciamento de contas e maximização da participação em stakepools.

Otimizando o rendimento da transação com protocolos de proof-of-stake.

Liquidação rápida usando combinadores de ledger.

Ouroboros Crypsinous: um protocolo de proof-of-stake que preserva a privacidade.

Kachina: um modelo de segurança unificado para contratos inteligentes privados.

Hydra: uma arquitetura de escalabilidade fora da cadeia para alto rendimento de transa√ß√Ķes com baixa lat√™ncia e armazenamento m√≠nimo por n√≥.

1 Like