Български (Bulgarian) 🇧🇬 Добре дошли в Safe Forum

Solid върху SAFE - новини от Марк Хюз

Какво е Solid върху SAFE?

Solid върху SAFE (може да следите и в twitter :grinning:) е проект целящ да позволи Solid приложения да работят върху SAFE Network, с възможно най-малко промени. Solid е проект на сър Тим Бърнърс-Лий (създателя на интернет) целящ да децентрализира интернет и да върне контрола на потребителите върху собствената им информация. Поддръжката на Solid върху SAFE е важна поради множество причини и важността й веднага е разпозната при първата среща между сър Тим Бърнърс-Лий и екипа на MaidSafe през 2018 година.

image

Solid е в подобен етап на разработка като SAFE: след дълъг период на проектиране сега фокуса е върху създаване на инфраструктурата и инструментите за програмиране.

Maidsafe и семантичните данни

Maidsafe приема фундаментите на Solid включително представянето на семантичните данни (Linked Data / RDF), заявките (SPARQL) и ги включва в ядрото на софтуера си за да позволи създаването на мощни програми със семантични данни, разбира се не само Solid програми, но очевидно голяма помощ в тази насока.

Solid върху SAFE

Марк Хюз работи върху свързването на двата проекта и създава API съвместимо със Solid, за да е възможно най-лесно да се използва съществуваща Solid програма, заедно със SAFE съвместими версии на Solid библиотеките и да се използва в SAFE мрежата.

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

Прогрес

Съвместимите със Solid върху SAFE библиотеки са в процес на разработка, но вече показно бяха използвани за да демонстрират работата им върху Алфа 2 мрежата, както и в тестови локални мрежи. Може да видите и видео представяне от миналогодишния SAFE DevCon 2018 (Да заредим на максимум SAFE мрежата с Проект Solid).

Това демо показва възможността от въвеждането на уеб протокол използван от Solid (LDP) чрез прихващането на браузър fetch() и/или популярна Solid библиотека (rdflib.js ).

В последствие Хюз разработва версия на друга основна Solid библиотека solid-auth-client, която дава възможност за влизане и идентификация на потребител в програмите. Това вече използва експерименталното API за SAFE WebID-та, което Maidsafe представи на DWeb Summit през 2018 година. Това работи на SAFE ‘тестова’ (за локална разработка) мрежа чрез solid-filemanager като демо, но все още не е пуснато публично.

Наскоро Хюз разработи и форк на SAFE WebID мениджъра (представен от Maidsafe на DWeb Summit), който създава контейнер за съхранение за всеки нов WebID и включва местоположението му в WebID профил документ, за да може да бъде намиран от Solid приложенията. За да се различава се нарича Solid WebID мениджър за момента (въпреки, че разликите му със SAFE WebID мениджъра са минимални). Това ще е част от следващото демо на Solid върху SAFE, което е в процес на разработка.

Настоящи задачи

Хюз работи по демо на настоящи Solid приложения, включващи както удостоверяване, така и достъп до информация, включително използването на SAFE WebID-та за идентичност (чрез избиране от менюто на SAFE браузъра). Тези приложения ще бъдат стандартни Solid програми с малко или никакви изменения, освен замяната със SAFE съвместима solid-auth-client библиотека.

В момента работи по списък от съществуващи Solid програми за да тества работата си и да публикува подходящи демо версии за Алфа 2. Някои програми използват други библиотеки като solid-file-client, които на свой ред използват rdflib.js и/или solid-auth-client, така че има множество възможности да се намерят бъгове!

Голяма част от Solid IDE работи, който в същността си е сорс код браузър, едитор и UI тест на живо:

Solid-ide SAFE mock 2019-07-18.png

Solid-ide SAFE mock 2019-07-18

Бъдеще

В бъдеще ще се търси възможност за създаване на SAFE съвместими версии на други библиотеки като Comunica / LDflex / LDfragments (или чрез използването на SPARQL в клиентът, или чрез новите SAFE RDF библиотеки, когато станат достъпни). И с разширяването на SAFE API-тата към нови видове типове данни, RDF и SPARQL ще има някои наистина яки неща за обновяване и добавяне към всичко това.

Изпълнение и какво остава да се свърши

