O que são nós e fragmentos Ethereum?

Neste guia, você aprenderá o que são nós e fragmentos ethereum. Se você gostaria de aprender ainda mais, dê uma olhada em nossos cursos de blockchain.

Se você esteve ativo de uma forma ou de outra em criptomoeda no último ano, você saberia que houve um problema que afetou o bitcoin e o Ethereum: escalabilidade.

O Bitcoin de alguma forma resolveu esse problema ativando o Segwit e convertendo-o em Bitcoin Cash. Ethereum, no entanto, está tentando resolver esse problema de uma maneira diferente. Um dos muitos protocolos que eles procuram ativar, conforme vão para a próxima fase de seu crescimento, é o “sharding”. Antes de entender o que isso significa, precisamos ter uma compreensão completa das redes e nós.

What are ethereum Nodes And Sharding?” width=”1200″ height=”628″ /></p></p>
<p><H2>         <div class = “widget”></p>
<p><div class=

O que são nós e fragmentos Ethereum?


O que são nós, redes e parâmetros?

Vamos entender o que o conceito significa usando atividades simples do dia-a-dia.

(Antes de começarmos, agradecemos à 3dBuzz pela explicação maravilhosa.)

Pense em uma caixa:

O que são nós e fragmentos Ethereum?

Esta caixa recebe entradas, executa algum tipo de operação nelas e, em seguida, fornece uma saída. Esta caixa é um “nó”. Lembre-se de que os nós não são exatamente “caixas”, estamos apenas usando um caso hipotético aqui.

Uma rede é uma coleção de esses nós que estão interligados entre si.

Os parâmetros são as regras pelas quais os nós estão vinculados.

Isso, em essência, é o que nós e redes são. Agora vamos verificar algumas atividades simples do dia-a-dia explicadas por meio de nós e redes.

Vamos ver como funciona uma trituradora de papel simples.

O que são nós e fragmentos Ethereum?

Então, o que aconteceu aqui?

Você está usando três nós: O papel, o triturador e o … bem … ”material triturado”. Esses três nós constituem a “rede de destruição”. Vamos nos divertir mais com isso. Até agora, assumimos que os nós recebem apenas uma entrada. E se eles pegarem mais do que isso?

Vejamos o exemplo de uma torradeira. Uma torradeira recebe duas entradas:

  • Eletricidade
  • Pão

Então será assim:

O que são nós e fragmentos Ethereum?

Lembre-se de uma coisa, uma torradeira não funciona se mesmo uma de suas entradas estiver faltando.

Agora, é hora de subir mais um degrau.

Vamos pensar em uma rede complexa, que usa parâmetros. Pense em seu aparelho de televisão. O seu aparelho de televisão está conectado ao seu provedor de serviços. Suponha que você tenha um PS4 e, por ser péssimo em tomar decisões, também possui um Xbox.

Então, se fôssemos mapear toda a “rede de TV”, seria assim:

O que são nós e fragmentos Ethereum?

Uh, oh .. nós temos um problema aqui.

Você só pode acessar um desses nós por meio de sua TV. Você não pode realmente assistir Game of Thrones e jogar Uncharted ao mesmo tempo agora, pode? Então, como você vai ter certeza de que sua TV pode acessar apenas um nó por vez? É aqui que você introduz os parâmetros. Os parâmetros são o que tornam seus nós únicos. Suponha que você queira adicionar um parâmetro à televisão chamado “Channel Switcher”. E é assim que o alternador de canais funciona:

  • Se você pressionar “0”, será exibido TV normal, também conhecido como provedor de serviços.
  • Se você pressionar “1”, você será capaz de acessar o PS4.
  • Se você pressionar “2”, poderá acessar o Xbox.

Apenas com a adição desses parâmetros você tornou seu nó, ou seja, a televisão, única. Então, vamos explorar outros parâmetros que podemos dar à nossa televisão para torná-la mais exclusiva:

  • Tamanho: digamos, nossa televisão é uma tela de 55 polegadas.
  • Cor: nossa TV é cinza prateado.
  • Marca: Temos uma TV Sony.
  • Tipo: Temos uma tela de plasma.

Ok, agora graças aos nossos parâmetros, temos uma televisão mais bem definida. Agora sabemos que temos uma TV Sony com tela de plasma cinza prateado de 55 polegadas.

Então, de tudo que aprendemos até agora, vamos tentar definir o que significam os nós, rede e parâmetros.

  • Nós: Componentes individuais que recebem entradas e desempenham uma função neles e fornecem uma saída.
  • Rede: Conjunto de nós que estão interconectados entre si.
  • Parâmetros: Regras que definem um nó e o tornam mais exclusivo

Nós e rede no contexto das telecomunicações

Todo o nosso sistema de telecomunicações funciona com base em redes e nós. Sua internet, chamadas, SMSs, cada um deles funcionam devido a redes e nós cuidadosamente dispostos. Então, como você define uma rede de telecomunicações? De acordo com a Encyclopedia Britannica,

“A rede de telecomunicações é um sistema eletrônico de links e switches, e os controles que regem sua operação, que permite a transferência e troca de dados entre vários usuários.”

Por que precisamos de uma rede de telecomunicações?

Embora seja possível fazer conexões um a um entre pessoas individuais, será extremamente caro e complicado. Além disso, será um processo extremamente ineficaz porque a maioria das linhas de comunicação estará ociosa e sub / não utilizada.

Para tornar esse processo mais eficiente, utilizamos uma rede de telecomunicações. Então, qual é a definição de um nó neste contexto?

Neste contexto, o nó é um ponto de redistribuição ou um ponto final de comunicação.

