Обновление Safe Network 🇷🇺 22 июля 2021 г

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

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

Тем не менее, это то, о чем нас справедливо спрашивают, и поскольку основная задача тестовых сетей - дать нам возможность отслеживать и истреблять крошечных виновников, мы должны, по крайней мере, попытаться описать ситуацию. Итак, на этой неделе мы рассмотрим одну из вещей, которые действительно должны быть выполнены на 100%, прежде чем Флеминг, - устранение потери данных - и исправления, которые мы вносим для этого.


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

@Chriso долго работал над сборками ARM для aarch64, чему не способствовал тот факт, что его новый Raspberry Pi прибыл с тупой картой microSD. Замена прибыла во вторник, так что ждать осталось недолго. Спасибо @folaht, @stout77 и другим за опробование существующих сборок.

DBC

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

UX

@JimCollinson рассматривает возможность перенастройки потоков UX на основе эволюции сети, чтобы включить DBC, предоплаченные загрузки, транзакции с несколькими подписями и возможности онлайн / офлайн с поддержкой CRDT.

Обновления NRS

@Anselme и @bochaco обновляли клиентский API и систему разрешения имен, приводя в порядок код и удаляя старый тип данных Map.

Говоря об Ансельме, уже не являющемся новичком, вот кое-что от него:

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

Устранение потери данных

Само собой разумеется, что потеря данных - это абсолютное запрещение для Safe (исчезновение данных из постоянного веб-сайта было бы особенно плохим взглядом). Фрагменты данных, хранящиеся на безопасных узлах по всему миру, должны выдерживать отток, локальные сбои и византийские акторы. Те из вас, кто участвовал в тестировании (: спасибо :), знают, что мы еще не достигли цели по устранению потери данных.

Так какие же ошибки приводят к исчезновению данных со временем? Как мы намекали выше, вероятно, много чего накладывается.

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

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

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

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

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


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

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

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