Creo que la razón principal por la que la mayoría de las blockchains no han adoptado la ejecución asíncrona es simple: cuando los usuarios ven que su transacción está confirmada, esperan que el resultado esté disponible ya que sus acciones posteriores dependen de ello. Mientras que con la ejecución diferida es posible simular localmente el resultado para transacciones que trabajan con un estado no contencioso (como transferencias/aprobaciones), también son este tipo de transacciones las que no añaden mucho sobrecosto a la ejecución sincrónica. Este aspecto hace que la ejecución asíncrona sea una alternativa mucho menos atractiva considerando: 1. Costos adicionales de desarrollo 2. Una condicionalidad no trivial en el procesamiento de transacciones en el cliente final (verificar si una transacción puede tocar un estado contencioso y elegir esperar el resultado de la cadena o simularlo localmente)
Keone Hon ⨀
Keone Hon ⨀11 ago, 03:59
Hoy estoy escribiendo sobre la ejecución asíncrona (también conocida como ejecución diferida). Esta es una de las "grandes ideas" de Monad que parecerá obvia en retrospectiva: que tan pronto como se determina el orden de las transacciones, se determina el estado. Puede que no lo sepas, pero en la mayoría de las blockchains, incluyendo Ethereum y Solana, los nodos que evalúan una lista de transacciones (es decir, un bloque) también deben estar de acuerdo con el resultado de esa lista de transacciones (es decir, la raíz del estado después de esas transacciones) como parte del proceso de votación. Eso requiere que ejecuten esas transacciones antes de responder con un voto, lo que obviamente reduce enormemente la cantidad de trabajo que se puede esperar que realicen. Esta expectativa es demasiado estricta y es una de las principales razones por las que el rendimiento de la blockchain es tan limitado.
Definitivamente es un camino interesante a seguir, pero la historia muestra que los paradigmas que deberían técnicamente ofrecer más rendimiento a menudo fracasan en lograr la adopción debido a una complejidad adicional. Por ejemplo, la ejecución asíncrona en TON (aunque es muy diferente de la de Monad, pero también es mejor en papel, por cierto) es el principal punto de quejas de los desarrolladores que he escuchado, y tampoco añade ganancias de rendimiento razonables.
@MaxResnick1 Además, no entiendo por qué has repetido que es estrictamente más rápido en términos de estado finalizado. En términos de latencia, obviamente lo es y no era el punto de mi publicación.
8.4K