Então, vamos ver um exemplo de como isso funciona. Considere uma rede GSM simples. Suponha que Alice queira enviar um SMS para Bob, como todo o sistema funcionará? (Grite para o canal de Roviell no YouTube para a explicação).

  • Passo 1: Alice escreve a mensagem e pressiona enviar. A mensagem vai para a Estação Base, também conhecida como BST. O BST conecta você à rede. Existem toneladas de BSTs por aí. Pense neles como garçons em um restaurante. Basta levantar a mão (enviar um SMS) e obter a atenção deles.
  • Passo 2: O Controlador de Estação Base, também conhecido como BSC, garante que os BSTs estejam todos em ordem e em condições de funcionamento. Usando nossa analogia com o restaurante, o BSC é o “maître d’hôtel” ou o garçom que garante que cada mesa seja servida por garçons. (Lembra-se de Jean Phillippe do Hell’s Kitchen? Sim, aquele cara.)
  • etapa 3: Do BSC, a mensagem agora vai para o Mobile Switching Center, também conhecido como MSC. Ele garante que os dados sejam transferidos sem problemas das estações para as redes e vice-versa. Em nossa analogia com o restaurante, os MSC são os chefs principais, que anotam os pedidos e os transmitem aos chefs E também dão os toques finais nos pratos antes de enviá-los.
  • Passo 4: Agora a mensagem é enviada para o Centro de Serviço de Mensagens Curtas, também conhecido como SMSC. Esses são os chefs da analogia. Aqui, a mensagem é salva até que eles obtenham mais informações sobre o destinatário. O SMSC obtém ajuda de fontes como o Home Location Register (HLR) e o Visitor Location Register (VLR), estes 2 são bases de dados que contêm todas as informações sobre a rede. Basicamente, eles ajudam a rastrear o remetente E o destinatário para ver se a mensagem pode ser enviada. Eles verificam se o telefone do destinatário está desligado ou fora da área de cobertura, etc. Se por algum motivo a mensagem não puder ser enviada, ela será armazenada no SMSC por no máximo 6 horas antes de ser excluída.
  • Etapa 5: Agora, se o SMS estiver pronto, o SMSC passa a mensagem para o MSC do destinatário.
  • Etapa 6: O SMS vai para o BSC.
  • Etapa 7: O BSC encaminha a mensagem ao BST.
  • Etapa 8: O BST finalmente envia a mensagem ao destinatário.

Portanto, esta é uma visão geral de como funciona todo o sistema SMS. O BSC, BST, MSC, SMSC, HLR e VLR são todos nós na rede GSM. É assim que a coisa toda se parece:

O que são nós e fragmentos Ethereum?

O que é uma rede ponto a ponto?

Uma estrutura de rede normal é o “servidor cliente”Estrutura.

Como isso funciona?

O que são nós e fragmentos Ethereum?

Existe um servidor centralizado. E todos que desejam se conectar ao servidor podem enviar uma consulta para obter as informações necessárias. É basicamente assim que a internet funciona. Quando você deseja pesquisar algo no Google, você envia uma consulta ao servidor do Google, que retorna com os resultados necessários. Portanto, este é um sistema cliente-servidor. Agora, qual é o problema com este modelo?

Uma vez que tudo depende do servidor, é fundamental que o servidor funcione o tempo todo para que o sistema funcione. É um gargalo. Agora, suponha que, por qualquer motivo que o servidor principal pare de funcionar, todos na rede sejam afetados. Além disso, também existem questões de segurança. Uma vez que a rede é centralizada, o próprio servidor lida com muitas informações confidenciais sobre os clientes. Isso significa que qualquer pessoa pode hackear o servidor e obter essas informações. Além disso, há também a questão da censura. E se o servidor decidir que um determinado item (filme, música, livro etc.) não é agradável e decidir não propagá-lo em sua rede?

Portanto, para combater todos esses problemas, surgiu um tipo diferente de arquitetura de rede. É uma rede que particiona toda a sua carga de trabalho entre participantes, todos igualmente privilegiados, denominados “peers”. Não há mais um servidor central, agora existem vários pares distribuídos e descentralizados. Esta é uma rede ponto a ponto.

O que são nós e fragmentos Ethereum?

Cortesia de imagem: InfoZones

Por que as pessoas usam a rede ponto a ponto?

Um dos principais usos da rede ponto a ponto é o compartilhamento de arquivos, também chamado de torrent. Se você for usar um modelo cliente-servidor para fazer o download, geralmente ele é extremamente lento e depende inteiramente da integridade do servidor. Além disso, como dissemos, está sujeito à censura.

No entanto, em um sistema ponto a ponto, não há autoridade central e, portanto, se até mesmo um dos pares na rede sair da corrida, você ainda terá mais pares para fazer o download. Além disso, não está sujeito aos padrões idealistas de um sistema central, portanto, não está sujeito à censura

Se comparássemos os dois:

exemplo de efeito de rede

Cortesia de imagem: Quora

A natureza descentralizada de um sistema ponto a ponto torna-se crítica à medida que avançamos para a próxima seção. Quão crítico? Bem, a ideia simples (pelo menos no papel) de combinar esta rede ponto a ponto com um sistema de pagamento revolucionou completamente o setor financeiro, dando origem à criptomoeda.

O uso de redes e nós em criptomoedas.

Vamos dar uma olhada na estrutura de rede da Ethereum.

Ethereum é estruturado como uma rede ponto a ponto, de forma que os participantes, também conhecidos como pares, também conhecidos como nós, não recebem nenhum privilégio especial extra. A ideia é criar uma rede igualitária. Os nós não recebem nenhum privilégio especial, no entanto, suas funções e grau de participação podem ser diferentes. Não há servidor / entidade centralizado, nem hierarquia. É uma topologia plana.

Todas as criptomoedas descentralizadas são estruturadas dessa forma por um motivo simples, para permanecer fiéis à sua filosofia. A ideia é ter um sistema monetário, onde todos sejam tratados como iguais e não haja um órgão de governo, que possa determinar o valor da moeda por capricho. Isso é verdade para bitcoin e ethereum.

Agora, se não houver um sistema central, como todos no sistema saberiam que uma determinada transação aconteceu? A rede segue o protocolo de fofoca. Pense em como a fofoca se espalha. Suponha que Alice envie 3 ETH para Bob. Os nós mais próximos dela ficarão sabendo disso, e então eles vão contar aos nós mais próximos a eles, e então eles vão contar aos seus vizinhos, e isso continuará se espalhando até que todos saibam. Os nós são basicamente seus parentes intrometidos e irritantes.

Então, o que é um nó no contexto do ethereum? Um nó é simplesmente um computador que participa da rede ethereum. Essa participação pode ser de três maneiras

  • Ao manter uma cópia superficial do blockchain, também conhecido como Light Client
  • Ao manter uma cópia completa do blockchain, também conhecido como Full Node
  • Ao verificar as transações, também conhecido como Mineração

O que é um cliente leve?

Como mencionamos antes, a ideia de um sistema ponto a ponto é distribuir responsabilidades de rede entre os nós chamados de “pares”. Nenhuma preferência é dada a qualquer um deles. No entanto, o que acontece com as pessoas que querem fazer parte da rede, mas não têm os recursos do sistema para baixar e manter o blockchain completo em seu sistema? Eles podem optar por se tornarem “clientes Light”. Por ser um cliente Light, eles obtêm garantias de alta segurança sobre certos estados de ethereum e também o poder de verificar a execução de uma transação.

O que é um nó completo?

