Этап 1 Counter Stake завершен! Начинается финальная стадия

Bodya Gagarin
Matic Network Russia
7 min readApr 29, 2020

Мы рады, что достигли еще одной огромной вехи в нашем процессе разработки, приближающемся к запуску мейнета, — завершение 1-го этапа нашей инициативы по стимулированию тестнета Counter Stake! В настоящее время сеть прошла всестороннее тестирование, и последняя итерация нашего CounterNet Stake Testnet (CS-2006) отлично работала в течение более двух недель — короче говоря, Этап 1 имеет огромный успех!

На протяжении шести итераций нашей тестнета Counter Stake, начиная с CS-2001 и заканчивая CS-2006, мы тесно сотрудничали с нашими валидаторами Counter Stake, чтобы выявлять и устранять широкий спектр проблем для создания работающей сети. Теперь мы готовы перейти на Этап 2 в ближайшие дни, последний этап Counter Stake.

На данном этапе мы хотели предоставить отчет для комьюнити Matic о том, как именно прошел Этап 1. В этой статье мы рассмотрим каждую итерацию тестнета Counter Stake, чтобы точно объяснить, что происходило на каждом этапе, какие функции были протестированы, а также какие проблемы были выявлены и преодолены.

Куда мы отправимся дальше

Вскоре мы начинаем Этап 2, который является состязательной стадией, а это означает, что валидаторы теперь будут заинтересованы в попытке сломать сеть. Этот этап очень важен, поскольку он создает среду, в которой валидаторы могут приложить все усилия, чтобы сломать тестнет и выявить все оставшиеся критические ошибки в системе. Кроме того, в отличие от Этапа 1, мы будем регулярно предоставлять обновления Этапа 2 всему нашему комьюнити, чтобы регулярно информировать о текущей ситуации в рамках Counter Stage 2.

CS-2001

Основной момент: 250+ валидаторов зарегистрировали активный интерес к участию

Наш Этап 1 Counter Stake начался с нашего первого стейкинг тестнета CS-2001. Интерес комьюнити к присоединению к Counter Stage в качестве валидаторов был невероятным. Всего мы получили более 1000 регистраций. Из них 250+ активно зарегистрировались для участия в начальном Этапе 1.

13 февраля мы выпустили первый тестнет для Этапа 1 под названием CS-2001. Первоначально мы начали с 10 нод Matic Foundation в дополнение к 10 внешним валидаторам и продолжали добавлять дополнительные внешние валидаторы в шахматном порядке.

После непрерывной работы в течение примерно одной недели мы столкнулись с тривиальной ошибкой и решили внедрить исправление и перейти к следующей итерации тестнета, чтобы избежать дальнейших проблем с сетью и валидаторами.

Мы выпустили наше первое недельное обновление Counter Stake, чтобы держать наше комьюнити валидаторов в курсе текущей ситуации.

CS-2002

Основной момент: наш Staking Dashboard был применем впервые

Мы исправили проблему, обнаруженную в CS-2001, добавили некоторые улучшения в сеть и запустили CS-2002, следующую итерацию нашего тестнета Counter Stake.

Мы снова начали добавлять валидаторов в сеть в шахматном порядке и достигли в общей сложности числа в 51 валидатора в этом тестнете, пока не столкнулись со следующей проблемой:

«Мы столкнулись с ошибкой средней серьезности в ядре Heimdall, в результате которой ноды валидатора прекратили синхронизацию после определенного номера блока (137849). С этой проблемой столкнулись несколько новых валидаторов, которые пытались настроить свою ноду ».

Делрой Боско, менеджер по продукции — Matic Network

Мы попытались исправить это, выпустив обновленную версию Heimdall и попросив комьюнити выполнить определенные действия, чтобы исправить это с их стороны. Это исправление работало некоторое время, однако позже мы столкнулись с той же проблемой на другой высоте блока и решили поработать над решением для развертывания со следующей итерацией тестнета CS.

CS-2002 также является этапом, на котором мы впервые выпустили наш Staking Dashboard для валидаторов! Посмотрите краткий обзор, который мы показали для более широкого комьюнити ниже:

Мы были в восторге от положительного ответа комьюнити валидаторов в отношении Dashboard! Хотя в то время это была только первая версия, выпущенная для общественности, отзывы были в основном положительными. В частности, Dashboard получил высокую оценку за привлекательный интерфейс и простоту в использовании.

Используя панель мониторинга, валидаторы могли отойти от командной строки и беспрепятственно взаимодействовать с сетью; теперь стало возможным завершить стейкинг и стать валидатором всего за несколько нажатий кнопки. Кроме того, валидаторы теперь могут легко отслеживать свою статистику производительности, включая время работы, подписанные чекпоинты, полученные вознаграждения и т.д.

Валидаторы были чрезвычайно внимательными в предоставлении обратной связи для незначительных улучшений интерфейса. С их помощью мы продолжали улучшать Staking Dashboard в течение следующих итераций тестнета.

CS-2003

Основной момент: было проведено наше первое исправление ошибки в работающей сети

После исправления ошибки ядра Heimdall, выявленной в CS-2002, мы запустили тестовую сеть CS-2003 и добавили всех 51 валидатора, которые были активны в предыдущем тестнете.

В итоге мы столкнулись с проблемой средней серьезности, которая приводила к сбою в ноде Bor для некоторых валидаторов. Эта проблема была результатом того, что мы установили фиксированный жесткий лимит газа для транзакции, что вызвало некоторые проблемы при добавлении большего количества валидаторов в сеть из-за того, что лимит газа превышал максимальный порог.

