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

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

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

Оплата за фрагмент означает обработку каждого фрагмента индивидуально, вместо того, чтобы клиент объединял их в дерево Меркла и запрашивал у узлов цену на этот файл. Теперь клиенты запрашивают у each узла в закрытой группе цену хранения каждого фрагмента перед его отправкой (тогда как ранее мы пытались получить цену по всей сети, что было весьма неточно) и платят узлам, возвращающим выбранную котировку напрямую. Узлы отправляют свой открытый ключ со своей индивидуальной котировкой, и клиенты платят этому ключу. Как упоминалось на прошлой неделе, при текущем размере группы, равном 8, клиент должен выбрать цену, которая гарантирует, что как минимум 5 узлов будут хранить этот фрагмент.

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

Работа на уровне блоков более детальна, чем на уровне файлов, что должно сгладить транзакции и обеспечить более точные платежи узлам и более точный аудит. Это также упрощает начало реализации вознаграждений, поскольку должно просто сохраняться DBC, отправленные с новыми PUT на узле.

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

Исправление ошибок

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

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

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

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

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

@bzee реализует дополнительную отладку соединений и пытается найти источник отложенного соединения (и получения PUT), который некоторые люди видели в последней тестовой сети.

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

Проблемы с QUIC и libp2p продолжают занимать @bzee, который также исследовал причины, по которым немаршрутизируемые узлы остаются неактивными и не дозваниваются/добавляются другими коллегами.

А @anselme исследовал и продумывал развивающуюся систему транзакций.


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

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

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