Обновление Safe Network 🇷🇺 29 июня 2023 г

Это машинный перевод. Оригинал на английском здесь: Update 29 June, 2023

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

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

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

Другое место, где мы видели смерть узла, было связано с репликацией — это было связано с процессами Kademlia/libp2p по умолчанию, добавляющими дерьмо в таблицу маршрутизации, включая узлы, которые находятся за NAT и недоступны. Это означало, что узлы думали, что они подключены к сети, но на самом деле это не так — вероятная причина проблемы «Я присоединился, но у меня нет данных», а также неожиданного отключения узлов. Итак, теперь мы вручную добавляем записи в таблицу маршрутизации вместо того, чтобы полагаться на Kademlia, чтобы сделать это при обнаружении соединения. Иногда нужно просто засучить рукава и сделать это самостоятельно. :roll_eyes: Возможно, что узлы, застрявшие в преисподней, должны будут перезапуститься, чтобы правильно войти в сеть, но мы думаем, что в этом нет необходимости.

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

@Chriso провел неделю, работая над улучшениями UX в процессе установки и ведения журнала благодаря отзывам из последней тестовой сети.

@aed900 работает над пакетным файлом для извлечения количества важных сообщений/ошибок журнала из каталогов узлов тестовой сети, аналогично тому, что @Shu делал для создания своих графиков. Он также работает с @Chriso над тем, чтобы сделать инструмент тестовой сети более полезным, и вскоре появится возможность запускать тестовые сети через пользовательский интерфейс github.

@Anselme в значительной степени завершил реализацию операций PUT и GET и репликации для регистров после его предыдущей работы над фрагментами и расходами. Отличные новости, так как они закладывают основу инфраструктуры для DBC! Он также занимался рефакторингом и рационализацией связанных ящиков, чтобы помочь с будущей работой здесь.

@bzee удаляет наш пользовательский код для управления связью с одноранговыми узлами (набор номера на жаргоне) без запроса идентификатора, заменяя его собственной функциональностью libp2p, которая предотвращает набор однорангового узла, если обмен сообщениями уже был инициирован. Он также изменил наши API, чтобы не нуждаться в идентификаторе пира.

Вместе с @joshuef Бенно также рассматривает возможность вставки записей вручную в таблицу маршрутизации, а не автоматической. Мы заметили, что этот процесс иногда вставляет мусор (см. выше) с неприятными побочными эффектами.

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

А @bochaco и @roland удаляют пуленепробиваемые элементы из кода DBC и интегрируют их в платежные процессы. Мы чувствуем, что теперь мы можем обойтись без этого шага со значительным преимуществом упрощения других процессов (и одним из сомнительных преимуществ, поскольку стоимость хранения будет известна, что эффективно разблокирует большие участки транзакций в сети).


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

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

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