Български (Bulgarian): Добре дошли в SAFE Forum 🐉

SAFE Network новини – 30.1.2020

Накратко

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

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

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

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

SAFE API

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

Публикувахме нови Safe-cli v0.8.1 и safe-authd v0.0.4 версии, които включват всички корекции и функции, над които работихме през изминалата седмица. Както и преди, можете да актуализирате вашия CLI с командата $ safe update и ако вече сте актуализирали до (или сте инсталирали) authd v0.0.3 миналата седмица, можете да го актуализирате до v0.0.4 с $ safe auth update или ако го нямате да го инсталирате с $ safe auth install . Във всеки случай пълните инструкции може да намерите в Ръководството за потребителя за CLI.

Тази нова версия на CLI добавя две нови команди, както коментирахме в новините от миналата седмица. Вече е достъпна командата xorurl decode , която позволява извличане на цялата информация, която е кодирана в XOR URL:

$ safe xorurl decode safe://hnyynyzonskbrgd57kt8c1pnb14qg8oh8wjo7xiku4mh4tc67wjax3c54sbnc
Information decoded from XOR-URL: safe://hnyynyzonskbrgd57kt8c1pnb14qg8oh8wjo7xiku4mh4tc67wjax3c54sbnc
Xorname: e02b282430f7d544ec93441969c63c387a261d7d553d2f9a8b3dda270fcb37ab
Type tag: 1100
Native data type: PublishedSeqAppendOnlyData
Path: none
Sub names: []
Content version: latest

Както беше предложено от общността, тази нова версия също добавя командата files ls , която извежда съдържанието на всеки FilesContainer по аналогичен начин с традиционната за Linux команда ls, също така ни позволява да посочим подпапки в пътя на safe:// URL адреса за да се преглежда йерархията на целевия FilesContainer, например:

$ safe files ls safe://hnyynyi6tgumo67yoauewe3ee3ojh37sbyr7rnh3nd6kkqhbo9decpjk64bnc
Files of FilesContainer (version 4) at "safe://hnyynyi6tgumo67yoauewe3ee3ojh37sbyr7rnh3nd6kkqhbo9decpjk64bnc":
Total: 6
SIZE  CREATED               MODIFIED              NAME
11    2020-01-28T20:26:05Z  2020-01-28T20:29:04Z  another.md
38    2020-01-28T20:35:43Z  2020-01-28T20:35:43Z  files-added/
30    2020-01-28T20:31:01Z  2020-01-28T20:31:01Z  new-files/
10    2020-01-28T20:29:04Z  2020-01-28T20:29:04Z  new.md
23    2020-01-28T20:26:05Z  2020-01-28T20:26:05Z  subfolder/

Направихме и някои подобрения в процедурата за инсталиране на authd за Windows: той проверява дали има копие на authd, вече регистрирано като услуга на Windows, и изисква от потребителя първо да го деинсталира, преди да може да инсталира нов authd като услуга. Това е, за да е сигурно, че услугата authd е регистрирана с правилния и актуален път за инсталиране на safe-authd.exe .

Незначителна промяна, но много полезна, когато става въпрос за отстраняване на проблеми, е добавянето на authd двоичната версия към отчета за състоянието на authd. Вече можете да проверите коя версия на authd работи и отговаря на CLI заявки, като проверите версията със следната команда $ safe auth status :

$ safe auth status
Sending request to authd to obtain an status report...
+------------------------------------------+-------+
| SAFE Authenticator status                |       |
+------------------------------------------+-------+
| Authenticator daemon version             | 0.0.4 |
+------------------------------------------+-------+
| Logged in to a SAFE account?             | Yes   |
+------------------------------------------+-------+
| Number of pending authorisation requests | 0     |
+------------------------------------------+-------+
| Number of notifications subscribers      | 0     |
+------------------------------------------+-------+

Обърнете внимание, че след като сте актуализирали до новия safe-authd v0.0.4 (с команда safe auth update ), ще трябва да рестартирате authd, за да стартирате новата версия (с команда safe auth restart ).

Беше отстранена и грешка, която засягаше акаунти, създадени с safe-authd. Поради начина, по който се анализират JSON-RPC съобщенията, идентификационните данни на акаунта се предават в мрежата с кавички ( "..." ). Това означава, че с тази нова версия на authd, ако имате стар акаунт няма да бъде намерен и няма да може да влезете. Следователно за тези, които активно използват CLI и authd, след като сте актуализирали до най-новата версия, ще трябва или да създадете нови акаунти, или като решение, ако наистина искате да използвате по-рано акаунт, просто не забравяйте да въведете идентификационните данни с кавички ( "..." ) и това ще ви позволи да влезете със стария си акаунт. Например, ако ключа ви е бил mypassphrase и паролата към него mypassword , тогава все още може да получите достъп до акаунта си след обновяването до новата версия, като въведете данни си като "mypassphrase" и "mypassword" .

Етикети за данните, индексиране и оторизиране на маркери

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

Тази седмица @yogesh обедини усилията си с @joshuef за внедряване на маркерите и заедно започнаха работа по обратната връзка от първоначалното прилагане на POC, както и по-задълбочено планиране на следващите стъпки за работата по маркерите. Това включва нов, отделен RFC (идващ скоро) само за маркерите, за да се даде яснота там.

С работата по това се надяваме да започнем да постигаме добър напредък през следващите седмици!

Уточняване на видовете данни

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

Изясняване на Private | Public на обхвата от последици за Map e добавено по заявка на @tfa. Освен това са добавени подробности за възможните разширения към опциите за изтриване на PrivateMap .

PR последователността е близо до обединяването, тъй като са въведени повечето необходими промени. Няколко дребни неща са отложени за последващи PR-и.

Уточняване на йерархията на данните

RFC

Дискусиите в RFC продължиха през седмицата с няколко предложения от общността. Сред тях са използването на допълнителен криптиращ слой от възли като начин за добавяне на прикриване на трезорите (@jlpell) и предложение за обща поддръжка на RDF чрез въвеждане на Triplet тип данни, т.е. предоставяне на общ triplestore (@JoeSmithJr).

Също така, дискусиите около управлението на растежа на метаданните на Shell преминаха в предишна работа, извършена в тази област, по-специално изграждане на дървета от местните типове данни. @bochaco добави няколко диаграми с примери, над които е работил преди.

SAFE Network програма (десктоп)

С добавяне на нови промени и API-та към CLI-то и safe-authd , решихме да се възползваме от това и да опростим как authd е включен в SAFE Network програмата. Вече ще използваме, управляваме и изискваме инсталирането на CLI и authd от потребителския интерфейс на SAFE Network App. Потребителите ще бъдат информирани, ако CLI-то или safe-authd не са инсталирани и подканени да ги инсталират. Само тогава ще се покажат Login опциите за влизане.

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

И накрая, добавихме още една удобна функция: SAFE Network програмата ще се опита да спре процеса за удостоверяване само ако не е било още стартирано. Така че това не трябва да пречи на authd процесите, започнати например от CLI-то.

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

Тази седмица пуснахме няколко алфа версии на браузъра. Най-вече по поддръжката, но и за отстраняването на няколко проблема, с които @latch се сблъска, докато работеше по уеб приложение, базирано на WASM. В macOS възникна проблем, при който отварянето на devtools може да срине целия браузър. Един досаден за отстраняване проблем тъй като devmode го няма този проблем (който сам по себе си не се проявява равномерно). В крайна сметка се оказа просто случай на нужда от URI декодиране на някои заявки от devtools, които (грешно) се третираха като safe заявки.

Тези проблеми повдигат и някои добри въпроси относно API-то ни и докъде трябва да включваме отговори тип HTTP (или да не ги включваме). Повече за това във форума за програмисти.

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

Прекарахме тази седмица в тестване на Удостоверителя и мобилните браузъри за Android и iOS и в процеса направихме много подобрения и корекции на грешки.

Тестването в приложението за удостоверяване доведе до откриването на интересен бъг в safe-authd. В мобилния Удостоверител забелязахме, че когато създадем акаунт на трезор, например споделения трезор, не можем да влезем през CLI или през SAFE Network програмата, използвайки новите данни за акаунта. Същия проблем съществуваше и в обратна посока, така че нито един акаунт, създаден чрез CLI или SAFE Network App не работеше работи с мобилния Удостоверител. След известно разследване на грешките от страна на @ravinder, той успя да ограничи възможните причини за грешката, след което работи с @bochaco, за да определи точната причина за грешката в safe-authd :mag:. Можете да прочетете малко повече за тази грешка и какви са последиците от нейното отстраняване в секцията за SAFE API в тези новини. Беше важно да отстраним този проблем тъй като колкото по-дълго време продължаваше, толкова повече акаунти бяха създавани неправилно чрез CLI и SAFE Network програмата.

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

С няколко поправки на грешки, реализирани и в двете приложения, постигнахме добър напредък, но все още има някои изключителни грешки и тестове, които трябва да се преминат, преди да сме доволни, че тези приложения са готови да стигнат до вас. Например тестовете за потвърждаване на правилното поведение на промените, свързани със safecoin в приложението за удостоверяване, все още са в очакване. Вчера вътрешният екип отчете някои други грешки, свързани с мобилния браузъра, като те ще бъдат разследвани и отстранени в следващите дни.

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

Safecoin / Фермерство

RFC

Тази седмица разделихме изследванията ни в две области: CRDT и DBC.

CRDT предлага евентуална съгласуваност между реплики (Старейшините в нашия случай) без загубата на производителност, която идва с изискването всички компютри да виждат данните в един и същ ред, напр. чрез консенсуса на PARSEC. Въпреки това повечето CRDT не ни дават възможност да наложим правило като баланс> = 0. За тази цел започнахме да разглеждаме Bounded Counter, малко известен тип, който дава възможност за налагане на такива правила, с цената на това всяка репликата да сериализира вътрешно операциите, напр. като поддържа хеш-верига от актуализации. Изследванията ни продължават, но изглежда, че подходът е обещаващ.

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

Едно вдъхновение за подобна система идва от документа Scrit Whitepaper публикуван на ноември 2019 г., който описва DBC система за плащания с множество подписи, макар и с периоди и други сложности, за които не вярваме, че ще са необходими за SAFE мрежата.

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

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

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

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

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

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

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

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

1 Like

Phantom: инструмент за управление на сайтове в SAFE мрежата

Може да следите проекта на английски тук: Phantom: a publishing tool enabling users of the SAFE Network to easily manage websites

Хранилище с отворения код на проекта
Последни новини
URL адрес в SAFE мрежата

Моля, обърнете внимание, че в момента разработката на приложението е в очакване на пускането на следващата версия на SAFE Network Desktop App, която съдържа някои зависимости. Поради тази причина, safe://phantom вероятно няма да работи за вас още няколко дни и просто ще покаже празна страница.

Представяме ви Phantom, инструмент за лесно управление на уебсайтове в SAFE мрежата. Phantom е проектиран да живее изцяло в рамките на SAFE мрежата, като позволява на потребителите да създават и управляват уебсайтове и блогове, без изобщо да бъдат изложени на стария интернет.

Phantom е изграден върху библиотеката на NodeJS на SAFE браузъра, което позволява функционалност на ниво приложение, без да се налага да инсталирате и една програма. Всичко, което трябва да направите, е да отидете на safe://phantom във вашия SAFE браузър.

График

Стремим се да публикуваме актуализации тук всяка сряда с резултатите от предишната седмица. Кодът ще се актуализира много по-често (очаквайте 2-3 команди на ден в дни, в които програмиста зад проекта е свободен, и 0-1 в дни, в които е на дневната си работа.)

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

1 Like

Phantom - новини 5.3

Код

През изминалата седмица се постигна следното:

Изживяване за крайния потребител

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

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

Можете да създадете NRS от най-високо ниво (по подразбиране използва стандартния “www” поддомейн в момента, тъй като това вероятно ще използват по-голямата част от хората, но ще се добави възможността за управление на под имена в следващите седмици):

