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