Інженерне оновлення за другий квартал
Останні кілька місяців були дуже активні, насамперед - успішний запуск тестнету Mamaki. Ноди доступності даних на Mamaki працювали належним чином, у той час як незавершені оновлення, такі як докази фальсифікації з неправильним кодуванням, були повністю запущені.
Ми провели різноманітні інші внутрішні тести для проектів, які ми розробляємо, як-от sovereign rollups за допомогою Optimint і Quantum Gravity Bridge.
У цьому оновленні ми розглянемо деякі основні моменти нашого інженерного прогресу за попередні пару місяців.
Тестнет Mamaki
У зв’язку з запуском тестнету Mamaki минулого місяця, у нас було багато успіхів і проблем. Більшість нового функціоналу, необхідного розробникам, працювало за призначенням. Розробники могли успішно підключитися до API доступності даних і надіслати повідомлення PayForData до тестнету. Крім того, вони також можуть отримувати дані для заданого простору імен, усі вони служать основою масштабованого рівня доступності даних для rollups.
Тестнет також зустрівся з багатьма членами спільноти, які створили власні ноди, швидко заповнивши ліміт активних валідаторів у 150 місць, не кажучи вже про всі легкі та повні ноди, які також беруть участь у мережі. Ми дякуємо всім, хто тестував програмне забезпечення та залишав відгуки.
Тестнет не обійшовся без турбулентності. У мережі виникли деякі проблеми з нестабільністю, головним чином спричинені новим стеком p2p в останньому випуску Tendermint, який ми оновили для тестнету.
Піринг був однією з таких проблем, що посилило нестабільність. Як виявилося, максимальне значення однорангових з’єднань було жорстко закодовано на 1000. Ноди могли змінювати параметри однорангових нод у своїх конфігураційних файлах, але це не завадило їхньому набору однорангових нод перевищити налаштування, оскільки за замовчуванням встановлено жорстко запрограмоване значення. По суті, було переповнення однорангових нод.
Ми спробували різні варіанти, які включали перехід на застарілий стек p2p, що, на жаль, спричинило ще більше проблем. Крім того, застарілий і останній стеки p2p мали проблеми несумісності, що погіршило роботу. Можна з упевненістю сказати, що наша основна команда і команда додатків витратила більшу частину останнього місяця на налагодження та вирішення проблем тестнету.
На щастя, команда Tendermint змогла допомогти з налагодженням і вирішити деякі проблеми стабільності. Виявилось, що ми були не єдиною мережею Cosmos, яка зіткнулася з проблемами p2p після оновлення до останньої версії.
У подальшому ми плануємо використовувати більш стабільну версію Tendermint, яка все ще містить нещодавно введений пріоритетний mempool, незалежно від потреби. Пріоритезований mempool є важливою функцією, оскільки rollups вимагають його, щоб гарантувати успішну подачу своїх блоків Celestia, заплативши більше газу за пріоритет
Quantum Gravity Bridge
Під час нашого виїзду в Іспанію три місяці тому ми змогли отримати перше випробування Quantum Gravity Bridge, яке успішно працює у внутрішніх девнетах. Міст діє подібно до легкого клієнтського реле. Набір валідаторів Celestia підписує атестацію доступності даних, яка передається до мостового контракту з відповідними зобов’язаннями щодо даних і станом набору валідаторів.
Метою моста є забезпечення безпечної та масштабованої доступності даних для типу гібридного rollup, який ми називаємо Celestium.
Під час проведення наших інтеграційних тестів ми виявили, що реле надто легко частково пропускає дані, необхідні для оновлення. Без даних Celestium не знає, чи доступні дані, які вони публікують у Celestia.
Щоб виправити це, міст переходить на більш синхронну конструкцію, яка дозволяє контрактам примусово оновлювати всі необхідні дані в порядку. Ці зусилля призведуть до більш безпечного мосту для Celestium, кульмінацією якого стане розгортання в тестнеті Mamaki протягом наступних кількох місяців.
Optimint
Optimint призначений для використання в створенні sovereign rollup на Celestia шляхом заміни Tendermint під час використання Cosmos SDK. На відміну від поточних rollup, sovereign rollup поширюватиме свої докази фальсифікації або дійсності через мережу p2p для локальної перевірки нод.
Ми провели внутрішнє тестування з sovereign rollup за допомогою Optimint. Завдяки тестуванню ми змогли внести зміни, які покращують надійність, наприклад, успішне надсилання блоку, незважаючи на збій секвенсора, а також покращення часу очікування та обробки помилок. Поліпшення стійкості до цензури є важливим, оскільки секвенсор Optimint спочатку буде централізованим – тривають зусилля щодо обрання лідера та децентралізації секвенсора.
celestia-node
З моменту запуску тестнету, основна увага до можливостей нод доступності даних зосереджена на зміцненні через тестування та вдосконалення. Це передбачає початкові локальні тести нод у різних топологіях мережі. Наприклад, здатність повної ноди зберігання реконструювати блок перевіряється в топології, де повна нода зберігання не підключена до достатньої кількості легких нод, які мають достатньо даних для реконструкції блоку, але підключена до інших повних нод зберігання таким чином, що разом вони мають достатньо з’єднань легких нод, щоб реконструювати блок.
Одним із наступних кроків для підвищення ефективності та надійності реконструкції блоків є покращення видимості повних нод зберігання в мережі p2p. Наприклад, повна нода зберігання буде рекламувати себе в мережі так, що легкі ноди можуть отримати рекламу та підключитися до них. Збільшення видимості також забезпечить більш сприятливу топологію мережі, оскільки легкі ноди будуть прагнути підключатися до більш повних нод зберігання, покращуючи вибірку та надійність реконструкції.
Із запуском тестнету Mamaki докази фальсифікації з поганим кодуванням очікували випуску. Докази фальсифікації необхідні для сповіщення легких нод, коли блок був неправильно закодований для стирання. Відтоді докази фальсифікації були повністю інтегровані та завершені. Тепер наступним кроком є проведення широкомасштабного тестування рівня мережі.
Однією з переваг тестнету та його подальшого використання членами спільноти - покращене виявлення проблем і помилок. Загалом спостерігався кращий цикл зворотного зв’язку з користувачами, що дає нам змогу отримати більше розуміння можливих покращень для UX. Продовжується робота над кінцевими точками RPC ноди, які допомагають користувачам та іншим залежним сервісам, які використовують Optimint, наприклад sovereign rollups.
Підсумок
Зрештою, це була чудова пара місяців, наповнених великим прогресом. Ми запланували кілька важливих доповнень для тестнету - слідкуйте за новинами.
Ми активно проводимо набір на посади в нашу інженерну команду! Дивіться повний список відкритих вакансій тут.