Разработка Chainflip – отчёт от 6 мая 2022 года
На этой неделе я использую свой традиционный вступительный текст, чтобы попросить DJ Crayola зачаинфлипить Мэджикарпа для обложки этого выпуска. Все станет понятно, когда вы прочтете дальше, обещаю.
Прогресс с момента последнего обновления
За последние пару недель прогресс в разработке был превосходным, вот несколько основных моментов:
- Успешно протестированы обновления контрактов на нескольких сетях.
- Завершена работа над динамическим определением размера сета для более разумного подхода к максимизации обеспечения
- Устранены некоторые сомнительные предположения относительно реализаций RPC
- Решено несколько проблем безопасности, связанных со свидетельством
- Сделали наш P2P-код более универсальным в рамках подготовки к поддержке мультикриптовости.
- Помимо этого, ведется большое количество потрясающей работы, и я очень рад предстоящим нескольким месяцам. Каждая строчка кода, которую мы мерджим, становится лучше предыдущей. Новые контракты Ethereum также помогут мне крепче спать по ночам.
Обновление саундчека
Теперь перейдем к менее веселым новостям. С момента обнаружения критической ошибки несколько недель назад, было бы весьма оптимистичным сказать, что сеть продолжает работать. На самом деле, более подходящим было бы сравнение с Маджикарпом, вынырнувшим из воды. Для тех, кому интересно, я постараюсь изложить последовательность событий:
Суббота, 2 апреля
На канале Validator в Discord появились сообщения о событиях Equivocation в логах. Проверив сеть, мы заметили, что примерно 2/3 всех узлов (не только узлы Валидатора) упали на блоке 1502695 и не могут восстановиться. Мы обнаружили, что можно восстановить сеть, очистив цепочку и пересинхронизировав с неповрежденного Валидатора в качестве загрузочного узла, но не советовали этого делать из-за длительного времени синхронизации и желания заморозить состояние сети для целей расследования.
Понедельник, 4 апреля
Я разместил вопрос на Substrate StackExchange в надежде получить ответы. Было получено несколько ответов, которые не слишком помогли, а через пару дней Гэв попросил меня поднять вопрос в репозитории Substrate.
Среда, 6 апреля
Я поднимаю вопрос с добавлением некоторых подробностей в репозитории Substrate. Андре (разработчик клиента Substrate GRANDPA) сначала отклоняет проблему, но затем понимает, что в клиенте существует возможность необрабатываемого исключения.
Пятница, 8 апреля
Мы получаем подтверждение, что Андре работает над исправлением.
Среда 27 апреля
Мы получаем информацию о том, что исправление было добавлено в Substrate благодаря бдительности нашего сообщества валидаторов.
Четверг, 28 апреля
Мы интегрируем исправления и выпускаем обновление, надеясь на возобновление работоспособности, когда 2/3 валидаторов перейдут на новую версию. С тех пор как финализация прекратилась, сеть генерирует большие блоки, и большинству валидаторов требуется мучительно много времени для синхронизации.
_____________________________________________________
И это подводит нас к настоящему моменту. Начало нашей цепочки находится примерно в 120 тысячах блоков от точки, в которой застопорилось окончание, но само окончание нагнало только около 57 тысяч блоков (что произошло одномоментно, загадочным образом).
Я бы солгал, если бы сказал, что знаю, как вернуть финальность на Soundcheck. Думаю, мы могли бы это сделать, но это время и усилия, которые я бы предпочел потратить на оставшуюся работу, которую, как мы знаем, нам нужно выполнить для запуска в продакшн. Довольно обидно наблюдать за тем, как сеть ломается, поскольку наше первоначальное намерение было сохранить Soundcheck жизнеспособным и использовать его в качестве испытательного полигона для модернизации сети (мы могли бы попрактиковаться в этом, пока есть возможность, пока на кону не стоит реальная ценность).
Увы, теперь мы здесь.
Я знаю, что не все еще успели выполнить все задания для таблицы лидеров, поэтому вот примерный план, как исправить ситуацию в течение следующих нескольких недель, если мы не достигнем финальности к понедельнику 9 мая (дата может быть изменена):
- Развернуть новую сеть на основе кодовой базы Soundcheck с новым токеном $tFLIP.
- Раздать всем, кто не набрал максимальные 70 очков, по 1000 токенов $tFLIP
- Запустить сеть на две недели с новой таблицей лидеров
- Завершить программу
- Обновить сеть до PARADISE-спецификации, которая уже несколько недель находится у нас за кулисами
- Отключить и затем впустить всех обратно для плавного перехода к SANDSTORM.
- Мы создадим все необходимые перекрестные ссылки, чтобы гарантировать, что никто не сможет получить двойной заработок или потерять в новой сети.
Цели на ближайшие две недели
Несколько кратких пунктов с описанием основных целей, которые мы надеемся достичь к моменту выхода следующего обновления.
Цели разработки
- Трансляция свидетельствования вознаграждения (чтобы валидаторы не теряли деньги на газе в Etherium)
- Удаление устаревшего сервиса witnesser-api
- Запуск сборки AMM
- Запуск сборки своппинг-приложения
Общие мысли
Большое спасибо всем в канале #active-soundcheck за то, что продолжаете приносить пользу. Мы рады видеть вас в штаб-квартире в любое время. Мы научим вас, как правильно пить Club-Mate.
До следующего раза.