Informationsumgebung basierend auf Open-Data-Prinzipien

Informationsumgebung basierend auf Open-Data-Prinzipien

Die vorgeschlagene Informationsumgebung ist eine Art dezentrales soziales Netzwerk. Aber im Gegensatz zu vielen bestehenden Lösungen verfügt diese Umgebung neben der Dezentralisierung über eine Reihe nützlicher Eigenschaften und wird auf der Grundlage relativ einfacher und standardisierter technischer Lösungen (E-Mail, JSON, Textdateien und ein wenig Blockchain) erstellt. Dadurch kann jeder mit grundlegenden Programmierkenntnissen eigene Dienste für diese Umgebung erstellen.

Universelle ID

In jeder Online-Umgebung sind Benutzer- und Objektkennungen eines der Schlüsselelemente des Systems.

In diesem Fall ist die Benutzerkennung E-Mail, die tatsächlich zu einer allgemein akzeptierten Kennung für die Autorisierung auf Websites und anderen Diensten geworden ist (jaber, openId).

Tatsächlich ist die Benutzerkennung in einer bestimmten Online-Umgebung das Paar Login+Domäne, das der Einfachheit halber in der den meisten vertrauten Form geschrieben ist. Gleichzeitig empfiehlt es sich für eine stärkere Dezentralisierung, dass jeder Benutzer über eine eigene Domain verfügt. Dies kommt den Prinzipien des Indieweb nahe, bei dem eine Domain als Benutzerkennung verwendet wird. In unserem Fall fügt der Benutzer seiner Domain einen Spitznamen hinzu, der es ihm ermöglicht, mehrere Konten auf einer Domain zu erstellen (z. B. für Freunde) und das Adressierungssystem flexibler macht.

Dieses Benutzer-ID-Format ist an kein Netzwerk gebunden. Stellt ein Nutzer seine Daten im TOR-Netzwerk, dann kann er Domains in der .onion-Zone nutzen; wenn es sich um ein Netzwerk mit einem DNS-System auf der Blockchain handelt, dann Domains in der .bit-Zone. Dadurch ist das Format der Ansprache von Nutzern und deren Daten unabhängig vom Netzwerk, über das sie übertragen werden (überall wird die Kombination Login+Domain verwendet). Für diejenigen, die eine Bitcoin-/Ethereum-Adresse als Kennung verwenden möchten, können Sie das System so ändern, dass es Pseudo-E-Mail-Adressen der Form verwendet [email protected]

Adressierung von Objekten

Bei dieser Online-Umgebung handelt es sich eigentlich um eine Reihe von Objekten, die in strukturierter, maschinenlesbarer Form beschrieben werden, auf andere Objekte verweisen und an einen bestimmten Benutzer (E-Mail) oder Projekt/Organisation (Domäne) gebunden sind.

Urnen im Namensraum urn:opendata werden als Objektbezeichner verwendet. Ein Benutzerprofil hat beispielsweise eine Adresse wie:

urn:opendata:profile:[email protected]

Der Benutzerkommentar hat eine Adresse wie:

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

wobei 08adbed93413782682fd25da77bd93c99dfd0548 ein zufälliger SHA-1-Hash ist, der als Objekt-ID fungiert, und [E-Mail geschützt] — der Eigentümer dieses Objekts.

Prinzip der Veröffentlichung von Benutzerdaten

Mit der Kontrolle über die eigene Domain kann der Nutzer seine Daten und Inhalte ganz einfach veröffentlichen. Und im Gegensatz zu Indiebeb ist hierfür keine Website mit HTML-Seiten mit integrierten semantischen Daten erforderlich.

Grundlegende Informationen über den Benutzer befinden sich beispielsweise in der Datei datarobots.txt, die sich unter einer Adresse wie befindet

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

Und es hat Inhalte wie diesen:

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

Das heißt, es handelt sich tatsächlich um eine Reihe von Zeichenfolgen mit Daten der Form Schlüssel->Wert, deren Analyse für jeden mit grundlegenden Programmierkenntnissen eine einfache Aufgabe ist. Und Sie können die Daten bei Bedarf mit einem normalen Notizblock bearbeiten.

Komplexere Daten (Profil, Kommentar, Beitrag usw.), die über eine eigene Urne verfügen, werden als JSON-Objekt über die Standard-API (http://opendatahub.org/api_1.0?lang=ru) gesendet, die dies kann sich auf der Domain des Benutzers und auf einer Website eines Drittanbieters befinden, an die der Benutzer die Speicherung, Veröffentlichung und Bearbeitung seiner Daten delegiert hat (in der Zeile „Services-Enabled“ der Datei „datarobots.txt“). Solche Dienste Dritter werden im Folgenden beschrieben.

Einfache Ontologie und JSON

Die Ontologie der Kommunikationsumgebung ist im Vergleich zu Ontologien von Branchenwissensdatenbanken relativ einfach. Denn in der Kommunikationsumgebung gibt es einen relativ kleinen Satz an Standardobjekten (Beitrag, Kommentar, Like, Profil, Rezension) mit einem relativ kleinen Satz an Eigenschaften.

Um Objekte in einer solchen Umgebung zu beschreiben, reicht es daher aus, JSON anstelle von XML zu verwenden, das in Struktur und Analyse komplexer ist (es ist wichtig, die Notwendigkeit einer niedrigen Eintrittsschwelle und Skalierbarkeit nicht zu vergessen).

Um ein Objekt mit einer bekannten Urne zu erhalten, müssen wir die Domäne des Benutzers oder Drittanbieterdienste kontaktieren, an die der Benutzer die Verwaltung seiner Daten delegiert hat.

In dieser Online-Umgebung verfügt jede Domain, auf der ein Onlinedienst existiert, auch über eine eigene datarobots.txt, die sich unter einer Adresse wie example.com/datarobots.txt mit ähnlichem Inhalt befindet:

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

Daraus können wir lernen, dass wir Daten über ein Objekt an einer Adresse wie der folgenden erhalten können:

http://newethnos.ru/api?urn=urn:opendata:profile:[E-Mail geschützt]

Das JSON-Objekt hat die folgende 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
        }
    }
}

