Найти в Дзене
nolackin

Важный рубеж на пути развития Shardeum: Восстановление динамически "шардированной" сети

Инновации Shardeum, Новости Shardeum / By Chris Raddings / 17 февраля 2024 г. Shardeum`s Blast Off: новаторское достижение В понедельник, 27 января 2024 года, в мире Web 3 произошло революционное событие. Его можно сравнить с историческим подвигом космического корабля, безупречно вернувшегося на свою стартовую площадку после первого испытательного полета. Shardeum не только справился с труднейшим испытанием, но и одержал победу, продемонстрировав устойчивость своей сети. Это первый случай самовосстановления шардированной сети в сфере технологии распределенных реестров. Подобно тому как путешествие космического корабля предполагает тщательное планирование, точное проектирование и беспрепятственное выполнение сложных маневров, восстановление бетасети Sphinx, в которой произошел критический сбой, потребовало от компании Shardeum такого же уровня технологического мастерства и новаторских решений. Возможность сохранить все данные в сети, особенно в той, которая работает с использованием дин
Оглавление

Инновации Shardeum, Новости Shardeum / By Chris Raddings / 17 февраля 2024 г.

Shardeum`s Blast Off: новаторское достижение

Изображение сгенерированное искусственным интеллектом
Изображение сгенерированное искусственным интеллектом

В понедельник, 27 января 2024 года, в мире Web 3 произошло революционное событие. Его можно сравнить с историческим подвигом космического корабля, безупречно вернувшегося на свою стартовую площадку после первого испытательного полета. Shardeum не только справился с труднейшим испытанием, но и одержал победу, продемонстрировав устойчивость своей сети. Это первый случай самовосстановления шардированной сети в сфере технологии распределенных реестров.

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

Приступая к исследованию, мы не только радуемся знаменательному приземлению Shardeum, но и осознаем его как поворотный момент в эволюции технологии web 3. Это скачок, который может пересмотреть границы устойчивости IT-сетей и целостности данных.

Первая шардированная сеть для самовосстановления и сохранения данных

Поддержание и восстановление динамически шардированной сети, такой как Shardeum, сопряжено с целым рядом сложных технических проблем, которые отличают ее от традиционных блокчейн-сетей (Bitcoin или Ethereum). При работе в динамически изменяющейся шардированной среде с автомасштабированием, постоянное перераспределение и балансировка нод и ресурсов между различными шардами, имеют решающее значение для оптимизации производительности и масштабируемости. Эта постоянная изменчивость сетевой архитектуры создает значительные сложности в поддержании согласованности данных, обеспечении стабильности сети и эффективном восстановлении после сбоев.

Эти проблемы становятся еще более очевидными, если сравнить реакцию Shardeum на колебания узлов с реакцией Bitcoin. Сеть Bitcoin сохраняет функциональность даже при минимальном количестве нод, поскольку каждая нода обладает полным состоянием и историей транзакций. Напротив, каждая активная нода в Shardeum не обладает полным состоянием и историей транзакций, поскольку сеть Shardeum разделена, и каждый валидатор владеет только частью всего состояния. Следствием такого шардинга является то, что все ноды валидаторов чрезвычайно легки. Это создает множество инженерных возможностей и проблем. Если нода выйдет из строя, как обеспечить сохранность всех данных? У Shardeum есть два основных способа.

Во-первых, Shardeum использует динамическое разделение состояния, при котором общее адресное пространство разбивается (или делится) в зависимости от количества активных нод. Каждая нода отвечает за назначенные ей разделы, а также за определенный радиус (R) вокруг нее и дополнительные разделы (E), прилегающие к ней, что обеспечивает динамическую адаптивность и надежную избыточность данных в рамках сети. Таким образом, даже если одна из нод выходит из строя, сеть остается целостной и данные не теряются.

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

Осмысление сбоя

Теперь, когда мы понимаем основы динамического шардинга состояний и знаем, что узлы-архиваторы каким-то образом в нем участвуют, давайте более глубоко раскроем некоторые дополнительные детали и поясним суть. Чтобы понять, как произошел сбой и как восстановилась бета-сеть Shardeum, мы должны сначала разобраться в следующем:

  • Узлы архиватора
  • Обнаружение потерянного архиватора
  • Сетевые режимы
  • Режим восстановления

Понимание основ каждого из перечисленных элементов необходимо, прежде чем мы с головой окунемся в работу над ошибками, так что давайте приступим!

Узлы архиватора: Межзвездное хранилище