Для этого мы определили проблему и готовы были исправить ее; мы сообщили комьюнити инструкцию по удалению Heimdall и установке обновленной версии. После завершения это активировало изменения, которые решили общую проблему ограничения газа. Это был первый раз, когда мы предоставили исправление в работающей сети, где другие валидаторы должны были применить исправление, чтобы поддерживать непрерывную работу своей ноды.

Всего на CS-2003 было установлено более 80 валидаторов. Однако по мере увеличения числа валидаторов мы начали сталкиваться с новой проблемой: ошибкой, приводившей к недетерминированности, которая приводила к различным хэшам приложений для разных нод в зависимости от того, когда они получили транзакцию. Мы быстро определили обходной путь и решили создать следующую итерацию тестовой сети CS.

CS-2004

Основной момент: первый тестнет со 100 активными валидаторами

CS-2004 была нашей самой стабильной сетью на сегодняшний день. Во многом это было результатом тщательного внутреннего тестирования, которое проводилось командой Matic в течение почти недели. Новый тестнет был развернут сообществом, и мы включили всех 81 валидатора, которые успешно участвовали в нашем предыдущем тестнете.

Большинство валидаторов были хорошо знакомы с процессом установки. В течение дня или двух почти все валидаторы настроили свои ноды и запустили успешный стейкинг. Мы были в восторге от того, что члены сообщества помогали друг другу, сталкиваясь с тривиальными проблемами, когда команда Matic была недоступна для поддержки. Мы добавляли в сеть больше валидаторов, пока не достигли 100. Выполнить тестнеть со 100 валидаторами было невероятно!

Через неделю после запуска CS-2004 мы начали наши мини-конкурсы для комьюнити валидаторов, чтобы дать им возможность получить дополнительные награды за отличную работу. Первым из них был мини-конкурс Re-stake and Claim, который получил ошеломляющий отклик сообщества — более 50 участников приняли участие. Поздравляем 30 победителей первого конкурса!

CS-2004 продолжал оставаться стабильным, и мы начали наш второй мини-конкурс — Delegation. Этот конкурс длился 4 дня, и он собрал более 80 участников. Победители были объявлены здесь.

На этом этапе мы пригласили в сеть более 130 валидаторов, 100 из которых стали активными валидаторами. Некоторые из неактивных валидаторов использовали свою собственную инициативу для замены валидаторов (тех, кто неправильно выполнял свои ноды или имел время простоя из-за проблем в коде ноды) через Staking Dashboard, за чем было приятно наблюдать!

Однако вскоре после конкурса Delegation мы столкнулись с условиями, которые снова привели к недетерминированности среди нод, ведущих к различным хэшам приложений, и решили перейти к новому тестнету CS, чтобы попытаться временно обойти проблему, пока не будет установлено постоянное исправление.

CS-2005

CS-2005 был недолгим, так как постоянная проблема получения разными хешами разных нод снова возникала, и мы решили немедленно остановить тестнет, чтобы найти эффективное решение.

Мы оповестили сообщество валидаторов с подробной информацией о проблеме:

Существует известная проблема в коде сетевой ноды для циклической зависимости между Heimdall и Bor. Проще говоря, могут быть случаи, когда Heimdall читает данные из Bor, но не получает их из-за неудачных сетевых вызовов — и наоборот, когда Bor читает данные из Heimdall.

Вскоре после этого мы предоставили обновленную информацию о решении, над которым мы работали:

В основном эта проблема, скорее всего, вызвана тем, что нода Heimdall выполняет определенные сетевые вызовы смарт-контрактов Ethereum. Если они терпят неудачу, в определенных случаях нода не знает, как восстановить и паникует. Мы работаем над реализацией сайдканала, чтобы исправить это, но, по сути, если подключение Goerli обеспечено, вы, вероятно, не столкнетесь с этой проблемой. Однако мы подготовили внутреннюю реализацию и сейчас тестируем решение. Как только исправление будет готово к выпуску, мы развернем его в тестнете.

Хотя исправление реализации сайдканала все еще находится в стадии разработки, мы решили перезапустить сеть с адекватной защитой от определенных сетевых вызовов из-за сбоев в контрактах Matic при сбое Goerli — для проверки некоторых других функций, таких как замена валидатора, смена ноды подписавшего и другие.

CS-2006

Основной момент: достижение постоянно работающей сети

Мы еще раз провели тщательное внутреннее тестирование на CS-2006, прежде чем внедрить его в сообщество валидаторов, чтобы убедиться, что все компоненты работают правильно. Мы постепенно начали добавлять валидаторов в новую сеть, пока не достигли 100 активных валидаторов.

На этом этапе мы также проверили функциональность замены валидатора и смены подписавшего с подмножеством валидаторов, и все работало отлично.

CS-2006 успешно работает без проблем уже более двух недель, начиная с 13 апреля. На этом этапе ошибок не обнаружено. Две недели тестирования намного дольше, чем традиционные сроки, чтобы объявить сеть успешной, но мы хотели быть настолько уверенными, насколько это возможно, что мы теперь достигли постоянно работающей сети.

Заключительные мысли: на финальной стадии

Мы хотели бы сказать огромное спасибо всем участникам Counter Stake, которые внесли свой вклад в успех Этапа 1! Вместе мы определили и исправили множество проблем, доработали Staking Dashboardи теперь мы готовы перейти к этапу 2.

На этапе 2 наши валидаторы, по сути, попытаются «сломать» сеть, чтобы с уверенностью убедиться, что все ошибки и проблемы были выявлены и устранены на этапе 1. Это последнее препятствие перед тем, как наша сеть будет готова к запуску, и мы не можем быть более взволнованы!

Запуск Mainnet теперь явно на горизонте!

Чтобы узнать больше о Matic Network, подпишитесь на Russian Medium, Russian Telegram Chat, а также Blog, Twitter and Telegram announcement channel

--

--