Servicearchitektur

Um den Prozess der Veröffentlichung und Suche von Daten für Endbenutzer zu vereinfachen, sind Dienste von Drittanbietern erforderlich.

Oben erwähnt handelt es sich um eine der Arten von Diensten, die dem Benutzer helfen, seine Daten im Netzwerk zu veröffentlichen. Es kann viele ähnliche Dienste geben, von denen jeder dem Benutzer eine praktische Schnittstelle zum Bearbeiten einer der Datenarten (Forum, Blog, Frage-Antwort usw.) bietet. Wenn der Benutzer den Diensten von Drittanbietern nicht vertraut, kann er ein Datendienstskript auf seiner Domain installieren oder selbst entwickeln.

Neben Diensten, die es Benutzern ermöglichen, Daten zu veröffentlichen/bearbeiten, bietet die Online-Umgebung eine Reihe anderer Dienste, die relativ komplexe Aufgaben ausführen, deren Implementierung auf Endbenutzerknoten recht problematisch ist.

Eine Art solcher Dienste sind Datenhubs ( opendatahub.org/ru - Beispiel), das als eine Art Webarchiv fungiert, das alle öffentlichen maschinenlesbaren Benutzerdaten sammelt und über eine API Zugriff darauf bietet.

Das Vorhandensein von Diensten in einer solchen offenen, dezentralen Online-Umgebung verringert die Eintrittsbarriere für Benutzer erheblich, da keine Notwendigkeit besteht, einen eigenen Knoten zu installieren und zu konfigurieren. Gleichzeitig behält der Nutzer die Kontrolle über seine Daten (er kann jederzeit den Dienst ändern, an den die Veröffentlichung der Daten delegiert wird, oder einen eigenen Knoten erstellen).

Wenn der Benutzer überhaupt kein Interesse daran hat, seine Daten zu besitzen und keine eigene Domain oder jemanden hat, der mit der Domain vertraut ist, werden seine Daten standardmäßig von opendatahub.org verwaltet.

Auf wessen Kosten geht das alles?

Das Hauptproblem fast aller dieser dezentralen Projekte ist möglicherweise die Unfähigkeit, sie auf einem für eine stabile Entwicklung und Unterstützung ausreichenden Niveau zu monetarisieren.

Spenden + Token werden zur Deckung der Entwicklungs- und Marketingkosten in dieser Online-Umgebung verwendet.

Alle Spenden, die Benutzer an interne Projekte/Dienste tätigen, sind öffentlich zugänglich, maschinenlesbar und mit E-Mails verknüpft. Dadurch können sie beispielsweise bei der Berechnung des Online-Social-Ratings berücksichtigt und auf Nutzerseiten veröffentlicht werden. Wenn Spenden nicht mehr anonym sind, dann spenden die Nutzer faktisch nicht, sondern „spenden“ einen Beitrag, um das allgemeine Informationsumfeld zu unterstützen. Genauso wie Leute, die ihren Beitrag leisten, um Gemeinschaftsräume zu reparieren, mit einer angemessenen Einstellung gegenüber den Leuten, die sich geweigert haben, mitzuhelfen.

Zusätzlich zu Spenden werden zur Mittelbeschaffung Token in begrenzter Menge (400.000) verwendet, die an alle vergeben werden, die an den Hauptfonds (Ethnogenese) spenden.

Zusätzliche Token-Funktionen

Jeder Token ist ein „Schlüssel“ für den Zugriff auf diese Online-Umgebung. Das heißt, Sie können Dienste nur dann nutzen und Teil der Online-Umgebung sein, wenn Sie über mindestens 1 Token verfügen, der an eine E-Mail gebunden ist.

Aufgrund ihrer begrenzten Beschaffenheit sind Token ein guter Spamfilter. Je mehr Benutzer es im System gibt, desto schwieriger ist es, an einen Token zu kommen, und desto teurer ist die Erstellung von Bots.

Menschen, ihre Daten und sozialen Verbindungen sind wichtiger als Technologie

Die beschriebene Online-Umgebung ist technisch gesehen eine relativ primitive Lösung. Aber das Wichtigste dabei ist nicht so sehr die Technologie, sondern die Menschen und die sozialen Verbindungen und Daten (Inhalte), die in der Umgebung entstehen.

Die geschaffene soziale Gemeinschaft, deren Mitglieder über eigene universelle Identifikatoren (E-Mail und eigene Domäne) und strukturierte Daten (mit URN-Adressen, Ontologie und JSON-Objekten) verfügen, kann alle diese Daten, wenn eine bessere technische Lösung erscheint, in eine andere Online-Umgebung übertragen. unter Beibehaltung der gebildeten Verbindungen (Bewertungen, Ratings) und Inhalte.

In diesem Beitrag wird eines der Elemente einer selbstorganisierten Netzwerkgemeinschaft beschrieben, die neben der dezentralen Online-Umgebung eine Reihe von Offline-Bereichen umfasst, die den Nutzen der Online-Umgebung erhöhen und deren „Kunden“ maßgeblich über deren Funktionalität entscheiden. Aber das sind Themen für andere Artikel, die nicht direkt mit IT und Technologie zu tun haben.

Source: habr.com

Kommentar hinzufügen