Доступность данных и очистка
Цель слоев доступности данных, таких как Celestia, заключается в обеспечении доказуемой публикации данных блоков, чтобы приложения и роллапы могли знать состояние своей цепи и сохранять эти данные. После публикации данных слои доступности данных не гарантируют, что исторические данные будут храниться постоянно и оставаться доступными.
В этом документе мы обсуждаем состояние доступности данных и их очистки в celestia-node, а также даем некоторые советы для разработчиков роллапов, чтобы обеспечить возможность синхронизации новых роллапов.
Доступность данных и очистка в celestia-node
Начиная с версии v0.13.0, celestia-node реализовала окно выборочного тестирования легких узлов в 30 дней, как указано в CIP-4. Это означает, что после реализации очистки легкие узлы будут выборочно тестировать только блоки в пределах 30-дневного окна, вместо того чтобы проверять все блоки с момента создания цепи. Это изменение вводит концепцию очистки в celestia-node, где данные за пределами 30-дневного окна могут не храниться легкими узлами, что является значительным обновлением в управлении доступностью и хранением данных в сети (заметки о выпуске версии v0.13.0).
Данные в виде блобов (больших двоичных объектов, blob) старше окна недавности будут по умолчанию удалены на легких узлах после полной реализации очистки, но будут продолжать храниться архивными узлами, которые не выполняют очистку данных. Легкие узлы смогут запрашивать исторические данные в виде блобов в именованных пространствах у архивных узлов, пока архивные узлы существуют в публичной сети.
После полной реализации очистки легкие узлы будут выполнять выборочное тестирование данных только для блоков в пределах окна недавности данных в 30 дней.
Рекомендуемые практики для роллапов
Роллапам может потребоваться доступ к историческим данным, чтобы позволить новым узлам роллапов восстанавливать последнее состояние путем воспроизведения исторических блоков. После публикации данных на Celestia и гарантии их доступности, роллапам и приложениям необходимо самостоятельно хранить свои исторические данные.
Хотя можно продолжить это делать, используя метод API GetAll
в celestia-node для исторических блоков, пока архивные узлы существуют в публичной сети Celestia, разработчикам роллапов не следует полагаться на это как на единственный метод доступа к историческим данным, поскольку архивные узлы не гарантируют бесплатного обслуживания запросов на исторические данные. Ниже приведены некоторые другие рекомендуемые методы доступа к историческим данным.
Использование профессиональных провайдеров архивных узлов или данных. Ожидается, что профессиональные поставщики инфраструктуры будут предоставлять платный доступ к архивным узлам, где можно будет получить исторические данные, например, используя метод API
GetAll
. Это предоставляет лучшие гарантии, чем просто полагаться на бесплатные архивные узлы в публичной сети Celestia.Обмен снепшотами узлов роллапов. Роллапы могут делиться снепшотами своих директорий данных, которые пользователи могут загружать вручную для запуска новых узлов. Эти снимки могут содержать последнее состояние роллапа и/или все исторические блоки.
Добавление peer-to-peer поддержки синхронизации исторических блоков. Менее ручная версия обмена снимками, где узлы роллапов могут реализовать встроенную поддержку синхронизации блоков, при которой узлы роллапов загружают исторические данные блоков друг у друга по peer-to-peer сети.
Закрепление именованных пространств. Ожидается, что в будущем celestia-node позволит узлам "закреплять" данные из выбранных именованных пространств, которые они хотят хранить и делать доступными для других узлов. Это позволит узлам роллапов самостоятельно хранить свои данные без необходимости реализовывать собственный механизм peer-to-peer синхронизации исторических блоков.
Last updated