Ambiente informativo basato su principi di Open Data

Ambiente informativo basato su principi di Open Data

L'ambiente informatico proposto è una sorta di rete sociale decentralizzata. A differenza di molte soluzioni esistenti, questo ambiente offre una serie di caratteristiche utili oltre alla decentralizzazione ed è basato su soluzioni tecniche relativamente 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.

Identificatore Universale

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

In questo caso, l'email funge da identificatore utente, che è già diventato un identificatore comunemente accettato per l'autenticazione su siti web e altri servizi (jaber, openId).

L'identificatore utente in questo ambiente online è fondamentalmente una combinazione di login+domain, che viene comunemente espressa in una forma familiare per la maggior parte delle persone. Per una maggiore decentralizzazione, è auspicabile che ogni utente abbia il proprio dominio. Questo si avvicina ai principi dell'indivisible web, dove il dominio è utilizzato come identificatore utente. Nel nostro caso, l'utente aggiunge un nickname al proprio dominio, il che consente di creare più account su un unico dominio (ad esempio, per amici) e rende il sistema di indirizzamento più flessibile.

Questo formato di identificatore utente non è legato a nessuna rete specifica. Se un utente ospita i propri dati nella rete TOR, può utilizzare domini nella zona .onion; se si tratta di una rete con un sistema DNS basato su blockchain, allora possono essere utilizzati domini della tipologia .bit. Di conseguenza, il formato di indirizzamento degli utenti e dei loro dati non dipende dalla rete attraverso cui vengono trasmessi (si utilizza sempre la combinazione login+domain). Per coloro che desiderano usare un indirizzo bitcoin/ethereum come identificatore, è possibile adattare il sistema per l'uso di indirizzi email pseudo, come xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain

Indirizzamento degli oggetti

Questo ambiente online è fondamentalmente un insieme di oggetti descritti in un formato strutturato e leggibile dalla macchina, che si riferiscono ad altri oggetti e sono associati a un determinato utente (email) o progetto/organizzazione (dominio).

Come identificatori degli oggetti vengono utilizzati urn nello spazio dei nomi urn:opendata. Ad esempio, il profilo utente ha un indirizzo del tipo:

urn:opendata:profile:user@domain.com

Il commento dell'utente ha un indirizzo del tipo:

urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548

dove 08adbed93413782682fd25da77bd93c99dfd0548 è un hash sha-1 casuale che funge da id dell'oggetto, e user@domain.com è il proprietario di questo oggetto.

Il principio di pubblicazione dei dati degli utenti

Gestendo il proprio dominio, un utente può pubblicare i propri dati e contenuti abbastanza facilmente. A differenza di IndieWeb, non è necessario creare un sito con pagine HTML contenenti dati semantici.

Ad esempio, le informazioni di base sull'utente vengono pubblicate nel file datarobots.txt, che si trova all'indirizzo del tipo

http://55334.ru/konstantin@55334.ru/datarobots.txt

E ha un contenuto di questo formato:

Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txt

Quindi, in pratica, si tratta di un insieme di stringhe di dati nel formato chiave->valore, il cui parsing è un compito semplice per chiunque abbia conoscenze di programmazione di base. Inoltre, i dati possono essere modificati tramite un comune editor di testo.

Dati più complessi (profilo, commento, post, ecc.), che hanno il proprio urn — vengono restituiti sotto forma di oggetto JSON tramite l'API standard (http://opendatahub.org/api_1.0?lang=it), che può trovarsi sia sul dominio dell'utente sia su un sito esterno al quale l'utente ha delegato la memorizzazione, pubblicazione e modifica dei propri dati (nella riga Services-Enabled del file datarobots.txt). Di tali servizi esterni si discute di seguito.

Ontologia semplice e JSON

L'ontologia dell'ambiente comunicativo è relativamente semplice, rispetto alle ontologie delle basi di conoscenza settoriali. Poiché nell'ambiente comunicativo esiste un insieme relativamente ridotto di oggetti standard (post, commento, like, profilo, recensione) con un numero relativamente limitato di proprietà.

