Topics Tech Deep Dive

O Trilema Blockchain: Pode Isso Alguma Vez Ser Resolvido?

Avançado
Tech Deep Dive
27 de jun de 2022

O mundo ao nosso redor é totalmente sobre as concessões que fazemos para alcançar certos resultados. O trilema da blockchain não é diferente, por isso é crucial entender se os problemas associados às blockchains podem alguma vez ser resolvidos. Os desenvolvedores estão dedicando tempo e energia para resolver este problema, e veremos como a escalabilidade, segurança e descentralização da blockchain podem trabalhar juntas. Essas três características são fundamentais para o funcionamento das blockchains, com um reconhecimento crescente de que você só pode obter duas das três. Isso significa que toda blockchain deve sacrificar algo para funcionar da forma mais eficiente possível.

O que é o Trilema da Blockchain?

O trilema da blockchain é o conceito de que descentralização, segurança e escalabilidade não podem estar todas representadas em uma única blockchain.

O termo trilema da blockchain foi cunhado por Vitalik Buterin, cofundador do Ethereum. Ele propôs esse termo devido à sua experiência trabalhando no Ethereum, a segunda criptomoeda mais popular na internet, que sofre de problemas semelhantes aos da rede Bitcoin. O problema principal com o Bitcoin é que sua rede não é tão escalável quanto muitas pessoas gostariam. O trilema da blockchain trata das três coisas que os desenvolvedores querem — descentralização, escalabilidade e segurança — e da necessidade perturbadora de escolher duas das três.

Um Exemplo do Trilema da Blockchain: A Escalabilidade do Bitcoin

O Bitcoin é uma grande inovação, mas sua plataforma não é a mais escalável. No entanto, o Bitcoin tem uma das plataformas mais seguras e descentralizadas da internet. Em termos de escalabilidade, infelizmente, conquistou uma má reputação devido às suas velocidades de transação menos que ideais. Isso o torna subótimo se você está tentando usá-lo como uma moeda. Quando comparado a processadores de cartões como Visa e Mastercard, o Bitcoin fica atrás porque a concorrência processa transações em milissegundos. Embora essa situação tenha sido solucionada graças à Lightning Network, esta solução de escalonamento Layer 2 introduce uma cota justa de problemas. Em última análise, qualquer criptomoeda que deseje ser usada como uma moeda fiduciária deve ser capaz de escalar suficientemente.

A questão que Vitalik Buterin estava discutindo é se é ou não possível alcançar todas essas três características em uma única rede. Muitos desenvolvedores concluíram que alcançar todas as três características é impossível, e que se resume a lidar com o que é possível com a tecnologia atual — e descobrir como fazer o compromisso em um ambiente do mundo real. Por mais que cada projeto tente otimizar sua rede, haverá algumas deficiências em cada design de blockchain. Assim, a chave para os desenvolvedores é descobrir quanto de cada característica estão dispostos a sacrificar para alcançar um desempenho ótimo.

Descentralização em um Blockchain

A descentralização do blockchain é uma das principais razões pelas quais as pessoas preferem criptomoedas às moedas fiduciárias atuais. Quando sua moeda é controlada por um único indivíduo ou entidade, você está sempre à mercê deles. Um exemplo é o governo dos EUA e seu monopólio sobre o dólar americano. Se você for incluído em uma lista negra ou sancionado, seus ativos em dólares podem ser congelados. Você nunca tem realmente o controle total sobre sua moeda. A descentralização do blockchain resolve esse problema, garantindo que nenhum indivíduo ou entidade controle o ativo. O Bitcoin é o exemplo mais famoso. Essencialmente, ninguém controla seu acesso ao Bitcoin, e você pode possuir e transportar seu Bitcoin livremente em qualquer situação.

Infelizmente, um grande problema com a descentralização do blockchain em larga escala é descobrir como alcançá-la. Um obstáculo é a gestão da rede. A rede Visa é um exemplo de como é quando uma moeda virtual não é descentralizada. Cada transação realizada pelo VisaNet precisa ser processada por um dos muitos servidores que a Visa possui ao redor do mundo. A Visa é responsável por garantir que a rede seja resiliente e funcione sempre sem tempo de inatividade. 

No entanto, devido a isso, eles controlam tudo para oferecer tempos de transação inferiores a um segundo. Além disso, as taxas de transação são relativamente baixas quando comparadas a muitas outras redes. Por causa disso, muitas pessoas estão se movendo em direção a uma sociedade sem dinheiro que eliminará a necessidade de carregar dinheiro físico.

