I think the main reason why most blockchains have not adopted async execution is simple: when users see that their tx is confirmed, they expect the result to be available as their further actions depend on it. While with deferred execution it's possible to locally simulate the result for txs working with non-contentious state (such as transfers/approvals), these are also the kinds of txs that don't add much overhead to synchronous execution. This aspect makes async execution a much less attractive alternative considering: 1. Additional development costs 2. A non-trivial tx processing conditionality on the end client (checking if a tx may touch a contentious state and choosing to wait for the result from the chain or locally simulate it)
Keone Hon ⨀
Keone Hon ⨀11.8. klo 03.59
Doing some writing today about asynchronous execution (aka deferred execution). This is one of the "big ideas" of Monad that will seem obvious in hindsight: that as soon as transaction order is determined, state is determined. You might not know this, but in most blockchains including Ethereum and Solana, the nodes evaluating a list of transactions (i.e. a block) must also agree upon the result of that list of transactions (i.e. the state root after those transactions) as part of the voting process. That requires them to execute those transactions prior to responding with a vote, which obviously greatly shrinks the amount of work they can be expected to do. This expectation is too strict, and is one of the big reasons why blockchain throughput is so limited.
It's definitely an interesting path to take, but history shows that paradigms that should technically yield more performance often failing to achive adoption due to an additional complexity. For example, async execution in TON (though it's very different from Monad's but is also better on paper btw) is the main point of complaints from devs that I heard, and it doesn't add any reasonable performance gains too.
@MaxResnick1 Also I don't get why you have repeated that it's strictly faster in terms of finalized state. Latency-wise, it obviously is and it wasn't the point of my post.
8,39K