Esta é a última parte da nossa série que destaca as características únicas da rede Filecoin. Este post mergulha em taxas de gas - como funcionam e, porque são importantes para a rede Filecoin.
Filecoin é uma economia habilitada para blockchain com participantes fazendo transações em uma rede distribuída. Os estados da rede são atualizados por meio da gravação e processamento de mensagens dos mineradores nos blocos que eles mineram. Há uma variedade de mensagens que incluem integração de armazenamento, ofertas de armazenamento, provas contínuas, transações de token e assim por diante.
No entanto, o número de mensagens que podem ser processadas em um bloco é limitado como resultado de restrições impostas pelo desempenho da cadeia, escalabilidade e tempo de verificação. Como tal, apenas um subconjunto de mensagens na rede pode transformá-lo em um bloco a qualquer momento.
Além disso, a execução de mensagens consome recursos de computação e armazenamento na rede. É aí que entra o “gas” como medida dos recursos consumidos pela mensagem. O gas consumido afeta diretamente o custo pago por um remetente para enviar essa mensagem à blockchain. E o uso total de gas de todas as mensagens em um bloco é limitado.
O gas pode ser pensado como o combustível da blockchain Filecoin, assim como o combustível para automóveis. Antes de embarcar em uma viagem, você deve pagar pela gasolina que será consumida pelo motor durante o trajeto. Da mesma forma, os remetentes de mensagens no Filecoin pagam pelo gas que “alimenta” ou "incentiva" a execução de mensagens no Filecoin Blockchain.
Como o Filecoin utiliza o Gas
O Gas foi implementado inicialmente na blockchain Ethereum como uma medida de recursos computacionais e de armazenamento consumidos por uma mensagem. Este é o lugar onde a frase “GasUnit” se originou. Historicamente, em outras blockchains, os mineradores especificam um GasFee em uma unidade de moeda nativa e, em seguida, pagam aos mineradores produtores de blocos uma taxa de prioridade com base em quanto gas é consumido pela mensagem.
Mas o consumo de gas é um custo que deve ser arcado por toda a rede, pois cada nó da rede precisa gastar armazenamento e recursos computacionais para validar cada mensagem e manter um estado consistente da rede. Como tal, alguma quantidade de gas é queimada para compensar a rede com base no uso de gas de uma mensagem específica. Não distribuir esse custo cria desalinhamento de incentivos, pois os mineradores produtores de blocos podem incluir uma mensagem computacionalmente cara gratuitamente às custas de outros.
BaseFee (taxa base) é um conceito introduzido pelo EIP1559 da ethereum.
O BaseFee multiplicado pelo uso de gas para uma mensagem é “burned (queimado)”. Burning (queimando) significa que ele é enviado para um endereço que não pode ser gasto e removido de circulação na rede. É ajustado dinamicamente com base na demanda de largura de banda da rede em um determinado momento. Ele sobe à medida que a rede fica congestionada, de modo que os remetentes de mensagens cuja avaliação é menor que o BaseFee da rede manterão e aguardarão até que o congestionamento seja limpo. A taxa de troca no BaseFee foi projetada para ser rápida, ela aumenta rapidamente a potenciais ataques DOS e reduz à medida que a rede se torna menos ocupada. Os remetentes de mensagens que fazem com que a rede fique mais congestionada também internalizarão o custo pagando uma taxa mais alta. A queima também cria uma pressão deflacionária lenta que beneficia todos os participantes da rede.
Voltando à nossa analogia de roadtrip, pense em gasolina como gasolina em seu carro e na rede como o tráfego normal. Se as estradas estiverem congestionadas, por exemplo, na hora do rush, e o trânsito estiver parado, seu carro consumirá mais gasolina. Nesses casos, pode fazer sentido esperar um pouco antes de iniciar sua viagem. A mesma teoria se aplica à rede Filecoin – quando o tráfego da rede estiver congestionado, as taxas de gas serão altas e pode fazer sentido esperar e tentar novamente mais tarde.
Além de queimar algumas taxas para compensar a rede, os remetentes de mensagens incluem uma taxa de prioridade para os mineradores de produção do bloco que não estão vinculados à quantidade de gas consumida pela mensagem. Isso é chamado de GasPremium e também pode ser organizado fora do protocolo.
Um guia prático para o gas
Para ajudar os leitores a entender melhor o mecanismo de taxa de gas, a seguir descreve-se uma lista de conceitos de gas relevantes para uma mensagem e suas interações. Esses campos podem ser definidos pelos remetentes da mensagem, mas atualmente são automatizados no lotus e mais ferramentas podem ser desenvolvidas.
GasLimit – um limite na quantidade de gas que a execução de uma mensagem pode consumir, estimado e especificado por um remetente de mensagem. A soma de GasLimit para todas as mensagens incluídas em um bloco não deve exceder o BlockGasLimit. Isso na unidade da GasUnit.
GasUsage – a quantidade de gas que a execução de uma mensagem realmente consome. O protocolo atual não sabe quanto gas uma mensagem consumirá exatamente antes da execução. Isso na unidade da GasUnit.
GasFeeCap – o valor máximo de token que um remetente está disposto a pagar por GasUnit para incluir uma mensagem em um bloco. Um remetente de mensagem deve ter um saldo mínimo de GasFeeCap multiplicado por GasLimit ao enviar uma mensagem, mesmo que nem tudo seja consumido. Isso está na unidade de attoFIL/GasUnit.
GasPremium – uma taxa de prioridade que é paga ao minerador produtor de blocos por unidade de GasLimit. Isso é limitado por GasFeeCap e BaseFee tem uma prioridade mais alta. Isso está na unidade de attoFIL/GasUnit e pode ser tão baixo quanto 1 attoFIL/GasUnit.
BaseFee – uma variável de toda a rede que é ajustada dinamicamente com base na soma de GasLimit de todas as mensagens no conjunto de dicas anterior. Aumentará quando o GasLimit total exceder a meta GasLimit para um bloco (congestionamento da rede de sinalização) e diminuirá quando estiver abaixo. Isso está na unidade de attoFIL/GasUnit.
Os remetentes de mensagens só precisam especificar um GasFeeCap e GasLimit para cada mensagem. GasUsage multiplicado por BaseFee será queimado à medida que os recursos na cadeia forem consumidos. A subtração de BaseFee de GasFeeCap resultará em GasPremium. GasPremium multiplicado por GasLimit irá para o minerador de blocos como taxa prioritária. Alguma proporção da diferença entre GasLimit e GasUsage será queimada como uma penalidade de sobrevalorização. O restante será devolvido ao remetente da mensagem.
Atualmente, a implementação padrão é que os mineradores selecionam mensagens com base em GasFeeCap/GasLimit para maximizar seu retorno esperado, dado o GasLimit de um bloco. Quando a rede está congestionada e a BaseFee é alto, os mineradores podem decidir por não preencher totalmente os blocos, diminuindo assim o GasLimit total, para trazer a GasFee para baixo, mas potencialmente custando um pouco de GasPremium.
Trabalho futuro
As equipes de pesquisa e engenharia estão trabalhando para reduzir o consumo de recursos de diferentes mensagens dentro da cadeia para reduzir o uso de gas e melhorar o desempenho da rede para aumentar a capacidade. No entanto, atualmente existem algumas mensagens no Filecoin (como SubmitWindowedPoSt) que devem ser incluídas na cadeia dentro de uma janela relativamente curta ou uma penalidade será sofrida. Mais trabalho está sendo feito para melhorar a estrutura econômica e possibilitar a garantia de Qualidade de Serviço para este tipo de mensagens. A Filecoin Network como um coletivo de clientes, mineradores, desenvolvedores, parceiros e detentores de tokens continuará a colaborar e evoluir a rede para melhores direções. Siga os Filecoin Lotus Docs e o Filecoin Improvement Protocol para melhorias futuras.
Este artigo é uma tradução de Filecoin feita por Arnaldo Campos. Você pode encontrar o artigo original aqui.
Latest comments (0)