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 seu tx está confirmado, eles esperam que o resultado esteja disponível, pois suas ações futuras dependem disso. Embora com a execução adiada seja possível simular localmente o resultado para txs que trabalham com estado não contencioso (como transferências/aprovações), esses também são os tipos de txs que não adicionam muita sobrecarga à execução síncrona. Esse aspecto torna a execução assíncrona uma alternativa muito menos atraente, considerando: 1. Custos adicionais de desenvolvimento 2. Uma condicionalidade de processamento de tx não trivial no cliente final (verificando se um tx pode tocar em um estado contencioso e optando por aguardar o resultado da cadeia ou simulá-lo localmente)
Keone Hon ⨀
Keone Hon ⨀11 de ago., 03:59
Escrevendo hoje sobre execução assíncrona (também conhecida como execução diferida). Esta é uma das "grandes ideias" da Mônada que parecerá óbvia em retrospectiva: que assim que a ordem da transação é 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 responder com um voto, o que obviamente reduz muito a quantidade de trabalho que se espera que façam. Essa expectativa é muito rígida e é uma das grandes razões pelas quais a taxa de transferência da blockchain é tão limitada.
É definitivamente um caminho interessante a seguir, mas a história mostra que os paradigmas que deveriam tecnicamente produzir mais desempenho muitas vezes não conseguem alcançar a adoção devido a uma complexidade adicional. Por exemplo, a execução assíncrona no TON (embora seja muito diferente da Monad, mas também é melhor no papel, aliás) é o principal ponto de reclamações dos desenvolvedores que ouvi e também não adiciona nenhum ganho de desempenho razoável.
@MaxResnick1 Também não entendo por que você repetiu que é estritamente mais rápido em termos de estado finalizado. Em termos de latência, obviamente é e não era o objetivo do meu post.
8,39K