Quando estará disponível?
Cerca de 2023
A fragmentação poderá ser feita em 2023. Os fragmentos darão ao nexus mais capacidade para armazenar e acessar dados, mas não serão usados para executar código.
O que é a fragmentação (sharding)?
A fragmentação é o processo de dividir um banco de dados horizontalmente para distribuir a carga; é um conceito comum em ciências da computação. No contexto do nexus, a fragmentação funcionará sinergicamente com os rollups de camada 2, dividindo o ônus de lidar com o excesso de dados necessários para rollups em toda a rede. Isso continuará a reduzir o congestionamento da rede e aumentar as transações por segundo.
Isso é importante por outras razões além do dimensionamento.
Características da fragmentação
Todos podem executar um nó
A fragmentação é uma boa maneira de escalar se você quiser manter as coisas descentralizadas, pois a alternativa é escalar aumentando o tamanho do banco de dados existente. Isso tornaria o nexus menos acessível para os validadores de rede, pois eles precisariam de computadores potentes e caros. Com a fragmentação, os validadores não precisarão mais armazenar todos esses dados, mas poderão usar técnicas de dados para confirmar que as informações foram disponibilizadas para a rede como um todo. Isso reduz drasticamente os custos com o armazenamento de dados na camada 1, reduzindo os requisitos de hardware.
Mais participação na rede
A fragmentação eventualmente permitirá você executar o nexus em um laptop ou smartphone. Portanto, mais pessoas devem poder participar ou executar os clientes em um nexus com fragmentação. Isso aumentará a segurança pois quanto mais descentralizada for a rede, menor será a área de ataque.
Com requisitos de hardware mais baixos, a fragmentação tornará mais fácil a execução dos clientes por conta própria, sem depender de nenhum serviço intermediário. E, se puder, considere a execução de vários clientes. Isso pode ajudar a melhorar a integridade da rede reduzindo ainda mais os pontos de falha.
Cadeias de fragmentos versão 1: disponibilidade de dados
Os detalhes abaixo podem estar desatualizados com os últimos planos de desenvolvimento. Enquanto atualizamos, confira O Guia do Mochileiro para o nexus para uma excelente descrição do planejamento do nexus.
Quando as primeiras cadeias de fragmentos forem enviadas, elas apenas fornecerão dados extras para a rede. Elas não lidarão com transações ou contratos inteligentes. Mas ainda oferecerão melhorias incríveis às transações por segundo quando combinadas com rollups.
Os rollups são uma tecnologia de "camada 2" que existe hoje. Eles permitem que os dapps organizem ou façam um "rollup" das transações em uma única transação fora da cadeia, gerem uma prova criptográfica e a enviem para a cadeia. Isso reduz o volume dos dados necessários para uma transação. Combine isso com toda a disponibilidade de dados extra fornecida pelos fragmentos e obterá 100.000 transações por segundo.
Cadeias de fragmentos versão 2: código de execução
O plano sempre foi adicionar funcionalidades extras aos fragmentos para torná-los mais parecidos com a rede principal de nexus de hoje. Isso permitiria a eles armazenar e executar o código e lidar com transações, já que cada fragmento conteria seu conjunto único de contratos inteligentes e saldos das contas. A comunicação entre fragmentos permitiria transações entre fragmentos.
Mas, considerando o aumento das transações por segundo que os fragmentos na versão 1 oferecem, isso ainda precisa ser feito? Esta questão ainda está sendo debatida na comunidade e parece que existem várias opções.
Os fragmentos precisam de código de execução?
Vitalik Buterin, numa conversa com o podcast Bankless, apresentou 3 opções possíveis que merecem ser discutidas.
1. A execução do estado não é necessária
Isso significaria não darmos aos fragmentos a capacidade de lidar com contratos inteligentes e deixá-los como depósitos de dados.
2. Tenha alguns fragmentos de execução
Talvez haja um compromisso em que não precisemos que todos os fragmentos sejam mais inteligentes. Poderíamos simplesmente adicionar essa funcionalidade a alguns e deixar de lado os demais. Isso poderá acelerar o processo de entrega.
3. Esperar até que possamos fazer snarks de Conhecimento Zero (CZ)
Finalmente, talvez devamos reabrir este debate quando os snarks ZK estiverem concretizados. Essa é uma tecnologia que pode ajudar a trazer transações verdadeiramente privadas para a rede. Provavelmente, serão necessários fragmentos mais inteligentes, mas eles ainda estão em fase de pesquisa e desenvolvimento.
Outras fontes
Aqui você pode ver mais ideias sobre o mesmo tema:
- Fase 1 e o que foi feito: Eth2 como um mecanismo de disponibilidade de dados – cdetrio, ethresear.ch
Esse continua a ser um ponto de discussão ativo. Assim que soubermos mais, atualizaremos estas páginas.
Relação entre as melhorias
Todas as melhorias do nexus estão, de alguma forma, interrelacionadas. Vamos recapitular como as cadeias de fragmentos se relacionam às outras melhorias.
Fragmentos e a cadeia de blocos do nexus
A lógica para manter fragmentos seguros e sincronizados é integrada aos clientes do nexus que constroem a cadeia de blocos. Os participantes na rede serão atribuídos a fragmentos para trabalhar. Os fragmentos terão acesso a registros de outros fragmentos para poder criar uma visão do estado do nexus com a finalidade de manter tudo atualizado.