Qualquer computador, conectado à rede ethereum, que cumpre integralmente todas as regras de consenso do ethereum é chamado de Full Node. Um nó completo baixa todo o blockchain na área de trabalho do usuário. Nós completos formam a espinha dorsal do sistema ethereum e mantêm toda a rede honesta. Algumas das regras de consenso que os nós completos aplicam são:

  • Certificando-se de que a recompensa de bloco correta é dada para cada bloco minado (5 ETH)
  • As transações têm as assinaturas corretas
  • As transações e os bloqueios estão no formato de dados correto
  • Nenhum gasto duplo está ocorrendo em qualquer um dos blocos

Os nós completos basicamente validam os nós e transações e retransmitem as informações para os outros nós (usando o protocolo de gossip).

Mineiros vs nós

Para simplificar, todos os mineradores são nós completos, mas nem todos os nós completos são mineradores. Os mineiros precisam estar executando nós completos para acessar o blockchain. Qualquer um que executa um nó completo não precisa minerar blocos.

Qual é o problema de escalabilidade que o ethereum está enfrentando?

Como acontece o consenso na rede Ethereum? Cada nó da rede faz todos os cálculos e, quando todos chegam a um consenso, a transação é considerada boa. Agora, isso pode ter funcionado corretamente, no início, entretanto, o ethereum se tornou muito popular e o número de transações tem aumentado constantemente. Confira este gráfico do Etherscan:

O que são nós e fragmentos Ethereum?

Cortesia de imagem: Etherscan

Agora, embora isso seja uma coisa boa, o número de cálculos que as redes têm que passar antes de chegarem a um consenso aumentou exponencialmente como resultado. Junto com isso, surgiu outro problema. O ethereum teve ampla adoção devido ao apoio de certos pesos pesados ​​corporativos e à popularidade de seus ICOs. Como resultado disso, o número de nós na rede ethereum aumentou exponencialmente. Na verdade, é a criptomoeda com mais nós e, portanto, mais descentralizada.

Na verdade, em maio de 2017, o ethereum tinha 25.000 nós em comparação com os 7000 do Bitcoin !! Isso é mais de 3 vezes. Na verdade, o número de nós de abril a maio aumentou em 81% … isso é quase o dobro!

O que são nós e fragmentos Ethereum?

Cortesia de imagem: Nós de confiança.

Agora, você pode estar pensando que ter mais nós na rede ajudará a acelerar o tempo de transação. Bem … pense novamente.

O consenso acontece de maneira linear. Ou seja, suponha que existam 3 nós A, B e C.

Para que o consenso ocorra, primeiro A faria os cálculos e verificaria e então B faria o mesmo e depois C.

Porém, se houver um novo nó no sistema denominado “D”, isso adicionaria mais um nó ao sistema de consenso, o que aumentará o período de tempo geral. Conforme o ethereum se tornou mais popular, os tempos de transação ficaram mais lentos.

Na verdade, em um teste de velocidade, foi visto que o ethereum gerenciava insignificantes 20 transações por segundo em comparação com 193 do PayPal e 1667 da Visa!!

Agora, lembre-se de uma coisa, o ethereum não se imagina apenas como uma moeda, sua visão final é ser algo como a nova internet. Eles querem que as pessoas criem DApps na escala do Facebook e Youtube para rodar em cima de seu blockchain. Para que algo assim aconteça, eles precisarão fazer algo sobre seus problemas de escalabilidade.

Para resolver isso, três propostas foram levantadas:

  • Aumente o tamanho do bloco
  • Faça os usuários usarem moedas alternativas diferentes
  • Sharding

Aumente o tamanho do bloco

Portanto, uma solução é aumentar o tamanho do bloco. Embora isso definitivamente melhorasse o desempenho, aumentando o número de transações em um bloco, existem vários problemas que podem acontecer como resultado:

  • Em primeiro lugar, isso ainda não resolverá o problema dos nós que chegam a um consenso em um ritmo mais lento. Na verdade, conforme o número de transações por bloco aumenta, o número de cálculos e verificações por nó também aumentará.
  • Para acomodar mais e mais transações, os tamanhos dos blocos precisam ser aumentados periodicamente. Isso centralizará mais o sistema porque os computadores e usuários normais não serão capazes de baixar e preservar tais blockchains volumosos. Isso vai contra o espírito igualitário de um blockchain.
  • Finalmente, o aumento do tamanho do bloco acontecerá apenas por meio de forquilha, o que pode dividir a comunidade. A última vez que um grande forcado aconteceu no ethereum, toda a comunidade foi dividida e surgiram duas moedas diferentes. As pessoas realmente não querem que isso aconteça de novo.

Faça os usuários usarem altcoins diferentes.

Outra proposta era executar blockchains paralelos em vez de um blockchain principal. Basicamente, em vez de fazer 50 DApps rodarem em um blockchain principal, tenha 2 blockchains e execute 25 DApps cada. Houve dois problemas com esta proposta:

  • Não é aconselhável dividir o hashrate de uma cadeia. Afinal, o hashrate da cadeia determina o quão seguro é contra hackers externos e o sistema é rápido.
  • Será mais fácil para os mineiros mal-intencionados obterem 51% da maioria nas cadeias menores.

Sharding

Finalmente, a fragmentação foi decidida como o caminho a seguir para o ethereum. Antes de mergulharmos profundamente na fragmentação, vamos obter uma compreensão simples do que isso significa. Suponha que haja três nós A, B e C e eles tenham que verificar os dados T. Em vez de A, B e C verificando todos os dados T individualmente, os dados serão divididos em 3 fragmentos: T1, T2 e T3. Depois disso, A, B e C verificarão um fragmento lado a lado. Como você pode ver, a quantidade de tempo que você está economizando é exponencial.

De qualquer forma, vamos fazer um mergulho profundo!

O que é fragmentação?

Sharding é um termo obtido dos sistemas de banco de dados. Vamos ver o que significa fragmentação em relação ao banco de dados. Suponha que você tenha um banco de dados enorme e volumoso para o seu site. Ter um banco de dados volumoso não apenas torna a pesquisa de dados mais lenta, mas também prejudica sua escalabilidade. Então, o que você faz neste caso?

E se você fizer uma partição horizontal em seus dados e transformá-los em tabelas menores e armazená-los em diferentes servidores de banco de dados?

O que são nós e fragmentos Ethereum?

Cortesia de imagem: Dzone

Igual a?

Agora, você pode estar se perguntando, por que uma partição horizontal e não uma partição vertical? Isso se deve à maneira como as tabelas são projetadas:

O que são Ethereum Nodes And Sharding-