Всичката настояща работа е насочена към NodeJs програми, браузъра и командната конзола, и започва с SafenetworkJS, библиотека, която опростява използването на Алфа 2 API-тата. Тази библиотека е все още в разработка, но е основата на Solid демотата и Solid върху SAFE библиотеките споменати по-горе, както и SAFE Drive (FUSE монтиран диск на вашето SAFE място за съхранение). Така че е в напреднал стадии и е добре тествана. Въпреки това, ще е необходимо обновяването й, когато SAFE API-тата добавят поддръжка на новите типове данни (AppendableData и т.н.) и още веднъж, когато се добави/приключи поддръжката за RDF и SPARQL.

Нужна е Вашата помощ

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

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

1 Like

Премахваме посредниците: обещанието на мрежата без нужда от позволение

Погледнете думата “позволение” в речника и ще видите, че произлиза от латинската дума ‘ permissio ’. Означава да дадеш свободата на някой да направи нещо. С други думи, някой се е съгласил, че ти може да направиш това, което желаеш. Този някой може да е шев, лидер, владетел – който и да е. Но как “позволението” е свързано с Интернет?

Интернет днес е много различен

Първите дни на интернет бяха без нужда от позволение (permission less). Когато Тим Бърнърс-Лий започва да създава Световната мрежа (World Wide Web) той не е искал позволение от никой. И вратите на интернет оставаха широко отворени – освен ако съзнателно не сте избирали да използвате порталите на AOL или Compuserve. Чрез писането на програмния код, които да осъществи идеите ви, иновацията нямаше лимит. Всеки, навсякъде по света, можеше да изгради сайт базиран просто на идея си.

Но днес това не е толкова лесно. С изминаването на годините много хора избегнаха трудната работа да се научат да пишат код и просто се записват за “безплатни” услуги създадени от други. Например Gmail беше пуснат преди 15 години. Но променя ли се сега светът?

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

Писането на код е супер сила… и отговорност

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

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

Обществото напредва чрез експериментиране

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

Но къде сме днес?

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

Ние не вярваме, че това може да е пътя напред.

Иновацията и разработката на софтуер позволяващ работата без нужда от позволение е от критична нужда

Ние (MaidSafe) изграждаме мрежа без нужда от позволение. Какво точно значи това?

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

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

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

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

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

Отворете вратите и ще се изненадате от къде идват отговорите.

1 Like

SAFE Network - резюме за юли

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

Нови версии на софтуера

Голямата новина през юли е представянето на първата версия на SAFE мобилния браузър ! Усилената работа на програмистите ни в Ченай и разбира се усилията на екипа тестващ софтуера, поправката на бъгове и QA – дадоха своя плод. За да се убедите, в качеството на работата ни е достатъчно да свалите браузъра и да го тествате, независимо дали сте с Android или iOS устройство, също може да прочетете за бъдещите версии тук.

Пуснахме и нова версия на Десктоп Браузъра , за да отстраним някои малки бъгове. Може да свалите последната версия v0.14.1 от тук.

Завършени задачи

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

Завършихме и задачата по поддръжката на файловите контейнери в CLI-то . Това значи, че вече може да създавате (публикувате) ФайловиКонтейнери като качвате файлове или цели папки със safe командата за качване. Може също така да извличате и показвате съдържанието на ФайловитеКонтейнери и файлове (публикуваната НепроменимаИнформация) чрез XOR-URL адреси чрез safe CAT командата. Може и да обновявате вече създаден ФайловКонтейнер чрез синхронизация с локални промени направени по файлове и папки чрез командата за синхронизиране на safe файлове. Може да видите колко лесно е да качвате информация в SAFE мрежата от команден ред като посетите GitHub страницата ни.

В прогрес

Трезорите идват, като много от задачите по първоначалното въвеждане са завършени или близо до завършване. Има някои висящи малки задачи които, макар и малки, ще поставят основите на следващите фази. Следващата стъпка е да тестваме SAFE Клиентските Библиотеки с новите Трезори. Очакваме да има някои проблеми, но тези тестове ще ни позволят да разберем къде точно са за да ги отстраним.

Въвеждането на новите типове данни в SAFE Клиентските Библиотеки се приближава към завършване. Работата този месец беше насочена към подмяната им с новите типове данни в SAFE Удостоверителя (включително новия пакет за влизане и промяната на потока на акаунта).

Стартирахме нов проект за SAFE CLI по въвеждането на Система за разрешаване на имена (Name Resolution System – NRS), това е системата, която позволява използването на четими от хора URL адреси. Също като URL адресите в стария интернет днес, те са (в повечето случаи) ясни и лесни за разбиране, и най-вече за запомняне, и затова искаме да ги въведем в SAFE мрежата.

