Разработка Chainflip – отчёт от 6 мая 2022 года

Разработка 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.

До следующего раза.