Você vê? É a mesma tabela / banco de dados, mas com menos dados. Esses bancos de dados menores são conhecidos como fragmentos do banco de dados maior. Cada fragmento deve ser idêntico à mesma estrutura de tabela.

Sharding no contexto de blockchain

Agora, como vimos, o problema com o consenso Ethereum é que todos os nós precisam fazer todos os cálculos e verificações para cada transação. Isso torna todo o processo muito lento e complicado. Então, como a fragmentação vai ajudar isso?

Considere o estado da blockchain ethereum que chamaremos de “Estado Global”, que é visível para todos. Vamos considerar a raiz Merkle desse estado global. (Para árvores e raízes Merkle, leia nosso artigo sobre HASHING). Essa raiz de estado será dividida em raízes de fragmentos e cada uma dessas raízes compartilhadas terá seu próprio estado. Esses estados serão representados na forma de uma árvore Merkle.

Esta é uma estrutura muito simples de como deve ser.

Agora, vamos entrar na mecânica interna.

Então, o que acontece depois que a fragmentação é ativada?

  • O estado é dividido em fragmentos
  • Cada conta única está em um fragmento
  • As contas só podem fazer transações com outras contas no mesmo fragmento

Em Devcon, Vitalik Buterin explicou fragmentos como este:

Imagine que o ethereum foi dividido em milhares de ilhas. Cada ilha pode fazer suas próprias coisas. Cada uma das ilhas tem suas próprias características únicas e todos os que pertencem a essa ilha, ou seja, as contas, podem interagir entre si E podem se entregar livremente a todas as suas características. Se quiserem entrar em contato com outras ilhas, terão que usar algum tipo de protocolo.

Então, a questão é: como isso vai mudar o blockchain?

Qual é a aparência de um bloco normal em bitcoin ou ethereum (pré-fragmentação)?

O que são nós e fragmentos Ethereum?

Portanto, há um cabeçalho de bloco e o corpo que contém todas as transações do bloco. A raiz Merkle de todas as transações estará no cabeçalho do bloco.

Agora, pense sobre isso. O bitcoin realmente precisava de blocos? Ele realmente precisava de um blockchain? Satoshi poderia simplesmente ter feito uma cadeia de transações incluindo o hash da transação anterior na transação mais recente, criando uma “cadeia de transações”, por assim dizer.

A razão pela qual eles organizam essas transações em um bloco é para criar um nível de interação e tornar todo o processo mais escalonável. O que o ethereum sugere é que eles mudam isso em dois níveis de interação.

O Primeiro Nível

O primeiro nível é o grupo de transações. Cada fragmento tem seu próprio grupo de uma transação.

O que são nós e fragmentos Ethereum?

Cortesia de imagem: Hackernoon

O grupo de transações é dividido em cabeçalho do grupo de transações e corpo do grupo de transações.

Cabeçalho do Grupo de Transação

O cabeçalho é dividido em partes distintas à esquerda e à direita.

A parte esquerda:

  • ID do fragmento: O ID do fragmento ao qual o grupo de transação pertence.
  • Raiz pré-estado: Este é o estado da raiz do fragmento 43 antes de as transações serem aplicadas.
  • Post state root: Este é o estado da raiz do fragmento 43 após as transações serem aplicadas.
  • Raiz de recebimento: A raiz do recibo após todas as transações no fragmento 43 serem aplicadas.

A parte certa:

A parte certa está cheia de validadores aleatórios que precisam verificar as transações no próprio fragmento. Eles são todos escolhidos aleatoriamente.

Corpo do Grupo de Transação

Ele tem todos os IDs de transação no próprio fragmento.

Propriedades do Nível Um

  • Cada transação especifica o ID do fragmento ao qual pertence.
  • Uma transação pertencente a um fragmento específico mostra que ocorreu entre duas contas que são nativas desse fragmento específico.
  • O grupo de transações tem transações que pertencem apenas a esse ID de fragmento e são exclusivas para ele.
  • Especifica a raiz pré e pós-estado.

Agora, vamos olhar para o nível superior, também conhecido como o segundo nível.

O Segundo Nível

comunicação cruzada difícil

Cortesia de imagem: Hackernoon.

Não tenha medo! É mais fácil de entender do que parece.

Existe o blockchain normal, mas agora contém duas raízes primárias:

  • A raiz do estado
  • A raiz do grupo de transação

A raiz do estado representa todo o estado e, como vimos antes, o estado é dividido em fragmentos, que contêm seus próprios subestados.

A raiz do grupo de transação contém todos os grupos de transação dentro desse bloco particular.

Propriedades do nível dois

  • O nível dois é como um blockchain simples, que aceita grupos de transações em vez de transações.
  • O grupo de transação é válido apenas se: a) A raiz pré-estado corresponde à raiz do shard no estado global.

    b) As assinaturas no grupo de transação são todas validadas.

  • Se o grupo de transações entrar, a raiz de estado global se tornará a raiz de pós-estado desse ID de shard específico.

Então, como a comunicação entre fragmentos acontece?

Agora, lembre-se de nossa analogia com a ilha?

Os fragmentos são basicamente como ilhas. Então, como essas ilhas se comunicam entre si? Lembre-se de que o objetivo dos shards é fazer muitas transações paralelas acontecerem ao mesmo tempo para aumentar o desempenho. Se o ethereum permitir a comunicação aleatória entre fragmentos, isso anulará todo o propósito de fragmentar.

Então, qual protocolo precisa ser seguido para a comunicação entre fragmentos?

ethereum optou por seguir o paradigma de recebimento para comunicações cross-shard. Veja isso:

O que são nós e fragmentos Ethereum?

Cortesia de imagem: hackernoon

Como você pode ver aqui, cada recibo individual de qualquer transação pode ser facilmente acessado por meio de várias árvores Merkle da raiz do Merkle do grupo de transações. Cada transação em um fragmento fará duas coisas:

  • Alterar o estado do fragmento ao qual ele pertence
  • Gerar um recibo

Aqui está outra informação interessante. Os recibos são armazenados em uma memória compartilhada distribuída, que pode ser vista por outros shards, mas não modificada. Portanto, a comunicação entre os fragmentos pode acontecer por meio dos recibos como este:

comunicação cruzada difícil

Cortesia de imagem: Hackernoon

Quais são os desafios da implementação de sharding?

  • Deve haver um mecanismo para saber qual nó implementa qual fragmento. Isso precisa ser feito de forma segura e eficiente para garantir a paralelização e a segurança.
  • A prova da aposta deve ser implementada primeiro para tornar a fragmentação mais fácil de acordo com Vlad Zamfir.
  • Os nós funcionam em um sistema sem confiança, o que significa que o nó A não confia no nó B e os dois devem chegar a um consenso, independentemente dessa confiança. Portanto, se uma determinada transação for dividida em fragmentos e distribuída para o nó A e o nó B, o nó A terá que apresentar algum tipo de mecanismo de prova de que eles concluíram o trabalho em sua parte do fragmento.

