Дашборд Derova.algo показывает пул ожидающих транзакций одной ноды Algorand и обратный отсчёт до следующего доказательства состояния
Бесплатный дашборд Derova.algo в реальном времени показывает пул ожидающих транзакций одной ноды Algorand, а рядом — последние 20 блоков, состояние ноды и обратный отсчёт до следующего доказательства состояния сети. Кошелёк для этого не нужен, но счётчик пула отражает взгляд одной ноды, а не всей сети.


mempool.algorand.ing — бесплатная веб-страница, которая в реальном времени показывает, что находится в пуле ожидающих транзакций одной ноды Algorand, то есть в очереди транзакций, уже разосланных по сети, но ещё не записанных в блок. Рядом с очередью идёт обратный отсчёт до следующего доказательства состояния сети — компактного сертификата о текущем содержимом цепочки, — а под ним перечислены последние двадцать блоков с числом транзакций в каждом, их размером и собранными комиссиями. Ничего на этой странице не требует кошелька, входа в аккаунт или оплаты.
Страница принадлежит Derova.algo1 — участнику сообщества, который запускает собственную ноду, — и прямо говорит, чьи это цифры: в подвале указано «Mempool data as seen by Derova.algo Node». Это один из четырёх бесплатных инструментов на личном домене algorand.ing2: остальные — страница состояния ноды, дашборд метрик Grafana3 и ссылка на одноранговый стейкинг от Valar4. Всё опубликовано с оговоркой, что сайт «принадлежит участнику сообщества Algorand и управляется им независимо» и не связан с Algorand Technologies или Algorand Foundation.
Что показывает страница в один момент
Панель распределения по типам занимает левую часть экрана: сколько ожидающих транзакций — платежи, сколько — переводы активов, сколько — вызовы смарт-контрактов и сколько приходится на категории, которые в эту минуту никто не использует: регистрации ключей5, настройка активов, заморозка активов, доказательства состояния, heartbeat-транзакции.
Три загрузки страницы с интервалом в несколько минут показали каждый раз разную очередь. В первый раз в ней оказалось 49 транзакций: 15 платежей, 18 переводов активов и 16 вызовов приложений.
Несколько минут спустя та же панель показывала 78 транзакций, из которых 57 были вызовами приложений. При третьей загрузке страница застала 39. Весь смысл именно в этом разбросе: Algorand записывает блок примерно каждые 2.8 секунды, поэтому транзакция редко ждёт долго, и число, которое видите вы, не увидит следующий посетитель. Платёж перемещает ALGO; перевод актива перемещает токен, выпущенный на Algorand, а механизм Algorand Standard Asset позволяет любому создать такой токен, не написав ни строчки контракта; вызов приложения запускает смарт-контракт. Эти три типа исчерпывали весь пул при каждом чтении, а пять обнулённых категорий — обычные типы транзакций Algorand, которых в ту минуту просто не происходило.
Остальную часть страницы занимают ещё три панели.
| Понятие | Что показывает | Что это значит на практике |
|---|---|---|
| Ожидающий пул по типам | Транзакции, которые эта нода получила, но ещё не поместила в блок, с разбивкой по типам | Очередь, живущая секунду-другую, которую не фиксирует ни один обозреватель блоков |
| Последние блоки | Последние двадцать раундов с числом транзакций, размером и собранными комиссиями | Итог комиссий около нижней границы в 0.0016 ALGO означает, что цепочка спокойна и никто не торгуется за место в блоке |
| Состояние сети | Нода онлайн или офлайн, консенсус в норме или нет, и точная сборка ПО, на которой она работает (версия 5.0.1, коммит e763fb0d) | Показывает, успевает ли сама нода, выдающая эти цифры, за цепочкой |
| Квантовая защита | Когда было опубликовано последнее доказательство состояния, сколько блоков осталось до следующего, какую высоту блока оно подтверждает и ждёт ли что-то в пуле | Видимая половина работы Algorand над постквантовой защитой — с обратным отсчётом, за которым можно наблюдать |
Размеры блоков остаются скромными: в окнах по двадцать блоков, за которыми следило это исследование, число транзакций в блоке колебалось от 8 до 57. В одно из таких окон попал блок с 54 транзакциями, собравший 0.115 ALGO комиссий. Базовая комиссия7 Algorand составляет 0.0018 ALGO за транзакцию, когда сеть спокойна, так что 54 обычные транзакции заплатили бы 0.054 ALGO — меньше половины от общего сбора этого блока. Значит, часть его транзакций заплатила выше нижней границы, а документированных способов для этого три: добровольно повышенная комиссия, постквантовая подпись Falcon-1024 (минимум 0.0039 ALGO, втрое больше базовой) или ценовой механизм при перегрузке, который включается только когда блоки начинают заполняться.
Вид Classic и три исхода для транзакции
Вторая страница на mempool.algorand.ing/classic оставляет от дашборда пять чисел — PENDING, CONFIRMED, DROPPED, CONNECTED и текущий блок — и лучше смотрится на телефоне. Заодно на ней виден механизм. Её код открывает websocket к api.algorand.ing10 и слушает обновления пула; каждая новая транзакция регистрируется как ожидающая вместе с последним раундом, в котором она ещё действительна, а страница подписывается именно на эту транзакцию, чтобы сообщить один из трёх исходов: подтверждена — с указанием раунда и затраченного времени; выброшена из пула; или истекла.
Именно истечение и стоит понять. Транзакции Algorand несут первый и последний действительный раунд11 вместо nonce, и окно между ними — единственный период, когда транзакция может быть зафиксирована; если последний действительный раунд наступил, а транзакция так и не попала в блок, она больше не годится и её придётся отправлять заново. Вот что даёт просмотр в реальном времени: можно наблюдать, как ваша собственная транзакция сидит в очереди, и видеть, не выпадет ли она вот-вот из своего окна.
При одном из чтений страница Classic показывала 20 ожидающих, 14 подтверждённых и 0 выброшенных; более ранний обход той же страницы зафиксировал 49 ожидающих, 43 подтверждённых и 4 выброшенных. Счётчики движутся.
Почему просмотр пула ожидающих транзакций значит на Algorand другое
В Ethereum просмотр мемпула — во многом зрительский вид спорта: блоки заполняются, пользователи платят комиссии, чтобы пролезть вперёд, и интерес в том, кто сколько даёт за следующее место. Algorand устроен наоборот. В обсуждении на форуме в ноябре 2021 года12, которое до сих пор остаётся самым внятным объяснением, на вопрос о просмотре ожидающих транзакций ответил разработчик под ником fabrice, отметив, что «в отличие от Ethereum здесь нет приоритизации транзакций по комиссии за газ и сейчас нет перегрузки», а во втором ответе, от tsachi, прозвучало предупреждение: «нет гарантии, что ваша нода увидит все транзакции, которые попадут в следующий (эффективный) блок».
Правила комиссий говорят то же самое с другого конца: транзакция платит большее из двух — плату за перегрузку в расчёте на байт и минимальную комиссию; при спокойной цепочке плата за байт равна нулю, а платежи, переводы активов и вызовы приложений оцениваются одинаково. Так что эта страница — не первый ряд на аукционе ставок. Она говорит о другом: была ли транзакция вообще замечена.
Универсальные обозреватели охватывают уже рассчитанную цепочку. Allo13, Pera Explorer14 и Algo Surf15 показывают блоки, аккаунты, активы и пропускную способность сети: Algo Surf при одном из обращений сообщал о 10.2 транзакции в секунду и средней длительности блока 2.80 секунды, тогда как публичный дашборд Nodely16 по 100 блокам измерял 13 TPS и 2.73 секунды. Всё это уже история: к моменту появления блока его транзакции необратимы. Пул ожидающих транзакций — то, что ему предшествует, и поддерживать его живым оказывается труднее. Обозреватель мемпула Algorand на iamnotabot.com/pool работал с декабря 2021 года — разработчик, делавший в 2022 году тот же инструмент для TRON17, ссылался на него как на образец, — и теперь этот домен не разрешается. Другой сервис просмотра транзакций в реальном времени, chaintrail.io, сейчас отдаёт не имеющий отношения к теме сайт с азартными играми.
Подвох: одна нода — не вся сеть
Всё здесь — взгляд одной ноды, и страница сама об этом говорит. Те ответы на форуме12 2021 года объясняют, почему эта оговорка совсем не формальность: разные ноды Algorand могут хранить разные версии пула ожидающих транзакций, и их содержимое не обязано совпадать. Две страницы тоже не сходились между собой: при чтении с разницей в минуту в ходе одной исследовательской сессии панель типов на главной и счётчик ожидающих на странице Classic различались в два с половиной раза. Похоже на разницу в том, что именно считает каждая страница — главная показывает пул ноды так, как его видит нода, а Classic ведёт собственный учёт транзакций, за которыми следила одна открытая вкладка браузера, сбрасывая счётчики по мере появления блоков, — но ни одну из цифр не удалось воспроизвести извне. Два нейтральных эндпоинта — бесплатный сервис algod от AlgoNode (команды, стоящей за Allo) и ещё один от Nodely18 — вернули примерно в тот же момент по одной ожидающей транзакции, тогда как все эндпоинты, перечисленные на api.algorand.ing, требуют заголовка X-API-Key и без него отдают 401. Отражает ли расхождение разницу во времени, особенности соединения между нодами или действительно более широкий обзор ноды Derova — публичные эндпоинты ответить не могут. Сам живой поток воспроизводится через страницу.
Ещё две вещи нельзя проверить со стороны. Код дашборда не опубликован: в публичном GitHub Derova19 лежат два репозитория — форк проекта стейкинг-пула Ré'ti и набор руководств по запуску ноды Algorand, — и ни один из них не эта страница, так что как считаются числа, проверить нельзя. И никаких опубликованных данных о том, сколько людей её смотрят, на странице нет. Оператор — верифицированный аккаунт сообщества, а не компания: имя derova.algo20 зарегистрировано в июне 2022 года и ведёт на аккаунт в X с 477 подписчиками, — но за ним стоит настоящий участник консенсуса: на нём около 44,969 ALGO, он зарегистрирован как онлайн-участник, а в его недавней истории есть heartbeat-транзакции — тип, который Algorand ввёл, чтобы нода могла явно сообщить, что она онлайн, даже когда не предлагает блок. Его страница состояния ноды21 перечисляет два стека mainnet с метками Valar EU и Myth Finance, и у каждого нода, сервис algod, хост и канал связи показывают 100 процентов.
Он и раньше сворачивал сервис, вместо того чтобы оставлять его устаревать: интерфейс стейкинг-пула Ré'ti, который он вёл на reti.algorand.ing22, теперь показывает уведомление, что тот никогда не задумывался как официальный интерфейс, и направляет посетителей на reti.nodely.io23. Ничто из этого не создаёт риска хранения — на странице нет ни подключения кошелька, ни средств, а единственные сторонние ресурсы, которые загружает её код, — сервис веб-аналитики и Google Fonts. Речь идёт лишь о точности бесплатного дисплея, работающего в режиме чтения.
С чего начать
Начните с главной страницы и дайте ей минуту. Распределение по типам перерисовывается по мере прихода и исчезновения транзакций, а список блоков под ним пополняется каждые несколько секунд. С телефона открывайте вид Classic: пять чисел и статус соединения, никаких графиков. Если вы запускаете ноду Algorand, её сервис algod отдаёт тот же список ожидающих транзакций, из которого построена эта страница, так что счёт Derova можно сверить с тем, что видит ваша нода, а не принимать на веру.
Панель, которую стоит оставить открытой, — квантовая. Algorand выпускает доказательства состояния24 в mainnet с 2022 года, подписывая их Falcon — схемой на решётках, выбранной за устойчивость к квантовым компьютерам, — и публикует новое каждые 25625 раундов, то есть примерно раз в двенадцать минут при недавнем темпе цепочки. Derova добавил этот трекинг в обновлении от 3 апреля, написав тогда26, что страница «была обновлена для отслеживания доказательств состояния, чтобы вы могли следить за их появлением в реальном времени». Дорожная карта Algorand Foundation27 ставит целью широкую квантовую устойчивость к концу 2027 года, а первые этапы намечены на третий квартал 2026 года.
Источники
4 цифры в этом материале проверены.Все проверки
Источники
- 1Derova.algo x.com↩
- 2algorand.ing algorand.ing↩
- 3дашборд метрик Grafana metrics.algorand.ing↩
- 4Valar stake.valar.solutions↩
- 5регистрации ключей dev.algorand.co↩
- 7Базовая комиссия dev.algorand.co↩
- 10api.algorand.ing api.algorand.ing↩
- 11первый и последний действительный раунд dev.algorand.co↩
- 12обсуждении на форуме в ноябре 2021 года forum.algorand.co↩
- 13Allo allo.info↩
- 14Pera Explorer explorer.perawallet.app↩
- 15Algo Surf algo.surf↩
- 16публичный дашборд Nodely tps.nodely.io↩
- 17тот же инструмент для TRON devpost.com↩
- 18Nodely nodely.io↩
- 19публичном GitHub Derova github.com↩
- 20derova.algo app.nf.domains↩
- 21страница состояния ноды status.algorand.ing↩
- 22reti.algorand.ing reti.algorand.ing↩
- 23reti.nodely.io reti.nodely.io↩
- 24Algorand выпускает доказательства состояния dev.algorand.co↩
- 26написав тогда x.com↩
- 27Дорожная карта Algorand Foundation algorand.co↩
- 28Derova.algo Node Mempool mempool.algorand.ing↩
- 29Ноды Derova.algo status.algorand.ing↩
- 30Derova.algo Node Mempool mempool.algorand.ing↩
- 31derova — Algorand forum.algorand.co↩
- 32Обозреватели блоков Algorand в 2024 году: краткое руководство | Algorand algorand.co↩