
Предлаганата информационна среда е вид децентрализирана социална мрежа. Но, за разлика от много съществуващи решения, тази среда притежава редица полезни свойства, освен децентрализацията, и е изградена на базата на доста прости и стандартни технически решения (имейл, json, текстови файлове и малко блокчейн). Това позволява на всеки, който има основни знания по програмиране, да създава свои собствени услуги за тази среда.
Универсален идентификатор
Във всяка онлайн среда идентификаторите на потребителите и обектите са един от ключовите елементи на системата.
В този случай идентификаторът на потребителя е имейл, който вече фактически е станал общоприет идентификатор за авторизация на сайтове и други услуги (jaber, openId).
Фактически идентификаторът на потребителя в тази онлайн среда е комбинация от login+domain, която за удобство се записва в познат за повечето вид. При това, за по-голяма децентрализация, на всеки потребител е желателно да има собствен домейн. Това отговаря на принципите на индивеба, където за потребителски идентификатор се използва домейн. В нашия случай, потребителят добавя никнейм към своя домейн, което позволява създаването на няколко акаунта на един домейн (например за приятели) и прави адресацията по-гъвкава.
Такъв формат на идентификатора на потребителя не е обвързан с никаква мрежа. Ако потребителят разполага своите данни в TOR мрежа, може да използва домейни в зоната .onion, а ако това е мрежа с DNS система на блокчейн, то домейни в зона като .bit. В крайна сметка, форматът на адресация на потребителите и техните данни не зависи от мрежата, през която се предават (всъде се използва комбинация от login+domain). За желаещите да използват адрес на bitcoin/ethereum като идентификатор, системата може да бъде адаптирана за използване на псевдо имейл адреси от вида xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain
Адресация на обекти
Тази онлайн среда всъщност е набор от обекти, които са описани в структурирана машинночетима форма, свързват се с други обекти и са привързани към определен потребител (имейл) или проект/организация (домейн).
Идентификаторите на обектите се използват urn в името на пространството urn:opendata. Например, профилът на потребителя има адрес от следния вид:
urn:opendata:profile:user@domain.comКоментарът на потребителя има адрес от следния вид:
urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548където 08adbed93413782682fd25da77bd93c99dfd0548 — произволен sha-1 хеш, който изпълнява ролята на идентификатор на обекта, а user@domain.com — собственикът на този обект.
Принцип на публикуване на потребителски данни
Като притежава свой домейн, потребителят може доста лесно да публикува своите данни и съдържание. И в отличие от индиебеба, за това не е необходимо да се създава сайт с html страници, в които са вградени семантични данни.
Например, основната информация за потребителя се разполага в файла datarobots.txt, който се намира на адрес от следния вид
http://55334.ru/konstantin@55334.ru/datarobots.txtИ има съдържание от такъв формат:
Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txtТоест фактически — това е набор от редове с данни от вида ключ->стойност, които да бъдат парснати е проста задача за всеки човек с базови познания по програмиране. А данните да се редактират, ако пожелаят, може да се направи чрез обикновен текстов редактор.
По-сложни данни (профил, коментар, пост и т.н.), които имат свой urn — се предоставят под формата на JSON обект по стандартен API (http://opendatahub.org/api_1.0?lang=ru), който може да се намира както на домейна на потребителя, така и на трети сайт, на който потребителят е делегирал съхранението, публикуването и редактирането на своите данни (в реда Services-Enabled на файла datarobots.txt). За подобни външни услуги — е написано по-долу.
Проста онтология и JSON
Онтологията на комуникационната среда е относително проста в сравнение с онтологиите на отраслевите бази знания. По отношение на комуникационната среда съществува относително малък набор от стандартни обекти (пост, коментар, лайк, профил, отзив) с относително малък набор от свойства.
Така че, за описанието на обектите в такава среда е достатъчно да се използва JSON вместо по-сложната структура и парсинг XML (важно е да не забравяме необходимостта от нисък входен праг и мащабируемост).
За да получите обект с известен urn — е необходимо да се обърнете към домейна на потребителя или на трети услуги, на които потребителят е делегирал управлението на неговите данни.
В тази онлайн среда всеки домейн, на който съществува онлайн услуга, също има свой datarobots.txt, разположен на адрес вида example.com/datarobots.txt с подобно съдържание:
Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0От който можем да разберем, че данните за обекта могат да бъдат получени на адрес вида:
JSON обектът има такава структура:
{
"urn": "urn:opendata:profile:expample@55334.ru",
"status": 1,
"message": "Ok",
"timestamp": 1596429631,
"service": "example.com",
"data": {
"name": "John",
"surname": "Gald",
"gender": "male",
"city": "Moscow",
"img": "http://domain.com/image.jpg",
"birthtime": 332467200,
"community_friends": {
"example1@domain.com": "1",
"example2@domain.com": "0.5",
"example3@domain.com": "0.7"
},
"interests_tags": "cars,cats,cinema",
"mental_cards": {
"no_alcohol@main": 8,
"data_accumulation@main": 8,
"open_data@main": 8
}
}
}Сервизна архитектура
Странни услуги са необходими за опростяване на процеса на публикуване и търсене на данни от крайни потребители.
По-горе беше споменат един от видовете услуги, които помагат на потребителя да публикува своите данни в мрежата. Възможно е съществуването на многобройни подобни услуги, всяка от които предоставя на потребителя удобен интерфейс за редактиране на един от видовете данни (форум, блог, въпроси-отговори и т.н.). Ако потребителят не се доверява на странични услуги, той може да инсталира на своя домейн скрипт на услугата за работа с данни или да го разработи самостоятелно.
Освен услуги, позволяващи на потребителите да публикуват/редактират данни — в онлайн средата е предвиден редица други услуги, изпълняващи относително сложни задачи, които е относително проблематично да се реализират на възлите на крайните потребители.
Един от видовете такива услуги са хъбовете за данни ( — пример), изпълняващи роля на своеобразен уеб архив, който събира всичките публични машинно четими данни на потребителите и предоставя достъп до тях чрез API.
Наличието на услуги в такава открита, децентрализирана онлайн среда съществено намалява прага на вход за потребителите, тъй като липсва необходимост от инсталиране и настройка на собствен възел. В същото време на потребителя остава контрол над своите данни (във всеки момент може да смени услугата, на която е делегирана публикацията на данни или да създаде свой възел).
Ако на потребителя изобщо не му е интересно притежанието на свои данни и не разполага със свой домейн или познато лице с домейн — по подразбиране данните му се управляват от opendatahub.org.
На чий сметка всичко това?
Основният проблем на почти всички подобни децентрализирани проекти е невъзможността за монетизация на ниво, достатъчно за стабилно развитие и поддръжка.
За покриване на разходите за разработка и маркетинг в тази онлайн среда се използват дарения + токени.
Всички дарения, които потребителите внасят в вътрешните проекти/услуги, са публични, машинно четими и свързани с имейл. Това позволява те да бъдат отчитани, например, при изчисляване на вътрешната социална оценка и публикувани на страниците на потребителите. Когато даренията спрат да бъдат анонимни, потребителите всъщност не даряват, а „събират“ средства за поддръжка на общата информационна среда. Също както хората събират средства за ремонта на общи площи, с аналогично отношение към тези, които са се отказали да дарят.
Освен дарения, за привличане на средства се използват токени, емитирани в ограничено количество (400,000), които се начисляват на всички, които внасят дарения в основния фонд (ethnogenesis).
Допълнителни функции на токените
Всеки токен е „ключ“ за достъп до тази онлайн среда. Тоест, да използваш услугите и да бъдеш част от онлайн средата е възможно само при наличие на поне 1 токен, който е свързан с имейл.
Токените са добър спам филтър заради ограничеността си. Колкото повече потребители има в системата — толкова по-трудно е да се получи токен и толкова по-скъпо е да се създават ботове.
Хората, техните данни и социални връзки са по-важни от технологиите
Описаната онлайн среда технически е относително примитивно решение. Но по-важното в нея не са толкова технологиите, колкото хората и социалните връзки и данни (съдържание), създаващи се вътре в средата.
Създадената социална общност, участниците в която имат свои универсални идентификатори (имейл и собствен домейн) и структурирани данни (с URN адреси, онтология и JSON обекти) при появяване на по-добро техническо решение – може да пренесе всички тези данни в друга онлайн среда, запазвайки същевременно създадените връзки (рейтинги, оценки) и съдържанието.
В настоящия пост е описан един от елементите на мрежова самоорганизирана общност, която освен децентрализирана онлайн среда включва и редица офлайн направления, които увеличават ползата от онлайн средата и са „поръчители”, до голяма степен определящи нейния функционал. Но това вече са теми за други статии, които нямат пряко отношение към ИТ и технологиите.
Източник: habr.com
