SafeNetwork открий новия интернет

SAFE Network новини – 17.10.2019

Накратко

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

  • @jimcollinson засне видео, в което той говори за мисловния процес, потребителските изследвания и тестовете, които са влезли в дизайна за мрежата за новорегистриращи се потребители.
  • Пуснахме нова версия на SAFE CLI  (v0.5.0).
  • Започнахме публикуването на safe-api (SAFE Rust API-то) в crates.io

Маркетинг

Само малка актуализация от екипа тази седмица. Публикувахме редовната си туитър буря в Twitter, така че отидете да я видите и ни кажете какво мислите – беше натоварена седмица в света на наблюдението, поверителността и интернет машинациите, така че имаше материал за бурята.  Публикувахме и съдържанието от бюлетина на SAFE Gossip от преди няколко седмици по темата с безкасовите общества. Знаете какво ще ви помолим – посетете статията и гласувайте за нея с максимума, моля!

Но преди да продължим, бихме искали да представим на вашето внимание невероятната работа на българския посланик на SAFE мрежата @dimitar. Българският сайт на общността (https://safenetwork.bg/) е номиниран за сайт на годината в категория Future / Innovative и можете да гласувате за него следвайки инструкциите тук. Неща като това са наистина смиряващи и е невероятно да се види колко ангажирана с успеха на проекта е общността ни ден след ден.

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

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

Тази седмица се съсредоточихме върху разработването на детайлите на интерфейса за маршрутизиране, който ще се използва от Трезорите.Това е лесно за случаите, когато Трезор праща заявка към библиотеката за маршрутизиране (напр. при искане за гласуване с консенсус), но трябва да сме по-предпазливи в случаите, когато маршрутизацията трябва да предаде събития и данни надолу към Трезора, защото не искаме да излагаме прекалено много вътрешната работа на маршрутизирането, за да сведем до минимум знанията, необходими за използването на библиотеката. В крайна сметка това е по-скоро предизвикателство за софтуерния дизайн: искаме да имаме минимално и разбираемо API, като същевременно запазваме възможността за тестване на Рутинга и мрежата с различни конфигурации (със или без реални мрежи, с тестов PARSEC и т.н.) ). Намерихме няколко добри решения на тези проблеми и се доближаваме до интегрирането на истинското маршрутизиране със Трезорите. Напредъкът може да се проследи в проблем #878.

Успоредно с това продължаваме да работим по гласуването с консенсус за заявки от клиентите. Само с няколко изключения, всички клиентски заявки минават чрез консенсус. Това прави Трезора готов за взаимодействие с библиотеката за маршрутизиране, така че се задават много вълнуващи времена. Също така работим за преодоляване на някои от ограниченията на Трезорите от Фаза 1, например трезора в момента не обработва възстановявания, когато някои операции с данни се провалят. С подобренията от този PR 3, трезорът ще може да идентифицира реални грешки, върнати от обработващите данни и да възстанови сума на клиента, платил за операцията.

SAFE CLI (Интерфейс на командния ред)

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

SAFE CLI v0.5.0 е пуснат и е достъпен за всички да ъпгрейднат до него с командата $ safe update или може да бъде изтеглен от GitHub страницата с актуализации, ако не сте имали предишната му версия.

В тази нова версия на SAFE CLI бяха включени няколко нови функции, за които споменахме предните седмици, напр. възможност за избор на конкретен баланс за харчене от Портфейла за която и да е команда и новата команда dog за инспектиране на URL адреси и техните особенности, наред с други незначителни подобрения и корекции на грешки (вижте регистъра на промените за повече подробности).

Също така започнахме да публикуваме safe-api (SAFE Rust API-то) в crates.io. Вчера беше публикувано safe-api v0.5.0, и въпреки че все още трябва да работим по документацията на safe-api, то вече е достъпно за Rust приложения да го използват като зависимост от там.

Това ни позволи да публикуваме нова версия (v0.3.1 4) на пакета safe-nodejs, която вече зависи от най-новата safe-api v0.5.0 от crates.io. Тази нова версия сега включва всички връзки към Node.js за API-тата на SafeKeys и Wallet, които липсваха в предишната версия и следователно вече са готови да се използват от Node.js приложения.

Нашите усилия за създаване на Удостоверяващ процес (authd daemon) продължиха през изминалата седмица, с някои успешни първи тестове за стартиране / спиране на процеса и взаимодействие с изложените му услуги (чрез QUIC), като всички използват новите команди в SAFE CLI. Това върху което работим е ново API за authd клиента, за да позволи не само на SAFE CLI, но и на всички други приложения да могат да комуникират с процеса без нужда да разбират протокола за комуникация. Следователно вече започнахме да се опитваме да получим някои основни Node.js връзки за това ново API, като се опитваме да го тестваме от Electron приложенията, които ще бъдат необходими, за да може SAFE Network App да комуникира с authd.

SAFE Network приложение/програма (SNAPP)

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

Още един видеоклип за вас от @jimcollinson ви превежда през мисловния процес, потребителските изследвания и тестoвете, които са влезли в дизайна на мрежата за новорегистриращи се потребители.

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

