Środowisko informacyjne oparte na zasadach Open Data

Środowisko informacyjne oparte na zasadach Open Data

Proponowane środowisko informacyjne jest rodzajem zdecentralizowanej sieci społecznościowej. Jednak w przeciwieństwie do wielu istniejących rozwiązań, środowisko to oprócz decentralizacji ma szereg przydatnych właściwości i jest tworzone w oparciu o dość proste i standardowe rozwiązania techniczne (e-mail, json, pliki tekstowe i mały blockchain). Dzięki temu każdy, kto ma podstawową wiedzę programistyczną, może tworzyć własne usługi dla tego środowiska.

Uniwersalny identyfikator

W każdym środowisku internetowym identyfikatory użytkowników i obiektów są jednymi z kluczowych elementów systemu.

W tym przypadku identyfikatorem użytkownika jest e-mail, który faktycznie stał się ogólnie przyjętym identyfikatorem autoryzacji na stronach internetowych i innych usługach (jaber, openId).

Tak naprawdę identyfikatorem użytkownika w danym środowisku internetowym jest para login+domena, która dla wygody zapisana jest w znanej większości formie. Jednocześnie dla większej decentralizacji wskazane jest, aby każdy użytkownik posiadał własną domenę. Co jest bliskie zasadom indieweb, gdzie domena służy jako identyfikator użytkownika. W naszym przypadku użytkownik dodaje pseudonim do swojej domeny, co pozwala mu na utworzenie kilku kont w jednej domenie (np. dla znajomych) i uelastycznia system adresowania.

Ten format identyfikatora użytkownika nie jest powiązany z żadną siecią. Jeśli użytkownik umieści swoje dane w sieci TOR, wówczas może korzystać z domen w strefie .onion, jeśli jest to sieć z systemem DNS na blockchainie, to z domen w strefie .bit. Dzięki temu format zwracania się do użytkowników i ich danych nie jest zależny od sieci, przez którą są przesyłane (wszędzie stosowana jest kombinacja login+domena). Dla tych, którzy chcą używać adresu bitcoin/ethereum jako identyfikatora, możesz zmodyfikować system tak, aby używał pseudoadresów e-mail w postaci [email protected]

Adresowanie obiektów

To środowisko online to w rzeczywistości zbiór obiektów opisanych w ustrukturyzowanej formie nadającej się do odczytu maszynowego, odnoszących się do innych obiektów i powiązanych z konkretnym użytkownikiem (e-mail) lub projektem/organizacją (domena).

urny w przestrzeni nazw urn:opendata są używane jako identyfikatory obiektów. Na przykład profil użytkownika ma adres taki jak:

urn:opendata:profile:[email protected]

Komentarz użytkownika ma adres taki jak:

urn:opendata:comment:[email protected]:08adbed93413782682fd25da77bd93c99dfd0548

gdzie 08adbed93413782682fd25da77bd93c99dfd0548 to losowy skrót sha-1 działający jako identyfikator obiektu, oraz [email chroniony] — właściciel tego obiektu.

Zasada publikowania danych użytkownika

Mając pod kontrolą własną domenę, użytkownik może z łatwością publikować swoje dane i treści. I w przeciwieństwie do indiebebu, nie wymaga to tworzenia strony internetowej ze stronami HTML z wbudowanymi danymi semantycznymi.

Przykładowo podstawowe informacje o użytkowniku znajdują się w pliku datarobots.txt, który znajduje się pod adresem np.

http://55334.ru/[email protected]/datarobots.txt

A ma taką treść:

Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/[email protected]/delegete.txt

Oznacza to, że w rzeczywistości jest to zestaw ciągów znaków z danymi w postaci klucz->wartość, których parsowanie jest prostym zadaniem dla każdego, kto ma podstawową wiedzę programistyczną. Możesz także edytować dane, jeśli chcesz, używając zwykłego notatnika.

Bardziej złożone dane (profil, komentarz, post itp.), które mają własną urnę, są wysyłane jako obiekt JSON przy użyciu standardowego API (http://opendatahub.org/api_1.0?lang=ru), który może znajdować się zarówno w domenie użytkownika, jak i w witrynie strony trzeciej, której użytkownik przekazał przechowywanie, publikację i edycję swoich danych (w wierszu Services-Enabled pliku datarobots.txt). Poniżej opisano takie usługi stron trzecich.

Prosta ontologia i JSON

Ontologia środowiska komunikacyjnego jest stosunkowo prosta w porównaniu z ontologiami branżowych baz wiedzy. Ponieważ w środowisku komunikacyjnym istnieje stosunkowo niewielki zestaw standardowych obiektów (post, komentarz, polubienie, profil, recenzja) o stosunkowo niewielkim zestawie właściwości.

Dlatego do opisu obiektów w takim środowisku wystarczy zastosować JSON zamiast XML, który jest bardziej złożony w strukturze i parsowaniu (trzeba nie zapominać o konieczności niskiego progu wejścia i skalowalności).

Aby otrzymać przedmiot ze znaną urną, należy skontaktować się z domeną użytkownika lub zewnętrznymi usługami, którym użytkownik przekazał zarządzanie swoimi danymi.

W tym środowisku internetowym każda domena, w której istnieje usługa online, ma również własny plik datarobots.txt znajdujący się pod adresem przykład.com/datarobots.txt o podobnej treści:

Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0

Z czego dowiadujemy się, że możemy pozyskać dane o obiekcie pod adresem takim jak:

http://newethnos.ru/api?urn=urn:opendata:profile:[email chroniony]

Obiekt JSON ma następującą strukturę:

{
    "urn": "urn:opendata:profile:[email protected]",
    "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": {
            "[email protected]": "1",
            "[email protected]": "0.5",
            "[email protected]": "0.7"
        },
        "interests_tags": "cars,cats,cinema",
        "mental_cards": {
            "no_alcohol@main": 8,
            "data_accumulation@main": 8,
            "open_data@main": 8
        }
    }
}