Pertanto, per descrivere oggetti in tale ambiente è sufficiente utilizzare JSON invece di un XML più complesso in termini di struttura e parsing (è importante non dimenticare la necessità di una bassa barriera all'ingresso e scalabilità).

Per ottenere un oggetto con un urn noto, è necessario rivolgersi al dominio dell'utente o 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 posizionato all'indirizzo di tipo 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 è possibile ottenere i dati sull'oggetto all'indirizzo di tipo:

http://newethnos.ru/api?urn=urn:opendata:profile:konstantin@55334.ru

L'oggetto JSON ha la seguente struttura:

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

Architettura del servizio

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

Uno dei tipi di servizi citati sopra aiuta l'utente a pubblicare i propri dati online. Possono esistere molti servizi simili, ognuno dei quali offre all'utente un'interfaccia intuitiva per modificare uno dei vari tipi di dati (forum, blog, domande e risposte, ecc.). Se l'utente non si fida dei servizi di terze parti, può installare uno script del servizio di gestione dei dati sul proprio dominio o svilupparlo autonomamente.

Oltre ai servizi che consentono agli utenti di pubblicare/modificare dati, nell'ambiente online sono previsti una serie di altri servizi che svolgono compiti relativamente complessi, difficili da realizzare sui nodi degli utenti finali.

Uno di questi tipi di servizi sono i hub di dati ( opendatahub.org/ru — esempio), che fungono da una sorta di archivio web, raccogliendo tutti i dati pubblici e leggibili dalle macchine degli utenti e fornendo accesso a questi dati tramite API.

La disponibilità di servizi in un ambiente online decentralizzato e aperto riduce significativamente la barriera d'ingresso per gli utenti, poiché non è necessaria l'installazione e la configurazione di un proprio nodo. Allo stesso tempo, l'utente mantiene il controllo sui propri dati (è sempre possibile cambiare il servizio a cui si delega la pubblicazione dei dati o creare il proprio nodo).

Se l'utente non è interessato a possedere i propri dati e non ha un proprio dominio o non conosce un dominio — per default i suoi dati sono gestiti da opendatahub.org.

Chi paga tutto questo?

Probabilmente il principale problema di praticamente tutti questi progetti decentralizzati è l'impossibilità di monetizzarli a un livello sufficiente per uno sviluppo e un supporto stabili.

Per coprire i costi di sviluppo e marketing in questo ambiente online vengono utilizzati donate + token.

Tutte le donazioni che gli utenti effettuano a progetti/servizi interni sono pubbliche, leggibili da macchina e collegate all'email. Questo consente di tenerle in considerazione, per esempio, nel calcolo del punteggio sociale interno e di pubblicarle sulle pagine degli utenti. Quando le donazioni smettono di essere anonime, in effetti gli utenti non donano, ma 'contribuiscono' al supporto dell'ambiente informativo comune. Proprio come le persone contribuiscono alla manutenzione degli spazi comuni con un atteggiamento corrispondente verso coloro che si sono rifiutati di contribuire.

Oltre alle donazioni, vengono utilizzati token emessi in numero limitato (400.000) per raccogliere fondi, che vengono accreditati a tutti coloro che effettuano donazioni al fondo principale (ethnogenesis).

Funzioni aggiuntive dei token

Ogni token è una 'chiave' per accedere a questo ambiente online. Ciò significa che si possono utilizzare i servizi e far parte dell'ambiente online solo possedendo almeno 1 token, che è legato all'email.

I token sono un ottimo filtro anti-spam grazie alla loro limitate disponibilità. Più utenti ci sono nel sistema, più è difficile ottenere un token e più costoso è creare bot.

Le persone, i loro dati e le relazioni sociali sono più importanti delle tecnologie.

L'ambiente online descritto è tecnicamente una soluzione relativamente primitiva. Ma ciò che conta di più non sono tanto le tecnologie, quanto le persone e le relazioni sociali e i dati (contenuti) creati all'interno di quell'ambiente.

La comunità sociale creata, i cui membri hanno i propri identificatori universali (email e dominio) e dati strutturati (con indirizzi URN, ontologie e oggetti JSON), può, al sorgere di una soluzione tecnica migliore, trasferire tutti questi dati in un altro ambiente online, mantenendo comunque le relazioni formate (valutazioni, punteggi) e i contenuti.

In questo post viene descritto uno degli elementi di una comunità auto-organizzata in rete, che, oltre a un ambiente online decentralizzato, include una serie di direzioni offline che aumentano i benefici dell'ambiente online e sono i "clienti", determinando in gran parte la sua funzionalità. Ma questi sono già argomenti per altri articoli che non hanno diretta relazione con l'IT e le tecnologie.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster