Ambiente informativo basato sui principi degli Open Data

Ambiente informativo basato sui principi degli Open Data

L'ambiente informativo proposto è una sorta di social network decentralizzato. Ma a differenza di molte soluzioni esistenti, questo ambiente ha una serie di proprietà utili oltre alla decentralizzazione ed è creato sulla base di soluzioni tecniche abbastanza semplici e standard (email, json, file di testo e un po’ di blockchain). Ciò consente a chiunque abbia conoscenze di programmazione di base di creare i propri servizi per questo ambiente.

Identificazione universale

In qualsiasi ambiente online, gli identificatori di utenti e oggetti sono uno degli elementi chiave del sistema.

In questo caso l'identificatore dell'utente è l'e-mail, che in realtà è diventato un identificatore generalmente accettato per l'autorizzazione su siti Web e altri servizi (jaber, openId).

Infatti, l'identificativo dell'utente in un dato ambiente online è la coppia login+dominio, che per comodità è scritta nella forma familiare ai più. Allo stesso tempo, per una maggiore decentralizzazione, è consigliabile che ogni utente abbia un proprio dominio. Il che è vicino ai principi di indieweb, dove un dominio viene utilizzato come identificatore dell'utente. Nel nostro caso, l'utente aggiunge un nickname al suo dominio, che gli permette di creare più account su un dominio (per gli amici, ad esempio) e rende più flessibile il sistema di indirizzamento.

Questo formato ID utente non è legato ad alcuna rete. Se un utente inserisce i suoi dati nella rete TOR, allora può utilizzare domini nella zona .onion; se si tratta di una rete con un sistema DNS sulla blockchain, allora domini nella zona .bit. Di conseguenza, il formato con cui ci si rivolge agli utenti e ai loro dati non dipende dalla rete attraverso la quale vengono trasmessi (la combinazione login+dominio è utilizzata ovunque). Per coloro che desiderano utilizzare un indirizzo bitcoin/ethereum come identificatore, è possibile modificare il sistema per utilizzare pseudo indirizzi email del modulo [email protected]

Indirizzamento agli oggetti

Questo ambiente online è in realtà un insieme di oggetti che vengono descritti in una forma strutturata e leggibile dalla macchina, fanno riferimento ad altri oggetti e sono legati a uno specifico utente (e-mail) o progetto/organizzazione (dominio).

Le urne nello spazio dei nomi urn:opendata vengono utilizzate come identificatori di oggetto. Ad esempio, un profilo utente ha un indirizzo come:

urn:opendata:profile:[email protected]

Il commento dell'utente ha un indirizzo del tipo:

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

dove 08adbed93413782682fd25da77bd93c99dfd0548 è un hash sha-1 casuale che funge da ID oggetto e [email protected] - il proprietario di questo oggetto.

Principio di pubblicazione dei dati utente

Avendo sotto controllo il proprio dominio, l'utente può pubblicare facilmente i propri dati e contenuti. E a differenza di indiebeb, questo non richiede la creazione di un sito Web con pagine HTML con dati semantici incorporati.

Ad esempio, le informazioni di base sull'utente si trovano nel file datarobots.txt, che si trova a un indirizzo simile

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

E ha contenuti come questo:

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

Cioè, in effetti, si tratta di un insieme di stringhe con dati nel formato chiave->valore, la cui analisi è un compito semplice per chiunque abbia conoscenze di programmazione di base. E puoi modificare i dati se lo desideri utilizzando un normale blocco note.

I dati più complessi (profilo, commento, post, ecc.), che hanno una propria urna, vengono inviati come oggetto JSON utilizzando l'API standard (http://opendatahub.org/api_1.0?lang=ru), che può essere localizzati sia sul dominio dell'utente, sia su un sito di terze parti a cui l'utente ha delegato la memorizzazione, pubblicazione e modifica dei suoi dati (nella riga Servizi abilitati del file datarobots.txt). Tali servizi di terze parti sono descritti di seguito.

Ontologia semplice e JSON

L'ontologia dell'ambiente di comunicazione è relativamente semplice rispetto alle ontologie delle basi di conoscenza del settore. Poiché nell'ambiente di comunicazione esiste un insieme relativamente piccolo di oggetti standard (post, commento, mi piace, profilo, recensione) con un insieme relativamente piccolo di proprietà.

Pertanto, per descrivere gli oggetti in un tale ambiente, è sufficiente utilizzare JSON invece di XML, che è più complesso nella struttura e nell'analisi (è importante non dimenticare la necessità di una soglia di ingresso bassa e di scalabilità).

Per ottenere un oggetto con un’urna conosciuta è necessario rivolgersi al dominio dell’utente, oppure a servizi di terze parti a cui l’utente ha delegato la gestione dei propri dati.

