Olá Habr! Apresento a você a tradução do artigo
"Descentralização: O Grande Problema Para Blockchain".
Descentralização é uma das palavras-chave da tecnologia blockchain: surgiram empresas e sites que incluem essa palavra em seu nome.
A descentralização foi apontada como o recurso fintech mais avançado. A abreviação DLT (Decentralized Ledger Technology) tornou-se sinônimo de blockchain no ambiente autorizado da Fintech.
Poucas pessoas percebem que a descentralização é um problema em si, e a tecnologia blockchain parou por muitos anos.
Deixe-me explicar:
Na década de 1960, os sistemas de computadores foram centralizados ou configurados como uma topologia de rede em estrela. Somente no início dos anos 1970, a necessidade de conectar computadores de vários fabricantes tornou-se urgente.
Naquela época, os nós de várias redes de comunicação existentes eram organizados hierarquicamente, mas desde o início os protocolos implementados nos nós do ARPA, RPCNET, PISA e outras redes inovadoras anteriores à Internet foram desenvolvidos com a ideia geral de que o nó ou autoridade central deveria controlar, gerenciar, ser o centro ou possuir a rede.
Em outras palavras, sabíamos que uma rede em estrela multinível centralizada, com seus gargalos inerentes, não seria capaz de satisfazer até as necessidades de milhares de usuários na década de 1970. Sugerimos também que, ao reduzir o número de gargalos resultantes da descentralização, o problema seria reduzido, mas não resolvido. Sabíamos que uma solução deveria usar um modelo distribuído ponto a ponto.
Como muitas organizações estarão envolvidas no fornecimento de nós, canais e hardware e software não confiáveis, assumimos que a rede não era confiável. Não sabíamos como um conjunto de dados consistente ou mesmo uma única transação pode ser suportada em vários bancos de dados por meio de uma rede não confiável, quando qualquer nó pode gerar uma mensagem ou, na terminologia da fintech, uma transação financeira. O problema foi ainda mais agravado pela presença de jogadores maliciosos.
Por que a tecnologia blockchain desencoraja a descentralização

Em termos gerais, reconhecemos que uma rede é descentralizada quando o gerenciamento de rede é compartilhado por um subconjunto de nós da rede.
Uma rede é distribuída quando todos os nós compartilham responsabilidades igualmente e executam o mesmo software de nó.
As redes descentralizadas (permitidas e baseadas em líderes) eram frequentemente extensões de redes centralizadas decorrentes de requisitos de aplicativos, por exemplo, no setor de fintech.
O software de rede blockchain (software básico do sistema) não deve ser desenvolvido de acordo com os requisitos do aplicativo, pois eles serão alterados. Não projetamos os antecessores de rede da Internet e da própria Internet, com base apenas nos requisitos dos aplicativos da década de 1970. Não foi possível prever quais setores serão desenvolvidos com base na capacidade de trocar informações globalmente.
Da mesma forma, a rede principal de blockchain deve ser o mais geral, flexível e escalável possível. Permissões, servidor-cliente e requisitos de rede privada podem então ser considerados como casos especiais de uma rede distribuída, por exemplo, usando o conceito de redes blockchain privadas virtuais.

As redes distribuídas têm maior probabilidade de serem independentes de qualquer estrutura física específica. Os nós podem se conectar dinamicamente entre si e procedimentos de conexão aleatória podem ser usados. As soluções de consenso implementadas em redes distribuídas também podem ser inválidas, gerenciadas pela maioria e recursivas.
A distribuição, não a descentralização, deveria ter sido o principal objetivo do design de criptomoedas.
Por que falhamos
O fracasso em explorar acordos de consenso distribuído deve-se em parte à formulação do problema dos generais bizantinos, em 1982, que modela como a integridade da informação pode ser mantida em um ambiente não confiável. O problema dos generais bizantinos é estudado por pesquisadores há mais de trinta anos.

