SAFE Network новини 🇧🇬 23.7.2020

Накратко

Ето някои от основните неща тази седмица:

  • Актуализирахме SAFE Браузъра с нова бета версия.
  • Пуснахме нов RCMaidSafe.SafeApp NuGet пакет.
  • В момента се работим върху съвместимостта на мобилните приложения на браузъра и Удостоверителя с най-новите Трезори и CLI.
  • Гласуването на базата на съобщения беше успешно добавено в сряда и е голяма стъпка към премахването на PARSEC.
  • Теста от миналата седмица ни помогна да затворим течовете на паметта на две места - работата продължава, за да намерим точния източник/източници и да ги поправим.
  • Публикувахме новото хранилище за SAFE фермерството :tada: Това все още е библиотека от ранен етап, която използваме като част от AT2 промените в трезорите.

Трезори – Фаза 2

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

Миналата седмица пуснахме няколко тест мрежи с някои подобрения, над които работихме след първата тест мрежа. В първата мрежа приемахме до 22 трезора, които се свързваха от домовете на потребителите. Мрежата получи 2956 парчета данни от 47 акаунта, съхранени в 414 контейнера за уникални файлове.

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

Успоредно с това, за да си помогнем в намирането на проблеми като горните, още преди те да достигнат до общността, също така разглеждаме някои опции, които да помогнат за подобряване и разширяване на нашата тестова среда чрез автоматизиране с помощта на сървъри и/или контейнери. Все още сме в ранните етапи на планирането на това, така че ще споделим повече информация във времето, когато се вземат решения.

SAFE Network Програма UX

Предупреждение за връзките в този раздел: в момента има грешка във Figma, която причинява високо използване на паметта, така че те могат да не реагират или да не се заредят изцяло.

Проследяване на напредъка на функциите / Екрани, и движение на потребителя

Тази седмица, освен работата по списък с микрофункции и забиване, твърде досадно за обясняване в подробности, публикувахме екраните и потоците за известия.

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

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

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

SAFE браузър (десктоп)

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

Актуализирахме SAFE браузъра с нова бета версия заедно с актуализирания safe-nodejs.

Включихме и по-разрешителни заглавия на CORS, за да помогнем при извличането при използване на JavaScript, актуализация, която да доведе Electron зависимостите до версия v8.4.0, и други по-малки актуализации на зависимостите на браузъра.

Успяхме да поправим някои счупени CI тестове в тази версия, което позволи тестовете ни за Ubuntu да работят от край до край отново, което би трябвало да ни позволи да активираме автоматизирани актуализации на сигурността чрез Dependabot, след като добавим тези промени в основното хранилище.

SAFE API

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

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

SAFE App C#

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

Днес пуснахме нов RC MaidSafe.SafeApp NuGet пакет, който включва актуализирани API-та за удостоверяване, които са изложени от safe-api/safe-ffi, където преди това използвахме safe-client-libs/safe-authentator-ffi.

Вече започнахме да преструктурираме мобилното приложение за удостоверяване, за да използва този пакет. Приложението за удостоверяване има собствена FFI обвивка, докато за макетните API-та safe_app_csharp има отделно копие на същия код. С новия пакет можем лесно да премахнем излишния код и да използваме повторно API-тата за удостоверяване. Преструктурирането също ще направи приложението съвместимо с най-новите трезори и CLI-то.

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

CRDT

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

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

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

Трансфери

SAFE Трансфери План на проекта
SAFE Клиентски библиотеки План на проекта
SAFE Трезор План на проекта
SAFE Фермерство План на проекта

През последните седмици споменахме, че работата по фермерския аспект на икономиката на SAFE Network е в ход - сега можем да споделим тази работа с вас с публикуването на новото хранилище за фермерството :tada: Това все още е библиотека от ранен етап, която използваме като част от AT2 промените в трезорите, осигуряваща някаква логика за изчисляване на награди и позволяваща на трезорите да използват това, за да генерират изплащания от своя портфейл в секцията.

В очакване на оставащите промени в съобщенията, половината от екипа, който работи по трансферите, премина към други задачи тази седмица.

По-голямата част от втората версия на преструктурирането за съобщенията беше завършена и с това бяха поставени и последните по-големи части от изплащанията на секции (т.е. фермерството). Това ни позволява да влезем в по-фините детайли на логиката и да работим върху тестването от край до край и върху тези промени.

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

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

Както бе споменато в новините от миналата седмица, работихме по прилагането на гласуване въз основа на съобщения тази седмица. Тази работа беше заменена от PR 2161, който беше добавен в сряда и е основна стъпка към премахването на PARSEC. Той преструктурира консенсусните събития и механизма на две части (подредени и неподредени) и прилага рамката на гласуване въз основа на съобщения чрез BLS агрегиране на подписи, преместване на събитията, които не изискват подреден консенсус от PARSEC, за да се използва BLS.

Също като изискване от тестващия екип, трезорите се нуждаят от събитие, за да ги уведоми, че са повишени във възрастен, следователно, за да могат да се разграничат между трезори на бебешори и възрастни. PR 2162 решава това чрез пускането на събитие, когато бебешорите са повишени във възрастни по време на разделяне на секция. Също така започнахме работа по оптимизиране на контейнера, като добавихме още непроменени тестове, които поддържат проверка на логиката на тези бързо движещи се части по време на ревизия. Следва да разглеждаме # 2122, който премества натрупването на подписи в раздела извън PARSEC.


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