A fragmentação divide o trabalho de um sistema em partes chamadas shards. Em blockchains, a divisão pode envolver execução de transações, estado armazenado, responsabilidades de rede ou disponibilidade de dados. Esses modelos são relacionados, mas não intercambiáveis: dividir processamento não significa necessariamente dividir todos os dados armazenados.
Trabalho paralelo exige coordenação
Em um modelo de estado fragmentado, grupos diferentes podem manter e processar subconjuntos distintos de contas ou dados. Isso pode reduzir o trabalho por nó e aumentar a capacidade agregada pelo processamento paralelo.
Uma transferência entre contas de shards diferentes ainda exige coordenação. O protocolo precisa comunicar resultados e preservar regras consistentes de gasto em todo o sistema. Portanto, acrescentar shards não multiplica automaticamente a vazão útil pelo mesmo fator.
A segurança também depende de impedir que um atacante controle um shard e de garantir a disponibilidade dos dados necessários. Atribuição e redistribuição de validadores, além de mensagens entre shards, introduzem complexidade e sobrecarga próprias.
A abordagem distinta do Ethereum
A escalabilidade atual do Ethereum se concentra em rollups e dados blob, com PeerDAS distribuindo responsabilidades de disponibilidade de dados entre nós. O antigo plano de cadeias separadas de shards de execução não faz mais parte do roteiro.
Assim, “sharding do Ethereum” precisa de contexto: amostragem de dados para rollups difere de dividir a execução do Ethereum em cadeias de shards independentes. Benefícios e premissas de segurança devem ser avaliados conforme o desenho real.