A analogia de várias divisões aliadas do exército que mantinham a cidade sitiada sugeria que ninguém em campo podia confiar em entregar uma mensagem e que alguns dos generais em si não podiam confiar em emitir um comando.
No entanto, a redação da analogia do exército implicava a presença de pelo menos duas classes de tropas: generais e soldados.
Então, algumas pessoas limitaram seu pensamento a um caso mais específico, quando os generais deram ordens que precisavam ser transferidas para outros generais e protegidas contra interferências de intrusos ou traidores.
No final, essa abordagem levou a uma definição limitada do problema de consenso.

Modelos de consenso baseados em líderes, como Paxos e Raft, foram ensinados em universidades e usados como modelos por desenvolvedores de redes blockchain.
Como resultado, as soluções práticas para o problema dos generais bizantinos se concentraram em vários métodos de seleção de um nó líder que enviava um bloco de informações verificadas a todos os outros nós, em vez de tentar chegar a um consenso sobre o conteúdo do bloco.
Alvo ausente
O consenso sobre qual nó deve ser o líder atual não resolve o problema da confiança. O líder atual deve ser confiável. Ele deve fazer o trabalho de verificar e montar os blocos de maneira justa.
Assim, com base nos protocolos de consenso atuais, o líder deve conceder alguma autoridade: prova de trabalho, prova de estaca, prova de habilidade ou prova de outra coisa.
Essa "evidência" não garante nada além do interesse pessoal que os sites líderes (ou sites que buscam ser sites líderes) podem ter na rede: quanto mais interesse obtiverem, menos estarão prontos para destruir sua forma de renda.
Essa "evidência" garante que os líderes em potencial tenham autoridade, mas não garante que as informações coletadas no bloco estejam corretas ou que tenham sido verificadas pela maioria dos nós.
Vimos mais de 60 soluções propostas baseadas em modelos de liderança para várias implementações de blockchain. Eles sofrem de um erro comum: um nó decide o que cada outro nó armazenará na blockchain. O resultado é quase o oposto do que é necessário.
Resumo das deficiências com base nos protocolos Leader
Os protocolos baseados em líderes têm as seguintes desvantagens:
- Eles não resolvem o problema da confiança. O nó líder pode inserir dados incorretos, intencionalmente ou não, no bloco de informações.
- Os prêmios associados ao trabalho de verificar e montar os blocos criam um incentivo para os nós competirem por prêmios e avançarem para posições de liderança. Esse incentivo tende a criar uma classe especial de nós. A rede está se tornando uma rede descentralizada. Por exemplo, o Bitcoin começou como uma rede de parceiros, onde cada nó podia verificar transações e lutar por uma recompensa. Hoje é uma rede de duas classes (mineradoras e usuários), gerenciada pelos proprietários de grandes piscinas.
- Quando um conjunto de blocos é transferido para um nó, um dos requisitos básicos da teoria do consenso se torna inválido: o acordo não se baseia no consenso majoritário sobre quais informações serão armazenadas na blockchain. O único acordo alcançado é o método de seleção do nó líder.
- Um gargalo, ou ponto único de falha, é introduzido: um nó deve transmitir um bloco para o outro nó.
- A eficiência não é a melhor: grandes blocos de dados são mais propensos a erros de transmissão e retransmissão de pacotes de tamanho máximo.
- A redundância é quase 100%: cada transação incluída no bloco já foi recebida por cada nó separadamente quando a transação foi concluída originalmente.
Melhor analogia
Refletindo sobre a analogia com o problema de alcançar uma solução comum em um ambiente desorganizado e não confiável, poderíamos usar a analogia do exército sem classificação, mas isso não seria muito intuitivo.
Uma analogia melhor seria a tarefa de determinar o preço de fechamento diário da bolsa de valores. Por essa analogia, muitos compradores e vendedores determinam o preço de fechamento diário das ações usando o processo estocástico, sem qualquer tomador de decisão específico para mais ninguém.
Não existe uma resposta "certa" para o preço das ações na bolsa, mas apenas um preço de fechamento diário acordado.

