O que é sharding na blockchain? Como funciona?

Author logo
Patrick Dike-Ndulue
Post image

Principais insights

Sharding é uma técnica de escalonamento de bancos de dados que divide a blockchain em segmentos menores, chamados shards, permitindo o processamento paralelo de transações e aumentando a capacidade da rede. Embora essa abordagem possa melhorar muito a escalabilidade e a eficiência, ela traz desafios como comunicação complexa entre shards e riscos maiores de segurança, já que shards individuais ficam mais vulneráveis a ataques. Redes como Zilliqa, NEAR e Ethereum estão explorando o sharding, que, se superar suas limitações, pode ajudar a resolver o trilema da blockchain ao permitir escalabilidade sem comprometer descentralização ou segurança.

Um dos maiores desafios para desenvolvedores de bancos de dados é o escalonamento. À medida que o volume de dados e o número de operações aumentam, o desempenho do sistema também precisa ser aprimorado.

Sharding é uma tecnologia de escalonamento baseada na divisão de bancos de dados em segmentos separados, que podem ser hospedados em servidores diferentes.

Aplicando essa tecnologia à blockchain, sharding significa dividir a rede em setores independentes. Cada setor, ou shard, contém um conjunto único de smart contracts e saldos de contas, e nós específicos da rede são atribuídos a cada shard. 

Esses nodes são responsáveis por verificar transações apenas em seu shard atribuído, em vez de todas as transações na blockchain.

Quais problemas o sharding resolve?

Quanto mais popular um projeto se torna, mais usuários ele atrai. Esses usuários realizam mais transações, lançam mais DApps e executam mais processos na rede. Como resultado, a velocidade das transações diminui e as taxas aumentam, dificultando a expansão e o desenvolvimento futuro do projeto. Dividir a rede em shards permite resolver esse problema ao aumentar a capacidade de processamento da blockchain.

Quando um grupo de nodes é responsável por um segmento específico do registro, todos os nodes da rede ficam livres da obrigação de manter toda a blockchain para cada transação ser concluída. As operações são validadas em paralelo, não de forma linear, aumentando a capacidade da rede e eliminando o problema de escalabilidade.

Além disso, nodes de blockchain que usam sharding trabalham de forma mais eficiente sem aumentar o poder computacional, graças à carga reduzida.

Como tudo funciona

Blockchains exigem o trabalho de milhares de computadores para funcionar, e esse poder computacional permite que os registros distribuídos realizem transações, executem smart contracts, implementem DApps e mais. Se a rede operar com execução sequencial, cada node precisa processar todas as transações. A verificação das operações, portanto, leva muito tempo. O Ethereum, por exemplo, processa até 10 transações por segundo.

Se mais nodes forem adicionados à blockchain, o desempenho não aumenta. O que acontece é que a cadeia de verificação fica mais longa.

O princípio do sharding está em abandonar o modelo de execução linear em favor de um modelo paralelo, no qual os shards realizam apenas certos cálculos e processam muitas transações ao mesmo tempo. Eles funcionam como uma espécie de “blockchain dentro da blockchain”, transferindo todas as informações para a cadeia principal, ainda que em formato comprimido.

As desvantagens do sharding

Existem dois problemas principais no sharding: comunicação entre shards e segurança. 

  1. Comunicação. Se a rede for dividida em setores isolados, cada um se torna, na prática, uma blockchain separada. Usuários e aplicações descentralizadas em um shard só poderão se comunicar com outros shards usando um protocolo de comunicação específico.
     
  2. Segurança. Em uma rede sharded, é muito mais fácil assumir o controle total de um shard do que de toda a rede sem sharding, já que o poder computacional necessário é muito menor. Por exemplo, um ataque de 51% à rede Bitcoin exigiria bilhões de dólares em hardware e centenas de milhões em eletricidade por dia. Isso é caro, inviável e pouco lucrativo. Já capturar um único shard é muito mais barato e simples.

O sharding não é uma solução perfeita. Ele traz complexidades e preocupações de segurança. Hackers podem explorar um shard isolado dentro de uma blockchain segmentada, já que é necessário menos poder computacional para controlar seções individuais. Isso pode resultar em transações maliciosas que afetam toda a rede.

Além disso, como diferentes grupos de nodes gerenciam diferentes segmentos da blockchain, cada shard opera essencialmente como uma rede separada. Mecanismos especiais são necessários para permitir uma comunicação eficiente entre esses segmentos.

Uma implementação inadequada pode causar problemas como o double-spending, que impacta significativamente a segurança da rede. O sharding também é difícil de implementar em blockchains já existentes, pois envolve dividir a rede e realocar dados.

O Ethereum oferece uma solução para esse problema usando amostragem aleatória. Protocolos de shards são atribuídos aleatoriamente a diferentes seções para confirmar a autenticação dos blocos. Isso foi possível graças à mudança da rede para o consenso proof-of-stake.

Redes que já utilizam sharding

A primeira rede a introduzir o sharding foi a Zilliqa. Ela se apresenta como uma plataforma de blockchain que busca resolver problemas de escalabilidade com sharding. No estágio de testnet, atingiu 2.828 transações por segundo.

O ecossistema blockchain NEAR se define como uma blockchain PoS sharded e afirma que sua tecnologia de sharding suporta nodes pequenos o suficiente para rodar em dispositivos de baixo desempenho.

O Ethereum também planeja implementar a tecnologia de sharding. Outras redes sharded incluem Cardano, QuarkChain e Plian.

Conclusão

Em teoria, a tecnologia de sharding pode finalmente resolver o trilema da blockchain, se conseguir superar suas falhas. Se isso acontecer, será possível escalar blockchains sem sacrificar descentralização ou segurança.
 

Author logo
Autor Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Analisado por Rukkayah Jigam

Writer & editor covering digital assets and product updates.