O que são nós e fragmentação Ethereum: conclusão

À medida que o Ethereum se expande e inaugura Metrópolis e Serenidade, a fragmentação se torna cada vez mais crítica para seu crescimento. Se o ethereum planeja se tornar a nova Internet, eles precisam corrigir seus problemas de escalabilidade. Eles absolutamente precisam implementar e fragmentar as unhas para garantir seu crescimento. Tempos emocionantes pela frente para o ethereum!

AMAZONPOLLY-ONLYAUDIO-START-Neste guia, você aprenderá o que são nós e fragmentos ethereum. Se você gostaria de aprender ainda mais, dê uma olhada em nossos cursos de blockchain. Se você esteve ativo de uma forma ou de outra na criptomoeda no último ano, você sabe que houve um problema que afetou tanto o bitcoin quanto o ethereum: escalabilidade. O Bitcoin de alguma forma resolveu esse problema ativando o Segwit e convertendo-o em Bitcoin Cash. Ethereum, no entanto, está tentando resolver esse problema de uma maneira diferente. Um dos muitos protocolos que eles procuram ativar, conforme vão para a próxima fase de seu crescimento, é o “sharding”. Antes de entender o que isso significa, precisamos ter uma compreensão completa das redes e nós.

Treine para se tornar um desenvolvedor Blockchain

Comece sua avaliação gratuita hoje!

