A escalabilidade do Blockchain sempre foi um tópico acalorado. Quase todas as redes blockchain contam com um alto número de transações por segundo (TPS) como um ponto de venda. No entanto, o TPS não é uma métrica válida para comparar as redes de blockchain - tornando um desafio avaliar seu desempenho relativo. Além disso, aglomerados TPS geralmente têm um custo - levantando a questão: essas redes realmente escalam ou apenas aumentam sua taxa de transferência?
Então, vamos examinar como definir a escalabilidade, quais compensações são feitas para alcançá-la e, por que os Validity Rollups são a solução definitiva de escalabilidade.
Nem todas as transações são iguais
Em primeiro lugar, precisamos estabelecer nossa afirmação de que a métrica simples e conveniente do TPS não é uma medida precisa de escalabilidade.
Para compensar os nós pela execução de transações (e impedir os usuários de enviar spam à rede com computação desnecessária), as blockchains cobram uma taxa proporcional à carga computacional imposta à blockchain. Na Ethereum, a complexidade da carga computacional é medida em gas. Como o gas é uma medida muito prática da complexidade da transação, o termo também será usado ao longo deste artigo para blockchains não-Ethereum, embora seja tipicamente específico do Ethereum.
As transações diferem significativamente em complexidade, portanto, em quanto gas elas consomem. Bitcoin, o pioneiro das transações ponto a ponto trustless (livre de confiança), suporta apenas o script Bitcoin rudimentar. Essas transferências simples de endereço para endereço usam pouco gas. Em contraste, chains de smart contracts como Ethereum ou Solana suportam uma máquina virtual e linguagens de programação Turing-complete que permitem transações muito mais complexas. Portanto, dApps como o Uniswap exigem muito mais gas.
É por isso que não faz sentido comparar o TPS de diferentes blockchains. O que devemos comparar é a capacidade de computação – ou rendimento.
Todos os Blockchains têm um tamanho de bloco (variável) e um tempo de bloco que determinam quantas unidades de computação podem ser processadas por bloco e quão rápido um novo bloco pode ser adicionado. Juntas, essas duas variáveis determinam a taxa de transferência de uma blockchain.
O que restringe a escalabilidade?
As Blockchains se esforçam para ser redes inclusivas e descentralizadas ao máximo. Para conseguir isso, duas propriedades fundamentais devem ser mantidas sob controle.
1. Requisitos de Hardware
A descentralização de uma rede blockchain é determinada pela capacidade de o nó mais fraco da rede verificar a blockchain e manter seu estado. Portanto, os custos para executar um nó (hardware, largura de banda e armazenamento) devem ser mantidos o mais baixo possível para permitir que o maior número possível de indivíduos se tornem participantes não-permissionados na rede trustless.
2. Crescimento do Estado
O crescimento do estado refere-se à rapidez com que a blockchain cresce. Quanto mais taxa de transferência uma blockchain permitir por unidade de tempo, mais rápido a blockchain crescerá. Os nós completos armazenam o histórico da rede e devem conseguir validar o estado da rede. O estado da Ethereum é armazenado e referenciado usando estruturas eficientes, como árvores. À medida que o estado cresce, novas folhas e galhos são adicionados a ele, tornando cada vez mais complexa e demorada a execução de determinadas ações. À medida que a chain cresce, piora a execução do pior caso pelos nós, levando a um tempo sempre crescente para validar novos blocos. Com o tempo, isso também aumenta o tempo total necessário para que um nó completo seja sincronizado.
Impactos prejudiciais do aumento da taxa de transferência
1. Contagem de Nós
Os requisitos mínimos para executar e contar um nó são:
Bitcoin¹: 350 GB de espaço em disco rígido, conexão de 5 Mbit/s, 1 GB de RAM, CPU >1 Ghz. Número de nós: ~10.000
Ethereum²: mais de 500 GB de espaço em disco SSD, conexão de 25 Mbit/s, 4 a 8 GB de RAM, CPU de 2 a 4 núcleos. Número de nós: ~6.000
Solana³: 1,5 TB+ de espaço em disco SSD, conexão de 300 Mbit/s, 128 GB de RAM CPU 12+ núcleos. Número de nós: ~1.200
Observe que quanto maiores os requisitos de CPU, largura de banda e armazenamento, menor será o número de nós necessários para a taxa de transferência de uma blockchain - levando a uma descentralização mais fraca e a uma rede menos inclusiva.
2. Hora de sincronizar um nó completo
Ao executar um nó pela primeira vez, ele deve sincronizar com todos os nós existentes, baixar e validar o estado da rede desde o início do bloco até a ponta da chain. Esse processo deve ser o mais rápido e eficiente possível para permitir que qualquer pessoa atue como participante não-permissionado do protocolo.
Tomando como indicador o nó do Bitcoin em 2020 e o teste de sincronização do nó em 2021, a Tabela 1 compara o tempo necessário para sincronizar um nó completo de Bitcoin vs. Ethereum vs. Solana em um PC médio de consumo.
Tabela 1. Comparação de taxa de transferência de blockchain e sincronização de nó
Tabela 1 demonstra que aumentar a taxa de transferência leva a tempos de sincronização mais longos porque mais dados precisam ser processados e armazenados.
Embora as melhorias no software do nó sejam constantemente feitas para mitigar o desafio da crescente blockchain (redução do espaço de disco, velocidades de sincronização mais rápidas, maior resiliência a falhas, modularização de certos componentes, etc.), os nós evidentemente ainda não conseguem acompanhar o aumento da taxa de transferência.
Como deve ser definida a escalabilidade?
Escalabilidade é o termo mais deturpado no espaço blockchain. Embora o aumento da taxa de transferência seja desejável, é apenas uma parte do quebra-cabeça.
Escalabilidade significa mais transações para o mesmo hardware.
Por esse motivo, a escalabilidade pode ser separada em duas categorias.
Escalabilidade do sequenciador
O sequenciamento descreve o ato de ordenar e processar transações em uma rede. Conforme estabelecido anteriormente, qualquer blockchain poderia aumentar trivialmente sua taxa de transferência aumentando o tamanho do bloco e diminuindo seu tempo de bloqueio – até um ponto em que o impacto negativo em sua descentralização seja considerado muito significativo. Mas ajustar esses parâmetros simples não fornece as melhorias necessárias. O EVM da Ethereum pode, em teoria, lidar com até ~2.000 TPS, o que é insuficiente para atender a demanda de espaço de bloco de longo prazo. Para dimensionar o sequenciamento, a Solana fez algumas inovações impressionantes: aproveitando um ambiente de execução paralelizável e um mecanismo de consenso inteligente, que permite uma taxa de transferência muito mais eficiente. Mas, apesar de suas melhorias, não é suficiente nem escalável. À medida que a Solana aumenta sua taxa de transferência, os custos de hardware para executar um nó e processar transações também aumentam.
Escalabilidade da Verificação
Descreve abordagens que aumentam o rendimento sem sobrecarregar os nós com custos de hardware crescentes. Especificamente, refere-se a inovações criptográficas como provas de validade. Eles são a razão pela qual o Validity Rollups pode escalar uma blockchain de forma sustentável.
O que é um Validity Rollup?
Os Validity Rollups (também conhecidos como “ZK-Rollups”) movem a computação e o armazenamento de estado off-chain, mas mantêm uma pequena quantidade de determinados dados on-chain. Um smart contract no blockchain subjacente mantém a raiz do estado do Rollup. No Rollup, um lote de transações altamente compactadas, com a raiz do estado atual, é enviado para um Prover off-chain. O Prover calcula as transações, gera uma prova de validade dos resultados e a nova raiz do estado e a envia para um verificador on-chain. O Verificador verifica a prova de validade e o smart contract que mantém o estado do Rollup o atualiza para o novo estado fornecido pelo Prover.
Como os Validity Rollups são dimensionados com os mesmos requisitos de hardware?
Embora os Provers exigem hardware de ponta, eles não afetam a descentralização de uma blockchain; porque a validade das transações é garantida por provas matematicamente verificáveis.
O que importa são os requisitos para verificar as provas. Como os dados envolvidos são altamente compactados e amplamente abstraídos por meio da computação, seu impacto nos nós da blockchain subjacente é mínimo.
Os verificadores (nós Ethereum) não exigem hardware de ponta e o tamanho dos lotes não aumenta os requisitos de hardware. Apenas transições de estado e uma pequena quantidade de dados de chamada precisam ser processados e armazenados pelos nós. Isso permite que todos os nós da Ethereum verifiquem os lotes do Validity Rollup usando seu hardware existente.
Quanto mais transações, mais barato fica
Em blockchains tradicionais, quanto mais transações acontecem, mais caro fica para todos à medida que o espaço do bloco é preenchido - e os usuários precisam se superar em um mercado de taxas para incluir suas transações.
Para um Validity Rollups, essa dinâmica é invertida. Verificar um lote de transações na Ethereum tem um certo custo. À medida que o número de transações dentro de um lote cresce, o custo para verificar o lote cresce a uma taxa exponencialmente mais lenta. Adicionar mais transações a um lote leva a taxas de transação mais baratas, embora o custo de verificação do lote aumente — porque é amortizado entre todas as transações no lote. Os Validity Rollup querem o maior número possível de transações dentro de um lote — para que a taxa de verificação possa ser compartilhada entre todos os usuários. À medida que o tamanho do lote cresce ao infinito, a taxa amortizada por transação converge para zero, ou seja, quanto mais transações em um Validity Rollup, mais barato fica para todos.
dYdX, um dApp desenvolvido por um Validity Rollup, frequentemente vê tamanhos de lote de mais de 12.000 transações. Comparando o consumo de gas das mesmas transações na Mainnet vs. em um Validity Rollup ilustra os ganhos de escalabilidade:
Liquidação de uma transação dYdX na Ethereum Mainnet: 200.000 gas
Liquidação de uma transação dYdX na StarkEx: <500 gas
Outra maneira de ver: o custo principal dos Validity Rollups se nivela linearmente com o número de usuários no mesmo lote.
Por que os Optimistic Rollups não são tão escaláveis quanto se pode pensar
Em teoria, os Optimistic Rollups, fornecem quase os mesmos benefícios de escalabilidade que os Validity Rollup. Mas há uma diferença importante: os Optimistic Rollup, otimizam para o caso médio, enquanto os Validity Rollups otimizam para o pior caso. Como os sistemas blockchain operam em condições extremamente adversas, otimizar para o pior caso é a única maneira de obter segurança.
No pior caso do Optimistic Rollup, as transações de um usuário não serão verificadas por verificadores de fraude. Portanto, para contestar a fraude, o usuário precisa sincronizar um nó completo Ethereum, um nó completo L2 e calcular a transação suspeita por conta própria.
No pior caso do Validity Rollup, um usuário precisaria apenas sincronizar um nó completo Ethereum para verificar a prova de validade, economizando o ônus computacional.
Ao contrário dos Validity Rollups, o custo dos Optimistic Rollup se nivela linearmente com o número de transações em vez do número de usuários, tornando-os mais caros.
Peça final do quebra-cabeça — Acesso não permissionado ao estado de rollup
Para garantir a validade das transações, os usuários precisam executar apenas um nó Ethereum. No entanto, usuários e desenvolvedores podem querer visualizar e executar o estado e a execução do Rollup para vários propósitos. Um nó de indexação L2 atende perfeitamente a essa necessidade. Não apenas permite que os usuários vejam as transações na rede, mas também é uma parte crítica da infraestrutura necessária para o funcionamento da infraestrutura do ecossistema. Indexadores como The Graph, Alchemy, Infura; Redes Oracle como Chainlink e exploradores de blocos, todos eles são totalmente suportados por um nó L2 de indexação não-permissionado.
Conclusão
Muitas abordagens para lidar com a escalabilidade do blockchain focam falsamente no aumento da taxa de transferência. Mas isso negligencia o impacto das taxas de transferência nos nós: os requisitos de hardware crescentes para processar blocos e armazenar o histórico da rede e como isso inibe a descentralização de uma rede.
Com o advento da criptografia à prova de validade, um blockchain pode alcançar a verdadeira escalabilidade que não sobrecarrega os nós com custos crescentes e permite uma ampla descentralização. Mais transações com cálculos poderosos e mais complexos para o mesmo hardware agora são possíveis, invertendo o dilema do mercado de taxas no processo - quanto mais atividade em um Validity Rollup, mais barato ele fica!
SwagtimusPrime.eth e Louis Guthmann
Este artigo é uma tradução do StarkWare feita por Arnaldo Campos. Você pode encontrar o artigo original aqui.
Latest comments (0)