Como você pode ver, a descentralização do blockchain impacta negativamente a segurança e a escalabilidade de uma rede. A descentralização do blockchain é crucial — porque requer que você sacrifique uma outra característica para ter a rede mais otimizada possível. Em última instância, a descentralização do blockchain é melhor quando uma entidade ou indivíduo não controla toda a rede. No entanto, a escalabilidade ou a segurança do blockchain são sacrificadas quando a descentralização do blockchain é priorizada.

Escalabilidade em um Blockchain

Infelizmente, a escalabilidade do blockchain é um problema significativo que impediu muitas criptomoedas de serem usadas em larga escala. Para que um blockchain seja prático, ele precisa progredir para um estágio onde seja sujeito a milhares de solicitações de transação e seja capaz de processá-las rapidamente.

Idealmente, os projetos gostariam que seu blockchain fosse capaz de escalar para milhões de transações por segundo (TPS). Esta é uma das muitas razões pelas quais Visa e MasterCard são usados em todo o mundo. Afinal, ninguém usaria esses cartões se você precisasse esperar 20 minutos ou mais para que sua transação fosse processada — e nenhuma loja gostaria de usar essa rede se tivessem filas longas porque demorava tanto para processar transações. A escalabilidade do blockchain precisa ser construída, pois os desenvolvedores precisam descobrir como fazê-la funcionar para casos de uso específicos, em vez de apenas olhar para transações por segundo.

Segurança em um Blockchain

A segurança do blockchain é a terceira característica que muitas redes podem escolher relaxar quando se trata do trilema do blockchain. Uma boa segurança no blockchain significa que tudo deve ser robusto para que ninguém possa tomar o controle da rede — por exemplo, aproveitando as vulnerabilidades da rede para inserir transações em uma rede. 

A principal desvantagem de manter a segurança do blockchain é que isso demanda muito poder de processamento para alcançá-la. Isso pode ser um problema se a descentralização do blockchain também entrar em vigor. Quando você combina essa necessidade com as realidades da descentralização e escalabilidade do blockchain, significa que você precisa expandir tremendamente o poder de processamento para alcançar uma pequena melhoria na sua avaliação de TPS. Essas são as questões que os desenvolvedores de blockchain devem equilibrar ao tentar construir uma rede. Eles precisam descobrir qual das três características desejam sacrificar.

Com a descentralização do blockchain, outra questão é o consenso. Qual é a transação correta para cada livro-razão? Quando você está escrevendo uma transação no livro-razão do blockchain, como você garante que a transação seja corretamente atualizada para todos os nós? Isso exige muito poder de processamento — razão pela qual é importante entender como equilibrar a segurança com outras características dentro de uma rede de blockchain. A segurança do blockchain só se tornará mais importante à medida que sua utilidade aumentar. Um exemplo de segurança que deu errado é com blockchains que usam contratos inteligentes.

Segurança vs. Escalabilidade

A ideia geral com a segurança do blockchain é que ela funciona de forma retrógrada em relação à escalabilidade do blockchain. A segurança do blockchain exige que você use poder de processamento adicional para garantir que ninguém explore a rede. No entanto, o principal problema com isso é que, como consequência, há agora menos poder para processar transações. Os desenvolvedores têm que decidir entre processar mais transações ou manter a segurança aprimorada. Além disso, quanto mais descentralizada é uma rede, mais tempo levará para alcançar consenso — tornando ainda mais difícil atingir a descentralização ideal do blockchain em simultâneo com a segurança. Muitas pessoas estão atualmente tentando descobrir como fazer ambos esses conceitos funcionarem corretamente, sem grandes desvantagens para a rede.

Um exemplo de uma rede segura é a Visa, mencionada acima. Ela oferece uma rede de processamento de cartões de crédito que entrega milhões de TPS. Apesar disso, a segurança do blockchain nunca é um problema com eles. Quase nunca ouvimos falar de algo sendo explorado. No entanto, quando algo acontece, geralmente é porque o fornecedor fez algo proibido. Nunca é a própria empresa de processamento de cartões de crédito que tem um problema que foi explorado. 

A maioria dos blockchains são bastante seguros e as brechas de segurança não são um problema contínuo para a maioria das redes. No entanto, como mencionado, a segurança vem ao custo da escalabilidade. Isso faz com que muitas pessoas pensem em várias maneiras de melhorar a segurança e a capacidade de processamento de transações — sem destruir a essência da rede.

Diferentes Abordagens para o Trilema do Blockchain

Solana (SOL)

