我认为大多数区块链没有采用异步执行的主要原因很简单:当用户看到他们的交易被确认时,他们期望结果能够立即可用,因为他们的后续操作依赖于此。 虽然通过延迟执行可以在本地模拟与非争议状态(例如转账/批准)相关的交易结果,但这些交易也正是不会给同步执行带来太多开销的类型。 这一点使得异步执行在考虑以下因素时变得不那么有吸引力: 1. 额外的开发成本 2. 终端客户端上非平凡的交易处理条件(检查交易是否可能涉及争议状态,并选择等待链上的结果或在本地模拟)
Keone Hon ⨀
Keone Hon ⨀8月11日 03:59
今天写一些关于异步执行(即延迟执行)的内容。 这是Monad的一个"大思想",在事后看来似乎显而易见:一旦交易顺序确定,状态也就确定了。 你可能不知道,但在大多数区块链中,包括以太坊和索拉纳,评估一系列交易(即一个区块)的节点还必须在投票过程中就该交易列表的结果(即这些交易后的状态根)达成一致。 这要求它们在回应投票之前执行这些交易,这显然大大缩小了它们可以预期完成的工作量。这种期望过于严格,是区块链吞吐量如此有限的主要原因之一。
这绝对是一个有趣的路径,但历史表明,理论上应该带来更高性能的范式往往由于额外的复杂性而未能实现广泛采用。 例如,TON中的异步执行(尽管与Monad的非常不同,但在纸面上也更好)是我听到的开发者主要抱怨的点,而且它也没有带来任何合理的性能提升。
@MaxResnick1 我也不明白你为什么反复强调在最终状态方面它绝对更快。 从延迟的角度来看,显然是这样,但这并不是我帖子中的重点。
8.4K