Shardeum e Fragmentação de Estado Dinâmico: outra possibilidade de fragmentação
Em 15 de setembro de 2022, o Ethereum completou a tão aguardada fusão (Merge). Este é um momento histórico, o Ethereum se preparou para isso por 5 anos, adiando 6 vezes. Devido à depuração repetida e ao longo desenvolvimento, muitas pessoas erroneamente acreditavam que a fusão traria naturalmente maior escalabilidade, segurança e sustentabilidade, mas na verdade não é assim. A transição de PoW para PoS é apenas a troca de trilhos e rodas, não trará diretamente velocidades mais rápidas, maiores capacidades ou taxas mais baixas. O que realmente pode realizar isso é um conjunto completo de soluções: uma mainnet com capacidade de Fragmentação combinada com soluções Layer2 que aumentam a escalabilidade.
Como apontado pelo fundador do Ethereum, Vitalik Buterin, a fragmentação é uma solução de escalabilidade para o dilema da escalabilidade, dividindo os nós da rede em grupos menores, processando diferentes conjuntos de transações e alcançando processamento em paralelo. Ao aliviar o fardo de lidar com a enorme quantidade de dados necessários para a consolidação em toda a rede, assim como fazemos ao fazer compras no supermercado, onde a abertura de mais caixas de pagamento pode reduzir visualmente o tempo de espera e aumentar a eficiência do checkout.
Esta é a lógica da Fragmentação, direta e simples, no entanto, o diabo está nos detalhes. O princípio e a direção estão corretos, mas na implementação sempre surgem muitos problemas. Este artigo pretende, ao esclarecer a direção e os dilemas no caminho da "Fragmentação", traçar um mapa do explorador da Fragmentação que olha para as estrelas e mantém os pés no chão. Ao mesmo tempo, ao comparar as soluções de Fragmentação existentes, encontrar algumas questões comuns e propor uma direção de exploração viável: Shardeum e Fragmentação dinâmica.
Um, sobre "Fragmentação"
De forma simples, considerando as restrições do triângulo impossível, partindo do Ethereum como ponto de origem (0,0), de acordo com duas abordagens: "vertical" e "horizontal", dividimos os métodos de escalabilidade atuais da blockchain em duas grandes categorias:
Escalabilidade Vertical(: alcançada através do aumento do desempenho do hardware existente do sistema. Estabelece-se uma rede descentralizada, onde cada nó da rede possui capacidade de supercomputação, ou seja, cada nó requer hardware "melhor". Essa abordagem é simples e eficaz, podendo alcançar melhorias iniciais na capacidade de processamento, especialmente adequada para negociação de alta frequência, jogos e outras aplicações sensíveis à latência. No entanto, essa forma de escalabilidade limita o nível de descentralização da rede, uma vez que o custo de operar nós de validação ou nós completos aumenta. Manter o nível de descentralização é limitado pela taxa aproximada de crescimento do desempenho do hardware de computação), o que é conhecido como "Lei de Moore": o número de transistores em um chip dobra a cada dois anos, enquanto o custo de computação é reduzido pela metade(.
Fragmentação)Escalabilidade Horizontal(: A escalabilidade horizontal geralmente tem algumas abordagens. Uma delas, no contexto da blockchain, é distribuir a carga de transações em um determinado ecossistema por várias blockchains independentes, onde cada cadeia possui seus próprios produtores de blocos e capacidade de execução. Essa abordagem permite personalizar completamente a camada de execução de cada cadeia, como requisitos de hardware dos nós, funcionalidades de privacidade, taxas de gas, máquinas virtuais e configurações de permissão, entre outros. Outra solução de escalabilidade horizontal é a blockchain modular, que divide a infraestrutura da blockchain em uma camada de execução, uma camada de disponibilidade de dados)DA( e uma camada de consenso. O mecanismo modular de blockchain mais popular é o rollup. Há também a possibilidade de dividir uma blockchain em muitos fragmentos, executando-os em paralelo. Cada fragmento pode ser visto como uma blockchain, o que significa que muitas blockchains podem ser executadas em paralelo. Além disso, geralmente há uma cadeia principal, cuja única tarefa é manter todos os fragmentos sincronizados.
É importante notar que as abordagens de escalabilidade acima não existem de forma isolada; cada uma das soluções encontra um ponto de equilíbrio no triângulo impossível, combinando o design de mecanismos de incentivo criados pelas forças econômicas do sistema para alcançar um equilíbrio eficaz em níveis macro e micro.
Para discutir "Fragmentação", precisamos começar do zero.
Ainda assumindo um cenário em que, ao fazer compras num supermercado, para aumentar a eficiência do checkout e reduzir o tempo de espera dos clientes, expandimos de um único ponto de pagamento para 10 janelas de checkout, a fim de evitar erros nos livros de contas, precisamos estabelecer regras uniformes neste momento:
Primeiro, se tivermos 10 caixas, como devemos distribuí-los para trabalhar em qual janela?
Em segundo lugar, se tivermos 1000 clientes na fila à espera, como decidimos a qual caixa cada cliente vai?
Terceiro, como devemos consolidar os 10 livros contábeis correspondentes a essas 10 janelas?
Quarto, como evitar que os caixas cometam erros para prevenir discrepâncias nas contas?
Estas questões correspondem, na verdade, a algumas questões-chave na Fragmentação, que são:
Como determinar a quais fragmentações pertencem os nós/validadores da rede? Ou seja: como realizar a fragmentação da rede )Network Sharding(;
Como determinar a que fragmentação cada transação é atribuída? Ou seja: como realizar a fragmentação de transações )Transaction Sharding(;
Como os dados da blockchain são armazenados em diferentes Fragmentações? Ou seja: como realizar a Fragmentação de Estado )State Sharding(;
A complexidade implica riscos, com base em tudo isso, como evitar a fragmentação da segurança do sistema inteiro?
![Explicação detalhada da nova blockchain Shardeum: Fragmentação de outra possibilidade])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Fragmentação###Network Sharding(
Se entendermos a blockchain de forma simples como um livro razão descentralizado, tanto os mecanismos de consenso PoS quanto PoW servem para que os diversos nós disputem o direito de registrar de acordo com determinadas regras estabelecidas, garantindo a precisão do livro razão nesse processo. A fragmentação da rede refere-se à necessidade de outra regra estabelecida, que divide a rede blockchain em fragmentos, permitindo que cada fragmento processe transações na cadeia, disputando o direito de registrar - ou seja, a regra de agrupamento dos nós.
E o problema encontrado nesse processo é que, à medida que os nós internos da blockchain são divididos em diferentes fragmentos, a dificuldade e o custo para os atacantes diminuem drasticamente. Podemos inferir que, assumindo que as regras e resultados desse processo de agrupamento são fixos e previsíveis, um atacante que deseja controlar toda a rede da blockchain só precisa controlar direcionadamente um dos fragmentos, subornando alguns dos nós dentro do fragmento.
Um fundador de uma cadeia pública descreveu assim o problema: se uma única cadeia com X validadores decide fazer um hard fork em uma cadeia de fragmentação e divide os X validadores em 10 fragmentos, cada fragmento agora tem apenas X/10 validadores, para destruir um fragmento é necessário destruir 5,1%)51% / 10( do total de validadores. Isso leva ao segundo ponto: quem escolhe os validadores para cada fragmento? Apenas quando todos esses 5,1% dos validadores estão no mesmo fragmento, controlar 5,1% dos validadores é prejudicial. Se os validadores não puderem escolher em qual fragmento validar, é extremamente improvável que um participante que controla 5,1% dos validadores coloque todos os validadores no mesmo fragmento, reduzindo assim significativamente sua capacidade de prejudicar o sistema.
O sistema de fragmentação deve desenvolver um mecanismo para confiar que a rede não reverterá essas transações a partir de fragmentos externos. Até agora, a melhor resposta pode ser garantir que o número de validadores dentro de um fragmento seja superior a um determinado limite mínimo, de forma que a probabilidade de validadores desonestos dominarem um único fragmento seja muito baixa. A maneira mais comum é construir um certo grau de aleatoriedade imparcial, utilizando métodos matemáticos para minimizar a probabilidade de sucesso dos atacantes. Por exemplo, no Ethereum, a solução do Ethereum é selecionar aleatoriamente um validador para um determinado fragmento a partir de todos os validadores, e a cada 6.4 minutos ), a duração de um epoch (, os validadores são trocados.
Dizendo de forma simples, é agrupar aleatoriamente os nós e depois distribuir o trabalho para que os nós de cada grupo verifiquem de forma independente.
No entanto, é importante notar que a aleatoriedade na blockchain é um tópico muito desafiador, pois, logicamente, o processo de geração desse número aleatório não deve depender do cálculo de qualquer fragmentação específica. Para esse cálculo, muitas das abordagens de design existentes são desenvolver uma blockchain separada para manter toda a rede. Essas cadeias são chamadas de Beacon chain no Ethereum e Near, Relay chain no PolkaDot e Cosmos Hub no Cosmos.
A fragmentação de transações refere-se à formulação de regras sobre "quais transações devem ser atribuídas a quais fragmentos", que pode alcançar o objetivo de processamento paralelo e evitar a ocorrência de problemas de gasto duplo. As diferentes modelos de livro-razão da blockchain podem impactar o desenvolvimento da fragmentação de transações.
Atualmente, existem duas categorias de métodos de contabilização na rede blockchain, que são o modelo de Saídas de Transação Não Gastas (UTXO)) e o modelo de conta/saldo, sendo o primeiro representado tipicamente pelo BTC e o segundo pelo ETH.
Modelo UTXO: Nas transações BTC, cada transação terá uma ou mais saídas. UTXO refere-se às saídas de transações na blockchain que ainda não foram gastas e podem ser utilizadas como entradas para novas transações, enquanto as saídas de transações já gastas não podem ser reutilizadas, semelhante ao pagamento e troco em transações com dinheiro em papel. O cliente entrega uma ou mais notas ao comerciante, que então devolve uma ou mais notas como troco ao cliente. No modelo UTXO, a fragmentação das transações requer comunicação entre fragmentos. Uma transação pode incluir várias entradas e várias saídas, não há o conceito de conta e não haverá registro de saldo. Uma maneira possível é: colocar o valor de uma das entradas da transação em uma função hash para processá-lo em um valor hash discreto a fim de determinar a qual fragmento os dados devem ir.
Para garantir que os itens sejam colocados de forma consistente nos fragmentos corretos, os valores inseridos na função hash devem vir da mesma coluna. Esta coluna é chamada de Chave de Fragmento. Depois, as transações que geram o valor 1 são alocadas para o fragmento 1, enquanto as transações que geram o valor 2 são alocadas para o fragmento 2. No entanto, a desvantagem desse método é que os fragmentos precisam se comunicar para evitar ataques de gasto duplo. Se as transações entre fragmentos forem restritas, isso limitará a usabilidade da plataforma, enquanto permitir transações entre fragmentos exigirá um balanço entre os custos de comunicação entre fragmentos e os ganhos em desempenho.
Modelo de Conta/Saldos: O sistema regista o saldo de cada conta. Ao realizar uma transação, o sistema verifica se a conta tem saldo suficiente para o pagamento, de forma semelhante a como, nas transferências bancárias, o banco regista o saldo de cada conta, e a transação só pode ser realizada se o saldo da conta for superior ao montante da transferência requerida. No modelo de conta/saldos, como uma transação tem apenas uma entrada, basta fragmentar a transação de acordo com o endereço do remetente, garantindo que várias transações da mesma conta sejam processadas no mesmo fragmento, evitando efetivamente o problema do duplo gasto. Assim, a maioria das blockchains que utilizam tecnologia de fragmentação são sistemas de livro-razão de conta, como o Ethereum.
( 03 Estado Fragmentação)State Sharding###
Estado de fragmentação refere-se a como os dados na blockchain são distribuídos e armazenados em diferentes fragmentos.
Ainda usando o exemplo da fila do nosso supermercado, cada caixa tem um registro, como é que os seus livros de contas são mantidos? Se: um cliente vai para qual fila, registra-se nesse livro, por exemplo, o cliente A foi para a caixa A, mas no dia seguinte esse cliente foi para outra caixa de pagamento, como a caixa B, e a caixa B não tem as informações da conta anterior desse cliente (, por exemplo, envolvendo formas de pagamento como cartões pré-pagos ), o que fazer? Chamar as informações da conta desse cliente na caixa A?
O estado da fragmentação é o maior desafio da fragmentação, mais complicado do que a fragmentação de rede e a fragmentação de transações mencionadas acima. Porque, sob o mecanismo de fragmentação, as transações são alocadas para diferentes fragmentos com base no endereço, ou seja, o estado só será armazenado no fragmento correspondente ao seu endereço, e o problema a ser enfrentado neste momento é que as transações não ocorrem apenas em um fragmento, frequentemente envolvendo a fragmentação cruzada (Cross-Sharding).
Considere uma situação de transferência, a conta A transfere 10U para a conta B, e o endereço de A está alocado na Fragmentação 1, o registro da transação também será armazenado na Fragmentação 1. O endereço de B está alocado na Fragmentação 2, o registro da transação será armazenado na Fragmentação 2.
Uma vez que A queira transferir para B, uma transação inter-fragmentação será formada, e o Fragmentação 2 chamará os registros de transação anteriores do Fragmentação 1 para confirmar a validade da transação. Se A transferir frequentemente para B, o Fragmentação 2 terá que interagir constantemente com o Fragmentação 1, o que diminuirá a eficiência do processamento das transações. No entanto, se não baixar e verificar
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
15 Curtidas
Recompensa
15
6
Compartilhar
Comentário
0/400
ChartIgniter
· 1h atrás
LFG
Responder0
JustAnotherWallet
· 5h atrás
Ver a cena ing Fragmentação é só fragmentar
Ver originalResponder0
PoolJumper
· 5h atrás
Haha, realmente está lento. Esperei tanto tempo e só troquei de casca.
Ver originalResponder0
GovernancePretender
· 5h atrás
Veja e está feito. Quem ainda acredita no vb a enganar?
Shardeum explora a fragmentação de estado dinâmico para resolver o problema de escalabilidade do Blockchain
Shardeum e Fragmentação de Estado Dinâmico: outra possibilidade de fragmentação
Em 15 de setembro de 2022, o Ethereum completou a tão aguardada fusão (Merge). Este é um momento histórico, o Ethereum se preparou para isso por 5 anos, adiando 6 vezes. Devido à depuração repetida e ao longo desenvolvimento, muitas pessoas erroneamente acreditavam que a fusão traria naturalmente maior escalabilidade, segurança e sustentabilidade, mas na verdade não é assim. A transição de PoW para PoS é apenas a troca de trilhos e rodas, não trará diretamente velocidades mais rápidas, maiores capacidades ou taxas mais baixas. O que realmente pode realizar isso é um conjunto completo de soluções: uma mainnet com capacidade de Fragmentação combinada com soluções Layer2 que aumentam a escalabilidade.
Como apontado pelo fundador do Ethereum, Vitalik Buterin, a fragmentação é uma solução de escalabilidade para o dilema da escalabilidade, dividindo os nós da rede em grupos menores, processando diferentes conjuntos de transações e alcançando processamento em paralelo. Ao aliviar o fardo de lidar com a enorme quantidade de dados necessários para a consolidação em toda a rede, assim como fazemos ao fazer compras no supermercado, onde a abertura de mais caixas de pagamento pode reduzir visualmente o tempo de espera e aumentar a eficiência do checkout.
Esta é a lógica da Fragmentação, direta e simples, no entanto, o diabo está nos detalhes. O princípio e a direção estão corretos, mas na implementação sempre surgem muitos problemas. Este artigo pretende, ao esclarecer a direção e os dilemas no caminho da "Fragmentação", traçar um mapa do explorador da Fragmentação que olha para as estrelas e mantém os pés no chão. Ao mesmo tempo, ao comparar as soluções de Fragmentação existentes, encontrar algumas questões comuns e propor uma direção de exploração viável: Shardeum e Fragmentação dinâmica.
Um, sobre "Fragmentação"
De forma simples, considerando as restrições do triângulo impossível, partindo do Ethereum como ponto de origem (0,0), de acordo com duas abordagens: "vertical" e "horizontal", dividimos os métodos de escalabilidade atuais da blockchain em duas grandes categorias:
Escalabilidade Vertical(: alcançada através do aumento do desempenho do hardware existente do sistema. Estabelece-se uma rede descentralizada, onde cada nó da rede possui capacidade de supercomputação, ou seja, cada nó requer hardware "melhor". Essa abordagem é simples e eficaz, podendo alcançar melhorias iniciais na capacidade de processamento, especialmente adequada para negociação de alta frequência, jogos e outras aplicações sensíveis à latência. No entanto, essa forma de escalabilidade limita o nível de descentralização da rede, uma vez que o custo de operar nós de validação ou nós completos aumenta. Manter o nível de descentralização é limitado pela taxa aproximada de crescimento do desempenho do hardware de computação), o que é conhecido como "Lei de Moore": o número de transistores em um chip dobra a cada dois anos, enquanto o custo de computação é reduzido pela metade(.
Fragmentação)Escalabilidade Horizontal(: A escalabilidade horizontal geralmente tem algumas abordagens. Uma delas, no contexto da blockchain, é distribuir a carga de transações em um determinado ecossistema por várias blockchains independentes, onde cada cadeia possui seus próprios produtores de blocos e capacidade de execução. Essa abordagem permite personalizar completamente a camada de execução de cada cadeia, como requisitos de hardware dos nós, funcionalidades de privacidade, taxas de gas, máquinas virtuais e configurações de permissão, entre outros. Outra solução de escalabilidade horizontal é a blockchain modular, que divide a infraestrutura da blockchain em uma camada de execução, uma camada de disponibilidade de dados)DA( e uma camada de consenso. O mecanismo modular de blockchain mais popular é o rollup. Há também a possibilidade de dividir uma blockchain em muitos fragmentos, executando-os em paralelo. Cada fragmento pode ser visto como uma blockchain, o que significa que muitas blockchains podem ser executadas em paralelo. Além disso, geralmente há uma cadeia principal, cuja única tarefa é manter todos os fragmentos sincronizados.
É importante notar que as abordagens de escalabilidade acima não existem de forma isolada; cada uma das soluções encontra um ponto de equilíbrio no triângulo impossível, combinando o design de mecanismos de incentivo criados pelas forças econômicas do sistema para alcançar um equilíbrio eficaz em níveis macro e micro.
Para discutir "Fragmentação", precisamos começar do zero.
Ainda assumindo um cenário em que, ao fazer compras num supermercado, para aumentar a eficiência do checkout e reduzir o tempo de espera dos clientes, expandimos de um único ponto de pagamento para 10 janelas de checkout, a fim de evitar erros nos livros de contas, precisamos estabelecer regras uniformes neste momento:
Primeiro, se tivermos 10 caixas, como devemos distribuí-los para trabalhar em qual janela?
Em segundo lugar, se tivermos 1000 clientes na fila à espera, como decidimos a qual caixa cada cliente vai?
Terceiro, como devemos consolidar os 10 livros contábeis correspondentes a essas 10 janelas?
Quarto, como evitar que os caixas cometam erros para prevenir discrepâncias nas contas?
Estas questões correspondem, na verdade, a algumas questões-chave na Fragmentação, que são:
Como determinar a quais fragmentações pertencem os nós/validadores da rede? Ou seja: como realizar a fragmentação da rede )Network Sharding(;
Como determinar a que fragmentação cada transação é atribuída? Ou seja: como realizar a fragmentação de transações )Transaction Sharding(;
Como os dados da blockchain são armazenados em diferentes Fragmentações? Ou seja: como realizar a Fragmentação de Estado )State Sharding(;
A complexidade implica riscos, com base em tudo isso, como evitar a fragmentação da segurança do sistema inteiro?
![Explicação detalhada da nova blockchain Shardeum: Fragmentação de outra possibilidade])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Fragmentação###Network Sharding(
Se entendermos a blockchain de forma simples como um livro razão descentralizado, tanto os mecanismos de consenso PoS quanto PoW servem para que os diversos nós disputem o direito de registrar de acordo com determinadas regras estabelecidas, garantindo a precisão do livro razão nesse processo. A fragmentação da rede refere-se à necessidade de outra regra estabelecida, que divide a rede blockchain em fragmentos, permitindo que cada fragmento processe transações na cadeia, disputando o direito de registrar - ou seja, a regra de agrupamento dos nós.
E o problema encontrado nesse processo é que, à medida que os nós internos da blockchain são divididos em diferentes fragmentos, a dificuldade e o custo para os atacantes diminuem drasticamente. Podemos inferir que, assumindo que as regras e resultados desse processo de agrupamento são fixos e previsíveis, um atacante que deseja controlar toda a rede da blockchain só precisa controlar direcionadamente um dos fragmentos, subornando alguns dos nós dentro do fragmento.
Um fundador de uma cadeia pública descreveu assim o problema: se uma única cadeia com X validadores decide fazer um hard fork em uma cadeia de fragmentação e divide os X validadores em 10 fragmentos, cada fragmento agora tem apenas X/10 validadores, para destruir um fragmento é necessário destruir 5,1%)51% / 10( do total de validadores. Isso leva ao segundo ponto: quem escolhe os validadores para cada fragmento? Apenas quando todos esses 5,1% dos validadores estão no mesmo fragmento, controlar 5,1% dos validadores é prejudicial. Se os validadores não puderem escolher em qual fragmento validar, é extremamente improvável que um participante que controla 5,1% dos validadores coloque todos os validadores no mesmo fragmento, reduzindo assim significativamente sua capacidade de prejudicar o sistema.
O sistema de fragmentação deve desenvolver um mecanismo para confiar que a rede não reverterá essas transações a partir de fragmentos externos. Até agora, a melhor resposta pode ser garantir que o número de validadores dentro de um fragmento seja superior a um determinado limite mínimo, de forma que a probabilidade de validadores desonestos dominarem um único fragmento seja muito baixa. A maneira mais comum é construir um certo grau de aleatoriedade imparcial, utilizando métodos matemáticos para minimizar a probabilidade de sucesso dos atacantes. Por exemplo, no Ethereum, a solução do Ethereum é selecionar aleatoriamente um validador para um determinado fragmento a partir de todos os validadores, e a cada 6.4 minutos ), a duração de um epoch (, os validadores são trocados.
Dizendo de forma simples, é agrupar aleatoriamente os nós e depois distribuir o trabalho para que os nós de cada grupo verifiquem de forma independente.
No entanto, é importante notar que a aleatoriedade na blockchain é um tópico muito desafiador, pois, logicamente, o processo de geração desse número aleatório não deve depender do cálculo de qualquer fragmentação específica. Para esse cálculo, muitas das abordagens de design existentes são desenvolver uma blockchain separada para manter toda a rede. Essas cadeias são chamadas de Beacon chain no Ethereum e Near, Relay chain no PolkaDot e Cosmos Hub no Cosmos.
![万字详解新公链 Shardeum:Fragmentação的另一种可能])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(
) 02 Transação Fragmentação ###Transaction Sharding (
A fragmentação de transações refere-se à formulação de regras sobre "quais transações devem ser atribuídas a quais fragmentos", que pode alcançar o objetivo de processamento paralelo e evitar a ocorrência de problemas de gasto duplo. As diferentes modelos de livro-razão da blockchain podem impactar o desenvolvimento da fragmentação de transações.
Atualmente, existem duas categorias de métodos de contabilização na rede blockchain, que são o modelo de Saídas de Transação Não Gastas (UTXO)) e o modelo de conta/saldo, sendo o primeiro representado tipicamente pelo BTC e o segundo pelo ETH.
Modelo UTXO: Nas transações BTC, cada transação terá uma ou mais saídas. UTXO refere-se às saídas de transações na blockchain que ainda não foram gastas e podem ser utilizadas como entradas para novas transações, enquanto as saídas de transações já gastas não podem ser reutilizadas, semelhante ao pagamento e troco em transações com dinheiro em papel. O cliente entrega uma ou mais notas ao comerciante, que então devolve uma ou mais notas como troco ao cliente. No modelo UTXO, a fragmentação das transações requer comunicação entre fragmentos. Uma transação pode incluir várias entradas e várias saídas, não há o conceito de conta e não haverá registro de saldo. Uma maneira possível é: colocar o valor de uma das entradas da transação em uma função hash para processá-lo em um valor hash discreto a fim de determinar a qual fragmento os dados devem ir.
Para garantir que os itens sejam colocados de forma consistente nos fragmentos corretos, os valores inseridos na função hash devem vir da mesma coluna. Esta coluna é chamada de Chave de Fragmento. Depois, as transações que geram o valor 1 são alocadas para o fragmento 1, enquanto as transações que geram o valor 2 são alocadas para o fragmento 2. No entanto, a desvantagem desse método é que os fragmentos precisam se comunicar para evitar ataques de gasto duplo. Se as transações entre fragmentos forem restritas, isso limitará a usabilidade da plataforma, enquanto permitir transações entre fragmentos exigirá um balanço entre os custos de comunicação entre fragmentos e os ganhos em desempenho.
Modelo de Conta/Saldos: O sistema regista o saldo de cada conta. Ao realizar uma transação, o sistema verifica se a conta tem saldo suficiente para o pagamento, de forma semelhante a como, nas transferências bancárias, o banco regista o saldo de cada conta, e a transação só pode ser realizada se o saldo da conta for superior ao montante da transferência requerida. No modelo de conta/saldos, como uma transação tem apenas uma entrada, basta fragmentar a transação de acordo com o endereço do remetente, garantindo que várias transações da mesma conta sejam processadas no mesmo fragmento, evitando efetivamente o problema do duplo gasto. Assim, a maioria das blockchains que utilizam tecnologia de fragmentação são sistemas de livro-razão de conta, como o Ethereum.
( 03 Estado Fragmentação)State Sharding###
Estado de fragmentação refere-se a como os dados na blockchain são distribuídos e armazenados em diferentes fragmentos.
Ainda usando o exemplo da fila do nosso supermercado, cada caixa tem um registro, como é que os seus livros de contas são mantidos? Se: um cliente vai para qual fila, registra-se nesse livro, por exemplo, o cliente A foi para a caixa A, mas no dia seguinte esse cliente foi para outra caixa de pagamento, como a caixa B, e a caixa B não tem as informações da conta anterior desse cliente (, por exemplo, envolvendo formas de pagamento como cartões pré-pagos ), o que fazer? Chamar as informações da conta desse cliente na caixa A?
O estado da fragmentação é o maior desafio da fragmentação, mais complicado do que a fragmentação de rede e a fragmentação de transações mencionadas acima. Porque, sob o mecanismo de fragmentação, as transações são alocadas para diferentes fragmentos com base no endereço, ou seja, o estado só será armazenado no fragmento correspondente ao seu endereço, e o problema a ser enfrentado neste momento é que as transações não ocorrem apenas em um fragmento, frequentemente envolvendo a fragmentação cruzada (Cross-Sharding).
Considere uma situação de transferência, a conta A transfere 10U para a conta B, e o endereço de A está alocado na Fragmentação 1, o registro da transação também será armazenado na Fragmentação 1. O endereço de B está alocado na Fragmentação 2, o registro da transação será armazenado na Fragmentação 2.
Uma vez que A queira transferir para B, uma transação inter-fragmentação será formada, e o Fragmentação 2 chamará os registros de transação anteriores do Fragmentação 1 para confirmar a validade da transação. Se A transferir frequentemente para B, o Fragmentação 2 terá que interagir constantemente com o Fragmentação 1, o que diminuirá a eficiência do processamento das transações. No entanto, se não baixar e verificar