Solana tenta resolver o dilema da blockchain utilizando servidores de nível empresarial e um
sistema de Prova de Participação (PoS). Ele depende da sincronização para alcançar consenso, utilizando um pequeno número de servidores para chegar à descentralização do blockchain. No entanto, apesar disso, há problemas com a descentralização de blockchain. O preço médio de um servidor é de cerca de $10.000, com a exigência de apostar milhares de moedas para se tornar parte do cluster de processamento — algo que, em geral, é possível apenas para corporações e indivíduos ricos. Isso dificulta os esforços de descentralização, já que SOL é uma moeda que apenas uma minoria de pessoas é capaz de apoiar.

Polkadot (DOT)

Polkadot oferece um novo esquema de disponibilidade e validade de dados para permitir que muitos tipos de blockchains funcionem entre si, com a capacidade de criar um blockchain personalizado rapidamente. Isso significa que você obtém interoperabilidade e segurança ao mesmo tempo. Ele usa uma estrutura POS de próxima geração para alcançar eficiência energética. O coração deste blockchain é sua Relay Chain e Parachain. Ele também usa validadores como uma forma de garantir que a rede alcance consenso, uma melhoria significativa sobre Solana.

Cardano (ADA)

Cardano oferece o benefício de ser um dos protocolos ambientalmente mais sustentáveis. Ele usa o protocolo seguro de blockchain Ouroboros, o que significa que ele tem segurança integrada. No entanto, essa segurança sacrifica a velocidade de processamento, o que significa que a rede não processa transações tão rapidamente quanto algumas outras. No entanto, é muito mais fácil tornar-se parte da rede, pois ela não tem os requisitos de processamento gigantescos necessários para uma rede como a Solana.

Fantom (FTM)

Fantom afirma ter resolvido o problema do trilema blockchain. Sua rede oferece mais de 200 DApps, tornando-o um dos tokens de criptomoeda mais amplamente utilizados. O protocolo de consenso aBFT do Fantom permite que a rede alcance a velocidade, segurança e confiabilidade da qual se orgulham. Outra parte da solução do Fantom para o trilema blockchain são seus nós validadores, que ajudam a estabelecê-lo como um sistema sem confiança e sem liderança. Assim, a descentralização blockchain é alcançada em alto grau com Fantom e FTM.

Avalanche (AVAX)

A rede Avalanche tem outra abordagem bem-sucedida para controlar as limitações do trilema blockchain. A descentralização blockchain é alcançada principalmente oferecendo recompensas a pessoas que fazem staking e operam um nó validador. Essas recompensas são bastante impressionantes, o que significa que os possíveis validadores não precisam investir muitos tokens para começar. 

Além disso, os requisitos mínimos de hardware da Avalanche são impressionantes. Pode-se começar como um validador com hardware barato por menos de 1/10 do preço do hardware necessário para se tornar um validador na rede Solana.

É claro que ser um validador é importante tanto para a descentralização quanto para a escalabilidade da blockchain. No entanto, não muitas pessoas são incentivadas a se tornarem validadores. Fazer isso é frequentemente muito caro ou complicado para funcionar, limitando seus benefícios a apenas alguns.

Soluções Potenciais para o Trilema Blockchain

Existem algumas soluções potenciais para o trilema blockchain que podem ser implementadas independentemente. Muitos desenvolvedores também estão descobrindo como alcançar o trilema blockchain em cada parte de uma rede.

Camada 0

Prova de Trabalho (PoW) de consenso, como o do Bitcoin, é inferior para alcançar uma solução para o trilema blockchain. Em vez disso, é melhor que redes PoW mudem para um sistema PoS. Ao fazer isso, as blockchains aumentam a escalabilidade e as velocidades de processamento. Esta mudança também facilita muito a adesão de pessoas a uma rede. Com um bom algoritmo de consenso, é mais fácil expandir uma rede também. Os aspectos fundamentais da Camada 0 não podem ser subestimados. Nada pode ser bem feito se esta camada for mal projetada.

Cadeias de Relés

A Cadeia de Relés do Polkadot permite que várias redes de blockchain se conectem entre si com facilidade, porque elas podem se conectar a diversas redes sem as desvantagens inerentes ao trilema do blockchain. Parachains funcionam em paralelo à blockchain do Polkadot. Elas usam a Cadeia de Relés do Polkadot para alcançar máxima escalabilidade, segurança e governança.

Camada 1

A principal consideração para Camada 1 é descobrir como escalar. Isso significa ajustar o mecanismo de consenso ou outros aspectos da blockchain que podem aumentar a escalabilidade. A Camada 1 fornece a base necessária para garantir que a rede opere em sua capacidade adequada. Redes que não têm uma Camada 1 sólida invariavelmente acabam tendo problemas no futuro.

Melhorias no Protocolo de Consenso

