@OpenGradient
Я проследил одну транзакцию через альфа тестнет, ожидая единственный путь выполнения. Она разделилась на три, прежде чем подтвердилась.
Транзакция попала в то, что они называют Inference Mempool. Вместо того чтобы просто сидеть и ждать своей очереди, мемпул смоделировал её, извлек вызов инференса, зарытый внутри, и отправил его на выполнение параллельно, пока сама транзакция оставалась в ожидании.
Это распределение меня удивило. Я предполагал, что инференс всегда происходит после того, как транзакция приземляется, так же как обновление оракула происходит после движения цены. Здесь он выполняется до завершения транзакции, а не после.
Как только результат модели пришёл обратно, оригинальная транзакция продолжилась с уже встроенным результатом и затем перешла в следующий блок. Никакого отдельного обратного вызова, никакого ожидания внешнего оракула. Результат просто часть той же атомарной операции.
Что это на самом деле даёт, так это устранение задержки оракула для логики на основе машинного обучения, плюс возможность запускать сотни ожидающих инференсов параллельно, а не в очереди друг за другом.
Скажу очевидную вещь. Это только альфа тестнет, даже ещё не в официальном тестнете. Модели должны быть в формате ONNX, что исключает многие крупные архитектуры. И я не видел ничего в документации, что бы касалось того, что происходит, если смоделированный инференс и фактическая среда выполнения не согласуются к моменту возобновления транзакции.
#OPG $OPG
$SYN $BAS
Я проследил одну транзакцию через альфа тестнет, ожидая единственный путь выполнения. Она разделилась на три, прежде чем подтвердилась.
Транзакция попала в то, что они называют Inference Mempool. Вместо того чтобы просто сидеть и ждать своей очереди, мемпул смоделировал её, извлек вызов инференса, зарытый внутри, и отправил его на выполнение параллельно, пока сама транзакция оставалась в ожидании.
Это распределение меня удивило. Я предполагал, что инференс всегда происходит после того, как транзакция приземляется, так же как обновление оракула происходит после движения цены. Здесь он выполняется до завершения транзакции, а не после.
Как только результат модели пришёл обратно, оригинальная транзакция продолжилась с уже встроенным результатом и затем перешла в следующий блок. Никакого отдельного обратного вызова, никакого ожидания внешнего оракула. Результат просто часть той же атомарной операции.
Что это на самом деле даёт, так это устранение задержки оракула для логики на основе машинного обучения, плюс возможность запускать сотни ожидающих инференсов параллельно, а не в очереди друг за другом.
Скажу очевидную вещь. Это только альфа тестнет, даже ещё не в официальном тестнете. Модели должны быть в формате ONNX, что исключает многие крупные архитектуры. И я не видел ничего в документации, что бы касалось того, что происходит, если смоделированный инференс и фактическая среда выполнения не согласуются к моменту возобновления транзакции.
#OPG $OPG
$SYN $BAS
