Penso che il motivo principale per cui la maggior parte delle blockchain non ha adottato l'esecuzione asincrona sia semplice: quando gli utenti vedono che la loro transazione è confermata, si aspettano che il risultato sia disponibile poiché le loro azioni successive dipendono da esso. Sebbene con l'esecuzione differita sia possibile simulare localmente il risultato per le transazioni che lavorano con uno stato non controverso (come trasferimenti/approvazioni), queste sono anche le tipologie di transazioni che non aggiungono molto sovraccarico all'esecuzione sincrona. Questo aspetto rende l'esecuzione asincrona un'alternativa molto meno attraente considerando: 1. Costi di sviluppo aggiuntivi 2. Una non banale condizionalità nel trattamento delle transazioni sul client finale (verificare se una transazione può toccare uno stato controverso e scegliere di attendere il risultato dalla blockchain o simularlo localmente)
Keone Hon ⨀
Keone Hon ⨀11 ago, 03:59
Oggi sto scrivendo riguardo all'esecuzione asincrona (nota anche come esecuzione differita). Questa è una delle "grandi idee" del Monad che sembrerà ovvia col senno di poi: che non appena l'ordine delle transazioni è determinato, lo stato è determinato. Potresti non saperlo, ma nella maggior parte delle blockchain, inclusi Ethereum e Solana, i nodi che valutano un elenco di transazioni (cioè un blocco) devono anche concordare sul risultato di quell'elenco di transazioni (cioè la radice dello stato dopo quelle transazioni) come parte del processo di voto. Questo richiede loro di eseguire quelle transazioni prima di rispondere con un voto, il che ovviamente riduce notevolmente la quantità di lavoro che ci si può aspettare che facciano. Questa aspettativa è troppo rigida ed è una delle principali ragioni per cui la capacità di throughput della blockchain è così limitata.
È sicuramente un percorso interessante da intraprendere, ma la storia mostra che i paradigmi che dovrebbero tecnicamente offrire prestazioni superiori spesso non riescono ad ottenere adozione a causa di una complessità aggiuntiva. Ad esempio, l'esecuzione asincrona in TON (anche se è molto diversa da quella di Monad, ma è anche migliore sulla carta, tra l'altro) è il principale punto di lamentele da parte degli sviluppatori che ho sentito, e non aggiunge nemmeno guadagni di prestazioni ragionevoli.
@MaxResnick1 Inoltre, non capisco perché hai ripetuto che è decisamente più veloce in termini di stato finalizzato. In termini di latenza, ovviamente lo è e non era il punto del mio post.
8,38K