Existem muitas maneiras de alcançar o consenso em uma blockchain, mas quanto mais rápido isso for feito, melhor se pode resolver o trilema do blockchain. A principal questão é garantir que o consenso seja alcançado corretamente e completamente. Vários algoritmos tomam atalhos, mas geralmente acabam onde precisam estar. A Solana oferece um consenso de prova de história, que garante que as transações estejam na sequência atual e do líder certo. Os líderes são escolhidos com antecedência, o que economiza tempo na obtenção do consenso da rede.

Fragmentação

Sharding é um conceito retirado do mundo dos bancos de dados. Esta inovação é importante para bancos de dados porque é uma das muitas maneiras de escalar em vários servidores. Caso contrário, você precisaria manter todo o banco de dados em um único servidor. O mesmo é verdadeiro para uma blockchain. Se cada validador deve conter toda a blockchain, é ineficiente porque existem vários validadores mantendo os dados idênticos, mesmo quando eles não precisam disso. Isso dificulta a obtenção de consenso porque deve ser feito entre todos os nós na cadeia de validadores. 

Sharding divide a blockchain e a separa por múltiplos validadores. É uma maneira arriscada de fazer as coisas por causa da possibilidade teórica de que todos os validadores mantendo um determinado shard possam falhar. Nesse caso, toda a peça da blockchain seria perdida. Existem vários algoritmos para evitar que isso ocorra, que é uma das muitas maneiras de melhorar o processo. Ethereum oferece cadeias shard como uma maneira de melhorar a escalabilidade. Este método divide toda a blockchain horizontalmente, distribuindo a carga em vários servidores e possibilitando que a participação na rede e o poder de processamento aumentem geometricamente.

Camada 2

Blockchains da Camada 2 existem para melhorar a velocidade de processamento da blockchain base. No entanto, essas soluções devem ser abordadas inteligentemente para alcançar velocidades de processamento de blockchain suficientes.

Blockchains Aninhadas

Uma blockchain aninhada existe dentro de outra blockchain. As blockchains da Camada 1 delegam o processamento para uma blockchain aninhada, o que significa que soluções de processamento personalizadas podem ser criadas relativamente fácil. Esta é uma das melhores e mais fáceis maneiras de resolver o dilema da blockchain sem muita dificuldade. O maior exemplo disso é o Ethereum Plasma, que usa uma blockchain separada ancorada à cadeia principal, capaz de oferecer prova de fraude para arbitrar disputas.

Canais de estado

Um canal de estado possui essencialmente processamento e capacidade de transação delegados. Seus nós não requerem validação, o que significa que é como um recurso adjacente que faz o que precisa. A rede da Camada 1 só requer que o estado final do canal seja registrado na blockchain.

Sidechains

Um sidechain é essencialmente uma blockchain separada que se conecta à blockchain principal usando uma ligação bidirecional. Ele aumenta a interoperabilidade e o poder de processamento da blockchain existente. Por exemplo, a rede do Bitcoin pode utilizar sidechains para processar transações ainda mais rápido. Esta é uma das muitas maneiras pelas quais as pessoas estão obtendo mais desempenho do Bitcoin, mesmo quando tecnicamente não deveria ser possível.

Rollups

Essencialmente, os rollups processam transações fora da blockchain da Camada 1 e as postam mais tarde, quando o consenso é alcançado. Isso separa muito do processo que influi no desempenho da Camada 1. Uma grande peça do quebra-cabeça é o Zero-Knowledge Rollup (ZK-Rollup), que processa centenas de transferências fora da blockchain atual e as publica em uma data posterior. Ele acelera tudo e, portanto, é uma das melhores formas de melhorar o desempenho.

O Trilema da Blockchain Pode Ser Resolvido?

Não há uma solução única ao analisar como o trilema da blockchain pode ser resolvido. É teoricamente impossível alcançar o Santo Graal. O melhor que podemos fazer até agora é otimizar cada blockchain o máximo possível para alcançar seu objetivo declarado. Podemos experimentar um futuro com potência computacional virtualmente infinita e velocidades de transferência de rede geometricamente mais rápidas. Nesse ambiente, o trilema da blockchain poderia ser resolvido de forma relativamente fácil. Deixaria de ser um problema porque as velocidades de transação seriam impulsionadas "para a lua".

Conclusão

Atualmente, o trilema da blockchain é um grande problema para a maioria dos desenvolvedores. No entanto, como em qualquer outra coisa, uma vez que entendemos a natureza do problema, temos uma chance muito melhor de encontrar uma solução para ele. Muitos desenvolvedores estão trabalhando na complexidade do trilema da blockchain, e eles estão bastante otimistas — então nós também devemos estar.