O que são nós e fragmentos Ethereum? O que são nós, redes e parâmetros? Vamos entender o que o conceito significa usando atividades simples do dia-a-dia. (Antes de começarmos, crédito a 3dBuzz pela explicação maravilhosa.) Pense em uma caixa: esta caixa recebe entradas, realiza algum tipo de operação nelas e, em seguida, fornece uma saída. Esta caixa é um “nó”. Lembre-se de que os nós não são exatamente “caixas”, estamos apenas usando um caso hipotético aqui. Uma rede é uma coleção desses nós que estão interligados uns aos outros. Os parâmetros são as regras pelas quais os nós estão vinculados. Isso, em essência, é o que nós e redes são. Agora vamos verificar algumas atividades simples do dia-a-dia explicadas por meio de nós e redes. Vamos ver como funciona uma trituradora de papel simples. Então, o que aconteceu aqui? Você está usando três nós: O papel, o triturador e o … bem … ”material triturado”. Esses três nós constituem a “rede de destruição”. Vamos nos divertir mais com isso. Até agora, assumimos que os nós recebem apenas uma entrada. E se eles pegarem mais do que isso? Vejamos o exemplo de uma torradeira. Uma torradeira recebe duas entradas: Pão de eletricidade Então é assim que ela se parecerá: Lembre-se de uma coisa, uma torradeira não funciona se mesmo uma de suas entradas estiver faltando. Agora, é hora de aumentar outro nível. Vamos pensar em uma rede complexa, que usa parâmetros. Pense em seu aparelho de televisão. O seu aparelho de televisão está conectado ao seu provedor de serviços. Suponha que você tenha um PS4 e, como é péssimo em tomar decisões, também possui um Xbox. Então, se fôssemos mapear toda a “rede de TV”, seria assim: Uh, oh .. temos um problema aqui. Você só pode acessar um desses nós por meio de sua TV. Você não pode realmente assistir Game of Thrones e jogar Uncharted ao mesmo tempo agora, pode? Então, como você vai ter certeza de que sua TV pode acessar apenas um nó por vez? É aqui que você introduz os parâmetros. Os parâmetros são o que tornam seus nós únicos. Suponha que você queira adicionar um parâmetro à televisão chamado “Channel Switcher”. E é assim que o alternador de canais funciona: Se você pressionar “0”, será exibida uma TV normal, também conhecida como provedor de serviços. Se você pressionar “1”, poderá acessar o PS4. Se você pressionar “2”, poderá acessar o Xbox. Apenas com a adição desses parâmetros você tornou seu nó, ou seja, a televisão, única. Então, vamos explorar outros parâmetros que podemos dar à nossa televisão para torná-la mais exclusiva: Tamanho: digamos, nossa televisão tem uma tela de 55 polegadas. Cor: nossa TV é cinza prateado. Marca: Temos uma TV Sony. Tipo: Temos uma tela de plasma. Ok, agora graças aos nossos parâmetros, temos uma televisão mais bem definida. Agora sabemos que temos uma TV Sony com tela de plasma cinza prateado de 55 polegadas. Então, de tudo o que aprendemos até agora, vamos tentar definir o que significam os nós, rede e parâmetros. Nós: componentes individuais que recebem entradas e executam uma função neles e fornecem uma saída. Rede: conjunto de nós que estão interconectados entre si. Parâmetros: Regras que definem um nó e o tornam mais único Nós e Rede no contexto das telecomunicações Todo o nosso sistema de telecomunicações funciona com base em redes e nós. Sua internet, chamadas, SMSs, cada um deles funcionam devido a redes e nós cuidadosamente dispostos. Então, como você define uma rede de telecomunicações? De acordo com a Encyclopedia Britannica, “a rede de telecomunicações é um sistema eletrônico de links e switches, e os controles que regem sua operação, que permitem a transferência e troca de dados entre vários usuários”. Por que precisamos de uma rede de telecomunicações? Embora seja possível fazer conexões um a um entre pessoas individuais, será extremamente caro e complicado. Além disso, será um processo extremamente ineficaz porque a maioria das linhas de comunicação estará ociosa e sub / não utilizada. Para tornar esse processo mais eficiente, utilizamos uma rede de telecomunicações. Então, qual é a definição de um nó neste contexto? Nesse contexto, o nó é um ponto de redistribuição ou um ponto final de comunicação. Então, vamos ver um exemplo de como isso funciona. Considere uma rede GSM simples. Suponha que Alice queira enviar um SMS para Bob, como todo o sistema funcionará? (Grite para o canal Roviell no YouTube para a explicação). Etapa 1: Alice escreve a mensagem e pressiona enviar. A mensagem vai para a Estação Base, também conhecida como BST. O BST conecta você à rede. Existem toneladas de BSTs por aí. Pense neles como garçons em um restaurante. Basta levantar a mão (enviar um SMS) e obter a atenção deles. Etapa 2: O controlador da estação base, também conhecido como BSC, garante que os BSTs estejam todos em ordem e em condições de funcionamento. Usando nossa analogia com o restaurante, o BSC é o “maître d’hôtel” ou o garçom que garante que cada mesa seja servida por garçons. (Lembra-se de Jean Phillippe, do Hell’s Kitchen? Sim, aquele cara.) Etapa 3: Do BSC, a mensagem agora vai para o Mobile Switching Center, também conhecido como MSC. Ele garante que os dados sejam transferidos sem problemas das estações para as redes e vice-versa. Em nossa analogia com o restaurante, os MSC são os chefs de cozinha, que anotam os pedidos e os retransmitem aos chefs E também dão os toques finais nos pratos antes de enviá-los. Etapa 4: Agora a mensagem é enviada para o Centro de Serviço de Mensagens Curtas, também conhecido como SMSC. Esses são os chefs da analogia. Aqui, a mensagem é salva até que eles obtenham mais informações sobre o destinatário. O SMSC obtém ajuda de fontes como o Home Location Register (HLR) e o Visitor Location Register (VLR), estes 2 são bases de dados que contêm todas as informações sobre a rede. Basicamente, eles ajudam a rastrear o remetente E o destinatário para ver se a mensagem pode ser enviada. Eles verificam se o telefone do destinatário está desligado ou fora da área de cobertura, etc. Se por algum motivo a mensagem não puder ser enviada, ela será armazenada no SMSC por no máximo 6 horas antes de ser excluída. Etapa 5: agora, se o SMS estiver pronto, o SMSC passa a mensagem para o MSC do destinatário. Passo 6: O SMS vai para o BSC. Etapa 7: O BSC encaminha a mensagem ao BST. Etapa 8: O BST finalmente envia a mensagem ao destinatário. Portanto, esta é uma visão geral de como funciona todo o sistema SMS. O BSC, BST, MSC, SMSC, HLR e VLR são todos nós na rede GSM. A coisa toda se parece com isso: O que é uma rede ponto a ponto? Uma estrutura de rede normal é a estrutura “cliente-servidor”. Como isso funciona? Existe um servidor centralizado. E todos que desejam se conectar ao servidor podem enviar uma consulta para obter as informações necessárias. É basicamente assim que a internet funciona. Quando você deseja pesquisar algo no Google, você envia uma consulta ao servidor do Google, que retorna com os resultados necessários. Portanto, este é um sistema cliente-servidor. Agora, qual é o problema com este modelo? Uma vez que tudo depende do servidor, é fundamental que o servidor funcione o tempo todo para que o sistema funcione. É um gargalo. Agora, suponha que, por qualquer motivo que o servidor principal pare de funcionar, todos na rede sejam afetados. Além disso, também existem questões de segurança. Uma vez que a rede é centralizada, o próprio servidor lida com muitas informações confidenciais sobre os clientes. Isso significa que qualquer pessoa pode hackear o servidor e obter essas informações. Além disso, há também a questão da censura. E se o servidor decidir que um determinado item (filme, música, livro etc.) não é agradável e decidir não propagá-lo em sua rede? Portanto, para combater todos esses problemas, surgiu um tipo diferente de arquitetura de rede. É uma rede que particiona toda a sua carga de trabalho entre participantes, todos igualmente privilegiados, denominados “peers”. Não há mais um servidor central, agora existem vários pares distribuídos e descentralizados. Esta é uma rede ponto a ponto. Cortesia de imagem: InfoZones Por que as pessoas usam a rede ponto a ponto? Um dos principais usos da rede ponto a ponto é o compartilhamento de arquivos, também chamado de torrent. Se você for usar um modelo cliente-servidor para fazer o download, geralmente ele é extremamente lento e depende inteiramente da integridade do servidor. Além disso, como dissemos, está sujeito à censura. No entanto, em um sistema ponto a ponto, não há autoridade central e, portanto, se até mesmo um dos pares na rede sair da corrida, você ainda terá mais pares para fazer o download. Além disso, não está sujeito aos padrões idealistas de um sistema central, portanto, não está sujeito à censura. Se formos comparar os dois: Imagem cortesia: Quora A natureza descentralizada de um sistema ponto a ponto torna-se crítica à medida que avançamos para a próxima seção. Quão crítico? Bem, a ideia simples (pelo menos no papel) de combinar essa rede ponto a ponto com um sistema de pagamento revolucionou completamente o setor financeiro, dando origem à criptomoeda. O uso de redes e nós em criptomoedas. Vamos dar uma olhada na estrutura de rede do Ethereum. ethereum é estruturado como uma rede ponto a ponto, de forma que os participantes, também conhecidos como pontos, também conhecidos como nós, não recebem nenhum privilégio especial extra. A ideia é criar uma rede igualitária. Os nós não recebem nenhum privilégio especial, no entanto, suas funções e grau de participação podem ser diferentes. Não há servidor / entidade centralizado, nem hierarquia. É uma topologia plana. Todas as criptomoedas descentralizadas são estruturadas dessa forma por um motivo simples, para permanecer fiéis à sua filosofia. A ideia é ter um sistema monetário, onde todos sejam tratados como iguais e não haja um órgão de governo, que possa determinar o valor da moeda por capricho. Isso é válido tanto para bitcoin quanto para ethereum. Agora, se não houver um sistema central, como todos no sistema saberiam que uma determinada transação aconteceu? A rede segue o protocolo de fofoca. Pense em como a fofoca se espalha. Suponha que Alice envie 3 ETH para Bob. Os nós mais próximos dela ficarão sabendo disso, e então eles vão contar aos nós mais próximos a eles, e então eles vão contar aos seus vizinhos, e isso continuará se espalhando até que todos saibam. Os nós são basicamente seus parentes intrometidos e irritantes. Então, o que é um nó no contexto do ethereum? Um nó é simplesmente um computador que participa da rede ethereum. Esta participação pode ser de três maneiras: Mantendo uma cópia superficial do blockchain, também conhecido como Light Client. Ao manter uma cópia completa do blockchain, também conhecido como Full Node, verificando as transações, também conhecido como Mining O que é um Light Client? Como mencionamos antes, a ideia de um sistema ponto a ponto é distribuir responsabilidades de rede entre os nós chamados de “pares”. Nenhuma preferência é dada a qualquer um deles. No entanto, o que acontece com as pessoas que querem fazer parte da rede, mas não têm os recursos do sistema para baixar e manter o blockchain completo em seu sistema? Eles podem optar por se tornarem “clientes Light”. Por ser um Cliente Light, eles obtêm garantias de alta segurança sobre certos estados de ethereum e também o poder de verificar a execução de uma transação. O que é um nó completo? Qualquer computador, conectado à rede ethereum, que cumpre integralmente todas as regras de consenso do ethereum é chamado de Full Node. Um nó completo baixa todo o blockchain na área de trabalho do usuário. Nós completos formam a espinha dorsal do sistema ethereum e mantêm toda a rede honesta. Algumas das regras de consenso que os nós completos aplicam são: Certificar-se de que a recompensa do bloco correta seja dada para cada bloco extraído (5 ETH) As transações têm as assinaturas corretas As transações e os blocos estão no formato de dados correto Nenhum gasto duplo está ocorrendo em qualquer dos blocos Os nós completos basicamente validam os nós e transações e retransmitem as informações para os outros nós (usando o protocolo gossip). Miners vs Nodes Para simplificar, todos os mineradores são nós completos, mas nem todos os nós completos são mineradores. Os mineiros precisam estar executando nós completos para acessar o blockchain. Qualquer um que executa um nó completo não precisa minerar blocos. Qual é o problema de escalabilidade que Ethereum está enfrentando? Como ocorre o consenso na rede ethereum? Cada nó da rede faz todos os cálculos e, quando todos chegam a um consenso, a transação é considerada boa. Agora, isso pode ter funcionado corretamente, no início, entretanto, o ethereum se tornou muito popular e o número de transações tem aumentado constantemente. Confira este gráfico do Etherscan: Imagem Cortesia: Etherscan Agora, embora isso seja uma coisa boa, o número de cálculos que as redes têm que passar antes de chegar a um consenso aumentou exponencialmente como resultado. Junto com isso, surgiu outro problema. ethereum teve ampla adoção devido ao apoio de certos pesos pesados ​​corporativos e à popularidade de seus ICOs. Como resultado disso, o número de nós na rede ethereum aumentou exponencialmente. Na verdade, é a criptomoeda com mais nós e, portanto, mais descentralizada. Na verdade, em maio de 2017, o ethereum tinha 25.000 nós em comparação com os 7000 do Bitcoin !! Isso é mais de 3 vezes. Na verdade, o número de nós de abril a maio aumentou em 81% … isso é quase o dobro! Cortesia da imagem: Nós de confiança. Agora, você pode estar pensando que ter mais nós na rede ajudará a acelerar o tempo de transação. Bem … pense novamente. O consenso acontece de maneira linear. Ou seja, suponha que existam 3 nós A, B e C. Para que o consenso ocorra, primeiro A faria os cálculos e verificaria e depois B faria o mesmo e depois C. No entanto, se houver um novo nó no sistema chamado “ D ”, que adicionaria mais um nó ao sistema de consenso, o que aumentaria o período de tempo geral. Conforme o ethereum se tornou mais popular, os tempos de transação ficaram mais lentos. Na verdade, em um teste de velocidade, foi visto que o ethereum gerenciava insignificantes 20 transações por segundo em comparação com 193 do PayPal e 1667 da Visa! Agora, lembre-se de uma coisa, o ethereum não se imagina apenas como uma moeda, sua visão final é ser algo como a nova internet. Eles querem que as pessoas criem DApps na escala do Facebook e Youtube para rodar em cima de seu blockchain. Para que algo assim aconteça, eles precisarão fazer algo sobre seus problemas de escalabilidade. Para resolver isso, três propostas foram levantadas: Aumentar o tamanho do bloco Fazer os usuários usarem moedas alternativas diferentes. Sharding Aumentar o tamanho do bloco Então, uma solução é aumentar o tamanho do bloco. Embora isso definitivamente melhorasse o desempenho, aumentando o número de transações entrando em um bloco, existem vários problemas que podem ocorrer como resultado: Em primeiro lugar, isso ainda não resolverá o problema de nós chegarem a um consenso em um ritmo mais lento. Na verdade, conforme o número de transações por bloco aumenta, o número de cálculos e verificações por nó também aumentará. Para acomodar mais e mais transações, os tamanhos dos blocos precisam ser aumentados periodicamente. Isso centralizará mais o sistema porque os computadores e usuários normais não serão capazes de baixar e preservar tais blockchains volumosos. Isso vai contra o espírito igualitário de um blockchain. Por fim, o aumento do tamanho do bloco acontecerá apenas por meio do forcado, que pode dividir a comunidade. A última vez que um grande forcado aconteceu no ethereum, toda a comunidade foi dividida e surgiram duas moedas diferentes. As pessoas realmente não querem que isso aconteça novamente. Faça os usuários usarem altcoins diferentes. Outra proposta era executar blockchains paralelos em vez de um blockchain principal. Basicamente, em vez de fazer 50 DApps rodarem em um blockchain principal, tenha 2 blockchains e execute 25 DApps cada. Havia dois problemas com essa proposta: Não é sensato dividir o hashrate de uma cadeia. Afinal, o hashrate da cadeia determina o quão seguro é contra hackers externos e o sistema é rápido. Será mais fácil para os mineiros mal-intencionados obterem a maioria de 51% nas cadeias menores. Fragmentação Finalmente, a fragmentação foi decidida como o caminho a seguir para o ethereum. Antes de mergulharmos profundamente na fragmentação, vamos obter uma compreensão simples do que isso significa. Suponha que haja três nós A, B e C e eles tenham que verificar os dados T. Em vez de A, B e C verificando todos os dados T individualmente, os dados serão divididos em 3 fragmentos: T1, T2 e T3. Depois disso, A, B e C verificarão um fragmento lado a lado. Como você pode ver, a quantidade de tempo que está economizando é exponencial. De qualquer forma, vamos mergulhar fundo! O que é fragmentação? Sharding é um termo obtido dos sistemas de banco de dados. Vamos ver o que significa fragmentação em relação ao banco de dados. Suponha que você tenha um banco de dados enorme e volumoso para o seu site. Ter um banco de dados volumoso não apenas torna a pesquisa de dados mais lenta, mas também prejudica sua escalabilidade. Então, o que você faz neste caso? E se você fizer uma partição horizontal em seus dados e transformá-los em tabelas menores e armazená-los em servidores de banco de dados diferentes? Cortesia de imagem: Dzone Gosta? Agora, você pode estar se perguntando, por que uma partição horizontal e não uma partição vertical? Isso se deve à maneira como as tabelas são projetadas: Está vendo? É a mesma tabela / banco de dados, mas com menos dados. Esses bancos de dados menores são conhecidos como fragmentos do banco de dados maior. Cada fragmento deve ser idêntico à mesma estrutura de tabela. Sharding no contexto de blockchain Agora, como vimos, o problema com o consenso ethereum é que todos os nós precisam fazer todos os cálculos e verificações para cada transação. Isso torna todo o processo muito lento e complicado. Então, como a fragmentação vai ajudar nisso? Considere o estado da blockchain ethereum que chamaremos de “Estado Global”, que é visível para todos. Vamos considerar a raiz Merkle desse estado global. (Para árvores e raízes Merkle, leia nosso artigo sobre HASHING). Essa raiz de estado será dividida em raízes de fragmentos e cada uma dessas raízes compartilhadas terá seu próprio estado. Esses estados serão representados na forma de uma árvore Merkle. Esta é uma estrutura muito simples de como deveria ser. Agora, vamos entrar na mecânica interna. Então, o que acontece depois que o sharding é ativado? O estado é dividido em fragmentos Cada conta única está em um fragmento As contas só podem fazer transações com outras contas no mesmo fragmento Em Devcon, Vitalik Buterin explicou fragmentos como este: Imagine que o ethereum foi dividido em milhares de ilhas. Cada ilha pode fazer suas próprias coisas. Cada uma das ilhas tem suas próprias características únicas e todos os que pertencem a essa ilha, ou seja, as contas, podem interagir entre si E podem desfrutar livremente de todas as suas características. Se quiserem entrar em contato com outras ilhas, terão que usar algum tipo de protocolo. Então, a questão é: como isso vai mudar o blockchain? Qual é a aparência de um bloco normal em bitcoin ou ethereum (pré-fragmentação)? Portanto, há um cabeçalho de bloco e o corpo que contém todas as transações do bloco. A raiz Merkle de todas as transações estará no cabeçalho do bloco. Agora, pense sobre isso. O bitcoin realmente precisava de blocos? Ele realmente precisava de um blockchain? Satoshi poderia simplesmente ter feito uma cadeia de transações incluindo o hash da transação anterior na transação mais recente, formando uma “cadeia de transações”, por assim dizer. A razão pela qual eles organizam essas transações em um bloco é para criar um nível de interação e tornar todo o processo mais escalonável. O que o ethereum sugere é que eles mudam isso em dois níveis de interação. O primeiro nível O primeiro nível é o grupo de transações. Cada fragmento possui seu próprio grupo de uma transação. Cortesia de imagem: Hackernoon O grupo de transações é dividido em cabeçalho e corpo do grupo de transações. Cabeçalho do grupo de transações O cabeçalho é dividido em partes distintas à esquerda e à direita. A parte esquerda: ID do fragmento: o ID do fragmento ao qual o grupo de transações pertence. Raiz do pré-estado: Este é o estado da raiz do fragmento 43 antes da aplicação das transações. Raiz pós-estado: este é o estado da raiz do fragmento 43 após as transações serem aplicadas. Raiz de recebimento: a raiz de recebimento após todas as transações no fragmento 43 serem aplicadas. A parte certa: a parte certa está cheia de validadores aleatórios que precisam verificar as transações no próprio fragmento. Eles são todos escolhidos aleatoriamente. Transaction Group Body Ele possui todos os IDs de transação no próprio fragmento. Propriedades do nível um Cada transação especifica o ID do fragmento ao qual pertence. Uma transação pertencente a um fragmento específico mostra que ocorreu entre duas contas que são nativas desse fragmento específico. O grupo de transações possui transações que pertencem apenas a esse ID de shard e são exclusivas para ele. Especifica a raiz pré e pós-estado. Agora, vamos dar uma olhada no nível superior, também conhecido como segundo nível. Cortesia de imagem de segundo nível: Hackernoon. Não tenha medo! É mais fácil de entender do que parece. Existe o blockchain normal, mas agora contém duas raízes primárias: A raiz do estado A raiz do grupo de transações A raiz do estado representa todo o estado e, como vimos antes, o estado é dividido em fragmentos, que contêm seus próprios subestados. A raiz do grupo de transações contém todos os grupos de transações dentro desse bloco específico. Propriedades do nível dois O nível dois é como um blockchain simples, que aceita grupos de transações em vez de transações. O grupo de transação é válido apenas se: a) A raiz do pré-estado corresponde à raiz do shard no estado global. b) As assinaturas no grupo de transações são todas validadas. Se o grupo de transações entrar, a raiz de estado global se tornará a raiz de pós-estado desse ID de shard específico. Então, como ocorre a comunicação entre fragmentos? Agora, lembra da nossa analogia com a ilha? Os fragmentos são basicamente como ilhas. Então, como essas ilhas se comunicam entre si? Lembre-se de que o objetivo dos shards é fazer muitas transações paralelas acontecerem ao mesmo tempo para aumentar o desempenho. Se o ethereum permitir a comunicação aleatória entre fragmentos, isso anulará todo o propósito do fragmento. Então, qual protocolo precisa ser seguido para comunicação entre fragmentos? ethereum optou por seguir o paradigma de recebimento para comunicações cross-shard. Confira: Imagem cortesia: hackernoon Como você pode ver aqui, cada recibo individual de qualquer transação pode ser facilmente acessado por meio de várias árvores Merkle a partir da raiz Merkle do grupo de transações. Cada transação em um fragmento fará duas coisas: Alterar o estado do fragmento ao qual pertence Gerar um recibo Aqui está outra informação interessante. Os recibos são armazenados em uma memória compartilhada distribuída, que pode ser vista por outros shards, mas não modificada. Portanto, a comunicação entre os fragmentos pode acontecer por meio de recibos como este: Cortesia de imagem: Hackernoon Quais são os desafios da implementação de fragmentos? Deve haver um mecanismo para saber qual nó implementa qual fragmento. Isso precisa ser feito de uma maneira segura e eficiente para garantir a paralelização e a segurança. A prova de aposta precisa ser implementada primeiro para tornar o sharding mais fácil, de acordo com Vlad Zamfir. Os nós funcionam em um sistema sem confiança, o que significa que o nó A não confia no nó B e os dois devem chegar a um consenso, independentemente dessa confiança. Portanto, se uma transação específica for dividida em fragmentos e distribuída para o nó A e o nó B, o nó A terá que apresentar algum tipo de mecanismo de prova de que concluiu o trabalho em sua parte do fragmento. O que são Ethereum Nodes and Sharding: Conclusão À medida que o ethereum se expande e inaugura Metropolis e Serenity, a fragmentação se torna cada vez mais crítica para seu crescimento. Se o ethereum planeja se tornar a nova Internet, eles precisam corrigir seus problemas de escalabilidade. Eles absolutamente precisam implementar e fragmentar as unhas para garantir seu crescimento. Tempos emocionantes pela frente para o ethereum!

-AMAZONPOLLY-ONLYAUDIO-END-

“>

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map