Можете да изберете за кой домейн искате да редактирате публикациите, това позволява на потребителите да управляват множество уеб сайтове от уеб приложението (когато създадете NRS, по подразбиране ще редактира него, вижте долния пример):

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

Голяма част от проектирането тук е скрепено само за примера и подлежи на промяна.

Дизайнерски решения

За проекта е важно да се намали количеството на зависимостите както в уеб програмата, така и в генерираните от нея уеб сайтове.

Вероятно работата ще продължи с:

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

Би било чудесно ако кода на уеб приложението Phantom е под 180kb, при изтегляне (като приложение за една страница, съдържащо всички CSS, JS, HTML и woff2 файлове, необходими за функционирането на цялото приложение). Не се използват никакви изображения, използва се само един шрифт (OpenSans и само Woff2 файлове, тъй като те са хубави, мънички и се поддържат от всички целеви браузъри) и с премахването на всякакви ненужни зависимости - дори ако това означава повече усилия при първоначалната разработка. Първите уеб сайтове в SAFE мрежата трябва да зареждат изненадващо бързо , за да преодолеят евентуални проблеми с мащабирането в бъдеще.

1 Like

SAFE Network новини – 5.3.2020

Бейби Флеминг (Baby Fleming) Версия 1 (Трезори Фаза 2а - мрежа с една секция)

Днес пускаме първата версия на SAFE мрежата - Бейби Флеминг !! :raised_hands:

Скоро ще създадем обществена споделена мрежа, с която можете да си поиграете, но засега ще трябва да настроите собствена локална мрежа. Настоящите инструкциите ще ви преведат през създаването на мрежа с една секция и множество трезори на една машина. Възможно е да стартирате и свързвате трезори на различни машини чрез локални мрежи или чрез машини с публично IP (например DigitalOcean), но на този етап процесът за това не е лесен, изисква ръчно пренасочване на порт и / или конфигурационен файл за трезорите. Препоръчваме на повечето ранни изпитатели да се придържат към една машина съгласно това ръководство, докато направим процеса за свързване на няколко машини заедно много по-опростен.

Това първо издание на Бейби Флемин (Трезори Фаза 2a) е преход от мрежа с един трезор към мрежа с множество трезори (в една секция). От гледна точка на потребителя, всички операции и случаи на използване остават същите като при Трезорите от Фаза 1 и се поддържат от Бейби Флеминг, т.е. тестовите safecoin, портфейлите, файловете, NRS имената, SAFE сайтовете и т.н.

Разбира се, има много подобрения на CLI-то и другите компоненти / библиотеки след излизането на Трезорите от Фаза 1 в подготовката за днешното издание, както ви информирахме досега в седмичните новини.

Моля, обърнете внимание, че най-новите налични версии на настолните приложения (SAFE Browser и SAFE Network App) и мобилните приложения (SAFE Authenticator и SAFE Mobile Browser) все още не са съвместими с Бейби Флеминг мрежата. Работим над пускането на нови версии, които ще работят с Бейби Флеминг, надяваме се много скоро.

Какво е включено в тази версия?

Имаме нови версии на SAFE CLI (v0.9.0), процеса на Удостоверителя (v0.5.0) и Трезора (v0.21.0).

Ако сте тествали предишните версии, ще трябва да актуализирате SAFE CLI (с командата safe ), което ще ви позволи да актуализирате процеса на Удостоверителя (файла “safe-authd”), както и да инсталирате съвместимия Трезор ( safe_vault ) на компютъра ви.

Ако все още нямате SAFE CLI на компютъра си, можете да изтеглите новата версия на CLI от GitHub. Налични са версии за Windows, macOS и Linux.

Как да актуализирате SAFE CLI и процеса на Удостоверителя

Преди да продължите, важно е да се уверите, че „safe_vault“ и „safe-authd“ са спрени на система ви, така че, моля, първо се уверете, като ги спрете/убиете, преди да продължите напред с инструкциите по-долу. Ако имате включен Трезор, можете да го убиете в терминала, от който е стартиран. Ако не сте сигурни дали вече използвате “safe-authd”, тогава можете да отидете в директорията, в която имате предишната версия на SAFE CLI ( safe ), и стартирайте:

$ safe auth stop

Ако вече имате предишна версия на SAFE CLI на компютъра си, за да я актуализирате, можете да отидете до директорията, в която е файла, и да го стартирате с аргумента за актуализиране:

$ safe update

Можете също да използвате SAFE CLI, за да актуализирате процеса на Удостоверителя ( safe-authd ):

$ safe auth update

Ако досега не сте инсталирали процеса на Удостоверителя ( safe-authd ), можете да го инсталирате с помощта на CLI с командата:

$ safe auth install

Обърнете внимание, че за потребителите на Windows , за да инсталирате Удостоверителя ще ви трябва разрешения за администратор, моля, разгледайте този раздел от Ръководството за потребителя на CLI за повече подробности.

Как да стартирате локална мрежа с една секция (Baby Fleming)

Локалната мрежа се зарежда чрез стартиране на няколко SAFE Трезора, които автоматично се свързват, образувайки мрежа с една Секция.

Ето защо първо трябва да инсталирате файла safe_vault на компютъра си, което може да направите с помощта на CLI:

$ safe vault install
Latest release found: safe_vault v0.21.0
Downloading https://safe-vault.s3.eu-west-2.amazonaws.com/safe_vault-0.21.0-x86_64-unknown-linux-musl.zip...
[00:00:36] [========================================] 6.28MB/6.28MB (0s) Done
Installing safe_vault binary at ~/.safe/vault ...
Setting execution permissions to installed binary '~/.safe/vault/safe_vault'...
Done!

С изтегления и инсталиран Трезор, едносекционна SAFE мрежа (Бейби Флеминг) може да бъде стартирана локално на компютъра ви с проста команда:

