Safe Network новини 🇧🇬 12.11.2020

Накратко

  • Представяме ви някои големи промени в лексикона на Safe мрежата! Вижте видеоклипа тук или прочетете стенограмата в специалната тема на форума тук.
  • Работим за поддръжката на множество клиенти, използващи един и същ публичен ключ за едновременно свързване и промяна на данни.
  • Допълнителни подобрения на производителността при стартиране на мрежата са обединени в sn_routing.

Актуализиране на лексикона на Safe мрежата

Актуализираме лексикона на Safe мрежата за крайните потребители и заместваме термините Акаунт, Safecoin и Трезор.

Това вероятно звучи като голяма промяна, така че @jimcollinson е направил видео, в което са изложени всички подробности за това защо трябва да направим това и с какво предлагаме да ги заменим.

Актуализиране на лексикона на Safe мрежата: замяна на термините Акаунт, Safecoin и Трезор

Моля, не се колебайте да споделите вашите мисли, коментари и наблюдения в специалната тема на английски или български, където ще намерите и пълна стенограмата на видеоклипа.

Safe клиент, възли и qp2p

Safe Network трансфери план на проекта
Safe клиент план на проекта
Safe Network възли план на проекта

С нововъведените промените при стартиране на секцията, които обединихме към sn_routing миналата седмица, се появиха няколко пробивни промени в sn_node, където новоприсъединяващите се възли бебешори подлежат на преместване обратно в същата секция незабавно, за да се предизвикат стареене. Това преместване трябва да бъде заобиколено или пренебрегнато в sn_node, тъй като е необходимо преместващия се възел да бъде в различна секция и така да се пристъпи към извличане на идентификаторите на портфейла, наградите, статистическите данни и т.н. от предишната секция, без да се осъзнава, че това е бебешор, подложещ на индуцирано стареене. Подготвяме преструктуриране, за да вземем предвид този сценарий, заедно с още няколко корекции за потока от blob данни, които активират репликацията на парчетата данни във възлите за възрастни.

Паралелна задача, която току-що стартирахме, е поддръжката на няколко клиенти, които използват един и същ публичен ключ, когато се свързват едновременно от различни устройства / сесии, за да променят данни. Например, потребителят може да има публичен ключ, който притежава имейлите му, и той / тя използва едновременно приложение за електронна поща от мобилен телефон и лаптоп. Понастоящем има ограничение за този случай на употреба и сега се опитваме да го разширим, като позволим на програмата да предостави някаква форма на идентификатор на сесия на програма. Такъв идентификатор ще се използва вътрешно в CRDT операциите, за да се гарантира, че и двата екземпляра на програмата могат да променят данни едновременно, без да се създават конфликти при обединяване на данните.

CRDT

Първоначалните последователни CRDT проптестове са обединени в sn_data_types, които увеличават доверието и покритието. Част от тази настройка на теста доведе до подобряване на обработката на разрешения, за да избегнем потенциални проблеми с разклоняването, когато бъдат приложени стари операционни разрешения, сега също обединени в основното хранилище.

Тази работа също така показа необходимостта от подписване на CRDT операциите, за да може да се провери субекта, инициирал операцията. Това ни дава повече увереност, но също така премества проверките на разрешенията в самите данни, което би трябвало да направи това тестване много по-лесно. Затова започнахме работа по подписването на операциите от последователността, с цел да проверим валидността на операциите спрямо разрешените публични ключове.

Също така имаме POC чернова от тип Map CRDT, компилираща се с някои основни проптестове, които преминават успешно. Все още има промени, които трябва да се направят без вътрешните части на картата, но това има същия стил на разрешения като типа Sequence, което означава, че след като добавим към това подписите и проверка за операциите, би трябвало да може да го пренесем достатъчно бързо в Map.

DSB Динамично членство

CRDT консултант ни започна работа. Тази седмица той внедри примерен възел, който комуникира с помощта на QP2P и поддържа едновременно свързване и премахване (убиване). Идентифициран е конкретен проблем относно това как да се справим със съобщенията, инициирани преди промяна на членството с право на глас. Смята се, че Generation Clock е решение тук, но това все още трябва да бъде доказано с тестове.

Успоредно с това оригиналния bft-crdts контейнер се разделя на по-малки, по-фокусирани библиотечни контейнери. Идеята е да се сдвоят (а) конкретната реализация на защитено излъчване, (б) данните, които са защитени, и (в) мрежовият транспорт (например QUIC, TCP/IP или мрежа в паметта за симулиране на тестове).

Маршрутизиране

План на проекта

Както беше предложено в новините от миналата седмица, работата за по-нататъшно подобряване на стартовата фаза вече е обединена. Това подобрява производителността при стартиране, като дава на новите възли по-широк псевдослучайно генериран възрастов диапазон и само премества най-старите възли, като по този начин се избягва преместването на твърде много възли едновременно.

В момента се работи по разрешаване на възел да се присъедини повторно със същото име. Това е проектирано въз основа на Последващо присъединяване към мрежата във RFC за стареене на възли. Намерението е възел, който се опитва да се присъедини със същото име, да бъде незабавно преместен, а възрастта му намалена наполовина, стига половината възраст да е по-голяма от MIN_AGE (в момента 4).

Също така продължава работата по подобряване на откриването на изчезнали възли, с подкрепата на qp2p. Основният план тук е да се изпрати съобщение към възлите при загуба на връзка, за да се потвърди дали наистина са излезли офлайн. Много аспекти трябва да бъдат разгледани и балансирани, още повече, че това е ключов фактор за дефектното откриване на възли, има текущи вътрешни дискусии и дебати за намиране на най-добрия път напред.


  • Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum
  • Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/
  • Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/