Този месец се съсредоточихме и върху Предния край ( Front End) . Всяка задача: Вечната Мрежа, Поеми контрол върху информацията си, Частни комуникации и Новата Дигитална Икономика получи своя публикация в Медиум, където разгледахме защо всяко от тези четири неща е толкова важно и защо ги въвеждаме в SAFE Network. Паралелно напредна и работата по дизайна на Вечната Мрежа. Може да видите повече тук.

Събития

Имахме среща на общността в Глазгоу, на която инженера от МейдСейф – Жан говори за Трезорите и как SAFE ще промени взаимоотношенията ни с нашата информация. Предстои да обявим датата за следващата среща.

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

Това е всичко основно от юли, като подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum

Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: SAFEnetwork България | Facebook

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България

1 Like

Нова версия на SAFE браузъра отваря пътя към Вечната мрежа

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

Какво е това?

Концепцията на Вечната мрежа е проста - място, в което всичката информацията на човечеството може да се съхранява вечно, с нулева възможност за цензура и манипулация: Мрежа на Истината. Може би вече сте запознати с широките принципи на Вечната мрежа. Ако не сте може да видите това видео представяне и тази статия в Medium, които обясняват защо вечното съхранение на информация е толкова важна основа за бъдещето ни като вид. Новата версия на браузъра е първата, в която тази функционалност е активирана и използваема.

Така, какво точно може да правите с него?

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

На първо място може да отваряте сайтове или чрез техните NRS-URL адреси или чрез XOR-URL адресите им (това са двата типа интернет адреси в мрежата) и да разглеждате различните исторически версии на сайтовете. Това ви позволява да видите разликите и промените във всяка версия. Пълна прозрачност за всяка промяна плюс кога е била направена.

В тази версия добавяме и изключително полезната функция за създаване/запазването на NRS име (Система за разрешаване на имена/Name Resolution System), ако все още не е било регистрирано от някой друг. Ако въведете име на сайт с NRS адрес, който не съществува ще получите възможност да регистрирате това NRS име (и съответно ще го притежавате завинаги без месечни/годишни такси в акаунта си).

Плюс ако имате вече готов сайт в SAFE мрежата ще може да го редактирате директно в тази версия на браузъра. Като изберете локална папка от компютъра си автоматично ще се качи и публикува под нова версия — дали не е мега яко!

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

Това звучи отлично — от къде да сваля браузъра?

Просто отидете в GitHub и го свалете. Важно е да отбележим: ще имате нужда и от следните няколко неща:

  • Трябва да имате стартиран SAFE_удостоверител
  • Трябва да се свържете със споделен или локален Трезор( т.е. тази версия на браузъра не работи с Алфа 2 ). В това Ръководство може да намерите информация как да стартирате Трезор ако все още не сте го правили.

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

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

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

Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: SAFEnetwork България | Facebook

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България

1 Like

SAFE Network новини – 23.1.2020

Накратко

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

Споделен Трезор

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

Извиняваме се за причиненото неудобство.

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

Можете да изтеглите новия конфигурационен файл vault_connection_info.config от тук.
Или ако използвате CLI, можете да използвате командите safe networks add и safe networks switch , например:

$ safe networks add shared https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config
Network 'shared' was added to the list. Connection information is located at 'https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config'

$ safe networks switch shared
Switching to 'shared' network...
Fetching 'shared' network connection information from 'https://safe-vault-config.s3.eu-west-2.amazonaws.com/shared-vault/vault_connection_info.config' ...
Successfully switched to 'shared' network in your system!
You'll need to login again, and re-authorise the CLI, if you need write access to the 'shared' network

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

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

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

Отстранявахме грешки при проблема с изчакването на заявки. Като част от работата по разследването открихме и разрешихме проблем, който е само за Windows, за тестовете при една Секция. Проблемът беше в клиентския код, който използва фиксиран порт за quic-p2p, който противоречи на порта, използван от трезора.

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

SAFE API

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

Много сме развълнувани да споделим ново издание на safe-api артефактите днес. Тези нови версии надграждат safe_client_libs до най-новата версия 0.13.0 версия в safe-api v0.7.0 . Публикуваме и съответната нова версия на safe-nodejs (v0.7.0), която обновява safe-api.

