Обновление Safe Network 🇷🇺 10 декабрь 2020 г

Это машинный перевод. Оригинал на английском здесь: Safe Network Dev Update - December 10, 2020

Резюме

Вот некоторые из основных моментов, которые следует выделить после последнего обновления для разработчиков:

  • sn_client v0.44.0 был выпущен на этой неделе, первый выпуск клиента с июля.
  • Мы завершили и объединили реализацию дублирования блоков Blob, когда Взрослый покидает сеть - теперь выпуск в sn_node v0.25.9.
  • Наш консультант разработал закодированный, протестированный и рабочий алгоритм для динамического членства.

Общее обновление

Краткое общее обновление нашего продвижения к предстоящей тестовой сети.

Мы все с головой ушли, собирая все вместе для предстоящей тестовой сети. Как и ожидалось, есть поиск ошибок и несколько последних дополнений. Одна вещь, которую у нас не будет времени включить в эту тестовую сеть, - это новое членство в BRB (Byzantine Reliable Broadcast). Членство в BRB - действительно важный шаг, но на данный момент мы хотим протестировать так много других движущихся частей, что мы договорились, что основное внимание следует уделить запуску этой фазы I как можно скорее, тогда мы сможем полностью сосредоточиться на BRB.

Безопасный клиент, узлы и qp2p

План проекта безопасного сетевого переноса
План проекта безопасного клиента
План проекта безопасного сетевого узла

На этой неделе был выпущен первый выпуск и публикация sn_client с июля. Этот репозиторий ранее состоял из различных ящиков вместе под баннером Safe Client Libs, но, как постоянные читатели здесь, без сомнения, будут знать, что мы провели серьезный рефакторинг, который привел к тому, что мы удалили многие тысячи строк кода, которые, по нашему мнению, были неэффективными, ошибочными. или ненужное. Теперь это единственный ящик sn_client, выпущенный под этим именем впервые. Это объединяет sn_node и sn_routing в новых значительных выпусках ящиков за последние 2 недели, и поэтому мы надеемся продемонстрировать прогресс, которого мы добиваемся, поскольку основные части начинают становиться на свои места. Этот выпуск не означает, что мы закончили работу с sn_client, это просто означает, что мы считаем его достаточно стабильным, чтобы ввести конвейер непрерывной доставки. Разработка продолжается в темпе, и теперь каждый объединенный PR будет приводить к автоматически генерируемой новой версии.

На этой неделе мы пытались отследить источник проблемы с переполнением стека, которая обнаружилась в «n_node». Сначала кажется, что нет конкретного источника, но использование стека со временем просто выросло. Изначально это происходило только в Windows, где мы обнаружили, что размер стека по умолчанию составляет 1 мегабайт, что мало по сравнению с Ubuntu, у которой 8 МБ. Уменьшение размера стека в Ubuntu позволяет нам повторить это, и это хорошо. Итак, мы изучаем это дальше и варианты предотвращения этого.

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

BRB - Византийское надежное вещание

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

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

Маршрутизация

План проекта

На этой неделе, чтобы улучшить ведение журнала и облегчить отладку, мы решили переключить маршрутизацию на использование tracing вместо ящика log . Это позволяет нам использовать структурированное ведение журнала и интервалы. PR для этого переключателя теперь объединен. В ближайшие недели мы намерены перейти на использование «отслеживания» в других ящиках.

После дальнейшего обсуждения того, как и когда используется проверка ресурсов, мы решили, что перемещенным узлам следует доверять, и поэтому им не нужно будет проходить проверку ресурсов.Повторите процедуру расстойки. PR Не требовать подтверждения ресурсов от перемещенных узлов теперь объединен для рефакторинга такого поведения. В том же PR мы также исправили пару ошибок и сбоев тестов, которые мы отследили благодаря улучшенному ведению журнала, обеспечиваемому вышеупомянутым ящиком «tracing».

Полезные ссылки


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

Как проект с открытым исходным кодом, мы всегда ждем отзывов, комментариев и предложений сообщества - так что не стесняйтесь, присоединяйтесь и давайте вместе создадим безопасную сеть!