In questo ambiente online, ogni dominio su cui esiste un servizio online ha anche il proprio datarobots.txt situato in un indirizzo come example.com/datarobots.txt con contenuti simili:

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

Da cui possiamo apprendere che possiamo ottenere dati su un oggetto ad un indirizzo come:

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

L'oggetto JSON ha la seguente struttura:

{
    "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
        }
    }
}

Architettura del servizio

I servizi di terze parti sono necessari per semplificare il processo di pubblicazione e ricerca dei dati per gli utenti finali.

Sopra menzionato è uno dei tipi di servizi che aiutano l'utente a pubblicare i propri dati sulla rete. Potrebbero esserci molti servizi simili, ognuno dei quali fornisce all'utente una comoda interfaccia per modificare uno dei tipi di dati (forum, blog, domanda-risposta, ecc.). Se l'utente non si fida dei servizi di terze parti, può installare uno script del servizio dati sul suo dominio o svilupparlo lui stesso.

Oltre ai servizi che consentono agli utenti di pubblicare/modificare dati, l'ambiente online fornisce una serie di altri servizi che eseguono attività relativamente complesse che sono piuttosto problematiche da implementare sui nodi degli utenti finali.

Un tipo di servizio di questo tipo sono gli hub dati ( opendatahub.org/en - esempio), fungendo da una sorta di archivio web che raccoglie tutti i dati utente pubblici leggibili dalla macchina e fornisce l'accesso ad essi tramite API.

La presenza di servizi in un ambiente online così aperto e decentralizzato riduce significativamente la barriera d'ingresso per gli utenti, poiché non è necessario installare e configurare il proprio nodo. Allo stesso tempo, l'utente mantiene il controllo dei propri dati (in ogni momento può modificare il servizio a cui è delegata la pubblicazione dei dati o creare un proprio nodo).

Se l'utente non è affatto interessato a possedere i propri dati e non ha un proprio dominio o qualcuno che abbia familiarità con il dominio, per impostazione predefinita i suoi dati vengono gestiti da opendatahub.org.

A spese di chi è tutto questo?

Forse il problema principale di quasi tutti questi progetti decentralizzati è l’incapacità di monetizzarli a un livello sufficiente per uno sviluppo e un sostegno stabili.

I token Donate + vengono utilizzati per coprire i costi di sviluppo e marketing in questo ambiente online.

Tutte le donazioni effettuate dagli utenti a progetti/servizi interni sono disponibili al pubblico, leggibili dalle macchine e collegate all'e-mail. Ciò consente loro di essere presi in considerazione, ad esempio, nel calcolo del social rating online e pubblicati sulle pagine degli utenti. Quando le donazioni cessano di essere anonime, in realtà gli utenti non donano, ma “contribuiscono” per supportare l'ambiente informativo generale. Proprio come le persone contribuiscono a riparare le aree comuni con un atteggiamento adeguato nei confronti di coloro che si sono rifiutati di contribuire.

Oltre alle donazioni, per raccogliere fondi vengono utilizzati token emessi in quantità limitata (400.000), che vengono assegnati a tutti coloro che effettuano donazioni al fondo principale (etnogenesi).

Funzionalità aggiuntive dei token

Ogni token è una “chiave” per l’accesso a questo ambiente online. Cioè puoi utilizzare i servizi e far parte dell'ambiente online solo se hai almeno 1 token legato a un'e-mail.

I token sono un buon filtro antispam a causa della loro natura limitata. Più utenti ci sono nel sistema, più difficile sarà ottenere un token e più costoso sarà creare bot.

Le persone, i loro dati e le connessioni sociali sono più importanti della tecnologia

L'ambiente online descritto è tecnicamente una soluzione relativamente primitiva. Ma la cosa più importante non è tanto la tecnologia quanto le persone, le connessioni sociali e i dati (contenuti) creati nell’ambiente.

La comunità sociale creata, i cui membri dispongono di propri identificatori universali (e-mail e proprio dominio) e dati strutturati (con indirizzi URN, ontologie e oggetti JSON), quando appare una soluzione tecnica migliore, può trasferire tutti questi dati in un altro ambiente online, mantenendo le connessioni formate (valutazioni, valutazioni) e i contenuti.

Questo post descrive uno degli elementi di una comunità di rete auto-organizzata, che, oltre all'ambiente online decentralizzato, include una serie di aree offline che aumentano i vantaggi dell'ambiente online e sono "clienti" che ne determinano in gran parte la funzionalità. Ma questi sono argomenti per altri articoli che non sono direttamente correlati all'IT e alla tecnologia.

Fonte: habr.com

Aggiungi un commento