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

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

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

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

Большинство сбоев подключения являются результатом попыток подключения к недоступным одноранговым адресам. Мы также видели гораздо больше соединений, чем можно было бы ожидать, к валидным адресам (учитывая, что libp2p предлагает мультиплексирование). Одновременно не должно существовать более нескольких единиц на одноранговое устройство, но мы видели сотни! После некоторых раскопок оказалось, что это особенность (не ошибка…) libp2p, просто не оптимизированная для нашего варианта использования. @bzee обратился к нам, и Макс Инден из Protocol Labs любезно предложил патч, из-за которого количество подключений сократилось. от десятков до шести или семи. Спасибо Макс!

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

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

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

@joshuef внес некоторые изменения в поток репликации, в том числе тот, который перетасовывает данные, ожидающие репликации/выборки, чтобы предотвратить забит из-за заказа Xorspace. Наряду с чрезмерным количеством подключений и чрезмерным обменом сообщениями, это еще одна вероятная причина отказа узлов.

@Roland работал над тестом для проверки того, где какой-либо конкретный фрагмент данных находится в сети, а @Qi_ma вводит регистры в тест оттока , поэтому мы можем увидеть, как они справляются, когда ситуация становится дикой. После этого мы рассмотрим усовершенствование наших тестов на сохранение данных и обратим внимание на DBC.

Имея это в виду, @bochaco реорганизовал то, как клиент разбивает файлы на части во время самошифрования и платит за их хранение. Раньше мы дважды разбивали файлы (сначала для создания платежного дерева Меркла, а затем при их загрузке). Теперь мы генерируем фрагменты и сохраняем их в локальной временной папке при оплате и считываем из этой временной папки пакетами при загрузке платных фрагментов. Это должно уменьшить объем памяти клиента, особенно для больших файлов, поскольку их больше не нужно хранить в памяти.

@Anselme обновил кран. Простой автономный файл, хранившийся на локальном компьютере, теперь является HTTP-сервером, который отправляет токены на адреса по запросу. Таким образом, это самообслуживание, и нам больше не нужен один человек, который требует ключ Genesis, а затем распределяет токены вручную, когда люди отправляют свои ключи. Это ставит нас в выгодное положение, когда мы будем готовы начать раздачу токенов для тестирования DBC в будущих тестовых сетях.

Вскоре он будет добавлен в инструмент тестовой сети, который @aed900 рефакторил вместе с @Chriso.


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

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

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