Тази версия също идва с нови версии на safe-cli (v0.7.2) и safe-authd (v0.0.2) , но най-важното е, че с тези нови версии потребителите вече могат да инсталират safe-authd с помощта на CLI ( $ safe auth install ) и също така ще може го актуализирате, когато бъдат публикувани нови версии на authd ( $ safe auth update ). Authd файла се инсталира по подразбиране в домашната директория на потребителя под ~/.safe/authd/ , което също прави ненужно за потребителите на CLI да определят пътя на файла safe-authd, когато го извикват с auth safe-cli командите, и няма нужда да задавате място за съхранение в системата. Актуализирахме Ръководството за потребителя за CLI с новите подробности за инсталирането на safe-authd, така че моля, обърнете се към него за конкретна информация и, разбира се, моля споделете всички проблеми, с които се сблъскате за да ги разрешим.

Като паралелна задача с нисък приоритет инвестирахме и известно време в опит да мигрираме внедряването на authd, да използва новия синтаксис за асинхронизация / изчакване на Rust, само за да видим с какви проблеми може да се сблъскаме и да започнем да се учим от тях. В крайна сметка разработихме първия проект за изпълнение на тази миграция и използваме най-новата версия на quinn. Тази миграция също опростява внедряването на authd, като я прави по-чиста и лесна за поддържане. Засега спряхме тази задача, тъй като тя се нуждае от quic-p2p и quinn, да бъдат надстроени в Трезорите и SCL, преди да можем да продължим по-нататък.

В допълнение, работим върху някои допълнителни функции към CLI-то, които бяха предложени от общността, напр. въвеждането на files ls и files tree команди. Работим и върху xorurl decode команда, която ще позволи на потребителите да видят цялата информация, която е кодирана в XOR-URL, т.е. xorname, маркер тип, тип съдържание, общия тип данни, за който се поддържа целевото съдържание и т.н.

Стремим се към по-редовни версии на CLI сега, когато имаме нашите CI скриптове, способни да пуснат само един артефакт наведнъж, ако желаем (плюс CLI и командите за актуализиране на authd), следователно се надяваме новите функции да се слеят в основния клон не след дълго и да го пуснем.

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

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

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

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

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

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

RFC-а беше актуализиран с опростяване на контрола за съвместимост, което опростява наличните типове данни до три ( Blob | Map | Sequence ), налични в две области ( Public | Private ), което прави общо 6 варианта. Можете да прочетете за подробностите тук.

Освен това, от миналата седмица има заявка за PR към safe-nd за прилагането на Sequence , а сега е включена и горната промяна.

Членът на общността @tfa съобщи за възможни области, които се нуждаят от разяснения в RFC-а, и плануваме да го актуализираме през следващите дни, за да стане по-ясно какви свойства и възможности ще се съхраняват и какво ще видим допълнително.

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

RFC

@oetyng работи върху разширение за Уточняването на типовете данни RFC, което се занимава с обектната йерархия в мрежата.

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

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

RFC обобщение

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

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

  • Blob , чиято структура е просто единично парче от данни.
  • Sequence , чиято структура е последователност от данни.
  • Map , чиято структура е набор от уникални ключове, и набор от стойности на данни, където ключ сочи към стойност.
  • Shell модел съхраняващ информация за типа данни, като действителната структура с показалеца/ците към парчето/тата, име, маркер тип, собственик и разрешения.

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

SAFE Network програма

Проследяване на подробностите

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

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

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

Информация притежавана от Акаунт

Или може да бъдат labels (етикети), начин за групиране, организиране и насочване към множество различни файлове и папки, които могат да се намират на различни места. Например, да кажем, създавате си „интелигентна папка“, която следи всички ваши аудио файлове.

Етикетите помагат за групиране на информацията

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

Програми и други потребители

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

Разрешенията помагат на потребителя да контролира достъпа до своите данни

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

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

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

Подход за превключване на разрешенията

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

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

Например, какво се случва след като се разлогнете в този случай? Приложението получава ли права за споделяне и редактиране? Или изобщо няма никакви права?

Подхода на прокламацията

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

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

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

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

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

Страница с подробности за файла, със списък на прокламации

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

Всички те имат валидна прокламация.

Може да влезете и да разгледате подробностите на всяка една от тях:

Екран на прокламацията

И може да влезете и да редактирате тази прокламация, като например премахнете разрешението за редактиране; добавите разрешение за споделяне; избирате продължителност за достъп.

Редактиране на прокламация

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

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

Прокламации, показани на екрана с подробности за приложението

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

Екран за искане на разрешение

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

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

И така, това е, преглед на работата, която вършим по отделни разрешения за файлове и данни.

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

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

