Acho que a principal razão pela qual a maioria das blockchains não adotou a execução assíncrona é simples: quando os usuários veem que sua transação está confirmada, esperam que o resultado esteja disponível, pois suas ações futuras dependem disso. Embora com a execução diferida seja possível simular localmente o resultado para estados não contenciosos (como transferências/aprovações), estes também são os tipos de transações que não adicionam muito overhead a uma execução síncrona, o que torna a execução assíncrona uma alternativa muito menos atraente, considerando os custos adicionais de desenvolvimento e a condicionalidade do processamento de transações no cliente final (verificando se uma transação pode tocar um estado contencioso, o que não é trivial, e escolhendo esperar pelo resultado da blockchain ou simular localmente).
Keone Hon ⨀
Keone Hon ⨀11/08, 03:59
Hoje estou a escrever sobre execução assíncrona (também conhecida como execução diferida). Esta é uma das "grandes ideias" do Monad que parecerá óbvia em retrospectiva: assim que a ordem das transações é determinada, o estado é determinado. Você pode não saber disso, mas na maioria das blockchains, incluindo Ethereum e Solana, os nós que avaliam uma lista de transações (ou seja, um bloco) também devem concordar com o resultado dessa lista de transações (ou seja, a raiz do estado após essas transações) como parte do processo de votação. Isso exige que eles executem essas transações antes de responderem com um voto, o que obviamente reduz muito a quantidade de trabalho que se pode esperar que façam. Esta expectativa é demasiado rigorosa e é uma das grandes razões pelas quais a capacidade de processamento da blockchain é tão limitada.
1,34K