As blockchains são capazes de lidar com um número limitado de transações por segundo. A rede do Bitcoin, por exemplo, pode processar apenas 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, de forma a que mais pessoas possam 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. Este problema é conhecido como trilema blockchain. Os desenvolvedores que tentam resolver esse problema estão a experimentar diferentes mecanismos de consenso e soluções de escalabilidade, como sharding, sidechains e state channels.
Neste artigo adaptado da Binance Academy vamos falar do chamado “trilema blockchain” – em que consiste e de que forma é que pode ser resolvido.
Introdução
Em termos básicos, uma blockchain é uma base de dados digital distribuída. 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 refere-se a três elementos desejáveis numa blockchain: descentralização, segurança e escalabilidade. O trilema blockchain refere-se à ideia de que é difícil para uma blockchain atingir níveis ideais, simultaneamente, em todas essas três propriedades. O foco numa 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 as suas possíveis causas. Também veremos algumas das soluções sugeridas por desenvolvedores.
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 haja 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 controlo é totalmente distribuído e não detido por uma única entidade. Todos têm acesso aos mesmos dados e, se alguém tentar enganar o sistema alterando os registos a seu favor, o resto 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 controlo. Comparemos 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 registos sejam mantidos corretamente. Já a blockchain do Bitcoin partilha todos esses dados com toda a gente na rede, para que possam ser verificados e confirmados. Feito isso, eles são adicionados à base de dados digital. O resultado é um sistema capaz de funcionar sem a necessidade de terceiros.
A descentralização possibilita o desenvolvimento da chamada Web3. Neste momento somos utilizadores da Web2 – ou seja, a Internet como hoje a conhecemos. A Web2 tem muitos sites e apps controlados por empresas, mas com conteúdos feitos pelos utilizadores; a Web3 é o próximo passo: uma Internet onde a tecnologia blockchain descentralizada permite que as pessoas controlem os seus próprios dados e suas vidas online.
É importante notar, no entanto, que devido à maneira que esses sistemas distribuídos funcionam – com um grande número de participantes que têm que concordar com a validade de quaisquer dados – os tempos de transação podem ser lentos, já que é preciso partilhar e processar muitas informações. Sendo assim, e como veremos mais adiante, as blockchains precisam oferecer escalabilidade, ou seja, devem ser capazes de lidar com mais dados mais rapidamente.
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 utilizador mal intencionado pode assumir o controlo e alterar os dados a seu favor. Isso leva-nos ao segundo elemento do trilema: a segurança.
Segurança
Não importa o quão descentralizada é uma blockchain se não for segura. Uma boa rede blockchain deve ser resistente a ataques de entidades maliciosas. Os sistemas centralizados derivam a sua segurança do facto de serem sistemas fechados – quem está no controlo pode garantir que os dados sejam livres de interferência. Mas como é isso possível num sistema descentralizado, onde qualquer pessoa pode participar?
É um assunto complicado, mas podemos usar novamente o Bitcoin como um exemplo de uma 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 é ligado de uma maneira que não pode ser adulterado, já que qualquer mudança alteraria o hash de um bloco e 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 os propósitos deste artigo, entenda-se 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-se também que quanto mais participantes (nós) houver na rede, maior será o seu nível de segurança. Quanto maior o número de participantes, mais difícil para um utilizador mal-intencionado assumir o controlo do sistema.
Isso ajuda a evitar um possível “ataque de 51%”. Resumindo, 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 dessa 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.
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, milhares de milhões de utilizadores. 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 acima, é 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 torna-se num 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-se 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.
O trilema blockchain e como solucioná-lo
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 controlo 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 sua escalabilidade. Ao melhorar um, enfraquecemos o outro. Como aumentar a escalabilidade sem prejudicar a descentralização, a segurança ou ambos?
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á a acontecer no setor:
1. Sharding
O sharding é um método de divisão de blockchains (ou outros tipos de bases de dados) em blockchains menores e particionadas, que gerem segmentos de dados específicos. Essa configuração elimina a necessidade de uma única blockchain lidar com todas as transações e interações numa rede. Cada blockchain particionada é conhecida como um shard (fragmento) e tem seu ledger específico. Esses shards são capazes de processar as suas próprias transações, mas uma beacon blockchain ou main chain (blockchain principal) gere 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).
Nas blockchains PoS, os participantes envolvidos na validação de transações devem fazer staking (bloqueio) dos 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 procuram resolver o trilema, estão a trabalhar em soluções que se baseiam numa estrutura de rede existente. Por outras palavras, eles acham que a resposta está numa 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 mas ligada à main chain (blockchain principal). Ela é configurada de forma a 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 utilizadores interajam entre si sem publicar as suas transações na blockchain. A blockchain regista apenas os estados inicial e final do state channel.
Considerações finais
O trilema da escalabilidade impede que a blockchain cumpra o 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 procuram resolver esse problema sugerem que os avanços tecnológicos já feitos pela tecnologia blockchain estão no caminho certo e, futuramente, as redes serão capazes de lidar com um volume muito maior de dados.
Outros artigos interessantes: