
Mediul informațional propus este o rețea socială de tip descentralizat. Spre deosebire de multe soluții existente, acest mediu are o serie de proprietăți utile pe lângă descentralizare și este construit pe baza unor soluții tehnice destul de simple și standard (email, json, fișiere text și puțin blockchain). Acest lucru permite oricărei persoane cu cunoștințe de bază în programare să creeze servicii pentru acest mediu.
Identificator universal
În orice mediu online, identificatorii utilizatorilor și obiectelor sunt un element cheie al sistemului.
În acest caz, identificatorul utilizatorului este reprezentat de email, care a devenit de fapt un identificator acceptat pentru autentificarea pe site-uri și în alte servicii (jaber, openId).
De fapt, identificatorul utilizatorului în acest mediu online este o combinație login+domain, care este înregistrată într-un format cunoscut pentru majoritatea. În plus, pentru o mai mare descentralizare, fiecare utilizator ar trebui să aibă propriul său domeniu. Acest lucru se apropie de principiile web-ului individual, unde domeniul este utilizat ca identificator al utilizatorului. În cazul nostru, utilizatorul își adaugă un nickname la domeniul său, ceea ce permite crearea mai multor conturi pe același domeniu (pentru prieteni, de exemplu) și face sistemul de adresare mai flexibil.
Acest format al identificatorului utilizatorului nu este legat de nicio rețea. Dacă utilizatorul își stochează datele în rețeaua TOR, se pot utiliza domenii în zona .onion, iar dacă este o rețea cu un sistem DNS pe blockchain, atunci domeniile tip .bit. În final, formatul de adresare a utilizatorilor și a datelor lor nu depinde de rețeaua prin care sunt transmise (se folosește mereu combinația login+domain). Pentru cei care doresc să utilizeze un adresă de bitcoin/ethereum ca identificator, sistemul poate fi adaptat pentru utilizarea adreselor pseudo email de tipul xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain
Adresarea obiectelor
Acest mediu online reprezintă, de fapt, un set de obiecte descrise într-un format structurat, lizibil de mașină, care se referă la alte obiecte și sunt legate de un utilizator anume (email) sau de un proiect/organizație (domeniu).
Identificatorii obiectelor sunt utilizați sub forma urn în spațiul de nume urn:opendata. De exemplu, profilul utilizatorului are o adresă de tip:
urn:opendata:profile:user@domain.comComentariul utilizatorului are o adresă de tip:
urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548unde 08adbed93413782682fd25da77bd93c99dfd0548 — un hash sha-1 aleator, care servește ca id al obiectului, iar user@domain.com — posesorul acestui obiect.
Principiul publicării datelor utilizatorului
Gestionând propriul domeniu, utilizatorul poate publica destul de simplu datele și conținutul său. Spre deosebire de indibeba, nu este necesară crearea unui site cu pagini HTML în care să fie încorporate date semantice.
De exemplu, informațiile de bază despre utilizator sunt plasate într-un fișier datarobots.txt, care se află la o adresă de tip
http://55334.ru/konstantin@55334.ru/datarobots.txtȘi are un conținut de acest format:
Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txtDeci, de fapt — este un set de linii cu date de tip cheie->valoare, care pot fi ușor analizate de oricine are cunoștințe de bază în programare. Iar datele pot fi editate, dacă este necesar, folosind un editor de text obișnuit.
Datele mai complexe (profil, comentariu, postare etc.), având propriul lor urn — sunt returnate sub forma unui obiect JSON prin API-ul standard (http://opendatahub.org/api_1.0?lang=ro), care poate fi găsit atât pe domeniul utilizatorului, cât și pe un site terț, căruia utilizatorul i-a delegat stocarea, publicarea și editarea datelor sale (în linia Services-Enabled a fișierului datarobots.txt). Despre aceste servicii terțe — se va scrie mai jos.
Ontologie simplă și JSON
Ontologia mediului de comunicare este relativ simplă, comparativ cu ontologiile bazelor de date din industrie. Deoarece în mediul de comunicare există un set relativ mic de obiecte standard (postare, comentariu, like, profil, recenzie) cu un set relativ mic de proprietăți.
Prin urmare, pentru a descrie obiectele dintr-un astfel de mediu, este suficient să folosim JSON în loc de XML, care este mai complex ca structură și analiză (este important să nu uităm de necesitatea unui prag de intrare mic și de scalabilitate).
Pentru a obține un obiect cu urn-ul cunoscut, este necesar să ne adresăm domeniului utilizatorului sau serviciilor terțe, cărora utilizatorul le-a delegat gestionarea datelor sale.
În acest mediu online, fiecare domeniu care găzduiește un serviciu online are, de asemenea, un datarobots.txt plasat la adresa de tip example.com/datarobots.txt, având un conținut similar cu următorul:
Obiect: serviciu
Api: http://newethnos.ro/api
Api-Version: http://opendatahub.org/api_1.0Din care putem afla că datele despre obiect pot fi obținute la adresa de tip:
Obiectul JSON are următoarea structură:
{
"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
}
}
}Arhitectura serviciilor
Serviciile externe sunt necesare pentru simplificarea procesului de publicare și căutare a datelor de către utilizatori.
Mai sus a fost menționat unul dintre tipurile de servicii care ajută utilizatorul să-și publice datele pe internet. Pot exista numeroase servicii similare, fiecare dintre acestea oferind utilizatorului o interfață convenabilă pentru a edita un anumit tip de date (forum, blog, întrebări și răspunsuri etc.). Dacă utilizatorul nu are încredere în serviciile externe, acesta poate instala pe domeniul său un script al serviciului de gestionare a datelor sau să-l dezvolte singur.
Pe lângă serviciile care permit utilizatorilor să publice/editeze date, în mediul online există o serie de alte servicii care îndeplinesc sarcini relativ complexe, care sunt destul de problematice de realizat pe nodurile utilizatorilor finali.
Unul dintre asemenea servicii sunt huburile de date ( — exemplu), care îndeplinesc rolul unui fel de arhivă web, care colectează toate datele publice, citibile de mașini, ale utilizatorilor și le oferă acces prin API.
Prezența serviciilor într-un astfel de mediu online deschis și descentralizat reduce considerabil barierele de acces pentru utilizatori, deoarece nu mai este necesară instalarea și configurarea propriului nod. În același timp, utilizatorul păstrează controlul asupra datelor sale (în orice moment poate schimba serviciul căruia îi este delegată publicarea datelor sau poate crea propriul nod).
Dacă utilizatorului nu îi pasă de deținerea datelor sale și nu are un domeniu propriu sau cunoștințe despre domenii, atunci, în mod implicit, datele sale sunt gestionate de opendatahub.org.
Din ce sursă sunt toate acestea finanțate?
Probabil că cea mai mare problemă a tuturor proiectelor descentralizate de acest tip este imposibilitatea de a le monetiza la un nivel suficient pentru dezvoltarea și susținerea stabilă.
Pentru a acoperi costurile de dezvoltare și marketing în acest mediu online se utilizează donații + token-uri.
Toate donațiile pe care utilizatorii le fac proiectelor/serviciilor interne sunt publice, ușor de citit de către mașini și legate de email. Acest lucru permite utilizarea lor, de exemplu, la calcularea rating-ului social în rețea și publicarea pe paginile utilizatorilor. Când donațiile nu mai sunt anonyme, utilizatorii nu fac, de fapt, donații, ci contribuie la sprijinul mediului informațional comun. La fel cum oamenii contribuie la repararea locurilor de uz comun cu un respect adecvat față de cei care refuză să contribuie.
Pe lângă donații, pentru atragerea de fonduri sunt utilizate token-uri emise într-un număr limitat (400.000), care sunt acordate tuturor celor care fac donații în fondul principal (ethnogenesis).
Funcții suplimentare ale token-urilor
Fiecare token este un 'cheie' pentru accesul în acest mediu online. Asta înseamnă că pentru a utiliza serviciile și a face parte din mediu, este necesar să deții măcar 1 token, care este asociat cu email-ul.
Token-urile sunt un bun filtru anti-spam datorită numărului lor limitat. Cu cât există mai mulți utilizatori în sistem, cu atât este mai greu să obții un token și este mai costisitor să creezi boți.
Oamenii, datele lor și legăturile sociale sunt mai importante decât tehnologiile
Mediul online descris este tehnic relativ primitiv. Dar ceea ce este mai important în el nu sunt atât tehnologiile, cât oamenii și legăturile sociale și datele (conținutul) create în interiorul mediului.
Comunitatea socială creată, ai cărei membri dispun de identificatori universali (email și propriul domeniu) și date structurate (cu adrese URN, ontologie și obiecte JSON), atunci când apare o soluție tehnică mai bună, poate transfera toate aceste date într-un alt mediu online, păstrând în același timp legăturile stabilite (evaluări, scoruri) și conținutul.
În această postare este descris unul dintre elementele comunității de auto-organizare în rețea, care, pe lângă medii online descentralizate, include o serie de direcții offline, care cresc beneficiile mediu online și sunt „clienți”, care în mare parte determină funcționalitatea acesteia. Dar acestea sunt deja subiecte pentru alte articole, care nu au legătură directă cu IT-ul și tehnologia.
Sursa: habr.com