В Шардеуме узлы-архиваторы, также известные как архиваторы, представляют собой важнейшую категорию нод, задачей которых является сохранение полного состояния сети и ее исторических записей. В отличие от активных узлов, архиваторы не участвуют в процессах консенсуса; их основная функция — полное архивирование всех данных сети, включая транзакции и квитанции. Работа узлов-архиваторов необходима для поддержания целостности сети и обеспечения ее бесперебойной работы. Поскольку архиваторы являются неотъемлемой частью сети, Shardeum должен иметь протокол для обнаружения архиваторов (и валидаторов), не отвечающих на запросы.

Обнаружение потерянного архиватора: Инопланетная технология раскрыта

В Shardeum есть протокол, называемый “Протокол обнаружения потерянных узлов”, который определяет, когда активные ноды становятся неработоспособными (он предназначен исключительно для активных нод). Вместе с тем у Shardeum есть протокол для архиваторов, который делает то же самое и называется “Обнаружение потерянного архиватора”. Обнаружение потерянных архиваторов — это специализированный протокол, предназначенный для обработки редких сценариев, когда один или несколько архиваторов становятся неработоспособными и помечаются как потерянные. Поскольку узлы архиваторов играют ключевую роль в поддержании целостности и доступности архивных данных в сети, очень важно, чтобы эти критические события были зафиксированы, чтобы последствия не были критичными. Хотя потеря архиваторов не стала причиной данного конкретного сбоя, это произошло из-за взаимодействия между протоколом обнаружения потерянных архиваторов и определенным сетевым режимом. Теперь давайте рассмотрим, какие сетевые режимы существуют в Shardeum.

Сетевые режимы Shardeum: NASA не нужен

Флагманская инновация Shardeum, основанная на протоколе Shardus, представляет собой фреймворк сетевых режимов. Эти режимы выходят за рамки базовых операционных состояний, воплощая в себе сложную координацию различных действий нод, методов синхронизации данных и систем управления транзакциями. Такие сетевые конфигурации играют решающую роль в сохранении операционной целостности сети, особенно в ситуациях, связанных с потерей нод и данных — поскольку Shardeum является шардированной сетью.

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

Хоть понимание ошибки и не требует изучения всех аспектов системы сетевых режимов, знакомство с ее основами все же полезно. Центральное место в системе сетевых режимов занимает интеграция нескольких отдельных фаз сети: Формирование, Обработка, Безопасность, Восстановление, Перезапуск, Возобновление и Завершение работы. Эти режимы специально разработаны для решения различных сетевых ситуаций и чрезвычайных ситуаций. Но в данной статье мы рассмотрим именно режим восстановления.

Изображение сгенерированное искусственным интеллектом
Изображение сгенерированное искусственным интеллектом

Режим восстановления при реверсивном проектировании: Rosewell Revisited

Режим восстановления — это 1 из 7 вышеупомянутых сетевых режимов. Режим восстановления запускается, когда количество активных узлов сети опускается ниже заданного критического порога (в настоящее время он составляет 75 % или ниже). Этот порог настраивается в соответствии с требованиями сети. В этом режиме сеть временно прекращает обработку транзакций приложений и синхронизацию данных приложений. Эта стратегия призвана способствовать расширению сети за счет плавного включения резервных узлов в рамках ротации узлов, что позволяет восстановить количество активных узлов до оптимального уровня, в идеале превышающего 100 %.

В режиме восстановления сетевая архитектура Shardeum позволяет постепенно увеличивать количество узлов, не превышая 20 % за цикл(каждый цикл длится около 60 секунд). Такой контролируемый темп роста очень важен для поддержания стабильности сети и обеспечения беспрепятственной интеграции новых узлов. Быстрое увеличение количества узлов, например на 50 %, может привести к дестабилизации сети и усложнить процесс интеграции.

Каждый вновь добавленный узел требует сетевых ресурсов для синхронизации и интеграции. Ограничивая увеличение до 20 % за цикл, сеть гарантирует, что ее инфраструктура сможет адекватно поддерживать добавление новых узлов без нагрузки. Такой подход не только сохраняет стабильность сети, но и минимизирует риск несоответствия данных или ошибок в процессе синхронизации, тем самым сохраняя целостность данных цикловой цепи.

Основная причина сбоя: Горизонт событий

Важно отметить, что было две разные ошибки. Баг библиотеки neon, который приводил к случайному падению валидаторов, и баг в протоколе обнаружения потерянных архиваторов, который не принимал пустой список валидаторов. Хотя именно ошибка в протоколе обнаружения потерянных архиваторов приводила к краху преобладающих версии betanet, я бы хотел сначала рассказать вам об ошибке в библиотеке neon.