Започнахме кръг от актуализации и за двете приложения. Направихме пълни версии на предишните бета версии и за двете (макар и без нови функции). Но междувременно работим и върху актуализирането на зависимостите в цялата област и подготвяме нещата за следващата партида актуализации за safe-api. За браузъра няма твърде много вълнуващи неща (извън очевидното вълнение от подобрено API :stuck_out_tongue:).

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

Тъй като стигаме до стандартизирано място за инсталиране за safe-cli , се спираме на подход, който ще позволи на SAFE Network App да управлява CLI-то като всяко друго настолно приложение (все пак ще можете да го управлявате независимо от SAFE Network App, ако искате), откриване на неговото инсталиране или подкана за инсталирането му, ако липсва.

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

Актуализирахме README файловете за двете хранилища и премахнахме остарялото или свързано с алфа 2 съдържание. Потребителското ръководство на Удостоверителя бе променено да включва ръководство за инсталиране и връзки за изтегляне от AppCenter и QR кодове.

Настройките на CI на двете хранилища също бяха актуализирани, за да опростят допълнително процеса на автоматизирано изграждане и пускане. И двете хранилища вече поддържат автоматичното създаване на GitHub версии за PR за промяна на версията, заедно със създаването на нови версии за AppCenter.

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

SAFE App C#

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

През последната година използвахме услугата CI на Azure DevOps за изграждане на safe_app_csharp и за тестване върху всички поддържани платформи. Използвахме настройка, базирана на потребителски интерфейс и понякога беше трудно да актуализираме новите версии. Тъй като използваме GitHub Actions за повечето от хранилищата ни и станахме по-добри в работата с YAML конфигурационни файлове базирани на CI настройка, актуализирахме хранилището, за да използваме YAML базирана настройка за нови издания. Това ще улесни всеки, за да разбере и променя CI според нуждите си.

Активирахме публикуването на кодово покритие в Coveralls, което беше деактивирано за последните няколко месеца, тъй като новите API-та не бяха достатъчно стабилни. Бяха направени някои други промени, за да се отстрани проблемът с генерирането на документация за пакета, въпреки че все още трябва да включим автоматичното публикуване на документите на страниците на GitHub, върху което ще работим следващата седмица.

Safecoin фермерство

RFC

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

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

Имаше и кратка, импровизирана дискусия около идеята за използване на заслепени сертификати за цифрови носители в SAFE мрежата. Заслепени цифрови носители на сертификати (DBC) са предложени за първи път от Дейвид Чаум през 1983 г. като форма на цифрови пари в брой, която осигурява пълна несвързаност между плащанията и дори може да бъде прехвърлена офлайн. Дори издаващият орган не знае на кого е даден сертификат. Сертификатите могат да бъдат комбинирани за образуване на нов сертификат с по-голяма сума или разделени за извършване на по-малки плащания. Ник Сабо има приятен преглед на DBC в анализа си за договори с носител от 1997 г. DBC-тата обаче винаги са разчитали на централизиран сървър с една точка на отказ, който можем да избегнем поради груповия консенсус (секция със Старейшини).

През 2016 г. theymos (известен от форума Bitcointalk) пусна тема, в която описва как DBC може да се използва с децентрализирана система като Bitcoin. Това е интересен мисловен експеримент, в който да разгледаме дали / как би могъл да работи в SAFE мрежата или като заместител на Safecoin, или като допълващ носител / офлайн / миксер. DBC ще имат по-големи гаранции за поверителност от смесените монети като Monero или Zcash и биха могли да увеличат поверителността на Safecoin, ако бъдат използвани за тази цел. Засега това е само забавен мисловен експеримент и не е планирана никаква разработка. Анализ от общността и мненията ви са добре дошли!

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

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

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

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

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

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

Ако имате въпроси може да ги зададете или тук, или във Facebook групата на българската SAFE общност: SAFEnetwork България | Facebook

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България

1 Like

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 браузър (десктоп)

Тази седмица пуснахме няколко алфа версии на браузъра. Най-вече по поддръжката, но и за отстраняването на няколко проблема, с които @anon57419684 се сблъска, докато работеше по уеб приложение, базирано на 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 общност: SAFEnetwork България | Facebook

Ако искате да следите последните новини заповядайте във 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 общност: SAFEnetwork България | Facebook

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България

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 общност: Redirecting...

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България

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

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 браузър (десктоп)

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

В края на миналата седмица най-накрая отстранихме дългосрочен проблем в браузъра, който блокираше работата на @anon57419684. Вече можете да използвате 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 общност: SAFEnetwork България | Facebook
  • Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: Safe Network България