Fragmentação
O que é fragmentação?
Sharding é uma técnica de particionamento de banco de dados usada por empresas de blockchain com o objetivo de escalabilidade, permitindo que processem mais transações por segundo. O sharding divide a rede inteira de uma empresa de blockchain em partições menores, conhecidas como “shards”. Cada fragmento é composto por seus próprios dados, o que o torna distinto e independente quando comparado a outros fragmentos.
O sharding pode ajudar a reduzir a latência ou lentidão de uma rede, pois divide uma rede blockchain em fragmentos separados. No entanto, existem algumas questões de segurança em torno do sharding em que os shards podem ser atacados.
Principais vantagens
- Sharding é uma técnica de particionamento de banco de dados considerada por redes blockchain e testada pela Ethereum.
- Quanto mais usuários as redes blockchain assumem, mais lenta a rede se torna, levando a uma latência significativa.
- O sharding pode melhorar a latência da rede dividindo uma rede blockchain em fragmentos separados – cada um com seus próprios dados, separados de outros fragmentos.
- As preocupações de segurança em torno do sharding incluem um hack ou controle de shard, em que um shard ataca outro, resultando em perda de informações.
Entendendo a fragmentação
As redes blockchain e suas respectivas criptomoedas estão ganhando popularidade devido à ampla aplicação da tecnologia, que inclui o gerenciamento da cadeia de suprimentos e transações financeiras. À medida que a popularidade do blockchain cresce, o mesmo acontece com a carga de trabalho e o volume transacional gerenciado pela rede. Se pensarmos em um blockchain como um banco de dados compartilhado, à medida que mais e mais dados são adicionados, a rede precisa encontrar novas maneiras de processar todos esses dados com eficiência e rapidez, e é aí que o sharding pode ajudar.
Livro razão distribuído
O livro razão distribuído da tecnologia blockchain o torna atraente, pois permite que as transações sejam compartilhadas de forma consensual em vários locais e geografias. Conforme as transações são registradas, cópias são enviadas para a rede compartilhada em segundos, criando “testemunhas” públicas. Se uma parte da rede for vítima de fraude ou ataque malicioso, os participantes da rede compartilhada podem identificar o que foi alterado pelos fraudadores, pois todos eles mantêm uma cópia das transações do razão. Como resultado, a tecnologia blockchain e seu sistema de contabilidade distribuído podem ajudar a reduzir fraudes e limitar os danos de ataques cibernéticos, como um hack.
Escalabilidade
No entanto, um dos principais desafios da tecnologia blockchain é que, à medida que mais computadores são adicionados à rede e mais transações são processadas, a rede pode ficar paralisada, tornando o processo mais lento – chamado de latência. A latência é um obstáculo para o blockchain que está sendo adotado para uso generalizado, especialmente quando comparado aos atuais sistemas de pagamento eletrônico que funcionam de forma rápida e eficiente. Em outras palavras, a escalabilidade é um desafio para o blockchain, uma vez que as redes podem não ser capazes de lidar com as maiores quantidades de dados e fluxo de transações à medida que mais e mais indústrias adotam a tecnologia.
Uma das soluções que estão sendo consideradas para criar escalabilidade livre de latência é o processo de fragmentação. O sharding foi projetado para distribuir a carga de trabalho de uma rede em partições, o que pode ajudar a reduzir a latência e permitir que mais transações sejam processadas pelo blockchain.
Três características que as redes blockchain procuram empregar são descentralização, escalabilidade e segurança.
Como a fragmentação é realizada
Antes de explorar como a fragmentação é realizada em uma rede blockchain, é importante revisar como os dados são armazenados e processados atualmente.
Nós Blockchain
Atualmente, no blockchain, cada nó em uma rede deve processar ou manipular todos os volumes de transação dentro da rede. Os nós em um blockchain são independentes e responsáveis por manter e armazenar todos os dados em uma rede descentralizada. Em outras palavras, cada nó deve armazenar informações críticas, como saldos de contas e histórico de transações. As redes blockchain foram estabelecidas de forma que cada nó deve processar todas as operações, dados e transações na rede.
Embora garanta a segurança de um blockchain, armazenando todas as transações em todos os nós, esse modelo retarda consideravelmente o processamento da transação. Velocidades lentas para o processamento de transações não são um bom presságio para um futuro no qual o blockchain se tornará responsável por milhões de transações.
O sharding pode ajudar, pois divide ou distribui a carga de trabalho transacional de uma rede blockchain para que cada nó não precise manipular ou processar toda a carga de trabalho do blockchain. De certa forma, a fragmentação compartimentaliza a carga de trabalho em partições ou fragmentos.
Particionamento Horizontal
A fragmentação pode ser realizada por meio do particionamento horizontal de bancos de dados por meio da divisão em linhas. Fragmentos, como as linhas são chamadas, são conceituados com base em características. Por exemplo, um fragmento pode ser responsável por armazenar o estado e o histórico de transações para um tipo específico de endereço. Além disso, pode ser possível dividir shards com base no tipo de ativo digital armazenado neles. As transações envolvendo esse ativo digital podem ser possíveis por meio de uma combinação de fragmentos.
Como exemplo, considere uma transação imobiliária de aluguel na qual vários fragmentos estão envolvidos. Esses shards correspondem a diferentes entidades envolvidas na transação, desde o nome do cliente até as chaves digitais configuradas em um bloqueio inteligente que é disponibilizado ao locatário no momento do pagamento do aluguel.
Shard Sharing
Cada fragmento ainda pode ser compartilhado entre os outros fragmentos, o que mantém um aspecto-chave da tecnologia de blockchain – o razão descentralizado. Em outras palavras, o razão ainda está acessível a todos os usuários, permitindo que eles vejam todas as transações do razão.
Sharding e Segurança
Um dos principais problemas que surgiram na prática é a segurança. Embora cada fragmento seja separado e processe apenas seus próprios dados, há uma preocupação de segurança em relação à corrupção dos fragmentos, onde um fragmento assume o controle de outro fragmento, resultando em uma perda de informações ou dados.
Se pensarmos em cada fragmento como sua própria rede de blockchain com seus usuários e dados autenticados, um hacker ou através de um ataque cibernético poderia assumir o controle de um fragmento. O invasor pode então introduzir transações falsas ou um programa malicioso.
A Ethereum, uma das empresas de blockchain mais proeminentes, está na linha de frente dos testes de fragmentação como uma possível solução para problemas de latência e escalabilidade. Ethereum combateu o potencial de um ataque de fragmentos ao atribuir nós aleatoriamente a certos fragmentos e reatribuí-los constantemente em intervalos aleatórios. Essa amostragem aleatória tornaria difícil para os hackers saberem quando e onde corromper um fragmento.
Além disso, é importante observar que a fragmentação ainda está na fase inicial de teste para ser usada em redes blockchain. Como resultado, todos os possíveis problemas e desafios ainda precisam ser resolvidos.