В версии Sphinx 1.9.1 мы интегрировали обновление библиотеки, использующей связки Neon для соединения функций Rust и TypeScript, поскольку Shardeum преимущественно построен на TypeScript. Neon известен своим инновационным, хотя и экспериментальным подходом, часто раздвигающим границы традиционной практики разработки программного обеспечения. Эта интеграция была направлена на улучшение взаимодействия между этими двумя языками, обеспечивая более эффективное и прямое взаимодействие в рамках нашей программной архитектуры. Однако это привело к ошибке, из-за которой узлы случайным образом выпадали из сети.

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

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

Хроники восстановления: От системного шока к звездному возрождению

Что же произошло на самом деле и когда? Хронология событий, связанных с сетевым сбоем и его разрешением, выглядит следующим образом:

  1. Первоначальная уязвимость и ее обновление: В сети обнаружена уязвимость, отмеченная процессом линтинга в версии 1.9.1 в библиотеке npm (neon). Для устранения этой проблемы было выпущено обновление. Однако это обновление непреднамеренно ввело исключение, которое не было воспроизведено во время локального тестирования.
  2. Прерывистое возникновение исключений в библиотеке, приводящее к отключению валидатора: В библиотеке neon возникали спорадические исключения, которые приводили к периодическим отключениям сетевых валидаторов. Хотя конструкция сети позволяла обеспечить устойчивость за счет резервного заполнения этих валидаторов, к сожалению, одновременные сбои в работе нескольких валидаторов привели к срабатыванию режима восстановления сети.
  3. Запуск режима восстановления сети: После перехода в режим восстановления сети протокол потребовал очистить и восстановить список активных узлов. Одновременная ошибка в системе архиватора потерь, которая не могла принять пустой список валидаторов, стала основной причиной сбоя сети.
  4. Решение проблемы и восстановление сети: Сбой был устранен, и сеть была успешно восстановлена с помощью данных, хранящихся в архиваторах. Это первый случай в истории, когда сеть первого уровня с чередованием, в которой произошел сбой, была успешно восстановлена, а все данные в сети сохранились в целости и сохранности. Такого еще не удавалось достичь ни в одной сети, тем более в сети с динамическим разделением состояний. Это достижение ознаменовало успешное “приземление ракеты” с точки зрения восстановления сетей.
  5. Уже выполненные исправления: Предварительное исправление было реализовано для решения проблемы с библиотекой, но в рамках постоянных усилий по повышению стабильности сети была выпущена версия 1.9.5. В этом обновлении появилось единственное, но очень важное исправление, устраняющее еще один случай сбоя при связывании неонов, что позволило выявить и устранить конкретную уязвимость без необходимости обновления всей сети. Изначально пользователи, работающие на версии 1.9.4, могли либо остаться на текущей версии, либо выбрать обновление до 1.9.5, исходя из своих предпочтений в отношении производительности сети и стабильности. Однако в итоге было решено, что для повышения стабильности сети и решения постоянных проблем, связанных с неоновыми привязками, минимальная требуемая версия для валидаторов должна быть увеличена до 1.9.5. Это обновление направлено на систематическое исключение валидаторов, работающих на версии 1.9.4, которые, как было установлено, подвержены сбоям из-за вышеупомянутой проблемы с неоновыми связками. Это необходимо для того, чтобы убедиться, что ошибка с неоном полностью устранена и полностью исправлена.

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

Полет к восстановлению

Гибкое восстановление

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

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

Многогранный подход технической команды Shardeum

С технической точки зрения реакция была очень многоплановой: во-первых, команда изолировала пострадавшие компоненты, чтобы предотвратить дальнейшую деградацию сети. Одновременно они установили патч для устранения ошибки в системе потерянных архиваторов, обеспечив возможность работы с пустым списком валидаторов — критическая оплошность, которая привела к сбою сети. Чтобы восстановить работоспособность сети, данные, сохраненные в архиваторах, были активированы и использованы для восстановления состояния сети до сбоя, что позволило избежать потери данных в процессе.

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

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

Безопасная посадка и дальнейшие свершения!

В заключение отметим, что успешное восстановление “шардированной” сети Shardeum предвещает значительный перелом в сетевых технологиях и знаменует собой веху с далеко идущими перспективами для индустрии. Хотя в настоящее время такие инновации, как сетевые режимы, практически не признаются, в конечном итоге они установят новые отраслевые стандарты во всем Web 3.

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

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

translated by wh1tearm0r & nolackin

Присоединяйтесь к нам:

Website | Telegram | TelegramRu | Twitter | Reddit | Subreddit | Discord | LinkedIn | MediumRu | Dzen

#shardeum #криптовалюта #блокчеин #технологии #крипта