Обновление Safe Network 🇷🇺 19 августа 2021 г

Это машинный перевод. Оригинал на английском здесь: Update 19th August, 2021

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

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

В это время…

Общий прогресс

@lionel.faber и @chris.connelly провели несколько продуктивных бесед с командой quinn относительно тайм-аутов и обработки ошибок. Одноранговая сеть QUIC (qp2p) использует библиотеку quinn для подключения клиентов к сети, и некоторые из замеченных нами проблем с подключением связаны со способом взаимодействия двух систем. Команда Quinn с радостью принимает запросы на вытягивание, и мы добиваемся прогресса. В то же время мы упрощаем qp2p, убирая часть поведения кэширования, которое нам больше не нужно.

@yogesh также отслеживает тайм-аут и ошибки сброса сообщений с точки зрения маршрутизации клиента, где отсутствие циклов ЦП, похоже, влияет на потоки соединений qp2p, в конечном итоге приводя к отбрасыванию сообщений, что влияет на потоки. Они, наряду с ошибками AE, являются основными проблемами, сдерживающими следующую тестовую сеть. Антиэнтропия теперь в основном реализована для всех сообщений, которые изменяют данные, но все еще есть недостатки, которые необходимо устранить. Когда Клиент реализует парадигму AE, SectionInfoMsgs становится избыточным и становится только накладными расходами для процесса начальной загрузки, поэтому теперь он также удаляется, и AE берет на себя ответственность за поддержание Клиента в актуальном состоянии с сетевой инфраструктурой.

Для упрощения обмена сообщениями @anselme переместил PrefixMap, структуру, которая соответствует префиксам разделов, из функций узла в универсальный тип.

Кроме того, упрощение было достигнуто и в ящике с самошифрованием. @oetyng нанес удар, заставив его делать не больше, чем необходимо, а также (уже упоминалось на прошлой неделе) разделить работу по всем доступным ядрам. Упомянутые улучшения скорости записи «459%» теперь увеличились до «1478%». (Опять же, это измерено на 6-ядерной машине. Чем больше ядер, тем выше процентное улучшение.) Чтение происходит «всего» на «290%» быстрее.

В противном случае мы работаем над более крупной функциональной веткой, как отметили некоторые люди, делая еще один шаг к объединению node и routing папки в репозитории safe_network. Это помогло увеличить параллелизм, и мы еще больше упростили маршрутизацию с изменениями AntiEntropy.

Мы сократили использование памяти (которое снова увеличилось после рефакторинга и AE) за счет перехвата некоторых ранее зацикленных сообщений (мы уменьшили максимум до нескольких сотен мегабайт во время интенсивных тестовых прогонов). И теперь мы смотрим, как снизить нагрузку на ЦП!

Все это идет хорошо, хотя мы еще не достигли нашей цели по стабилизации CI (для чего требуется ~ 40 узлов, двухсекционная сеть, проходящая все клиентские тесты на CI). Итак, мы продолжаем объединять исправления и отлаживать эту ветку перед тем, как объединить ее с main.


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

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

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