Introdução
O processo de mineração na rede Arweave foi projetado para aumentar o número de repetições do conjunto de dados o máximo possível. Esse processo gira em torno da criação e teste de um grande número de Provas sucintas de acesso aleatório ( SPoRAs ) em todos os períodos de produção em bloco.
Este artigo entrará em detalhes técnicos de como o sistema de mineração funciona. Se você deseja iniciar a mineração, pode encontrar as etapas práticas envolvidas aqui.
Procedimento de mineração principal
A mineração na rede Arweave contém várias fases:
- No momento da geração de um bloco, um subespaço de pesquisa em toda a rede ( 10% da rede ) é escolhido para os nós lerem dados aleatórios.
- Os metadados do bloco candidato e um número aleatório ( o nonce ) são reunidos usando RandomX.
- A saída desse hash —, um número inteiro muito grande — é reduzido para estar dentro do intervalo fornecido pelo tamanho do espaço de pesquisa. Esse número é adicionado à base do espaço de pesquisa ( calculado na etapa 1 ), e usado como byte de desafio ‘ ’ —, um ponto no conjunto de dados que o minerador deve provar que pode acessar para continuar o processo de mineração.
- O mineiro agora tenta ler o pedaço que contém o byte de desafio do disco e na memória. Se o minerador não possuir uma cópia do pedaço fornecido, ele reiniciará o processo de mineração a partir do segundo estágio.
- O mineiro então lê ou recria, conforme apropriado, a prova de inclusão do byte fornecido no local apropriado no conjunto de dados ( a prova de Merkle ).
- Os metadados do bloco, a prova de Merkle, o pedaço e o nonce são então reunidos usando RandomX.
- A saída desse hash é interpretada como um número e depois validada em relação ao nível de dificuldade atual na rede. Todos, exceto uma tentativa por bloco de ciclo de produção na rede, falharão nessa verificação de validação, e esses mineradores começarão novamente a partir do segundo estágio.
- Quando o nó produziu uma prova para um bloco candidato válido, o cabeçalho de prova e bloco SPoRA é distribuído para o restante da rede.
Incentivos
Replicação ampla de dados
Os tokens são liberados do cronograma de inflação, bem como doação ( conforme apropriado ) para mineradores que produzem blocos. Como os mineiros falharão na quarta etapa do processo de mineração ( detalhada acima ) se não tiverem acesso ao byte de desafio necessário, então a otimização da mineração se torna um jogo de equilibrar a CPU e as despesas de armazenamento. Quanto mais dados um mineiro armazena, maior a probabilidade de ele conseguir recuperar o byte de desafio e continuar o processo de mineração até a verificação final no estágio sete. Embora o protocolo não exija que os mineradores armazenem todos os blocos, a falha em replicar o suficiente do conjunto de dados leva a um desempenho de mineração mais baixo ( a um gasto mais alto para uma taxa efetiva mais baixa de SPoRA ).
O design do algoritmo de mineração SPoRA obriga os mineradores a realizar gastos adicionais em replicações de dados para cada par de hashes no algoritmo, independentemente de onde os dados sejam armazenados. Simplificando, cada joule adicional de uso de energia deve ser correspondido por alguma quantidade de despesa no acesso a dados.
Nivelamento automático de replicação de dados
Uma restrição no espaço de pesquisa da rede é empregada para impor que os mineiros sejam incentivados a armazenar dados que não são tão bem replicados na rede. Esse mecanismo se mostra eficaz, pois os mineradores com acesso a seções menos bem replicadas da rede poderão produzir candidatos válidos ao SPoRA ( alcançam a etapa sete no processo de mineração ) em um nível mais alto taxa do que aqueles que não têm acesso aos dados raros, quando é escolhido um subespaço de pesquisa que o contenha.
Sacrifique a mineração
Na tentativa de obter uma vantagem no processo de mineração, os mineiros podem optar por ‘ sacrificar ’ tokens comprometendo dados à rede que eles não compartilham com outras pessoas. Quando os dados desta seção do tecido são selecionados, outros mineiros não poderão acessá-lo, aumentando posteriormente a taxa relativa de SPoRA do sacrificador. Isso adiciona uma camada de segurança econômica à rede, de maneira semelhante aos sistemas ‘ Proof of Burn ’. Se o minerador de sacrifícios nunca semear os dados na rede, eles também aumentarão a recompensa efetiva de doação para dados armazenados pelo usuário na rede. Isso se deve ao fato de a rede liberar tokens para todo o conjunto de dados, independentemente de os dados estarem sendo semeados na rede ou não.