SAFE Network новини - 30.4.2020

SAFE Network новини - 30.4.2020

Накратко

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

  • Днес пуснахме версия 0.5.1 на мобилния браузър и версия 0.3.1 на мобилния Удостоверител
  • Първоначалното изпълнение на Трезори Фаза 2б Възрастни и тяхното поведение по време на обработка на заявки за непроменими данни (Immutable Data) е завършено.
  • Завършихме първия тип данни PoC Sequence, реализирани като CRDT и можем да започнем да ги интегрираме в стека на библиотеките.
  • Вече имаме тестова версия на AT2, която работи добре с CLI-то.
  • В момента се преглежда PR за добавяне на UPnP към quic-p2p - това приближава свързването на трезорите от вкъщи в една секция.
  • @jimcollinson започна да работи върху усъвършенстването на кандидатските дизайни, които споделихме преди време (вижте секцията SAFE Network App UX).


Накратко отбелязваме, че Никита приключи договора си с MaidSafe тази седмица, като последният му принос беше представянето на този PRnP PR в quic-p2p (обсъдено по-подробно в секцията quic-p2p по-долу). Никита работи за MaidSafe в продължение на 4 години и съм сигурен, че ще се съгласите, че имаше огромен принос за нашия проект през това време. Миналата година Никита премина на непълно работно време, за да може да отдели време за собствените си проекти и сега настъпи момента да им се отдаде напълно. Знаем, че той няма да иска да бъде споменат по този начин, но моля, присъединете се към нас, като благодарим на @nbaksalyar за приноса му през годините и му пожелаем големи успехи в бъдеще.

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

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

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

Към работата по развитието на трезорите се включиха няколко допълнителни чифра ръце. @ravinderjangra се присъедини към нас, за да помогне за проектирането и прилагането на различни функции, необходими за следващата фаза. @oetyng също помага, започвайки с преструктуриране на клиентския манипулатор, който днес е обединен. Развълнувани сме за предстоящите дни и се надяваме и вие да сте.

SAFE API

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

Извършва се преструктуриране в safe-api хранилището, по-специално в API-то на XorUrlEncoder, който се използва за управление на SAFE-URL адреси. Към него добавяме още няколко функции, така че да може да се използва от всеки разработчик за справяне със SAFE-URL адреси, т.е. както NRS-URL, така и XOR-URL адреси, за да анализира, манипулира и също така да генерира съответните XOR-URL адреси, ако е необходимо. Това не засяга нито една от функционалностите, изложени от CLI-то, а само това специфично API.

CRDT

Както споменахме през последните няколко седмици се опитвахме да получим първи тип данни PoC Sequence, реализиран като CRDT и сега изглежда имаме нещо функционално и достатъчно добро, за да започнем да го интегрираме в библиотечния стек. Ето защо започнахме да работим върху изпълненията, необходими за разкриване на такъв тип последователност от данни в нашите основни библиотеки, като се започне от safe-nd и safe-treult. Планираме да добавим поддръжка за този нов тип данни в пълния стек, без да премахваме или променяме някой от текущите типове данни или поддържани операции, но вместо това първо да го добавим като допълнителен тип данни, който можем да използваме, за да започнем валидиране и тестване на e2e в мрежова среда с една секция.

След като този нов тип данни бъде напълно интегриран и утвърден, ще започнем да мигрираме всички наши клиентски API-та, които използват AppendOnlyData, за да започнат да използват Sequence типа данни. Например в момента FilesContainers и NRS Containers се съхраняват като AppendOnlyData и те ще бъдат мигрирани, за да се използва Sequence тип данни. Това няма да повлияе на излагането на API-то, нито на CLI командите, а само на това как се съхранява това съдържание в мрежата.

Както направихме и с другите типове данни, първо ще се стремим да пуснем напълно работеща публична версия на Sequence, преди да се опитаме да направим същото и за частната (т.е. непубликуваната).

В момента първоначалната ни реализация на AT2 изглежда като солиден заместител на текущата реализация на safecoin. Имаме тестова версия, която работи добре с CLI-то и сега работим около крайните случаи в самите SCL тестове, за да гарантираме, че всичко е стабилно. Оттам ще разгледаме следващите стъпки за AT2, които ще включват съобщения между трезорите, за да се гарантира, че всички актуализации се предават, което ще гарантира и защита срещу двойно харчене.

SAFE Network програма - UX

MVE проследяване на напредъка на функциите

