Sharding: o que é e qual a sua importância para a blockchain?

Se você acompanha o mundo das criptomoedas, já deve ter ouvido falar sobre os problemas de escalabilidade que algumas blockchains possuem. O crescente fluxo nessas redes faz com que muitas delas percam eficiência e se tornem mais caras para os usuários.

Esse problema pode ser resolvido com o sharding, uma técnica de gerenciamento de banco de dados cada vez mais presente nas blockchains. Entender a importância do sharding ajudará também na hora de escolher criptoativos para investir.

A seguir, saiba o que é e como funciona essa técnica!

O que é sharding?

Tecnicamente, sharding significa uma fragmentação ou divisão horizontal de banco de dados. Em outras palavras, isso acontece quando um banco de dados muito grande é dividido em partes menores, com o objetivo de facilitar o gerenciamento de cada um deles.

Embora o termo tenha ganhado ênfase nos últimos tempos por causa da blockchain, o sharding não é um conceito novo. Esse processo de gerenciamento de banco de dados existe, pelo menos, desde o final dos anos 90.

Um exemplo de utilização dessa técnica é quando uma empresa possui clientes em diversas regiões. Para melhor gerenciar a sua carteira, ela agrupa esses clientes de acordo com suas respectivas regiões em servidores próprios.

Como funciona o sharding na blockchain

Quando se aplica essa técnica à blockchain, a rede é dividida em shards, ou seja, em fragmentos individuais.

Imagine que uma rede tenha 10 mil nodes (ou nós). Cada um desses nodes precisa armazenar uma cópia inteira da blockchain, para que possa verificar e processar cada transação que acontece dentro da rede.

Além de armazenarem todo o histórico de transações, os nodes devem ser permanentemente atualizados, à medida que mais informações são adicionadas na rede. Essa estrutura proporciona segurança à rede, mas faz com que esses bancos de dados fiquem muito pesados, o que demanda cada vez mais energia e prejudica a velocidade das transações.  

O papel do sharding na blockchain é justamente proporcionar a cada node a capacidade de processar mais informações do que a rede como um todo. Ou seja, cada node passa a armazenar somente um pedaço da rede. Dessa forma, ao invés de um node calcular todas as transações, ele só vai calcular uma parte da computação.

Voltemos ao exemplo dos 10 mil nodes. Se eles forem divididos em 10 partes iguais (10 grupos com mil nodes cada um), poderíamos ter cerca de 10 vezes mais transações rodando em paralelo, como se fossem 10 blockchains diferentes.

Tecnicamente, diz-se que o sharding transforma o modelo de “execução linear” (no qual um node precisa calcular todas as operações) em um modelo de “execução paralelo” (quando cada node processa somente determinadas transações). Isso faz com que seja possível processar, ao mesmo tempo, diversas operações paralelas.

Tudo isso faz com que a rede se torne mais escalável, que consiga realizar mais transações de forma mais rápida. Dessa forma, as taxas de processamento também acabam ficando mais baratas.

Riscos do sharding 

Os principais riscos que a técnica apresenta dizem respeito aos quesitos de comunicação e de segurança. Vejamos na prática como isso funciona.

Risco de comunicação 

Quando uma rede blockchain é fragmentada, cada uma dessas partes se separa da original e forma uma nova rede. Dessa forma, usuários e aplicativos das novas redes que surgiram não conseguem se comunicar entre si. Para que isso aconteça, é necessária a implementação de uma camada adicional na rede, o que torna o processo mais complexo para os desenvolvedores.

Risco de segurança

Se, por um lado, a segmentação melhora a escalabilidade da blockchain, por outro a deixa mais vulnerável ao ataque de hackers. Isso porque é bem mais fácil para invasores controlarem um fragmento em vez de toda a rede, pois é preciso um poder de hash bem menor.

Quando um fragmento é invadido, há o risco de os hackers enviarem transações inválidas para a blockchain principal. Além disso, pode ser que as informações do segmento invadido sejam perdidas de forma definitiva.

Além do sharding, que outras soluções poderiam melhorar a escalabilidade?

Basicamente, há duas alternativas ao sharding sugeridas por desenvolvedores. Uma delas é o aumento do tamanho do bloco de transações. A outra é a utilização de altcoins. Vejamos como cada uma delas funcionaria na prática

Aumento do bloco de transações

Teoricamente, blocos maiores são capazes de executar um maior número de transações, o que aumenta também a sua velocidade de processamento. No entanto, isso também requer maior capacidade computacional.

Se os blocos começassem a ser aumentados indefinidamente, somente computadores de alta potência poderiam atuar como nodes para processar as transações. Naturalmente, esses equipamentos são bem mais caros, o que centralizaria os pools (grupos de mineradores que se juntam para aumentar o seu poder computacional), e a centralização pode aumentar as chances de ataques de hackers.

Utilização de altcoins

Outra sugestão é utilizar altcoins para que cada uma execute as transações em suas próprias redes. Dessa forma, não seria sobrecarregada uma única blockchain, o que melhoraria o desempenho da rede como um todo.

No entanto, novamente aqui ocorreria o risco à segurança das transações, por causa da divisão do poder de hash em várias blockchains. Em outras palavras, seria muito mais fácil invadir a rede, pois seria necessário menos poder de hash para isso, o que não torna essa alternativa algo viável.

Esse foi um resumo sobre o que é o sharding, e qual a sua importância para a escalabilidade das criptomoedas. Se você quiser saber mais sobre criptomoedas, acesse a nossa seção de criptoativos, e dê uma olhada também nos conteúdos abaixo!

Você também pode gostar desses artigos

library_booksTodos os artigosVoltar para o topo