Идентифицирахме многобройни подходи как това може да работи и как можете да се включите в мрежата:

  1. Чрез стартиране на трезор. Това е начин да предлагате ресурси в мрежата и да бъдете възнаградени с валута, която след това можете да използвате за създаване на акаунт.
  2. Плащайки за акаунта си с фиатна валута, през борса.
  3. Чрез създаване на офлайн акаунт, и ваш приятел, който вече е в мрежата, да го качи за своя сметка. 
  4. Making an empty offline wallet, sending it to a friend for them to fill up with the required amount, in order for you to create an account from it. Направете празен офлайн портфейл, изпратете го на приятел, за да попълните необходимата сума, за да можете да създадете акаунт от it.
  5. Създаване на офлайн ‘неактивен акаунт’, който след това ще бъде активиран от потребител с плащане със Safecoin.
  6. Като друг потребител ви покани …  чрез специална връзка, която той е закупил, съдържаща всичко, което ще ви е необходимо, за да продължите.
  7. И накрая, разбира се да не забравяме, има и такива от вас, които вече притежават MaidSafeCoins, и които ще могат да заменят част от тях, за да платят за SAFE Акаунт.

Във видеото по-горе Джим разказва как избрахме тези варианти и решенията, върху които ще работим първо.

Продължаваме и на два други фронта:

Обновления – План на проекта
Удостоверяване – План на проекта

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

Включихме и експерименталната интеграция на удостоверяващото API в SAFE Network приложението. Тук наистина можем да видим ползата от новата структура на API-то, която се роди от safe-cli, със старт / стоп на процеса по удостоверяване, влизане, излизане и създаване на акаунт, като всичко това се интегрират бързо в  SAFE Network приложението. Сега ще изгладим грубите ръбове на това внедряване, ще увеличим тестовото покритие и тъй като API-тата се стабилизират и ще ги въведем в основния клон на safe-api, като работим за пускането му.

SAFE Десктоп Браузър

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

Имаме нова версия поправка на браузъра, която трябва да бъде пусната скоро (в очакване на някои окончателни QA). Това коригира някои проблеми с разрешенията в pWeb 3, както и добавя друго pWeb (Perpetual Web – Вечната мрежа) изискване за блокиране на неверсифицирани ресурси, поискани от DOM от друг домейн. Това означава, че няма да можете да изтеглите CSS safe://някъде другаде и да избегнете създаването на нова версия на уебсайта, когато променяте показаното оформление / съдържание и т.н.

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

Също така сме включили някои актуализации за зависимостите и нова версия на safe-nodejs в браузъра. Ще изложим и функционалността на XorUrlEncoder от API-то, тъй като някои хора  искат достъп и до това.

SAFE App C#

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

Тази седмица добавихме API за проверка от safe-api , което позволява на разработчиците да получат метаданните за всяка съхранена информация, съхранена в мрежата, използвайки safe:// URL адресът й. Добавихме и някои тестове, за да гарантираме, че това API връща правилните данни от мрежата.

За да сме в крак с новите промени в API-тата и FFI, актуализирахме Cake скрипта за изграждане, за да използва най-новата библиотека, генерирана от safe-ffi CI. Скриптът може да се използва за автоматично изтегляне на библиотеките въз основа на издание или хеш на главния клон.

Добавихме и минимално поддържаната версия  на платформата в safe_app_csharp. Това ще ни помогне да използваме най-новите функции на C # езика и да предоставим по-стабилно API.

Успоредно с това тестваме API-тата с локалните трезори за всички поддържани платформи. По време на тестването открихме, че новите API-та не могат да се свързват с локални / споделени трезори от мобилни устройства. В момента работим по поправка, за да разрешим този проблем.

Стареене на възел (Node Ageing)

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

Както ще видите напреднахме значително с Node Age и ни остават 2 малки задачи. Това ни позволява да бъдем по-фокусирани върху интерфейса на трезора / маршрутизацията и @ustulation заедно с @nbaksalyar бяха заети паралелно (с помощ от @Jean-Philippe), завършвайки дизайна по внедряването там и всъщност прилагайки това, заедно с отстраняването на някои грешки от тестовете, и откриването на неотговарящи (забили) трезори.

С приклюването на проекта работещ по възрастта на възлите ще имаме устойчивост на Сибил (Sybil) атаки. Това позволява трезори от вкъщи (край на централизацията), но все пак ще продължим с фаза 2a / b, 3 и 4 от плана на проекта. Не искаме объркване с толкова много проекти, но искаме сериозно намаляване на времето, за да стартираме. Така че много неща се случват паралелно по работата върху трезорите, докато UX на трезорите напредва с помощта на  @lionel.faber@yogesh и @marcin за трезорите от фаза 2а.

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

Опростихме голяма част от кода тук и все още имаме малко работа за вършене, но крайният резултат е по-опростен (по-малко грешки), по-ефективен и най-важното е, че имаме много по-разбираем код. Надяваме се, че този напредък ще ни позволи да пуснем SAFE мрежата много по-рано, отколкото повечето осъзнават. Ще пускаме пълни мрежи, а не отделни компоненти и това е много по-ефективен подход за внедряване.

Полезни линкове

Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum

Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/