Da mesma forma, em um bloco, várias variáveis, como a ordem das transações, podem determinar a composição final do bloco. Não existe uma composição “correta” de blocos, apenas um com o qual os nós sejam consistentes.
Protocolos de consenso baseados em uma analogia mais distribuída podem evitar a tendência de centralização e a necessidade de nós intermediários típicos de protocolos baseados em líderes.
Exemplos de intermediários de rede:
- Mineiros, fabricantes ou supervisores que participam voluntariamente ou estão envolvidos na prestação de serviços de rede,
- Nós especiais de sistemas federados que estão interessados no sucesso da rede,
- Nós selecionados com alguns critérios para gerenciamento de rede,
- Nós pertencentes a empresas ou instituições confiáveis
- Jogadores especiais, como trocas de moeda centralizadas que possuem carteiras de usuários.
O que há de errado com os intermediários?
Antes de tudo, é uma questão de custo: se os intermediários realizam um trabalho útil, por exemplo, verificar transações, eles precisam ser recompensados.
Isso também é uma questão de confiança: os clientes que usam uma rede com intermediários devem confiar em:
- Que o intermediário não dá preferência a usuários ou transações específicas,
- Que o intermediário não foi ou não será capturado pelo atacante,
- Que o sistema intermediário não é desligado, não sofre ataque de DoS, falha do sistema ou qualquer outro motivo que afete ou atrase as transações do cliente,
- O software do sistema e os dados intermediários são confiáveis, garantindo a integridade e a segurança dos dados.
- Que eles estão realmente conectados a um sistema confiável, e não a um imitador (por exemplo, com algum outro sistema que afirma ser um intermediário confiável) e
- Que nenhum outro evento imprevisível acontecerá. Recentemente, por exemplo, o proprietário da casa de câmbio canadense Quadriga morreu ou desapareceu. Como resultado, faltam milhões de dólares em fundos de clientes.
Finalmente, é uma questão de disponibilidade de dados. Se a rede tiver uma classe privilegiada ou limitada de nós que controlam a blockchain, a maioria dos nós não terá acesso instantâneo à réplica atual da blockchain. Isso pode interferir no desenvolvimento de aplicativos em tempo real, como aplicativos de negociação automatizados.
É tarde demais para mudar o modelo de consenso na blockchain?
A maioria dos especialistas diz que a principal função dos protocolos negociados é manter a segurança da rede. Essa visão combina dois problemas. A segurança é necessária, mas esse é um requisito completamente diferente que pode ser resolvido de outras maneiras.
No entanto, muitos desenvolvedores sustentam a idéia de que consenso significa escolher um líder e que é necessário consenso para manter a segurança.
Olhando para trás, se estivéssemos pensando em uma analogia melhor distribuída, o estudo poderia seguir uma direção diferente, oferecendo abordagens estocásticas, e poderia nos levar ao desenvolvimento anterior de soluções melhor distribuídas sem intermediários.
Agora, este é um problema de educação, não um problema técnico. A maioria dos pesquisadores, consultores e especialistas em redes de criptografia possui todos os detalhes de PoW, PoS, DPoS e dezenas de alternativas baseadas no mesmo modelo baseado em líder.
Essas poucas soluções que não são baseadas em líderes não são soluções de blockchain: são soluções em que cada transação é processada separadamente.
Por outro lado, a maioria das pessoas e 95% das empresas, de acordo com uma pesquisa recente, entende o potencial da tecnologia blockchain.
A transição de um modelo descentralizado para um distribuído é urgentemente necessária para desbloquear o verdadeiro potencial do blockchain, resolver problemas de escalabilidade e executar o blockchain em qualquer dispositivo de usuário sem intermediários.