Explicação em vídeo
No vídeo abaixo, tentamos dar uma visão geral rápida do conceito principal de como os dados estão fluindo na blockchain da NEAR. Você encontrará uma versão em texto abaixo do vídeo.
Versão em texto
O fluxo de dados da blockchain NEAR pode ser um pouco complicado à primeira vista. Mas é bastante simples e segue regras bem definidas. Neste artigo, veremos mais de perto como os dados fluem na NEAR.
De fato, qualquer fluxo de blockchain pode ser representado como uma linha do tempo infinita que tem um início, mas não tem fim.
E um bloco aparece nessa linha do tempo com algum intervalo. Cada um desses blocos contém as informações sobre o anterior, criando assim uma cadeia de blocos .
O protocolo NEAR tem uma natureza fragmentada, o que significa que mais de uma rede paralela, chamada de Shard , pode estar ativa a qualquer momento. E cada Shard produz um pedaço de um bloco em um determinado intervalo. Um bloco na NEAR é uma coleção de blocos de todos os fragmentos. O bloco de blocos é encurtado para Chunk na documentação do protocolo NEAR.
Retornando ao próprio fluxo de dados. O melhor que podemos fazer é imaginar faixas como podemos ver em aplicativos de edição de áudio/vídeo. Cada Shard tem seu próprio conjunto de faixas. A faixa superior é para Chunks. Eles aparecem não importa o que em um determinado intervalo. Para NEAR, o intervalo é de cerca de um segundo. Pedaços estão sendo produzidos mesmo que nada esteja acontecendo na blockchain.
Mas o que significa dizer que algo está acontecendo? Queremos dizer que algo desencadeou algumas mudanças na blockchain. E o método mais conhecido para acionar qualquer alteração é enviar uma transação para a blockchain com instruções do que queremos alterar e quem solicitou essas alterações.
Uma transação precisa ser construída, assinada e enviada para a blockchain. Uma vez executado, esperamos ter um resultado – Resultado da Execução. Ah, isso é simples. Mas não é realmente exato para o NEAR Blockchain.
No início existe uma Transação, ela contém instruções que queremos que sejam executadas no blockchain. A transação é enviada para a NEAR Blockchain.
E sim, ela é executada lá imediatamente, MAS o resultado imediato da execução da transação é sempre apenas um reconhecimento de que ela será executada na cadeia; essa solicitação de execução interna é conhecida como Recibo. Você pode pensar no recibo como uma transação interna que existe para passar informações entre os fragmentos (shards).
Vamos voltar às faixas para ver o exemplo.
Supondo que temos duas contas vivendo em Shards diferentes: alice.near e bob.near.
Alice.near cria uma transação para enviar alguns tokens para bob.near. A Transação é executada imediatamente e o Resultado da Execução da Transação é sempre um Recibo.
Mas este Recibo não pode ser executado aqui, pois bob.near não mora no mesmo Shard que alice.near, então o recibo deve ser executado no fragmento (Shard) do receptor. Portanto, o Recibo está se movendo para o Shard ao qual bob.near pertence.
No Fragmento de destino é executado o Recibo e o processo é considerado concluído.
A EXPLICAÇÃO AQUI É SIMPLIFICADA
Consulte o artigo Fluxo de transferência de token
Assim, o esquema final ficará assim:
Resumo
Aprendemos os principais princípios de como os dados estão fluindo na blockchain da NEAR. Descobrimos que as transações são executadas e o Resultado da Execução da transação é sempre um recibo .
Agora sabemos que o Recibo é um ativo interno principal para a blockchain NEAR e tem o poder de viajar entre Shards. Aprendemos o fluxo de dados NEAR em um exemplo simples. Claro que na vida real com transações mais complexas, que envolvem chamadas entre contratos, haverá mais Recibos e Resultados de Execução.
Esperamos que este artigo seja útil e que você possa construir seus dApps e indexadores facilmente com o conhecimento de como os dados estão fluindo no protocolo NEAR.