Architektura usług

Aby uprościć proces publikowania i wyszukiwania danych dla użytkowników końcowych, niezbędne są usługi zewnętrzne.

Wspomniany powyżej to jeden z rodzajów usług, które pomagają użytkownikowi publikować jego dane w sieci. Podobnych usług może być wiele, a każda z nich zapewnia użytkownikowi wygodny interfejs do edycji jednego z typów danych (forum, blog, pytanie-odpowiedź itp.). Jeśli użytkownik nie ufa usługom stron trzecich, może zainstalować skrypt usługi danych na swojej domenie lub samodzielnie go opracować.

Oprócz usług umożliwiających użytkownikom publikowanie/edycję danych, środowisko online udostępnia szereg innych usług wykonujących stosunkowo złożone zadania, których wdrożenie na węzłach użytkowników końcowych jest dość problematyczne.

Jednym z rodzajów takich usług są centra danych ( opendatahub.org/en - przykład), pełniący funkcję swego rodzaju archiwum sieciowego, które gromadzi wszystkie publiczne dane użytkowników w formacie odczytywalnym maszynowo i zapewnia do nich dostęp poprzez API.

Obecność usług w tak otwartym, zdecentralizowanym środowisku online znacznie zmniejsza barierę wejścia dla użytkowników, ponieważ nie ma konieczności instalowania i konfigurowania własnego węzła. Jednocześnie użytkownik zachowuje kontrolę nad swoimi danymi (w każdej chwili może zmienić usługę, do której delegowana jest publikacja danych lub stworzyć własny węzeł).

Jeżeli użytkownik w ogóle nie jest zainteresowany posiadaniem swoich danych i nie posiada własnej domeny ani osoby znającej tę domenę, to domyślnie jego danymi zarządza opendatahub.org.

Na czyj koszt to wszystko?

Być może głównym problemem prawie wszystkich takich zdecentralizowanych projektów jest brak możliwości ich monetyzacji na poziomie wystarczającym do stabilnego rozwoju i wsparcia.

Donate + tokeny służą do pokrycia kosztów rozwoju i marketingu w tym środowisku internetowym.

Wszystkie datki przekazywane przez użytkowników na rzecz wewnętrznych projektów/usług są publicznie dostępne, można je odczytać maszynowo i są powiązane z pocztą elektroniczną. Dzięki temu można je uwzględnić np. przy obliczaniu oceny społecznościowej w Internecie i publikować na stronach użytkowników. Kiedy darowizny przestają być anonimowe, wówczas tak naprawdę użytkownicy nie przekazują darowizn, ale „dorzucają się” na rzecz ogólnego środowiska informacyjnego. Podobnie jak ludzie, którzy dorzucają się do remontu części wspólnych, mając odpowiedni stosunek do tych, którzy nie chcieli się dołożyć.

Oprócz darowizn, do zbierania środków wykorzystywane są wydawane w limitowanej ilości (400.000 XNUMX) tokeny, które przyznawane są każdemu, kto dokona wpłaty na fundusz główny (etnogeneza).

Dodatkowe funkcje tokena

Każdy token jest „kluczem” umożliwiającym dostęp do tego środowiska online. Oznacza to, że możesz korzystać z usług i być częścią środowiska online tylko wtedy, gdy masz co najmniej 1 token powiązany z wiadomością e-mail.

Tokeny są dobrym filtrem spamu ze względu na ich ograniczony charakter. Im więcej użytkowników w systemie, tym trudniej jest uzyskać token i tym droższe jest tworzenie botów.

Ludzie, ich dane i powiązania społeczne są ważniejsi niż technologia

Opisane środowisko online jest rozwiązaniem technicznie stosunkowo prymitywnym. Ale ważniejsza jest w tym nie tyle technologia, co ludzie i powiązania społeczne oraz dane (treść) tworzone w środowisku.

Utworzona społeczność społecznościowa, której członkowie posiadają własne uniwersalne identyfikatory (e-mail i własną domenę) oraz ustrukturyzowane dane (z adresami URN, ontologią i obiektami JSON), gdy pojawi się lepsze rozwiązanie techniczne, może przenieść wszystkie te dane do innego środowiska online, przy zachowaniu utworzonych połączeń (ocen, ocen) i treści.

W tym poście opisano jeden z elementów samoorganizującej się społeczności sieciowej, która oprócz zdecentralizowanego środowiska online obejmuje szereg obszarów offline, które zwiększają korzyści środowiska online i są „klientami”, którzy w dużej mierze decydują o jego funkcjonalności. Ale to już tematy na inne artykuły, które nie są bezpośrednio związane z informatyką i technologią.

Źródło: www.habr.com

Dodaj komentarz