$NIGHT #night @MidnightNetwork

Midnight não cobra você pelo que você faz. Ele cobra você pelo que pode reconhecer.
Eu não percebi isso a princípio, só ficou claro uma vez que tentei mapear como as taxas realmente se comportam dentro do Midnight.
À primeira vista, as taxas parecem um detalhe da interface do usuário. Você paga uma pequena quantia, a transação é realizada e o sistema avança. Esse modelo funciona quando a execução e a verificação acontecem no mesmo lugar.
@MidnightNetwork separa-os.
A execução acontece localmente. A prova é gerada. A rede apenas verifica se o trabalho foi feito corretamente. Uma vez que essa separação existe, as taxas não podem mais seguir a execução da maneira usual.
Eles têm que seguir o reconhecimento.
Na maioria das cadeias, a computação é visível à medida que acontece, e as taxas estão diretamente ligadas a essa visibilidade. Cada operação tem um custo porque a rede a observa e a processa.
No Midnight, a rede não observa a computação em si. Ela apenas vê a prova de que a computação estava correta.
Isso cria uma lacuna.
O trabalho acontece mais cedo. O reconhecimento acontece mais tarde.
Esta é a parte que me levou tempo para entender.
Retroceder é como o sistema preenche essa lacuna.
Uma prova pode representar uma sequência de passos executados localmente ao longo do tempo e, em seguida, comprometida como um único resultado. Da perspectiva da rede, todo esse trabalho aparece no momento em que a prova é submetida. Da perspectiva do sistema, o trabalho já existia.
A lógica das taxas deve reconciliar essas duas linhas do tempo.
Não pode cobrar por cada passo intermediário porque a rede nunca os viu. Também não pode ignorá-los, porque a prova representa computação real. Portanto, o sistema atribui custo com base em como essa prova se relaciona com o estado anterior.
É aqui que as taxas param de ser cosméticas.
Eles começam a refletir como o sistema entende o tempo.
No Midnight, o trabalho não se torna real quando você o realiza. Ele se torna real quando o sistema o reconhece.
Esse reconhecimento depende da estrutura.
As provas não são isoladas. Elas fazem parte de uma árvore de geração, onde cada nova prova se baseia nas anteriores. Com o tempo, isso cria uma estrutura em camadas de computação derivada.
Uma prova não é apenas um resultado. É uma posição dentro daquela estrutura.
A lógica das taxas deve levar em conta essa posição.
Se uma prova introduz computação totalmente nova, ela carrega um custo diferente de uma que estende ou comprime o trabalho existente. O sistema não está apenas medindo quanto foi feito. Está medindo como esse trabalho se encaixa no que já existe.
Ignorar essa estrutura quebraria o modelo. Isso cobraria em excesso trabalhos repetidos ou cobraria de menos derivações complexas.
Portanto, as taxas estão atadas a como a computação evolui, não apenas a como é executada.
Isso muda como o sistema se sente ao usar.
Da perspectiva do usuário, você não está pagando por cada passo à medida que acontece. Você pode realizar várias ações localmente, construir um estado e depois comprometer esse estado uma vez.
A taxa está ligada àquele compromisso.
Isso reduz a fricção. Permite que os aplicativos projetem fluxos de trabalho onde a interação é contínua, mas o custo é periódico.
Mas isso também muda a responsabilidade.
O sistema deve confiar que a prova final representa com precisão tudo o que aconteceu antes dela. A rede não está assistindo ao processo. Está apenas validando o resultado.
Há também uma consequência menos óbvia.
Porque as taxas estão ligadas ao reconhecimento e à estrutura, não à execução passo a passo, o custo de um fluxo de trabalho depende mais do que ele produz do que de como foi realizado.
Dois processos com complexidade interna diferente podem convergir para um custo semelhante se suas provas resultantes ocuparem posições semelhantes na árvore de geração.
Essa é uma mudança fundamental.
Você não está mais pagando por esforço.
Você está pagando por como esse esforço é expresso para o sistema.
Ao mesmo tempo, esse design introduz restrições.
Retroceder significa que o sistema está constantemente reconciliando a execução passada com a verificação presente. A árvore de geração significa que as provas são interdependentes, não isoladas. A lógica das taxas deve permanecer consistente em ambas as dimensões.
Se se tornar muito flexível, o sistema pode ser explorado. Se se tornar muito rígido, limita a própria usabilidade que possibilita.
Portanto, o modelo de taxa não é apenas a precificação do uso.
Está mantendo o alinhamento entre execução, estrutura e verificação.
Do lado de fora, isso pode parecer uma pequena mudança.
De dentro do sistema, altera como o trabalho é medido.
A execução acontece localmente.
As provas representam essa execução.
A verificação confirma a correção.
As taxas são atribuídas com base em como essa prova se encaixa na estrutura mais ampla.
E isso leva a uma pergunta diferente.
Se o custo estiver ligado ao reconhecimento em vez da execução, então o sistema não está perguntando quanto trabalho você fez.
Está perguntando quando esse trabalho se torna visível o suficiente para contar.
Isso é o que torna a lógica das taxas do Midnight arquitetônica.
Não está ajustando quanto você paga.
Está definindo quando o trabalho se torna real dentro do sistema.