$ safe vault run-baby-fleming
Storing vaults' generated data at ~/.safe/vault/baby-fleming-vaults
Launching local SAFE network...
Launching with vault executable from: ~/.safe/vault/safe_vault
Network size: 8 vaults
Launching genesis vault (#1)...
Genesis vault contact info: ["127.0.0.1:55851"]
Launching vault #2...
Launching vault #3...
Launching vault #4...
Launching vault #5...
Launching vault #6...
Launching vault #7...
Launching vault #8...
Done!

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

За да изключите работеща локална мрежа, изпълнете следната CLI команда, за да убие всички протичащи процеси “safe_vault”:

$ safe vault killall
Success, all processes instances of safe_vault were stopped!

Свързване към мрежата с една секция

За да се свържете с мрежата и да започнете да качвате данни, ще трябва да имате акаунт. За да създадете акаунт и да влезете, се нуждаете от процеса на Удостоверителя, който може да стартирате с помощта на CLI, като изпълните командата:

$ safe auth start

Обърнете внимание, че ако използвате Windows , за да стартирате процеса на Удостоверителя ще ви трябват администраторски разрешения, моля, разгледайте този раздел от Ръководството за потребителя на CLI за повече подробности.

Вече можете да стартирате $ safe auth create-ac --test-coins , за да създадете акаунт. След това изпълнете командата $ safe auth login --self-auth , за да влезете и да получите идентификационните данни за приложението CLI.

Сега можете да използвате SAFE CLI, например, за качване на данни в мрежата ,

Ако искате да научите повече за поддържани от SAFE CLI команди и в какви случаи се използват, моля, вижте Ръководство за потребителя на SAFE CLI, където има стъпка по стъпка инструкции, включително подробно описание и на горната информация.

Какво следва?

В момента ви препоръчваме да се придържате към стартиране на Бейби Флеминг на един компютър или ако сте напреднал потребител, можете да пускате трезори в локална мрежа или на компютри с публично достъпни IP адреси, като например в DigitalOcean. Следващият ни фокус ще е насочен към по-лесното стартиране на трезори в домашни условия, които могат да се свързват с други трезори на други хора. За целта трябва да настроим домашните рутери и Network Address Translation (NAT). Имаме добър опит с това от миналото, ако сте участвали в тестовете на Crust, които създадохме в края на 2018 г., и работата вече е в ход, за да се постигне това за следващата версия на Бейби Флеминг.

Принос и молба за помощ

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

Ако имате нужда от помощ, не се колебайте да пуснете въпроса си по-долу и ние с радост ще ви помогнем, а със сигурност и потребителите от общността също ще са готови да помогнат :dragon:

Други новини за разработката

Днес разбира се всичко е насочено към Бейби Флеминг, така че няма да задълбаваме в други актуализации, но ще видите от нашите хранилища в GitHub и другите ни ресурси, че дейностите по разработката все още продължават с голям темп.

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

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

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

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

2 Likes

фантастична работа Димитър, добре направена.

2 Likes

Фундаменти на мрежата

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

SAFE мрежата ще…

1. Гарантира на човек създаването на акаунт и влизането анонимно и без пречки

Създаването на нов акаунт и влизането в SAFE мрежата никога няма да изисква одобрение от трета страна. Тези процеси винаги ще се осъществяват директно между потребителя и мрежата. Важно е да се отбележи, че (по технологични причини) създаването на акаунт може да изисква наличието на Safecoin в потребителския профил при определени обстоятелства (например ако това ще минимизира възможността за създаване на милиони нови акаунти с цел атака на мрежата от злонамерена личност).

2. Гарантира на потребителите безопасното и без контролиращи посредници споделяне на информация и съобщения

SAFE Network никога няма да позволи трети страни да четат или да копират информация изпратена от потребителя (освен ако самият потребител не се съгласи изрично).

3. Позволи изпращането на Safecoin до всеки потребител без такси

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

4. Дава възможност на потребителите анонимно да създават и споделят информация в целия свят

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

5. Позволи на всеки да браузва съдържание анонимно и безплатно

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

6. Позволи на потребителите да добавят множество идентичности към техния акаунт

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

7. Позволява на потребителите да изпращат/получават Safecoin с всяка от самоличностите си в мрежата

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

8. Съхранява информация вечно

Всичката публична/публикувана информация в мрежата ще бъде непроменима и съхранявана в мрежата вечно. Също както Интернет Архива съхранява версии на сайтове, които са публикувани с грешки, ще бъде невъзможно да се изтрие информацията от мрежата веднъж след като е качена. Това не значи, че няма да може да променяте информацията си – ще може да добавяте само промени т.е. исторически, по-ранни версии от информацията ще остават запазени в мрежата (без значение дали те са достъпни или не).

9. Никога няма да изисква паролите да бъдат съхранявани в мрежата или на машините използвани от Клиентите за достъп до мрежата

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

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

Мрежата трябва да е достъпна за всеки Потребител на всяко устройство. Когато този потребител излезе от мрежата и напусне машината, на нея не трябва да остава следа (освен софтуера свален за достъпване на SAFE мрежата, например браузър), която да показва какво е вършил Потребителя в SAFE Network.

11. Премахва клиентските IP адреси след първия Хоп в SAFE мрежата

След като Потребител е започнал да комуникира директно, с който и да е след първия компютър (с който се е свързал) в SAFE мрежата, IP адреса на Потребителя се премахва и е непроследим. За яснота “първия Хоп” е първия компютър в SAFE мрежата, към който потребителя се е свързал (а не хоп-а от вашия компютър към домашния WIFI рутер например).

12. Приема още Трезори, само когато има нужда от тях

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

13. Увеличава наградата за фермерство, когато има нужда от повече ресурси (Трезори) и намалява наградата, когато има много ресурси

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

14. Въвежда ранг на компютрите в мрежата и увеличаване на доверието с времето към компютрите с висок ранг

Жизненоважна част на Стареенето на Компютрите е (Node Ageing – един от начините, по които SAFE Network предотвратява Сибил атаки), че мрежата е проектирана да позволява само на най-доверените компютри в Близка Група (Close Groups) да гласуват за взимането на решения в мрежата.

15. Без сървъри

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

16. Дигитален подпис за всички транзакции

Като изисква дигитален подпис на всяка транзакция мрежата гарантира, че транзакциите са потвърдени в съответствие с правилата на SAFE мрежата.

17. Гарантира, че директните съобщения от потребител към потребител са безплатни. Ако обаче се използват изпратени през SAFE Network анонимни съобщения ще се заплаща

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

18. Няма да използва нито една услуга от стария интернет

За да може успешно да използвате достъпната за всеки онлайн защитена среда на мрежата, никога няма да трябва да достъпите услуга от стария интернет за да използвате SAFE мрежата.

19. Никога няма да използва времето, като мрежови инструмент (въпреки че компютрите може да го използват локално)

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

20. Използва винаги само криптирани услуги и криптиран трафик

Услугите и трафика трябва да бъдат криптирани, ако желаят да бъдат използвани от SAFE Network.

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

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

Safecoin

Safecoin е уникалния механизъм за стимулиране на участието в SAFE Network. Всички Safecoins се рециклират, когато бъдат платени на мрежата в замяна на ресурси. При стартирането на мрежата Safecoin ще бъде разпределен по следния начин:
(1) Ще плати на създателите на мрежата (акционерите на MaidSafe) 5% от всички Safecoin; (2) Ще плати на инвеститорите от публичната разпродажба (състоя се през 2014 г.) 10% от всички S.afecoin

Safecoin ще бъде разпределян постоянно на следния принцип: (1) Ще плаща на Трезорите за предоставеното място, процесорно време и интернет свързаност (85% от наградите); (2) Ще плаща на разработчиците на приложения (програми), които се използват от потребителите (10% от наградите); (3) Ще плаща на поддържащите кода на мрежата (5% от наградите)

Забележка:

Докато горното обяснение е представено за удобство, то е приблизително и на практика наградите ще бъдат разпределяни динамично от мрежата според Фермерския добив:

  • Фермерите, които имат трезори ще получават 100% от Фермерския добив за всички заявки в мрежата т.е. 86.95% (100/115) от всички награди.
  • Разработчиците на програми ще получават 10% от Фермерския добив за всички заявки в мрежата (приложено към техните програми) т.е. 8.695% (10/115) от всички награди.
  • Разработчиците на мрежата ще получават 5% от Фермерския добив за всички заявки в мрежата т.е. 4.348% (5/115) от всички награди.

Често Задавани Въпроси

01. Въпроси за SAFE Network

Какво е SAFE мрежата?

SAFE (Безопасен Достъп За Всеки) мрежата е нов безопасен начин да използвате приложения, които ценят безопасността на вашата информация преди всичко. Сваляйки безплатния SAFE софтуер ще получите достъп до: чат приложения, програми, имейл, социални мрежи, място за съхранение на информация, видео разговори и още много.

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

SAFE мрежата е създадена от неизползваното място на хардиска, свободното процесорно време и интернет свързаността на потребителите си. Предлага ниво на сигурност и поверителност без аналог в настоящия интернет и за разлика от големите корпорации (Google, Facebook, Apple) връща контрола на потребителите върху информацията им.

Като предоставяте неизползвания ресурс на компютъра си на SAFE мрежата ще получавате заплащане под формата на криптовалута наречена Safecoin.

Какво е автономна мрежа?

Автономна мрежа е тази, която няма нужда от човешка намеса. Всеки може да се присъедини към нея – и много важно – никой не може да бъде спрян да се присъедини.

От момента, в който качите криптираната си информация, не се изисква никаква човешка намеса, която да я обезопаси и само вие може да я достъпите отново. Без намесата на хора SAFE мрежата интелигентно мести частите на вашата информация между компютрите в мрежата, които също мести в различни групи за да предостави тотална сигурност и поверителност през цялото време. Вие решавате каква информация да съхраните – и автономната мрежа я защитава, за да остане под пълния ви контрол.

Защо да използвате SAFE мрежата?

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

Кой притежава SAFE Network?

Никой.

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

Кои са MaidSafe?

Започната през 2006 година от шотландския инженер Дейвид Ървайн компанията MaidSafe е основния разработчик на SAFE мрежата. Съставена е от малък екип (43 служителя към 1.01.2019) мислители, изобретатели, разработчици, докторанти, инженери и дизайнери. Компанията е базирана в Ейр, Шотландия, но работим с талантливи хора от много различни култури и държави, подобно на потребителите, на които служим. Въпреки разнообразието ни, всички имаме една цел: сигурност и поверителност за всеки.

Посетете Maidsafe.net

Често Задавани Въпроси

02. Начало

Какво ми е необходимо за да браузвам SAFE мрежата?

В SAFE Network може свободно да разглеждате SAFE уебсайтове напълно анонимно, от където и да е по земята. За да подсигурим сигурност и анонимност не можехме да разчитаме на ничия съществуваща браузър технология използвана в стария интернет (Chrome/FireFox/IE/Safari) затова създадохме своя.

Всичко, от което имате нужда е нашия нов SAFE Browser , който може да свалите от линка по долу, моля имайте пред очи, че настоящата Алфа 2 версия на мрежата изисква да имате покана, която може да получите по начина описан тук: SAFE Network Alpha 2

Свалете SAFE Browser

Имам ли нужда от акаунт за достъп до мрежата?

Разглеждане на SAFE Network уебсайтове:

В SAFE Network може да разглеждате и сваляте от SAFE сайтове напълно анонимно, от всякъде по света. Без да е необходим акаунт.

(За да браузвате/тествате Alpha 2 е необходимо да имате акаунт: SAFE Netowrk Alpha 2)

За да започнете свалете SAFE Browser и въведете SAFE сайт в адрес бара. Няколко прости SAFE сайта:

  1. safe://www.sharedmap/
  2. safe://jams.demo2/
  3. safe://listy/

Съхранение в мрежата:

Имате нужда от акаунт за да извършвате действия, които изискват да качите някаква информация или да модифицирате съществуваща такава в SAFE мрежата. Дейности, които изискват акаунт включват:

  • качване на сайтове
  • съхранение на информация
  • email апликации
  • чат приложения
  • и т.н.

Как да си създам акаунт?

Какво е необходимо:

  1. Свалете и инсталирайте SAFE Browser.
  2. Регистрирайте си акаунт във форума на общността, отнема по-малко от минута.
  3. Стигнете до базово ниво — това отнема час четене и разглеждане, като целта е да ограничи достъпа на спамери до тестовата мрежа по време на разработката на проекта.
  4. Стартирайте SAFE браузъра.
  5. Кликнете на Създай акаунт (Create Account) в долната част на прозореца.
  6. В следващия прозорец кликнете на Заяви покана (Claim An Invitation).
  7. Влезте в акаунта си в SAFE Browser, процесът по получаване на покана ще ви подкани за това, ако не сте влезли вече.
  8. Изберете Alpha 2 Network.
  9. Инсталатора ще ви покаже кода ви за покана. Важно е настоящия ви IP адрес и регистрирания да съответстват един на друг, ако не съответстват кликнете на обнови.
  10. Копирайте кода за покана в долния край на екрана и го поставете обратно в прозореца, който иска ‘Invitation Token’ в SAFE Browser.
  11. Ще бъдете подканени да създадете Тайна на Акаунта (Account Secret) и парола. Моля запишете си ги, защото само вие имате достъп до тях и няма как да бъдат възстановени. Никъде няма запис на тях в системата и без тях ще загубите достъп до информацията си.
  12. Поздравления! Вече може не само да разглеждате SAFE сайтове в SAFE мрежата, но и да качвате собствена информация, да създавате сайтове и да използвате някои демо програми, създадени от общността.

Как да се включа в общността на SAFE network?

Общността е най-активна в SAFE Network Форума и ви препоръчваме да започнете от секцията за начинаещи (на английски).

Посетете форума

Как да получа помощ?

Общността на SAFE Network е чудесно място да зададете въпросите си (на английски) за мрежата.

Посетете форума

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

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

Често Задавани Въпроси

03. Как работи

Какво е Трезор?

SAFE Network е съставена от компютрите на потребителите върху, които работят програми наречени Трезори (Vaults). Трезора е програма, която свързва компютъра към мрежата. Взети заедно Трезорите управляват съхранението на цялата информация в мрежата и ръководят движението на частите криптирана информация на потребителите, когато се съхраняват в мрежата. Никой Фермер (потребител) не може да декриптира частите от информация, която неговия Трезор получава за съхранение и получава награда за предоставения капацитет за съхранение под формата на Safecoin.

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

Тези групи от компютри се формират, съединяват и разделят без човешка намеса, като SAFE мрежата изцяло контролира процеса автономно. По съшия начин криптираните части от информация се движат в мрежата напълно автономно. Мрежата работи без централни сървъри или агенти (като BitTorrent тракерите). Няма централни фигури, които да ръководят процесите.

Също както на децата не е позволено да гласуват на изборите, така и Трезор не може да гласува за събитията в мрежата (събития като присъединяването на нов член или съхранението на част от информация) преди да е доказал надеждността си. Първоначално Трезора трябва да изпълни успешно Доказателство за Ресурс за да се присъедини към мрежата, доказвайки че има свободни определено количество от интернет скорост и CPU капацитет. След това бива присъединен към Секция и получава нисък ранг (low Node Age). Когато ранга на Трезора достигне определена стойност той може да стане активен член във взимането на решения в секцията. Трезорите с най-висок ранг в секцията се наричат Старейшини (Elder). В резултат на това, понеже новите Трезори трябва да доказват своето качество в различни случайно избрани Секции преди да могат да гласуват, атаката срещу конкретна Секция в SAFE Network от злонамерена личност/група е близко до невъзможното.

Трезорите също така криптографски потвърждават съобщенията и имат по определени роли, наречени персонажи. Всеки Трезор има Клиентски Мениджър (Client Manager) персона. Това съхранява запис за детайлите на акаунта на всеки Клиент (потребител) в неговата Секция. Например това ще потвърди колко информация е качена в мрежата, колко от нея е съхранена и баланса в Safecoin оставащ за покупка на бъдещо място. Въпреки че Клиентския Мениджър ще знае баланса на акаунта той няма как да го свърже с идентичността на потребителя (IP адрес, потребителско име или публичната идентичност).

Всеки трезор има и Дата Мениджър (Data Manager) персона. Той управлява къде криптираните части от информация на други потребители се съхранява и отговаря за частите в неговата си Секция.

Защо имаме нужда от Автономна мрежа?

Автономна мрежа е такава, която управлява всичката ни информация и комуникации без човешка намеса и без посредници. Тя е мрежа, която се самоконфигурира. Ресурси не се добавят от централизиран IT администратор – премахвайки възможността за злонамерени или небрежни действия. Мрежата съществува без нужда от разрешение (permissionless) – участието е достъпно за всеки, който желае, премахвайки възможността за монопол от единични корпорации, чиито контрол може да расте необуздано.

Много пробиви в сигурността са причинени от човешка грешка. Но проблема е по основен. Ставаме все по зависими от системи, в които други съхраняват информацията ни. Колкото повече от информацията ни е в ръцете на трети страни, толкова повече риска от провал нараства ден след ден. Днес вече сме свидетели как информацията ни се използва с цели, които не харесваме. Колко вероятно е достъпът ви да бъде спрян изцяло? Така че да нямате контрол върху потока информация за живота ви? В някои страни, това вече е реалност.

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

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

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

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

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

Какво е Доказателство за ресурс?

Доказателство за ресурс (Proof of Resource) е процес, който измерва способността на Трезора да съхранява и предоставя части от информация. Компютъра на потребителя получава класиране според скоростта на процесора, скоростта на интернета, мястото на хард диска и времето онлайн.

Доказателство за ресурс в SAFE Network използва механизъм подобен на Нулево доказателство за знания (Zero Knowledge Proof). На механизма за проверка не му е необходимо знание за каква информация се проверява – достатъчно му е да знае, че правилната информация се съхранява коректно.

Какво е само-криптиране?

Само-криптирането (Self-encryption) е метод, при който файл с информация се разделя на части и всяка част се криптира чрез другите части от същия файл. Това е критичен процес в SAFE Network и той гарантира, че информацията е неразпознаваема и устойчива на декриптиране – дори и в случай, че алгоритъма за криптиране бъде разбит.

Цялата информация е само-криптирана преди да достигне SAFE мрежата. Процеса е автоматичен и се случва в реално време.

Когато информацията се съхранява във виртуалния хард диск на потребителя, като се разделя на минимум от 3 части, хашва се и след това се криптира. За да се подсигури допълнително информацията, всяка част преминава през XOR функция използвайки хашовете на другите части. Всяка част след това се разделя и ключови двойки се съхраняват в таблица в потребителския профил наречена дата карта (data map). Дата картата съхранява местоположението на всяка част, която изгражда файла. Дата картата, която се хешира преди и след криптирането се използва за да извлече и разкриптира информацията на потребителя, защото самият процес на криптиране е необратим (non-reversible).

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

Какво е PARSEC?

Протокол за Асинхронен, Надежден, Сигурен и Ефективен Консенсус ( P rotocol for A synchronous, R eliable, S ecure & E fficient C onsensus.)

PARSEC е консенсус алгоритъм, който позволява децентрализирани мрежи да достигат до съгласие за серия от събития, действия или дейности по сигурен и надежден начин, който е не само силно асинхронен, но и устойчив на Византийския проблем (Byzantine Fault Tolerant). С други думи математически е гарантирано да се постигне консенсус в мрежата (при условие, че не повече от 1/3 от компютрите в нея са злонамерени или проблемни по каквато и да е причина)

Прочетете документацията (whitepaper)

Вижте видео с техническо представяне

Оставете на Дъг от MaidSafe да ви обясни

Какво е дата дедубликация?

SAFE Network използва дедубликация на информацията за да гарантира, че свободното пространство се използва ефективно, когато съхранява множество копия от информация, която е криптирана по уникален начин. Мрежата е способна да разграничи идентични части от информация, като сравни хашовете на всяка част. Трезорите също използват хашове за да се идентифицират (известно като Гарантирана Идентификация на Трезор).

Какво е само-удостоверяване?

Само-Удостоверяване (Self-Authentication) значи, че може да влезете и да подсигурите собствената си информация без посредник. Никога не ви се налага да предоставите паролата си на някой друг или да искате разрешение от трета страна за да достъпите информацията си. Вашата информация и достъпа до нея принадлежат само на вас и на никой друг. Вашата Тайна дума и Парола се използват за да намерят информацията ви в мрежата и след това се използват за да я разкриптират локално на компютъра ви. Това значи, че не се налага някой да съхранява запис на файловете или информацията ви за влизане – и няма нужда да искате нечие позволение за да я достъпите. Това е Само-Удостоверяването и то ви позволява да намерите, отключите и разкриптирате собствената си информация.

Какво е Консенсус на близка група?

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

Отговора се намира в близките групи. Използвайки Консенсус на близка група (Close Group Consensus) малки групи могат да правят заявления от името на цялата мрежа, което значи, че мрежата не е необходимо да комуникира със всеки един компютър в нея директно всеки път.

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

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

Close Group Consensus не се използва за всяка операция в мрежата, защото това ще създаде ненужно натоварване. Използва се само при съхраняването на информация в мрежата – криптографски подписи се използват за другите действия – например, при прости промени в информацията или при изпращане на Safecoin към друг потребител.

Какво е Дата чейн (Data Chain)?

По същия начин, както блокчейна на Биткойн не съхранява биткойни, Дата чейн (Data Chain) не съхранява информация. Това, което съхранява е информация, че определана информация съществува и къде точно в мрежата се намира. Още повече в SAFE Network определената информация е реално намираща се в мрежата (документи, видео и т.н.). Това значи, че може да използваме дата чейн да докажем, че самата информация е валидна информация от мрежата (т.е. била е приета преди в мрежата).

Какво представлява архитектурата на Дата чейн? Представете си блок с информация. В него се съхраняват идентификаторите на информацията (за пример – хаша, името, вида данни и т.н.). Свързана с този блок е връзка (линк). Връзката е колекция от подписи, на всички членове от секцията, които са съгласни, че информацията е вярна. С всяка промяна в членовете на секцията се създава нова връзка и се добавя към Дата чейн.

Има още доста подробности за архитектурата, но за да обобщим Data Chain ще се дели заедно с растежа на мрежата, а общия запис на информацията ще остава достъпен за всички трезори. Връзките доказват членството и консенсуса постигнати в миналото. Използвайки Дата чейн трезорите имат доказуема история в мрежата, което значи, че те могат да докажат членството си в секцията и да получат лесно ранг с цел защита. Някои трезори няма да има нужда да съхраняват реалната информация, а само идентификаторите на информацията, след като сигурността й е гарантирана. И от значителна важност е, че Дата чейн ще позволи сигурното възстановяване на информацията в случай на тотално временно разпадане на физическата свързаност между компютрите в мрежата (в следствие на световен/локален катаклизъм), както и валидация на съхраняването на информацията в мрежата.

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

Често Задавани Въпроси

04. Въпроси за SafeCoin

Какво е SafeCoin / MaidSafeCoin?

Safecoin дигитална валута, която се генерира автономно от SAFE Network и съществува единствено в SAFE Network. Мрежата автономно потвърждава баланса в портфейлите на потребителите и позволява да се осъществяват транзакции. Safecoin се харчи чрез полагане на дигитален подпис, от последния собственик на койните. Тази операция е “на мрежово ниво”, с други думи мрежата обновява цялата информация за транзакцията. Това е различен подход от този на блокчейн решенията като Биткойн.

За какво се използва SafeCoin в SAFE Network?

Safecoin е валутата на SAFE Network. Тя е механизъм за стимулиране, които награждава потребителите и програмистите, както и чрез нея могат да се закупуват ресурси и услуги от мрежата.

Без каквато и да е човешка намеса SAFE мрежата заплаща в Safecoin на Фермерите (потребители, които продават свободните ресурси на компютъра си на мрежата) и на Строителите (програмисти на програми, които получават заплащане в зависимост от това, колко често се използват програмите им).

В допълнение разработчиците на ядрото (Core Developers), които подобряват софтуерното ядро на SAFE Network могат също да получават Safecoin, като изпращат поправки на бъгове или добавят нови функционалности.

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

Как да купя SafeCoin?

Safecoin няма да е достъпен за продажба до излизането на финалната версия на мрежата и не може да бъде закупен в момента. Сега може да закупите само MaidSafeCoin, който ще бъде обменен 1 към 1 срещу Safecoin, когато стане достъпен.

MaidSafeCoin се намира върху блокчейна на биткойн и може да се закупи от редица борси, включително:

За повече вижте ‘Как да купя MaidSafeCoin?

Защо не използвате просто Bitcoin?

Bitcoin не е свързан по никакъв начин със SAFE мрежата и не може да бъде генериран и разпределян от SAFE мрежата. Safecoin се генерира в следствие на използването на мрежата (когато се извлича съхранената информация или когато се използват програмите в мрежата) и е дигиталната валута на SAFE мрежата.

Как се оценява стойността на SafeCoin?

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

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

Как е разпределен SafeCoin?

Броя Safecoin, които могат да съществуват в SAFE Network е 2^32, или малко под 4.3 милярда. 5% от тях са заделени за компенсация на ранните инвеститори, които подкрепиха мрежата в ранните й дни. Допълнителни 10% бяха продадени на публична разпродажба в началото на 2014 година. За тях беше създаден MaidSafeCoin (базиран на блокчен токен, който ще бъде обменен срещу Safecoin едно към едно, когато мрежата стартира). На този етап притежателите на Safecoin ще могат да го използват, както желаят.

В последствие Safecoin ще влиза и излиза от циркулация в следствие на следните принципи:

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

Safecoin се разпределя като продукт на успешен “опит за фермерство.” Последователността, която води до успешен опит за фермерство започва, когато Трезор на фермер достави успешно предварително запазена информация, при поискването й. Шанса за получаване на успешен опит за фермерство се регулира от скоростта на фермерския добив (Farming Rate) в мрежата в момента, и чрез нея се регулира трудността за получаване на опит за фермерство, в зависимост от състоянието на мрежата (количеството на достъпни ресурси за съхранение).

  • Фермерите (Farmer) се квалифицират за опит за фермерство при 100% от скоростта на фермерския добив (Farming Rate) (според ранга на Трезора)
  • Създателите на програми (App Builder) за SAFE мрежата се квалифицират за опит за фермерство при 10% от скоростта на фермерския добив
  • Общия запас (Core Dev pool), от който програмистите работещи върху ядрото на SAFE мрежата биват награждавани се квалифицира за опит за фермерство при 5% от скоростта на фермерския добив.

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

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

Какво е MaidSafeCoin?

MaidSafeCoin е прокси токен, който беше пуснат в обръщение по време на публичната разпродажба на MaidSafe през 2014 година и ще бъде обменен 1 към 1 за Safecoin, когато Safecoin бъде пуснат в обръщение.

MaidSafeCoin се намира върху блокчейна на биткойн и може да бъде закупен от редица борси включително Bittrex, HitBTC

Как да купя MaidSafeCoin?

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

  1. Създайте си OmniWallet.
  2. Купете биткойн чрез предпочитания си доставчик.
  3. Създайте си акаунт в борса, която поддържа MaidSafeCoin (например Bittrex).
  4. Изпратете биткойни към акаунта си в борсата.
  5. Обменете ги за MaidSafeCoin.
  6. Изтеглете / Изпратете ги към OmniWallet.
  7. MaidSafeCoin вече са съхранени в OmniWallet!

Къде мога да съхранявам MaidSafeCoin?

MaidSafeCoin е създаден с помощта на Omni протокола върху блокчейна на Биткойн и може да бъде съхраняван върху всеки биткойн портфейл, от който имате пряк достъп до частния ключ. MaidSafeCoin може да не са видими в софтуера на портфейла (поради липса на поддръжка на omni протокола), но ще бъдат в безопасност, докато компютъра и частния ключ за този адрес са в безопасност и ще може да ги видите чрез omniexplorer.info.

Ако искате да създаде нов Omniwallet или да отворите съществуващ такъв посетете omniwallet.org.

Как ще бъде обменен MaidSafeCoin за SafeCoin?

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

Често Задавани Въпроси

05. За Фермерството (копаене на криптовалутата)

Какво е Фермерството?

Safecoin се дава като стимул за потребителите да предоставят свободните ресурси на компютъра си на мрежата. Този ресурс е тяхното свободно: пространство за съхранение, CPU, интернет скорост и онлайн време, които позволяват криптираните парчета от мрежови данни да бъдат съхранявани и извличани от компютъра им.

Процесът на предоставяне на ресурс и получаване на Safecoin в замяна се нарича “фермерство“.

Всяка част от криптираните мрежови данни се съхранява в „Трезора“ на фермера, място за съхранение и управление на данни на компютъра на фермера, което те не могат да преглеждат, защото е криптирано и съответно нямат достъп до него. SAFE мрежата е създадена да управлява самостоятелно (автономно) тези ресурси.

Как ще работи фермерството на практика?

Когато потребител на мрежата поиска някакви данни, например чрез преглеждане на уебсайт, се случват редица неща: Първо, клиентският софтуер прави заявка за необходимите парчета данни. Това съобщение (GET заявка) след това се разпространява в мрежата и когато парчето е намерено има конкуренция между Трезорите в тази Секция, за да го предадат на мрежата, където ще бъде пренасочена обратно към заявителя. Първият Трезор, който го достави ще има шанс да бъде възнаграден със Safecoin. Това се описва като Опит за фермерство (Farming Attempt).

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

Затова Фермерството, е когато Трезор доставя парчета данни, които се съхраняват в мрежата и печели Safecoin в замяна.

Вероятността за получаване на Опит за фермерство зависи от скоростта на фермерския добив, която е променлива, свързана с количеството налични ресурси за съхранение в мрежата.

Какво спира хостинг провайдърите от фермерството?

Нищо. Всеки е добре дошъл да е фермер и да помага на мрежата. За да се избегне централизацията използването на огромни фермерски компютри ще бъде икономически обезкуражено в сравнение с използването на множество малки компютри. Алгоритъмът за възнаграждение със Safecoin е базиран на Сигмоидна крива, по такъв начин, че всички Трезори печелят, първоначално бавно, а в последствие и по-бързо, докато съхранената в тях информация нараства до средната за мрежата. Скоростта за печелене също така взима под внимание ранга на Трезора, процес при, който мрежата оценява полезността на всеки компютър от 0 (най-лошото) до 1 (най-доброто).

Скоростта на печелене на Safecoin се определя от фермерския добив (баланса между търсенето и предлагането в мрежата) умножен по ранга на Трезора. Фермерския добив ще достига до 20% над средния за мрежата, като така обезкуражава поддържането на масивни Трезори, които биха довели до централизация на фермерския процес в мрежата.

Често Задавани Въпроси

06. За програмисти

Какво ще печелят програмистите?

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

Причини да разработвате за SAFE мрежата:

  • Достъп до програмите ви от всякъде
  • Без API ключове — просто сваляте кода ни и започвате да го използвате
  • Изключително ниски разходи за привличане на клиенти и никакви инфраструктурни разходи
  • Програми, които се адаптират в реално време към промени в натовареността
  • Подсигурявате сигурност, поверителност и анонимност на всичките си потребители

Аз съм програмист, как мога да се включа?

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

Посетете Dev Hub

Защо SAFE мрежата е с отворен код?

Защото SAFE Network има потенциала да стане важна част от живота на всеки свързан към интернет човек на планетата, MaidSafe са 100% отдадени на идеята всичкия софтуер да е предоставен с отворен код лиценз. Това насърчава иновациите и пречи, който и да е човек, компания или организация да поеме контрол над технологията.

Какъв лиценз с отворен код използва SAFE мрежата?

Всичкия SAFE Network и MaidSafe код е достъпен под GPLv3,BSD или MIT лиценз.

Често Задавани Въпроси

Други

Кой контролира данните, когато се изтрият?

Една от основните характеристики на SAFE мрежата е нейната автономност. Местоположението и движението от един Трезор в друг се контролира само и единствено от SAFE мрежата.

Ако данните от даден Трезор се изтрият недобронамерено/в следствие на авария то те се възстановяват на друг Трезор някъде в мрежата, според ръководните принципи заложени в програмния й код.

Ако потребител изтрие своите данни се случва следното:
– ако данните са уникални за потребителя (т.е. лични) се премахват изцяло от мрежата, заедно с всичките налични копия.
– ‎ако данните не са уникални (т.е. и други потребители ги имат – виж дедубликация) за потребителя, то се премахва само достъпа му до тях, без да се изтриват самите данни (защото ги притежават и други хора).

Какво се случва със старите данни, които се изтриват? Как се заменят?

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

Какво ще кажете за износването на компютрите и хората, които се нуждаят от закупуване на нов хардуер?

SAFE мрежата е проектирана да използва свободния ресурс, на компютрите на хората, които те използват за лична употреба.

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

Ако компютъра ви се износи, вие ще си вземете нов компютър за да може да го използвате и отново ще може да предоставите свободния му ресурс на мрежата.

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

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

SAFE мрежата е проектирана да се самовъзстановява. При природен катаклизъм или злонамерена атака (виж Google атака), при които голям брой Трезори изчезнат едновременно от мрежата тя може да се самовъзстанови.

Това става чрез поддържането на множество резервни копия от всеки файл на различни Трезори. Когато 9 от 10 копия изчезнат едновременно, мрежата създава нови 9 копия на нови Трезори.

Ако катаклизма/атаката е засегнала 10 от 10 копия SAFE мрежата отново разполага с механизъм за самовъзстановяване – Датачейн.

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

SAFE Network новини – 6.2.2020

Накратко

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

  • Пуснахме първия стабилен MaidSafe.SafeApp NuGet пакет, създаден с помощта на safe-api библиотеката :tada:
  • Пуснахме нова алфа версия на SAFE браузъра.
  • Направихме някои значителни опростявания и корекции на кода както в библиотеките за маршрутизация, така и в quic-p2p библиотеките.
  • Тестването на Трезорите Фаза 2 продължава, като скоро ще има тестова мрежа.

Информационни табла за проекта

Тази седмица решихме да премахнем 3-те публични табла на проекта, които имахме в GitHub, но които не бяхме обновявали от няколко месеца (благодарим на @Cryptoskeptic и @Antifragile, че ни обърнаха внимание за това). Ние проследяваме ежедневно работата си чрез индивидуално табло на всяко хранилище и въпреки че несъмнено е полезно да имаме споделени табла, където напредъкът от всяко отделно табло може да се събира на едно място, на практика това се превърна в загуба на време, след като намалихме размера на нашия екип и в крайна сметка ги изоставихме и следователно в момента са подвеждащи за външни хора. Искаме да направим всичко възможно, за да избегнем разсейване, докато се движим напред. За напред, където е приложимо, всеки раздел в седмичните ни новини ще има връзка към информационно табло и ще работим, за да ги поддържаме актуални, така че да съответстват на нашите писмени актуализации за напредъка ни.

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

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

Продължихме с тестовете на Трезорите и направихме някои интересни наблюдения. Едно нещо, което наблюдавахме е, че проблемът с използването на паметта може да се дължи на задържането на диаграмата на PARSEC в паметта. Имайки това предвид, разглеждаме различни опции за оптимизиране на съхранението на диаграмата, като потенциално я запишем на хард диска или като я подрязваме по-често, отколкото правим в момента. Анализираме различни параметри, преди да направим крачка в тази посока. Друго наблюдение, което направихме, е, че има значителен скок в използването на паметта, когато Трезор излезе офлайн. Библиотеката за маршрутизиране се опитва да изпрати съобщението няколко пъти, преди да го обяви за „Неуспешно изпращане“ и разглеждаме възможни подобрения, които могат да бъдат направени тук, за да избегнем покачването на използваната памет. С тези нови наблюдения разглеждаме потенциална тестова мрежа (с определени ограничения), за да можем да тестваме различните компоненти, работещи заедно в реална среда. Това предизвика много вътрешни обсъждания и разглеждаме идеи за пренареждане на някаква работа, която да ни позволи да повтаряме тестовете по-бързо и с по-ясна цел при всяка итерация.

SAFE API

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

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

След това инвестирахме по-голямата част от времето си, анализирайки как да продължим напред със safe-api и CLI по отношение на това как се вписват в следващите етапи и планове, напр. Fleming и след него. Все още се опитваме да финализираме плана, но изглежда, че се придвижваме към прилагането на новите типове данни от край до край (E2E), т.е. от трезорите към CLI, като се уверим, че същите случаи на използване и сценарии все още работят както сега с актуалните функции на safe-api и CLI. Да поясним, правим това успоредно с усилията ни по разработката на Fleming и затова ще започнем да работим по отделни клонове за въвеждане на новите типове данни в съответните хранилища, включително safe-api.

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

Етикети за данните, индексиране и оторизиране на маркери

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

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

Уточняване на видовете данни

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

Работата по този RFC продължава с по-бавни темпове, успоредно с други задачи с по-висок приоритет за Флеминг.

Някои промени, които се появиха при прегледа на PR последователността, въведоха регресии, които в крайна сметка бяха решени. Сега този клон само чака сливане. След това ще конвертирате safe_client_libs да работи с типа Sequence, за да проведем повече тестове. След това остават safe-api и safe_vault и когато Sequence е внедрена и тествана от край до край, ще продължим с Map в safe-nd.

Дискусиите в темата за RFC на Типовете Данни за използването на ресурсите за различните случаи на използване на Карта в частен обхват, доведоха до нови идеи, предложени от @tfa за разрешаването на този проблем.

Освен това, в сътрудничество с @tfa, беше моделирана нова реализация на полезна функция за Частна Карта, която ще позволи да се върне историята на ключовете обратно към по-ранна версия.

SAFE Network програма

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

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

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

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

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

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

Има много начини да намалим и подредим тези данни, което означава нюансиран и понякога предизвикателен поток при проектирането, но напредваме с големи крачки и ще имаме още какво да ви покажем скоро!

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

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

В края на миналата седмица най-накрая отстранихме дългосрочен проблем в браузъра, който блокираше работата на @latch. Вече можете да използвате fetch API-то на браузъра, за да изискате файлове директно от SAFE чрез стандартните JavaScript (т.е. не safe) API-та.

Можете да тествате това с най-новата версия на SAFE Browser Alpha, която пуснахме в началото на тази седмица, съдържаща описаната поправка, заедно с bump на safe-nodejs версията и различни други актуализации на зависимостите.

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

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

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

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

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

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

Тази седмица, докато тествахме мобилното приложение за удостоверяване установихме, че при някои приложения се запазваха новите разрешения за тестовите монети при оттегляне на разрешенията и повторното удостоверяване. Проследихме проблема до safe_authenticator библиотеката в safe_client_libs и SCL екипът ни пусна корекция. В резултат на това актуализирахме основните библиотеки, които Удостоверителя използваше до последната им версия. Наскоро решихме и друг проблем, открит по време на тестването, за да предотвратим припокриването на полето за въвеждане със софтуерни клавиатури на устройства с малък екран.

Както и при SAFE мобилния браузър и тук стигаме до последните няколко проблема. Основният проблем, който искаме да разрешим, също е около съвместимостта с по-стари версии на Android и iOS, така че ще продължим да работим за намирането на най-доброто решение за това.

SAFE App C#

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

През последните няколко месеца наблюдаваме чести промени в safe-api и за да сме в крак с това, бяхме пуснали 3 NuGet Release Candidate пакета. Тъй като API-тата вече са по-стабилни, тази седмица пуснахме първия стабилен MaidSafe.SafeApp NuGet пакет, създаден с помощта на safe-api библиотеката :tada:. Тази версия съдържа всички промени от всички предишни RC пакети. За да научите повече за промените, моля, проверете пълния регистър на промените. Ще бъде чудесно да видим какви готини приложения може да разработите, използвайки този нов пакет и ако срещнете проблеми, моля, пуснете съобщение в GitHub хранилището.

Safecoin / Фермерство

RFC

Тази седмица направихме бърз прототип на bounded counter (bcounter) CRDT на интерпретиран език, за да го разберем по-задълбочено и написахме набор от бележки въз основа на този опит.

Има потенциал за загуба на данни, когато репликата на bcounter премине офлайн, преди да се синхронизират последните му промени с другите участници. При типичното използване на центрове за данни това не е голям проблем, тъй като те могат да използват всеки център за данни като логична реплика с множество физически възли за гарантиране на съхранението. За същото в SAFE мрежата е необходимо да се използва алтернативен подход. Освен това има някои трудности, когато реплики се добавят или премахват от групата, която трябва да бъде обработвана. Работата по тези въпроси започва.

На DBC фронта подготвихме втори документ за дизайна въз основа на дискусиите от първия. Основна идея на тази хибридна система е, че с DBC може:

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

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

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

Тази седмица направихме някои значителни опростявания и корекции на кода и в двете библиотеки. Тази работа продължава с известно темпо, тъй като тези подобрения са част от следващите версии. Опростяванията включват:

  1. Премахване на изискването за получаване на сертификати от quic-p2p и връщане им обратно. Това ни спестява да обработваме картографиране на сертификати в Маршрутизирането и позволява премахването на код. Това премахва състояние, което не се изисква и ще помогне за рестартиране и обновяване. Обърнете внимание, че удостоверяването на възли (трезори) вече се обработва при маршрутизирането чрез криптографски ключове. Това означава че за трезорите, SAFE вече действа като валиден сертификатен орган от гледна точка на автентичността и невъзвръщаемостта. SAFE също се справя с отмяната на удостоверяването и прави това изключително ефективно. Следователно всичко, от което се нуждаем от TLS 1.3 и quic, е защитена и криптирана комуникация, но не и удостоверяване.
  2. Работа с връзките по по-устойчив начин. Това ни избавя от това да виждаме отпадане на връзката като неуспех и вместо това винаги се опитваме да се свържем, за да открием NotAvailable трезори. Това ще подпомогне рестартирането и обновяването скоро.
  3. Унификацията на съобщенията ни позволи значително да изчистим инфраструктурата за съобщения, което спомага за сигурността и преглеждането на кода. Тук имаме още малко работа, докато почистваме обработката на връзката и проверката на отзивчивостта.
  4. Изравняване на мрежовата структура, за да може Секциите да комуникират директно (чрез секцията от Старейшини). Това ще намали значително разстоянието между трезорите и ще позволи по-бързо изграждане на първоначалната мрежа, след което ще може да увеличим разстоянието, докато мрежата расте. Това също ни дава малко повече информация, ако се случи разделяне на мрежата в огромен мащаб (например държава, която прекъсва интернета на ниво IP и така нататък). Процесът тук позволява по-опростен код и възможност на секциите да наваксат информация, докато съобщенията обикалят мрежата (т.е. актуализирането на секции на заден план).

Разглеждаме и стабилна non-responsive проверка за трезорите. Това позволява бързо съгласие, за това кои възли не участват активно (така затваряме вектор на атака).

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

SAFE Network новини - 13.2.2020

Накратко

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

Екипът

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

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

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

След като направихме някои наблюдения от тестовете ни, се насочихме към различните движещи се части (Маршрутизация, quic-p2p, Трезори и SAFE Клиентските Библиотеки), за да направим някои корекции, опитвайки се да разрешим някои от проблемите, пред които сме изправени. Quic-p2p вече има отделни канали за съобщения от Клиентите и Трезорите в мрежата. Това също така премахна използването на сертификати, което опростява нашата настройка за тестване и самата мрежа. Също така установихме, че маршрутизиращите възли изпращат съобщения на редовни интервали от време, което в крайна сметка означава, че този интервал ще определи скоростта на самата мрежа. Поиграхме си с този параметър определящ продължителността между съобщенията и забелязахме, че с по-ниски интервали на съобщенията мрежата е по-бърза. Затова решихме да го настроим на нула :smile:. Да, точно така. С други думи, премахваме изцяло интервала на съобщенията и преминаваме към подход, основан на събития, така че съобщенията да бъдат задействани от клиентски и мрежови събития. Това подобрение е в процес на разработка и ще продължим с такива тестове от край до край, за да идентифицираме и други области на подобрение.

Както споменахме в предишните новини, започнахме да използваме CLI и safe-api тестовете с локална мрежа с една секция и сме много щастливи да видим успешното им преминаване! Въпреки това, както беше казано по-горе, все още трябва да направим някои подобрения във времето за реакция на мрежата, преди да я считаме за готова.

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

Съществуват и някои идеи около това да дадем на CLI-то достъп до този инструмент, така че стартирането и използването на локална Фаза-2a мрежа да може да става изцяло от CLI-то. Но това е само груб план за момента, ще видим как нещата се развиват в следващите няколко дни на всички фронтове. Както винаги, се стремим да направим нещата възможно най-прости от UX гледна точка.

SAFE API

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

Работейки върху някои актуализации на SAFE Network App, които включват използването на самото приложение за управление на инсталации на CLI и AuthD, отново се натъкнахме на проблеми с libso под Linux, които блокират CI сървърите там. Вследствие на това разгледахме какви опции имаме за да се справим с това, което доведе до PR към self_update контейнера (контейнера, който в действителност носи зависимостите libso/openssl), за да използваме основна реализация на rust. В момента чакаме известна обратна връзка за този PR и след като имаме това (и някои свързани quic-p2p промени), ще можем да актуализираме библиотеките и след това да ги използваме за SAFE Network App.

Обновяването на quic-p2p във всички контейнери, включително safe_client_libs, би ни позволило да обновим quinn в safe-authd и safe-api, и върху това започнахме да работим като подготовка за следващото ни издание на safe-api и CLI, което е планирано да бъде за първата фаза-2a на тестовата мрежа.

Тъй като сега фокусът е върху Фаза-2a на тестовата мрежа, започнахме да работим и върху нов набор от CLI подкоманди, които биха позволили на потребителите да инсталират трезор в тяхната локална система, напр. с команда $ safe vault install. Планът е CLI да може да се използва за изтегляне и стартиране на safe_vault за създаване на локална мрежа с една секция (Фаза-2a). Тази команда се планира да бъде в помощ на инструмента за стартиране на мрежата, който ще пуснем в следващите няколко дни. За момента няма повече подробности, но в следващите дни ще видите някаква активност в съответните хранилища.

Етикети за данните, индексиране и оторизиране на маркери

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

Вече завършихме интеграцията на тестове за маркери, като пълният пакет тестове преминава добре, което означава, че ще можем да преминем към изпълнение на същите тестове и за Трезорите и ще имаме маркери, работещи нявсякъде. Междувременно @yogesh продължи работата по съхраняване/извличане на маркерите, за да се даде възможност за актуализиране на маркери и промени в разрешенията от Удостоверителя, без да се налага да актуализирате самото приложение.

Публикувахме и „нов“ Маркер RFC, който всъщност не е много нов, но се надяваме да показва по-ясно обхвата на работата, включена в маркерите, без всички допълнителни концепции от предишните етикети/индексиране/удостоверяване-промени-прихващане-на-всичко-RFC. Има някои малки подобрения там за тези от вас, които се интересуват от такива неща.

SAFE Network програма (десктоп)

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

Тази седмица свършихме и малко работа тук, с първоначален опит да заобиколим CLI / Authd зависимостта ни, но в крайна сметка решихме да запазим CI на SAFE Network програмата, използвайки истински библиотеки, за да гарантираме, че всичко ще се държи според очакванията. Това ни дава повече увереност не само в самата SAFE Network програма, но също така ще подчертае всички евентуални проблеми в свързаните мрежови компоненти.

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

План на проекта за Браузъра, План на проекта за Удостоверителя

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

Новите версии включват мрежова поддръжка за един Трезор и за двете приложения, и pWeb възможности в мобилния браузър - вече можете да преглеждате историята на всеки SAFE сайт :exploding_head:

Ако все още не сте започнали да използвате новите приложения, вижте темата за изданието, за да научите повече за всички нови промени и как можете да ги изпробвате на мобилните си устройства (Android и iOS). Развълнувани сме да видим как двете приложения подобряват SAFE потребителското изживяване на мобилни устройства.

Благодарим на всички, които вече изпробваха приложенията и ни предоставиха безценни отзиви. Моля, продължете с отзивите, заявките за функции и дори съобщенията за грешки :smile:, за да можем да започнем да планираме следващата версия.

Safecoin / Фермерство

RFC

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

За тази цел реализирахме малко доказателство за концепцията чрез Rust, което демонстрира 7 старейшини, които подписват част от данните, добавяйки ги към orswot и след това валидирайки подписите на другите старейшини, за да се гарантира, че е постигнат кворум, преди данните да могат да бъдат използвани. Тази работа е все още в много ранно/грубо състояние и продължава, но резултатите изглеждат много обещаващи и в крайна сметка биха могли да имат ползи/последствия в области извън Safecoin.

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

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

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

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

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

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

Подобряваме начина, по който откриваме изключили се Трезори. В момента ние обявяваме Трезор за изключен в момента, в който загубим връзка с него, но това може да е преждевременно, тъй като Трезорът може просто да се рестартира или да има временни проблеми със свързаността. Работата по промяната на това в момента се преглежда.

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

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

SAFE Network новини - 20.2.2020

Накратко

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

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

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

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

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

SAFE API

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

От обявяването на изданието Rust v1.39, въвеждащо асинхронни/изчакващи изрази, работим паралелно и с нисък приоритет върху опит да мигрираме кодовата база от safe-authd към новия стил на асинхронни/изчакващи изрази. Тази седмица успяхме да финализираме тази работа в safe-authd и jsonrpc-quic контейнерите, прехвърлявйки цялата логика, където Futures се използваха с прости асинхронни изрази. Това, както се очакваше, опрости много кодовата база на тези два контейнера и ни позволи също така да започнем да правим по-добро разделяне на проблемите между jsonrpc-quic и safe-authd контейнерите. Това също ни позволи да актуализираме зависимостта на quinn до последната му версия (v0.5), която вече излага своя API с функции на асинхронизация.

Ще продължим с тази миграция сега на самият safe-api контейнер, отново като задача с нисък приоритет и успоредно с другите задачи, над които работим, за да имаме в крайна сметка API-та за асинхронизация в Rust и в Node.js обвързвания с Promises.

Заедно с подготовката за първата Фаза-2 тестова мрежа започнахме да добавяме и нов набор от подкоманди към CLI-то, този път не само за да позволим на потребителите да инсталират safe_vault в тяхната система, но и да могат да стартират локална мрежа с една секция чрез проста команда.

Успяхме да създадем първи проект за изпълнение и го тестваме на всички платформи. Въпреки че вече е функционален правим някои подобрения, за да гарантираме, че UX е възможно най-доброто. Само за да дадем представа за това, към което се стремим, за да стартираме локална мрежа с една секция с CLI, първо трябва да бъде инсталиран safe_vault във вашата система с $ safe vault install, последван от втора команда за стартиране на локалната мрежа , напр .:

$ safe vault run-baby-fleming
Storing vaults' generated data at ~/.safe/vault/baby-fleming-vaults
Launching local SAFE network...
Launching with vault executable from: ~/.safe/vault/safe_vault
Network size: 8 vaults
Launching genesis vault (#1)...
Genesis vault contact info: ["127.0.0.1:44794"]
Launching vault #2...
Launching vault #3...
Launching vault #4...
Launching vault #5...
Launching vault #6...
Launching vault #7...
Launching vault #8...
Done!

Етикети за данните, индексиране и оторизиране на маркери

RFC, RFC на маркерите, План на проекта

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

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

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

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

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

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

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

Миналата седмица пуснахме нова версия на мобилния SAFE браузър, която осигури pWeb изживяване на мобилни устройства. След излизането му следим внимателно мнението ви във форума и разглеждаме проблемите, които ни докладвате.

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

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

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

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

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

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

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

Получената обратна връзка за мобилния браузър и Удостоверителя беше безценна и бихме искали да благодарим на всички, които отделиха време от собствените си натоварени графици, за да помогнат да подобрим оформлението на тези приложения, както и на самата SAFE мрежа :heart:

SAFE App C#

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

За да поддържаме напредъка на мобилните приложения и пакети в синхрон с CLI и настолните приложения, вече започнахме да тестваме работата на API-тата с едносекционна мрежа. Сблъскахме се с някои проблеми, свързани с основните библиотеки генерирани за мобилните устройства, когато различни хранилища (safe-api и safe_client_libs) бяха актуализирани, за да се използват новите версии на Rust контейнера. С помощта на SCL екипа успяхме да открием проблемите и отново продължаваме напред.

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

Safecoin / Фермерство

RFC

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

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

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

Продължаваме да правим значителни подобрения в нашата мрежова библиотека, quic-p2p. Първото нещо, към което искаме да се обърнем, е поддръжката на IGD. IGD (Internet Gateway Device Protocol) се използва за UPnP в домашни рутери; той позволява на потребителите автоматично да активират пренасочване на портове за приложения, които се нуждаят от него, като VoIP, сървъри за игри и - разбира се - мрежи тип потребител към потребител. И както показа резултатите от теста на Crust, има изненадващо голям брой домашни рутери, поддържащи този протокол и наистина помага да се опрости настройката на Трезорите от вкъщи. Преди имахме поддръжка на IGD в Crust и затова търсим да начин да добавим тази реализация и към quic-p2p.

Друго важно нещо за quic-p2p е поддръжката на услугата Ехо. Всеки трезор има вграден ехо сървър, който позволява на клиентите да намерят своя публичен IP адрес, което е важна стъпка за присъединяване към мрежата. Въпреки това, настоящият клиентски код на quic-p2p има ограничение: той използва само един адрес от списъка с контакти, за да изпрати такава заявка. В случай, че този адрес не отговаря (напр. поради това, че трезорът е офлайн), заявката ще се провали. Това, което искаме вместо това, е нещо подобно на процеса на зареждане: изпращане на запитване към всички наши контакти наведнъж и асинхронно. По този начин бихме постигнали много по-стабилни и добри резултати.

@lionel.faber също работи, за да гарантира, че мрежата работи добре и на мобилни устройства. Той изпрати обновление за quinn, Rust QUIC протокол библиотеката, за да отстрани проблемите, които открива на устройства, базирани на iOS.

Освен всичко това искаме също да опростим API-то на quic-p2p за разработчици, използващи библиотеката. Всички тези промени трябва да са налични в следващото издание, което подготвяме сега.

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

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

SAFE Network новини - 27.2.2020

Накратко

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

Обобщение

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

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

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

От наблюденията ни върху вътрешните тестови мрежи направихме много подобрения в маршрутизацията, PARSEC и SAFE Клиентските библиотеки, което ни приближава до началото Бейби Флеминг. С подобренията в обмяната на съобщенията (повече подробности в раздела „Маршрутизация“) наблюдаваме стабилизирано използване на процесора и паметта от трезорите и също така тестовете преминават успешно. Направихме някои подобрения в клиентските библиотеки, за да подобрим скоростта, като пропускаме частта, в която чакаме всички трезори да отговорят на GET заявките.

Първата версия на инструмента за стартиране на мрежата (за да може да се стартира локална мрежа Бейби Флеминг) също беше завършена и успешно тествана върху всички (Linux / macOS / Windows) платформи. Този инструмент покрива само най-основните изисквания за предстоящото издание и вече е интегриран в CLI, което означава, че няма да има нужда да го пускате отделно, може да го използвате с конкретни CLI команди (вижте по-долу за подробности) ,

SAFE API

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

Миналата седмица финализирахме подобрение, направено в CLI командата за синхронизиране на файлове ( files sync) , което добавя поддръжка за откриване на модифицирани файлове, дори когато размерът им не се промени. Това стана възможно благодарение на разработката ни по изчисляването на XOR-URL адреса на локалните файлове, без да е необходимо да ги качваме в мрежата, което ни позволява да правим това по много ефективен начин. Чрез просто сравняване на XOR-URL адресите на локалните файлове с тези, които вече са свързани с целевия FilesContainer, можем да открием кои файлове са променени и следователно да ги качим отново с операция за синхронизиране.

Успяхме да финализираме и обединим PR, за да имаме команди, свързани с трезорите в CLI и добавихме подробни инструкции към CLI Ръководството за потребителя, за това как да ги използвате за инсталиране на safe_vault и за стартиране на локална Бейби Флеминг мрежа, използвайки инструмента за стартиране на мрежата. Ако погледнете ръководството за потребителя, вече ще можете да разберете колко лесно ще бъде да стартирате локален Бейби Флеминг чрез CLI, след като го завършим и пуснем.

Тъй като подготвяме всички PR-и и контейнери за предстоящето излизане на Бейби Флеминг, текущото състояние на master клона на safe-api хранилището не е съвместимо с Трезорите версия v0.20.1, нито на локално ниво, нито със споделения трезор. Следователно изграждането на CLI / authd от главния клон не може да се използва с мрежа с един трезор и ще може да се използва само с Бейби Флеминг мрежата.

Също така започнахме да правим необходимите промени в safe-api-то, за да можем да поддържаме поточно съдържание, като позволимда извличането на файлове, предоставящи диапазон от байтове. Това ще трябва да бъде изложено от настолния SAFE браузър, за да може всяка уеб страница да предава видеоклипове или всякакъв друг вид съдържание по стандартния начин, т.е. чрез HTTP Range.

Етикети за данните, индексиране и оторизиране на маркери

RFC, RFC на маркерите, План на проекта

Тази седмица довършихме огромната част от прилагането на маркерите :tada:. С прегледа на окончателния PR за трезора, позволяващ правилната проверка на маркерите и възраженията в трезорите, проверяването на тези маркери спрямо запаметените идентификационни данни в приложението, което ни позволява да откриваме и отхвърляме текущи (по-рано издадени) маркери за дадено приложение.

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

Някои поправки се правят в клиентските библиотеки, за да отделят специфичния за FFI код от основната логика. Това разчиства пътя към новите промени, идващи в SAFE Клиентските библиотеки, които ще ускорят разработването на нови функции, подобрения и поправки.

SAFE Network програма

Работихме усилено по отношение на UX разрешенията за файловете и данните, може да видите напредъка до този момент представен от @jimcollinson в този видеоклип:

Building the SAFE Network UX | Controlling Access to your Personal Data

Кажете ни какво мислите за това как всичко се оформя!

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

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

След някои класически болки в Windows-CI през изминалата седмица, решихме да да преобразуваме нашата система за непрекъсната интеграция (Continuous Integration - CI) в GitHub Actions. Това - донякъде шокиращо за работата на CI - беше доста приятна афера. GitHub Actions се оказват мощни, гъвкави и бързи. Най-накрая CI системата подписва всички наши излизащи продукти. (Преди това под Windows това трябваше да се прави ръчно). Тъй като това работи добре, решихме да преминем през тестове и да автоматизираме повечето от процеса на пускане на нови версии. Всички това изглежда работи по-бързо, отколкото беше под Travis CI.

Сега автоматично ще генерираме алфа / бета версии само от един маркер (изобщо няма да е необходима човешка намеса!). Което ще освободи доста от бюрото на Стивън.

Единственият проблем, който имахме в новия процес, беше подкарването на тестовете за macOS под GitHub Actions. Това се оказа трудно, тъй като изглежда, че е необходимо някакво потребителско взаимодействие, за да се приемат някои разрешения, и няма очевиден начин за автоматизиране (ако някой има опит с GHA E2E и има решение за това моля да ни уведоми!). Междувременно ще продължим да тестваме macOS e2e тестове под Travis CI.

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

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

Днес пуснахме версия 0.3.1 на SAFE браузъра за мобилни устройства :tada:

Тази версия идва 2 седмици след изданието ни v0.3.0, поддържаща Вечната мрежа и включва няколко корекции и подобрения въз основа на обратната връзка, получена от тази версия. Например, поправихме веригата за удостоверяване под iOS, както и проблемът с претоварването на тъмната тема под iOS и добавихме логика на поддръжка за аудио стрийминг в Android.

За пълен списък на промените в това издание вижте списъка с промени тук или разгледайте колоната Done в Плана на проекта тук, където ще видите проблемите и PR-тата с v0.3.1 етикета.

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

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

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

За да придружим новия мобилен браузър, днес пуснахме и версия 0.2.1 на SAFE Удостоверителя за мибилни устройства :tada:

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

Отново за пълен списък на промените в това издание вижте списъка с промени тук 2 или разгледайте колоната Done в Плана на проекта тук, където ще видите проблемите и PR-тата с v0.2.1 етикета.

Не забравяйте да прочетете предишната публикация във форума тук за пълни подробности относно Удостоверителя и Браузъра и как да ги инсталирате и използвате.

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

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

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

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

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

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

SAFE Network новини - 12.3.2020

Накратко

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

  • Пуснахме SAFE браузър v0.16.0, който е съвместим с локалната / споделена версия на Трезора. Но не и с версията за Бейби Флеминг.
  • Пуснахме и SAFE браузър v0.17.0-alpha.0, който е съвместим с Бейби Флеминг. Но не и с локалния / споделен трезор.
  • Създадохме инсталационен скрипт за SAFE CLI. Вече е възможно да инсталирате SAFE CLI v0.9.0 с него.
  • Благодарим ви за отзивите относно версия 1 на Бейби Флеминг. Наближаваме бързо към версия 2.

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

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

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

Както може би сте виждали, повечето от тези проблеми се дължат на известно закъснение и голямо използване на паметта от Старейшините (отговарящи за клиентите). Това е така, защото всички клиентски заявки, свързани с харченето на safecoin, бяха изпращани чрез PARSEC за постигане на консенсус, преди да се обработи допълнително заявката. Това може да отнеме известно време в зависимост от размера на заявката, броя на заявките, които се обработват и т.н. Наясно сме с това и ще работим да го подобрим през следващите седмици. Имайки това пред очи, за да помогнем с тестването на останалите функции (API, CLI команди и т.н.), ще премахнем PARSEC от потока за обработка на заявки от клиентите и ще пуснем нова версия на трезора. Тестваме това вътрешно и след като сме готови, ще пуснем следващата итерация на тестовата мрежа Фаза 2a. С по-бързи времена на реакция, би трябвало да можем да пуснем и трезори, хоствани на облачни машини, което значи, че ще имаме и споделена Секция :wink:Останете на линия!

SAFE API

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

През последните няколко седмици успяхме да внедрим още няколко функции към CLI-то. Една от тях е добавянето на files rm команда, която може да се използва за премахване на файл или цял път от съществуващ FilesContainer. Това беше финализирано точно навреме, за да бъде част от Бейби Флеминг миналата седмица, така че можете да го използвате вече със SAFE CLI v0.9.0.

Веднага след пускането на Бейби Флеминг, продължихме с още една функция, която ни дава възможност да изброяваме файлове в дървовидна форма с добавяне на files tree команда, която може да бъде наистина полезна за потребителите, които се опитват да разберат йерархията на файловете в FilesContainer, например:

$ safe files tree safe://hnyynysurwzoiudugs47d7fjx7hwg3i7ch1ryowdm7gpgj4538n1mwqukgbnc
Files of FilesContainer (version 0) at "safe://hnyynysurwzoiudugs47d7fjx7hwg3i7ch1ryowdm7gpgj4538n1mwqukgbnc"
SIZE CREATED MODIFIED NAME
/
6 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z ├── another.md
0 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z ├── noextension
├── subfolder
4 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z │ ├── sub2.md
23 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z │ └── subexists.md
12 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z └── test.md

Друга нова функция е да се поддържа извличане на диапазон от байтове от файл, което ще даде възможност за стрийминг за SAFE приложения. Променихме API-то за извличане, за да приемем втори (незадължителен) аргумент, който се очаква да бъде начална и крайна позиция на байтовете, които да бъдат извлечени от файла, насочен към предоставения URL адрес.

Като паралелна задача и както се очакваше от предишните новини, продължихме с миграцията към използването на Rust async/await в safe-api хранилището, задача, която стартирахме още през ноември 2019 г. и най-накрая я добавихме в основния клон, който мигрира цялата кодова база от safe-api, за да използва async/await. Тъй като се опитваме да направим тази миграция, без да засягаме други компоненти, в тази първа стъпка излагаме SAFE API-тата на Rust като async, но вътрешно те все още се заключват, когато се обаждаме към API-то на safe_client_libs. Следващата ни стъпка е да се опитаме да мигрираме не само safe_client_libs, за да разкрием API-тата на async, но и API-тата на safe-nodejs, за да могат да върнат Promises.

След цялата упорита работа на общността в темата за тестовата мрежа, преглеждаме възможността да настроим правилно тестване в CLI с помощта на Бейби Флеминг мрежата. Надяваме се, че ще успеем да направим това по начин, който ще помогне на онези от вас, които вече правят отлични тестови скриптове, за да направите пряк принос в тестовете за сравнителен анализ на мрежата. Тези тестове ще се изпълняват на CI, но също така трябва да имат за цел да бъдат достатъчно лесни за използване / промяна, така че да можем да ги използваме за тестване локално възпроизводимо ниво във всяка система.

И накрая, успяхме да създадем инсталационен скрипт за SAFE CLI. Този скрипт не само изтегля най-новата налична SAFE CLI, но и инсталира CLI в папката ~/.safe/cli/ (C:\Users<user>.safe\cli\ в Windows), като го и задава в PATH, така че можете да стартирате safe файла от всяко място, когато отваряте конзола. Актуализирахме Ръководството за потребителя с инструкции как да използвате този метод на инсталиране на CLI. Вече е възможно да инсталирате SAFE CLI v0.9.0 с помощта на този скрипт.

Обърнете внимание, че има съобщения че скрипта за инсталиране не се добавя към PATH за zsh и fish конзоли, може да се наложи да добавите ръчно към вашия .bashrc еквивалент, ако скриптът не го добави към PATH на вашита конзола.

SAFE Network програма

Продължава работата по проектирането на потребителските интерфейси и потоци за разрешенията на файловете и споделянето.

Тази седмица започнахме разделянето на първоначално комбинираната емисия в отделни списъци с опции за достъп до програмата (App access) и споделянето (Sharing). Това прави малко по-различните потоци за всеки от тях по-ясни, а също така избягва излишното персонализиране на приложения; Достъпът до приложения е предимно за управление на достъпа ви до вашите собствени данни, а не за да предоставяте на разрешения на други потребители.

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

2c26a9100d3c5b76c93c219845732ea9dfee9f70_2_615x500

Достъп до програма спрямо споделяне

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

09c873d80edc295b49358428dc473d5f2d82180c_2_247x499

Управление на файлове

Сега работим по потоците за публикуване и споделяне на файлове чрез SAFE Network програмата.

3af187e83f3f1759ffc9fa3bfe6754f639ac78b6_2_310x500

Публикуване и споделяне

Относно разработката, след като актуализирахме всички зависимости, за да премахнем болезнената зависимост от openssl (и да използваме основните rust rustls), започнахме да актуализираме SAFE Network програмата, за да работи отново със CI, но също така и да е съвместима с любимата на всички Бейби Флеминг. :baby:

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

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

Тази седмица най-накрая пуснахме SAFE браузър версия 0.16.0, която има няколко подобрения: Възможност за контрол на достъпа за опростяване на уеб разработката, даваща възможност за извличане на API-то и актуализиране на safe-nodejs до 0.8.0. Но внимавайте! Това не е съвместимо с Бейби Флеминг.

За онези безстрашни хора, които искат възможността да тестват сами, предлагаме v0.17.0-alpha.0. Тази версия носи съвместимост с Бейби Флеминг, както и прескача използването на safe-nodejs библиотеката за предотвратяване на достъпа до файловата система без да минава през API-тата на браузъра (благодарим на @shane). Това все още не е напълно завършено. Планираме да дадем възможност на API-тата в браузъра да работят директно с файлови обекти, за да улесним живота на всички. Но засега това поне подобрява сигурността и ни насочва към по-финализирани API-та.

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

След като пуснахме Бейби Флеминг се заехме да актуализираме всички необходими хранилища (quic-p2p, safe_client_libs, safe-api), за да сме готови да поддържаме същия набор от функции на мобилни устройства, както и да актуализираме NuGet пакета ни. Използваме отделен клон baby-fleming-mobile във всички тези хранилища, за да проследим необходимите корекции и промени. След като получим надстройките, работещи върху CI и получим работния набор от местни библиотеки, ще тестваме API-то на C # и мобилните приложения с Бейби Флеминг и ще пуснем новите версии за мобилния удостоверител и браузър.

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

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

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

Също така започнахме работа по схема за групово подписване, използвайки разпределено генериране на ключове (BLS-DKG, без централно ръководство/ управление), което да се използва за постигане на консенсус, когато клиентите заявяват данни от мрежата (въпреки че това потенциално е насочено да се използва за много повече неща в бъдеще), без да е необходимо винаги да преминавате през PARSEC. В момента тази работа е в начална фаза. Както винаги ще информираме общността, докато напредваме.

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

SAFE Network новини - 19.3.2020

Накратко

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

  • Пуснахме версия 2 на Бейби Флеминг. :tada: Тази актуализация се състои от нова версия на safe_vault (v0.22.0), която премахва PARSEC за клиентски заявки.
  • Пуснахме SAFE CLI v0.10.0, която включва (наред с други подобрения) нова команда files tree.
  • Пуснахме нов пакет RC MaidSafe.SafeApp NuGet, който поддържа заявки с различен обхват и работи с Бейби Флеминг мрежата.

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

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

Днес пускаме втората версия на Бейби Флеминг, известна още като Трезори Фаза 2a :tada:

Както беше подробно описано в новините от миналата седмица, проблемите с производителността при първата версия на Бейби Флеминг се дължаха основно на всички клиентски заявки при харченето на Safecoin чрез PARSEC за постигане на консенсус, преди да се обработи допълнително заявката. Версия 2, която пускаме днес, премахването PARSEC от потока за обработка на заявка на клиента.

Разбира се, все още ще трябва да постигнем консенсус в този поток и там ще използваме BLS - разпределеното генериране на ключове, за да облекчим натоварването върху PARSEC. Повече за това в раздела BLS - Разпределено генериране на ключове - по-долу. Засега обаче има смисъл да премахнем това ограничение на производителността ви позволим да тествате Бейби Флеминг.

Как да обновите до версия 2 на Бейби Флеминг?

Тази актуализация се състои от нова версия на safe_vault - v0.22.0.

С помощта на CLI можете да инсталирате тази нова версия с помощта на командата safe vault install. Вижте CLI ръководството за пълни инструкции за инсталиране на трезора, както и за инструкции как да пуснете собствена секция от трезори на компютъра си.

Известни проблеми

При качване на данни може да възникнат периодични грешки (AccessDenied или NetDataError - Failed to PUT Sequenced Append Only Data описани тук). Наясно сме с това и разследваме.

Кога MaidSafe ще пусне споделена Секция?

Намерението ни е да пуснем споделена Секция веднага щом тестването покаже, че секциите са стабилни, а основните грешки са решени.

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

SAFE API

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

Пуснахме нова версия на safe-api (v0.10.0), както и нов safe-cli (v0.10.0), който включва всички функции, които сме внедрили след излизането на Бейби Флеминг. Актуализирахме Ръководството за потребителя за CLI с инструкции за новата files tree команда.

Тази нова версия на safe-api е първата версия, която излага API-то си като async, което е важна стъпка към пълната поддръжка на асинхронни заявки от тези API-та. Както бе споменато в предишните новини, вътрешно те все още не са асинхронни и това ще бъде следващата ни стъпка в това отношение.

През последните няколко седмици мобилните библиотеки на safe-ffi бяха деактивирани. Проблемът беше свързан с мобилната поддръжка за някои от външните контейнери на Rust. Тази седмица решихме проблема с изграждането на safe-ffi в отделен клон (baby-fleming-mobile). След като имаме стабилни версии на външните контейнери, които работят правилно със собствените си библиотеки, ще обединим кода с главното хранилище. Тези актуализирани библиотеки ще ни помогнат да подкрепим пускането на мобилните приложения за мрежата с една секция.

Финализирахме основен набор от показатели, които да се изпълняват в Бейби Флеминг мрежата. Тези тестове са просто за качване на данни в мрежата (файлове с размер 0.5, 1, 2 и 4 мегабайта). Тестовете бъдат X пъти (търсейки разумен размер на извадката, надяваме се поне ~ 50 пъти), макар че това ще зависи от напредъка за подобряването на качването на данни като цяло. За тези, които се интересуват от това (или да допринесат за повече тестове), можете да проверите PR черновата, която добавя -t или–test аргумент на любимия на всички safe vault run-baby-fleming -t за автоматично стартиране на мрежата, рестартира удостоверителя и създава тестов акаунт за CLI-то. (Забележете, за да работи това се нуждае както от safe командата, така и от authd, да бъдат инсталирани на стандартните им места).

SAFE Network програма

Тази седмица работихме върху някои малки подобрения на SAFE Network програмата, актуализирайки зависимостта от Node.js, за да се подготвим за съвместимо издание с Бейби Флеминг и поправихме теста на E2E.

Актуализацията на Node.js подчерта някои потенциални грешки там, така че разглеждаме и това. Но след като ги оправим, ще можем да я пуснем за да си поиграете с :baby:

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

План за Удостоверителя, План за браузъра

Тази седмица актуализирахме Удостоверителя, за да поддържаме Бейби Флеминг и тествахме програмата на двете платформи (Android, iOS).

Днес пуснахме и нов пакет RC MaidSafe.SafeApp NuGet, за да можем да актуализираме мобилния браузър и да поддържаме Бейби Флеминг. В момента вътрешно тестваме мобилния браузър и ще пуснем нови актуализирани версии и на двете мобилни приложения, след като сме доволни от тях.

SAFE App C#

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

Миналата седмица API за извличане (fetch) на Rust беше актуализирано, за да поддържа извличането на диапазон от байтове от файл, така че тази седмица актуализирахме C# API-тата за fetch и get_immutable_data за да поддържаме и заявки с обхват. Това ще позволи на разработчиците да извличат съдържанието между дадения начален и краен индекс. Пуснахме и нов RC MaidSafe.SafeApp NuGet пакет. Този нов пакет осигурява поддръжка за мрежата с една секция / Бейби Флеминг.

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

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

Обединихме и подобрена се доставка на съобщения в присъствието на изоставащи с работата трезори в PR (PR 2068). Друг голям напредък, който постигнахме включва обединяването на работата по опростяване на моментното състояние на машината: одобряването на Старейшини и Възрастни (PR 2071), както и BoostrappingPeer и JoiningPeer в едно (PR 2072). Те много опростяват състоянието на машината и в крайна сметка ще се стремим да го премахнем изцяло. Друго подобрение през тази седмица беше обединяването на идентификатора за регистрация PR (PR 2073). Това намалява нашия код и гарантира, че цялото влизане в контейнера за маршрутизиране идентифицира възела, за който е бил записът в журнала.

Също така започваме да мислим за провеждането на още няколко quic-p2p тестове, за да получим по-добри данни за неговата мащабируемост и потребности от ресурси. Очакваме той да обработва стотици (или дори хиляди!) връзки наведнъж и е важно да знаем лимитите и да ги планирате съответно, за да сме сигурни, че мрежовите системи няма да бъдат претоварени. Планираме да стартираме тези тестове след новата версия, която ще включва поддръжката на IGD и най-новите подобрения на внедряването на протокола QUIC от Quinn, основната мрежова библиотека, която използваме.

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

Разчитайки на PARSEC, гръбначния стълб на мрежата, за всички видове консенсус може просто натоварим мрежата по начини, които обикновено не виждаме. Например, данните в SAFE мрежата могат да бъдат бързо променящи се и запитването/извличането на такива данни с консенсус от PARSEC ще отнеме известно време, за да бъдат извлечени. Тази продължителност може да е достатъчна, за да се актуализират данните до по-нова версия от изтеглената. Следователно, за да се сведе до минимум натоварването на PARSEC и да се постигне бърз консенсус за операции като запитване на споделени данни, портфейли с множество подписи и др., сме изправени пред изискването да прехвърлим част от консенсуса върху друг механизъм. Тук идва BLS-разпределеното генериране на ключове, криптографска схема за подписване, която позволява на субектите бързо да постигнат консенсус по даден обект чрез естеството на шестте му фази и принуждават 100% участие от съответните възли. Можете да прочетете повече за работата му и подробности тук и тук. Реализацията на доказателство на концепцията е в процес на работа от екипа, като първоначално ще тестваме със споделени данни от клиенти, въпреки че по-голямата цел е да го използваме за случаи като споменатите по-горе и ще бъде общ контейнер, който ще се използва за постигане на консенсус, без да се разчита напълно на PARSEC през цялото време.

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