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

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

На этой неделе мы рассмотрим изменения в типов данных в результате приведения без конфликтов типов данных (CRDT).

Для тех, кто нуждается в быстром освещении, CRDTS являются структурами данных с некоторыми специальными математическими свойствами. Когда существуют несколько версий данных, такие как копии документа, редактируемого в автономном режиме на разных машинах, в конечном итоге, когда машины будут воссоединяться, они * всегда могут сходиться на одну «True» версию.

Для безопасной сети CRDTS являются одним из ключевых способов обеспечения консенсуса, не требуя типов тяжелых, широких системных рассеяний событий, как с блокировками. Это красиво элегантная концепция, хотя очевидная простота скрывает тот факт, что под капотом происходит некоторые серьезно умные вещи. Даже Google не могло взломать Вопрос о параллельных пишетах, когда они создали документы Google - им приходилось прибегать к уродливым ключем. Избиение Google в игре параллелизма - это возможность слишком хорошо пропустить!

Чтобы воспользоваться Wizardry CRDT, мы перенастроили наши мусорные типы данных - больше на этом ниже.

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

Нет Testnet На этой неделе, но сейчас не должно быть слишком далеко. :crossed_fingers: несколько проблемных проблем, чтобы пройти через первое.

@chriso работает в непосредственной близости от добавления поддержки Aarch64 или ARM64 Если вы предпочитаете. В последних выпусках «SN_CLI» и «Safe_Network» вы увидим «SN_CLI» и «Safe_Network», которое ARMV7 и Aarch64. Крис провел тестирование двоичных файлов Aarch64 и смогла подтвердить, что эти работы, есть тестовый скрипт, который мы использовали для проверки того, что здесь Для всех заинтересованных. Мы не тестировали на устаревшие двоичные файлы ARMV7, у нас нет оборудования для начала, поэтому используйте их на свой страх и риск! Следуйте также отметить, что наши ящики в настоящее время находятся под тяжелым развитием, поскольку мы двигаемся к следующему TEXNET, поэтому последние двоичные файлы чаще всего не являются несовместимыми друг с другом на всех архитектурах. Мы бы посоветовали всем желающим тестировать, чтобы удержать, пока мы не объявляем совместимые версии через доску, то есть следующий Testnet.

@qi_ma и @chriso были призваны некоторые ошибки в процессе непрерывной интеграции (CI). Гладкая работа CI имеет важное значение для того, чтобы быстро объединить запросы на тягу, что сама имеет жизненно важное значение для быстрой итерации и тестирования.

Множество происходит с обновлением qp2p библиотека, с элементами, такими как xorname, перемещенные из тонкой вниз sn_routing и в QP2P. Исследования продолжаются в сброшенных соединениях, хранителей, повторных попытках и загрузке. Слишком много, чтобы пойти сюда, но если у вас есть вопросы, мы сделаем все возможное, чтобы ответить на них в этой теме. Безопасен, чтобы сказать, что команда довольно занята!

@oetyng также глубоко в дозирование куска и платежных потоков. Дозирование позволяет оплатить once для любого количества операций. Внутри это также возможность кусочки и шифрования в автономном режиме и предварительной оплаты.

Итак, после локального шифрования и настойчивости, пользователь может:

  1. В любое время выбора подключите, чтобы получить постоянно действительную «цитату» для партии.
  2. С этой цитатой - опять же, в любое время выбора - платите и извлекают Получение.
  3. И, наконец, (вы уже догадались, в любое время (ы) выбора) загрузите произвольное количество этих кусочков / OPS.

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

Тип данных последовательности теперь полностью удален из `sn_api
@anselme, чтобы быть заменены на CRDT-совместимые на DataTypes. Больше об этом ниже.

Типы данных

Ранее у нас был тип данных карты, который был редактируемым ключом: магазин значений, используемый для хранения информации, такими как данные учетной записи; Тип данных последовательности только на добавлении подходит для веб-страниц и контейнеров файлов, с возможностью набрать на диск на предыдущие версии; и BLOB - неизменные данные.

Обновленные типы данных все на основании - вы догадались, что он - CRDTS, которые приносят некоторые отдельные преимущества.

Реестр - это тип данных CRDT, который содержит значение. Для безопасного, мы хотели реестр, который также позволил бы нам вернуться вовремя и посмотреть на предыдущие ценности, поэтому David Rusu создал новый тип регистра, основанный на Merkle Dag под названием Merklereg - реестр с историей. Это было реализовано некоторое время назад вместе со своим общественным API клиента.

Этот новый реестр делает последовательность устаревшей, поскольку она может сделать все последовательность с точки зрения хранения предыдущих версий с добавленным бонусом, что он также может обрабатывать параллелизм. Если клиент одновременно пишет в реестр, он приводит к вилке, которая затем может быть разрешена клиентом (это было невозможно с последовательностями). На сейф мы используем реестр для хранения указателей на текущие и предыдущие версии данных, SUCH как текстовый файл или веб-страница, которые хранятся в виде капель.

Так длинная последовательность :волна:, но как насчет карты?

Что ж, карты были изложены, чтобы стать MultiMaps, «Много-», ссылаясь на то, что каждый ключ теперь может иметь несколько значений. Еще раз, это обеспечивает параллелизм. Несколько клиентов (например, приложения) могут одновременно редактировать многопрокат MultiMap, и результат будет вилами. Как эти вилки решены в конечном итоге, будут вплоть до приложения, но со временем они будут сходиться так же, как делают филиалы Git. Сетевой файловой системой NFS и системы разрешения NFS и NRS на этой неделе, по состоянию на этой неделе, полностью реализованы как MultiMaps, которые будут очень важны по линии.

И БЛОБЫ? Ну, они неизменны. В мире постоянных изменений некоторые вещи должны оставаться прежней.


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

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

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