Я думаю, что главная причина, по которой большинство блокчейнов не приняли асинхронное выполнение, проста: когда пользователи видят, что их транзакция подтверждена, они ожидают, что результат будет доступен, так как их дальнейшие действия зависят от этого. Хотя с отложенным выполнением возможно локально смоделировать результат для транзакций, работающих с неконфликтующим состоянием (таким как переводы/одобрения), это также те виды транзакций, которые не добавляют много накладных расходов к синхронному выполнению. Этот аспект делает асинхронное выполнение гораздо менее привлекательной альтернативой, учитывая: 1. Дополнительные затраты на разработку 2. Непростую условность обработки транзакций на конечном клиенте (проверка, может ли транзакция затронуть конфликтующее состояние, и выбор ожидания результата от цепочки или локального моделирования)
Keone Hon ⨀
Keone Hon ⨀11 авг., 03:59
Сегодня я пишу о асинхронном выполнении (также известном как отложенное выполнение). Это одна из "больших идей" монады, которая в ретроспективе будет казаться очевидной: как только порядок транзакций определен, состояние также определено. Вы, возможно, не знаете, но в большинстве блокчейнов, включая Ethereum и Solana, узлы, оценивающие список транзакций (т.е. блок), также должны согласовать результат этого списка транзакций (т.е. корень состояния после этих транзакций) в рамках процесса голосования. Это требует от них выполнения этих транзакций перед тем, как ответить голосом, что, очевидно, значительно сокращает объем работы, которую от них можно ожидать. Это ожидание слишком строгое и является одной из основных причин, почему пропускная способность блокчейна так ограничена.
Это определенно интересный путь, но история показывает, что парадигмы, которые должны технически обеспечивать большую производительность, часто не достигают принятия из-за дополнительной сложности. Например, асинхронное выполнение в TON (хотя оно очень отличается от Monad, но также лучше на бумаге, кстати) является основной точкой жалоб от разработчиков, которые я слышал, и это также не дает никаких разумных приростов производительности.
@MaxResnick1 Также я не понимаю, почему вы повторили, что это строго быстрее с точки зрения окончательного состояния. С точки зрения задержки, это очевидно, и это не было целью моего поста.
8,39K