Ако сте преглеждали MVE проследяването на напредъка на функциите на SAFE Network програмата, ще забележите доста отметната работа в реда Жизненоважни функции. Това разбира се е добра новина, но също така означава, че трябва да започнем да дърпаме това кученце заедно.

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

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

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

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

  1. Дизайните трябва да дават предимство на използваемостта и функционалността преди всичко друго.
  2. Те трябва да работят добре на различните платформи, използвайки основни елементи на операционните системи, когато става дума за основна използваемост.
  3. Те също трябва да имат познато SAFE усещане, да използват съществуващите активи на марката, да имат достатъчно уникалност за да ориентират потребителите, но не за сметка на 1 и 2.
  4. Трябва да се помисли за адаптиране към многоезичните опции, когато дойде времето.
  5. Разходите за поддръжка трябва да бъдат ниски.
  6. Итеративни, постепенни подобрения, а не големи отскоци.

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

Идеята тук е да вземем някои направления от работата, която свършихме по уебсайта, като същевременно запазим полезността и използваемостта като приоритет. Така че малко по-малко визуална насоченост и малко повече практичност.







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

Функции в Rust

Миналата седмица започнахме голямо преструктуриране, за да преминем в съответствие с модерните Rust функционалности. Започнахме процеса на преминаване на SAFE Клиентските библиотеки към стандартните библиотечни функционалности и също към най-новата версия на tokio. Това не е малка задача, но напредва добре. Като част от това трябваше да направим подобна актуализация на функционалностите в библиотеката за самокодиране, от която зависи SCL и сега, продължаваме с промените в SCL.

SAFE браузър / SAFE Удостоверител (мобилни устройства)

Браузър план на проекта

Удостоверител план на проекта

Днес пуснахме версия 0.5.1 на мобилния браузър и версия 0.3.1 на мобилния Удостоверител

Ако си спомните в скорошната версия 0.5.0 на мобилния браузър включихме автоматична актуализация за първи път, подробно описана тук. Днешното издание на мобилния браузър версия 0.5.1 ви дава първата възможност да видите този процес на автоматично актуализиране в действие , ако в момента имате инсталирана версия 0.5.0.


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

Ако в момента имате версия на браузър по-стара от 0.5.0 или все още нямате браузъра на устройството си, можете да изтеглите последната версия, като използвате връзките за изтегляне / QR код-а от файла README.

В тази последна версия на браузъра актуализирахме страницата на контейнера с файлове, за да включим връзки към файлове. Потребителят вече може да извлече файловете от контейнера с файлове с помощта на nrs или xorurl. Направихме някои текстови промени в изскачащия диалогов прозорец за удостоверяване, за да направим стъпката за удостоверяване по-ясна. Също така актуализирахме няколко диалога за грешки в приложението, за да бъдем по-прецизни, което би трябвало да улесни потребителите да разбират проблема и да помага с отстраняването му. И накрая, връзката към “Често задавани въпроси” на страницата за настройки на приложението също беше актуализирана до правилната тема на форума.

Наред с браузъра, днес пуснахме и версия 0.3.1 от мобилното приложение за удостоверяване. Имайте предвид, че мобилното приложение за удостоверяване не включва автоматично актуализиране - това приложение се използва като временна мярка за удостоверяване, като средносрочният план е да прехвърли този процес на удостоверяване в SAFE Network програмата, така че не сме изразходвали излишно време за въвеждането на автоматично актуализиране в него.

Удостоверителя версия 0.3.1 включва някои малки актуализации на текста, използван в приложението, за да съответства на браузъра и по-точно за текущия етап на проекта, т.е. сега ние се свързваме със секции, а не с един трезор, както беше във Фаза 2а.

Можете да изтеглите най-новата версия, като използвате връзките за изтегляне / QR код-а от файла README.

Маршрутизиране и quic-p2p

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

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

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

Както бе споменато в началото на новините, Никита работи усилено, за да завърши внедряването на UPnP в quic-p2p през последните няколко седмици и излезе с този PR, който преминава ревю. UPnP ни предоставя автоматично пренасочване на портове, което означава, че процесът на свързване на трезорите от различни части на света в една секция става много по-опростен и следователно осъществим. След приключване на прегледите, ще започнем вътрешно тестване и ако всичко е добре, ще го представим на общността.

BLS - Разпределено генериране на ключове

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

Тази седмица беше обединен основен преструктуриран PR, който значително подобри BLS-DKG контейнера. Той представя по-прецизен интерфейс за използване и прави реализирания поток от DKG генерирането да следва по-точно DKG документа на протокола. Първоначалната работа по въвеждането на quic-p2p като транспортен слой е в процес на изпълнение. След като това бъде завършено, контейнера ще трябва да бъде тестван усилено, за да се провери как използването на транспортния слой трябва да бъде настроено и конфигурирано по такъв начин, че да поддържа маршрутизиране в симулации от реалния свят. Загубата на връзка към трезори или закъсненията в доставянето на съобщенията поради прекъсвания, са само част от проблемите в мрежата в реалния свят, които трябва да симулираме и да вземем под внимание при проектирането на потока на DKG. В момента пишем такива положителни / отрицателни симулации за път, които да бъдат тествани на DKG сесия, преди да можем уверено да използваме този контейнер в мрежата.

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