Обновление Safe Network 🇷🇺 16 ноября 2023 г

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

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

Мы ввели пару PR, чтобы остановить эти чрезмерные репликации. Мы тестируем их внутри компании и устраняем потенциальные проблемы.

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

Мы также рассматриваем упрощенный режим платежей, предложенный @ansleme.

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

Вкратце это выглядит так

  • Клиент запрашивает у узла ценовое предложение, узел отвечает ценой + меткой времени + подписью.
  • Клиент получает общую сумму платежа, включая роялти.
  • Клиент отправляет платеж узлу вместе с подписанным ценовым предложением.
  • Узел проверяет, что подпись действительна, а временная метка находится в пределах последних 10 минут (например)
  • Если действительно, узел сохраняет данные.

Ключевые моменты:

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

Временная метка здесь — это контракт между узлом и им самим, чтобы убедиться, что клиенты не платят неправильно. Это НЕ контракт между клиентом и узлом.

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

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

Помимо приведенного выше предложения по платежам, @anselme продолжил совершенствовать настройку «плата за один узел», которая требует небольшого рефакторинга.

@Роланд возился с развертывателем тестовой сети, чтобы мы могли получать больше полезной информации при запуске тестовых сетей, включая получение мультиадреса Genesis и статистики узлов. Он также создал PR для развертывателя, чтобы повысить устойчивость задач Ansible, поэтому он будет игнорировать ошибки при развертывании до 10% узлов. . При тестировании сеть из 2000 узлов с недоступными узлами все же смогла успешно развернуться с использованием опции «ignore_unreachable».

Роланд также исправил проблему с тайм-аутами клиентов, которую обнаружил @loziniak.

@bochaco завершил изменение, что означает, что роялти теперь составляет 15% платежей за хранение вместо подхода «один нано на адрес», который мы использовали. Мы также проверяем общую сумму, полученную вместе с уведомлениями, а не только количество уведомлений. Anselme соответствующим образом обновила программное обеспечение кошелька.

@Qi_ma разделил выплаты роялти по темам, чтобы сократить использование ресурсов, и работает над тестами, чтобы оценить их влияние.

@bzee рассмотрел, как корректно останавливать узлы с помощью сигналов в дополнение к RPC, и рассматривает libp2p, чтобы узнать, есть ли что-то, что следует учитывать при выходе из системы, вместо использования killall или Ctrl-C. Он и другие члены команды также изучают защиту Сивиллы libp2p.

И @joshuef усердно работал, чтобы положить конец этим надоедливым чрезмерным повторениям.


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

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

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