TL;DR
Blockchains são capazes de lidar com um número limitado de transações por segundo. A rede do Bitcoin, por exemplo, pode processar cerca de sete transações por segundo. Se o objetivo é a adoção global da tecnologia blockchain, ela deve ser capaz de lidar com um volume muito maior de dados e oferecer transações mais rápidas. Assim, mais pessoas podem usar a rede sem lentidões ou altos custos envolvidos. No entanto, o design de muitas redes descentralizadas faz com que o aumento da escalabilidade diminua a descentralização ou a segurança. Esse problema é conhecido como trilema blockchain. Desenvolvedores que tentam resolver esse problema estão experimentando diferentes mecanismos de consenso e soluções de escalabilidade, como sharding, sidechains e state channels.
Introdução
Em termos básicos, uma blockchain é um banco de dados digital distribuído. Esses blocos de dados são organizados em ordem cronológica. Os blocos são vinculados e protegidos por provas criptográficas. A implementação dessa tecnologia em diferentes setores já mudou a forma como trabalhamos e vivemos.
A ideia é que blockchains descentralizadas e seguras ofereçam um mundo onde não precisamos depender de terceiros para que redes ou mercados funcionem. No entanto, a maioria dos especialistas concorda que, se essa tecnologia for adotada mais amplamente, há um problema central que precisa ser resolvido. O problema em questão é conhecido como “trilema blockchain”.
Este termo foi popularizado pelo cofundador da Ethereum, Vitalik Buterin. Ele se refere a três elementos desejáveis em uma blockchain: descentralização, segurança e escalabilidade. O trilema blockchain refere-se à ideia de que é difícil para uma blockchains atingir níveis ideais de todas essas três propriedades simultaneamente. O foco em uma delas geralmente causa o enfraquecimento de outra.
Neste artigo, abordaremos os três elementos do trilema e vamos explicar cada um deles com mais detalhes. Ao discutir os detalhes e a influência de cada elemento sobre o outro, teremos uma melhor compreensão sobre o trilema blockchain e suas possíveis causas. Também veremos algumas das soluções sugeridas por desenvolvedores.
O que é descentralização?
A blockchain do Bitcoin e outras redes semelhantes são projetadas para serem descentralizadas. A estrutura foi criada de forma que não há uma pessoa ou organização responsável. Pelo contrário, é uma estrutura totalmente descentralizada. A rede está aberta a qualquer pessoa que queira participar. Sendo assim, o controle é totalmente distribuído e não detido por uma única entidade. Todos têm acesso aos mesmos dados. Se alguém tentar enganar o sistema alterando os registros a seu favor, o restante dos participantes rejeitará os dados adulterados.
Esse assunto pode ser bastante técnico, mas vamos usar a rede Bitcoin como exemplo. Não há terceiros no controle. Compare isso com a necessidade de bancos no sistema financeiro. Os bancos reforçam a confiança entre as pessoas que realizam transações e garantem que todos os registros sejam mantidos corretamente. A blockchain do Bitcoin, no entanto, compartilha todos esses dados com todos na rede, para que eles possam ser verificados e confirmados. Feito isso, eles são adicionados ao banco de dados digital. O resultado é um sistema capaz de funcionar sem a necessidade de terceiros.
A descentralização possibilita o desenvolvimento da chamada Web3. No momento somos usuários da Web2 — a internet de hoje. A Web2 tem muitos sites e aplicativos controlados por empresas, mas com conteúdos feitos pelos usuários. A Web3 é o próximo passo. A Web3 é uma internet onde a tecnologia blockchain descentralizada permite que as pessoas controlem seus próprios dados e suas vidas on-line.
É importante notar, no entanto, que devido à maneira que esses sistemas distribuídos funcionam — com um grande número de participantes que precisam concordar com a validade de quaisquer dados — os tempos de transação podem ser lentos, já que é preciso compartilhar e processar muitas informações. Sendo assim, as blockchains precisam oferecer escalabilidade, ou seja, devem ser capazes de lidar com mais dados mais rapidamente. Retomaremos esse tópico quando discutirmos a escalabilidade.
Além disso, o sonho da descentralização só é válido se as blockchains subjacentes forem seguras. Se uma blockchain carece de segurança, um usuário mal intencionado pode assumir o controle e alterar os dados a seu favor. Isso nos leva ao segundo elemento do trilema: segurança.
O que é segurança em uma blockchain?
Não importa o quão descentralizada seja uma blockchain se ela não tiver segurança. Uma boa rede blockchain deve ser resistente a ataques de entidades maliciosas. Os sistemas centralizados derivam sua segurança do fato de serem sistemas fechados. Quem está no controle pode garantir que os dados estejam livres de interferência. Mas como isso é possível em um sistema descentralizado, onde qualquer pessoa pode participar?
É um assunto complicado, mas podemos usar novamente o Bitcoin como um exemplo de blockchain segura e descentralizada. A blockchain do Bitcoin usa uma combinação de elementos de criptografia e um mecanismo de consenso chamado Proof of Work (PoW). Em termos de criptografia, cada bloco tem um tipo de assinatura digital (ou hash). Cada bloco de dados é conectado de uma maneira que não pode ser adulterado, já que qualquer mudança alteraria o hash de um bloco. Qualquer tentativa de alteração dos dados seria rapidamente identificada pelo resto da rede.
O mecanismo de consenso PoW é outra parte do quebra-cabeça. Ele ajuda a proteger o ledger da criptomoeda. Para explicar o Proof of Work precisamos de um artigo inteiro, mas para nossos propósitos neste artigo, entenda que os membros da rede só podem verificar novas transações e adicioná-las ao ledger por meio de uma atividade conhecida como mineração. Esse processo envolve o uso de poder computacional para resolver um problema matemático. Parte do processo exige que computadores executem várias funções de hash. Isso contribui para a questão da escalabilidade, pois o mecanismo PoW é seguro, mas relativamente lento.
Observe também que quanto mais participantes (nodes) houver na rede, maior será o nível de segurança dela. Quanto maior o número de participantes, mais difícil para um usuário mal-intencionado assumir o controle do sistema. Isso ajuda a evitar um possível ataque de 51%. Como uma visão geral: se uma única entidade (ou grupo de malfeitores) controlar mais de 50% da taxa total de hash de uma blockchain, eles poderiam substituir o mecanismo de consenso e alterar os dados da blockchain para benefício próprio, por exemplo, com gastos duplos de tokens.
Em suma, a segurança é um requisito fundamental para que uma blockchain seja bem-sucedida pois, sem ela, os invasores podem assumir o controle da blockchain, tornando-a inútil.
O que é escalabilidade?
O termo escalabilidade refere-se ao objetivo de construir uma blockchain que possa suportar mais transações por segundo. A escalabilidade é necessária para que a tecnologia blockchain possa servir a sociedade em geral e, possivelmente, bilhões de usuários. Mas é nesse ponto que muitas blockchains ainda enfrentam dificuldades.
Isso ocorre porque os elementos de descentralização e segurança são tão fundamentais para a blockchain que tendem a receber mais atenção. A descentralização é tão essencial para o ethos e os objetivos da blockchain que costuma ser o principal foco das blockchains mais reconhecidas. A segurança, como discutimos, é um requisito essencial para que uma blockchain seja bem-sucedida e útil.
No entanto, ao priorizar a descentralização e a segurança, a escalabilidade se torna um desafio. O número de transações que uma blockchain é capaz de processar pode ser severamente reduzido. Um sistema de pagamento centralizado como o da Visa afirma ser capaz de processar 24.000 transações por segundo. Isso ocorre porque a rede é fechada e não depende de considerações de nodes públicos e consenso. Compare isso com algumas das blockchains mais conhecidas.
De acordo com a Bloomberg em 2022: “Em setembro, o Bitcoin não é capaz de lidar com mais de sete transações por segundo e a Ethereum, a segunda rede mais popular, tem um limite de cerca de 15 transações por segundo — uma vida inteira quando comparamos com as corretoras convencionais.”
Como mencionado, essas velocidades de transação de blockchain são limitadas devido à maneira como as informações precisam ser processadas pelos diferentes participantes que compõem a rede descentralizada e também devido à natureza do próprio mecanismo de consenso PoW. Se mais e mais pessoas começarem a usar a tecnologia blockchain, as redes ficarão congestionadas devido ao número limitado de transações que podem ser processadas.
Por que o trilema blockchain existe?
A solução mais óbvia e básica para o problema descrito acima é reduzir o número de participantes que confirmam e adicionam dados à rede, em troca de maior escalabilidade e velocidade. Mas isso prejudicaria o fator de descentralização, já que o controle estaria nas mãos de um número menor de participantes. E também causaria um enfraquecimento da segurança, pois com menos participantes haveria uma chance maior de ataques.
Então aqui está o trilema: dada a relação entre as propriedades desejadas de descentralização e segurança, o design fundamental de funcionamento da blockchain dificulta a escalabilidade. Ao melhorar um, você enfraquece outro. Como aumentar a escalabilidade sem prejudicar a descentralização, a segurança ou ambos?
Solucionando o trilema blockchain
Não há uma única solução milagrosa para o trilema. Mas dada a importância de resolver este problema, tem havido uma série de abordagens diferentes na comunidade com resultados interessantes. Vamos abordar uma visão geral de alguns dos desenvolvimentos mais populares para lhe oferecer uma compreensão do que está acontecendo no setor:
1. Sharding
Este é um método de divisão de blockchains (ou outros tipos de bancos de dados) em blockchains menores e particionadas, que gerenciam segmentos de dados específicos. Essa configuração elimina a necessidade de uma única blockchain lidar com todas as transações e interações em uma rede. Cada blockchain particionada é conhecida como um shard (fragmento) e tem seu ledger específico. Esses shards são capazes de processar suas próprias transações, mas uma beacon blockchain ou main chain (blockchain principal) gerencia as interações entre os shards. Isso faz com que o sharding seja uma atualização de escalabilidade de rede de Layer-1, pois é uma mudança na rede principal de uma blockchain.
2. Outros mecanismos de consenso
Uma das razões pelas quais o trilema existe na rede Bitcoin é a maneira como o PoW funciona para garantir a segurança. A necessidade de mineradores, algoritmos de criptografia e enormes quantidades de poder computacional descentralizado resulta em um sistema seguro, porém lento. Encontrar uma maneira diferente de garantir o consenso é uma abordagem para solução do trilema. Esse foi um dos motivos da mudança da Ethereum, do PoW para o Proof of Stake (PoS).
Em blockchains PoS, os participantes envolvidos na validação de transações devem fazer staking (bloqueio) de seus tokens. Não há necessidade de máquinas de mineração altamente especializadas. A adição de mais validadores à rede é mais simples e mais acessível. O PoS é apenas uma das muitas abordagens diferentes para mecanismos de consenso que buscam escalabilidade.
3. Soluções de Layer-2
Tanto o sharding quanto os diferentes mecanismos de consenso são conhecidos como soluções de Layer-1. Eles tentam mudar o design fundamental da rede subjacente. Mas outros desenvolvedores que buscam resolver o trilema, estão trabalhando em soluções que se baseiam em uma estrutura de rede existente. Em outras palavras, eles acham que a resposta está em uma segunda camada, ou seja, em soluções de Layer-2 ("layer", do inglês, camada). Exemplos disso incluem sidechains e state channels.
Uma sidechain é basicamente uma blockchain separada conectada à main chain (blockchain principal). Ela é configurada de forma que os ativos possam fluir livremente entre as duas. É importante notar que a sidechain pode operar sob regras diferentes da main chain, permitindo maior velocidade e escalabilidade. Da forma semelhante, os state channels oferecem outra maneira de tirar as transações da main chain e aliviar o trabalho da Layer-1. Em vez de uma blockchain separada, um state channel usa um contrato inteligente, para permitir que os usuários interajam entre si sem publicar suas transações na blockchain. A blockchain registra apenas os estados inicial e final do state channel.
Considerações finais
O trilema da escalabilidade impede que a blockchain cumpra seu potencial como tecnologia para mudar o mundo. Se as redes blockchain forem capazes de lidar apenas com um pequeno número de transações por segundo para manter a descentralização e a segurança, será difícil alcançar a adoção em massa. No entanto, as soluções apresentadas pelos desenvolvedores que buscam resolver esse problema sugerem que os avanços tecnológicos já feitos pela tecnologia blockchain estão no caminho certo. Futuramente, as redes serão capazes de lidar com um volume muito maior de dados.