Die vorgeschlagene Informationsumgebung ist eine Art dezentrales soziales Netzwerk. Im Gegensatz zu vielen vorhandenen Lösungen weist diese Umgebung neben der Dezentralisierung eine Reihe nützlicher Eigenschaften auf und wird auf der Grundlage relativ einfacher und standardmäßiger technischer Lösungen (E-Mail, JSON, Textdateien und eine kleine Blockchain) erstellt. Auf diese Weise kann jeder mit grundlegenden Programmierkenntnissen seine eigenen Dienste für diese Umgebung erstellen.
Generische Kennung
In jeder Online-Umgebung sind Benutzer- und Objektkennungen eines der Schlüsselelemente des Systems.
In diesem Fall fungiert E-Mail als Benutzerkennung, die tatsächlich zu einer allgemein akzeptierten Kennung für die Autorisierung von Websites und anderen Diensten (jaber, openId) geworden ist.
Tatsächlich ist die Benutzer-ID in dieser Online-Umgebung das Paar Login + Domain, das der Einfachheit halber in der Form geschrieben ist, die den meisten bekannt ist. Darüber hinaus ist es für eine stärkere Dezentralisierung wünschenswert, dass jeder Benutzer eine eigene Domäne hat. Das liegt nahe an den Prinzipien des Einzelnen, bei dem eine Domain als Benutzer-ID verwendet wird. In unserem Fall fügt ein Benutzer seiner Domain einen Spitznamen hinzu, wodurch mehrere Konten in einer Domain erstellt werden können (z. B. für Freunde) und das Adressierungssystem flexibler wird.
Dieses Benutzer-ID-Format ist an kein Netzwerk gebunden. Wenn der Benutzer seine Daten im TOR-Netzwerk platziert, können Sie Domänen in der .onion-Zone verwenden. Wenn es sich um ein Netzwerk mit einem DNS-System in der Blockchain handelt, dann Domänen in der .bit-Zone. Infolgedessen hängt das Adressierungsformat der Benutzer und ihrer Daten nicht von dem Netzwerk ab, über das sie übertragen werden (das Login + Domain-Bundle wird überall verwendet). Für diejenigen, die die Bitcoin / Ethereum-Adresse als Kennung verwenden möchten, kann das System so geändert werden, dass Pseudo-E-Mail-Adressen wie verwendet werden
xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain
Objektadressierung
Diese Online-Umgebung besteht aus einer Reihe von Objekten, die in einer strukturierten maschinenlesbaren Form beschrieben werden, auf andere Objekte verweisen und an einen bestimmten Benutzer (E-Mail) oder ein bestimmtes Projekt / eine bestimmte Organisation (Domäne) gebunden sind.
Die Urne im Namespace urn: opendata wird als Objektkennung verwendet. Ein Benutzerprofil hat beispielsweise die Adresse des Formulars:
urn:opendata:profile:user@domain.com
Der Kommentar des Benutzers hat eine Adresse des Formulars:
urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548
Dabei ist 08adbed93413782682fd25da77bd93c99dfd0548 ein zufälliger sha-1-Hash, der als ID eines Objekts fungiert, und user@domain.com ist der Eigentümer dieses Objekts.
Prinzip der Veröffentlichung von Benutzerdaten
Mit seiner Domain unter Kontrolle kann der Benutzer seine Daten und Inhalte problemlos veröffentlichen. Und im Gegensatz zu indibeb muss hierfür keine Site mit HTML-Seiten erstellt werden, in die semantische Daten eingebettet sind.
Grundlegende Informationen zu einem Benutzer befinden sich beispielsweise in der Datei datarobots.txt unter einer Adresse wie
http://55334.ru/konstantin@55334.ru/datarobots.txt
Und es hat Inhalt dieses Formats:
Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txt
Das heißt, es handelt sich in der Tat um eine Reihe von Zeichenfolgen mit Daten der Form key-> value, was für jede Person mit grundlegenden Programmierkenntnissen eine einfache Aufgabe ist. Auf Wunsch können Sie die Daten auch über einen normalen Notizblock bearbeiten.
Komplexere Daten (Profil, Kommentar, Beitrag usw.) mit eigener Urne werden mithilfe der Standard-API (http://opendatahub.org/api_1.0?lang=ru) als JSON-Objekt zurückgegeben in der Domäne des Benutzers und auf einer Website eines Drittanbieters, an die der Benutzer die Speicherung, Veröffentlichung und Bearbeitung seiner Daten delegiert hat (in der Zeile "Dienste aktiviert" der Datei "datarobots.txt"). Solche Dienste von Drittanbietern werden nachstehend beschrieben.
Einfache Ontologie und JSON
Die Ontologie der Kommunikationsumgebung ist im Vergleich zur Ontologie der Branchen-Wissensdatenbanken relativ einfach. Da es in der Kommunikationsumgebung einen relativ kleinen Satz von Standardobjekten (Post, Kommentar, wie, Profil, Überprüfung) mit einem relativ kleinen Satz von Eigenschaften gibt.
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 der uns bekannten Urne zu erhalten, müssen Sie sich auf die Domäne des Benutzers oder auf Dienste von Drittanbietern beziehen, an die der Benutzer die Verwaltung seiner Daten delegiert hat.
In dieser Online-Umgebung verfügt jede Domain, auf der der Onlinedienst vorhanden ist, auch über eine eigene datarobots.txt unter einer Adresse wie example.com/datarobots.txt mit ähnlichem Inhalt:
Object: service
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0
Daraus können wir ersehen, dass Sie Daten über das Objekt unter der Adresse des Formulars
abrufen können : http://newethnos.ru/api?urn=urn:opendata:profile:konstantin@55334.ru Das
JSON-Objekt hat die folgende Struktur:
{
"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
}
}
}
Servicearchitektur
Dienste von Drittanbietern sind erforderlich, um das Veröffentlichen und Abrufen von Daten für Endbenutzer zu vereinfachen.
Oben wurde eine der Arten von Diensten erwähnt, die dem Benutzer helfen, seine Daten im Netzwerk zu veröffentlichen. Es kann viele solcher Dienste geben, von denen jeder dem Benutzer eine bequeme Oberfläche zum Bearbeiten eines der Datentypen (Forum, Blog, Frage-Antwort usw.) bietet. Wenn der Benutzer Diensten von Drittanbietern nicht vertraut, kann er ein Dienstskript für die Arbeit mit Daten in seiner Domäne installieren oder unabhängig entwickeln.
Neben Diensten, mit denen Benutzer Daten veröffentlichen / bearbeiten können, werden in der Online-Umgebung eine Reihe weiterer Dienste bereitgestellt, die relativ komplexe Aufgaben ausführen, deren Implementierung auf Endbenutzerknoten recht problematisch ist.
Eine der Arten solcher Dienste sind Daten-Hubs ( opendatahub.org/ru ist ein Beispiel), die als eine Art Webarchiv fungieren, das alle öffentlichen maschinenlesbaren Benutzerdaten sammelt und über eine API auf sie zugreift.
Das Vorhandensein von Diensten in einer solchen offenen, dezentralen Online-Umgebung verringert die Eintrittsschwelle für Benutzer erheblich, da kein eigener Knoten installiert und konfiguriert werden muss. Gleichzeitig behält der Benutzer die Kontrolle über seine Daten (Sie können jederzeit den Dienst ändern, an den die Datenveröffentlichung delegiert wird, oder Ihren eigenen Knoten erstellen).
Wenn der Benutzer überhaupt nicht daran interessiert ist, seine Daten zu besitzen, und er keine eigene Domain hat oder mit der Domain vertraut ist, verwaltet opendatahub.org seine Daten standardmäßig.
Auf wessen Kosten ist das alles?
Vielleicht ist das Hauptproblem fast aller derartigen dezentralen Projekte die Unmöglichkeit ihrer Monetarisierung auf einem Niveau, das für eine stabile Entwicklung und Unterstützung ausreicht.
Spenden + Token werden verwendet, um die Entwicklungs- und Marketingkosten in dieser Online-Umgebung zu decken.
Alle Spenden, die Benutzer an interne Projekte / Dienste leisten, sind öffentlich, maschinenlesbar und an E-Mails gebunden. Auf diese Weise können Sie sie beispielsweise bei der Berechnung der sozialen Bewertung im Intranet berücksichtigen und auf den Seiten der Benutzer veröffentlichen. Wenn Spenden nicht mehr anonym sind, spenden Benutzer tatsächlich nicht, sondern „werfen ab“, um die gemeinsame Informationsumgebung zu unterstützen. Genauso wie sich Leute für die Reparatur öffentlicher Plätze mit einer angemessenen Einstellung gegenüber jenen Leuten abwerfen, die sich weigerten, abzulegen.
Zusätzlich zu Spenden werden zur Beschaffung von Geldern Token in begrenzter Höhe (400.000) verwendet, die an alle vergeben werden, die an den Hauptfonds spenden (Ethnogenese).
Zusätzliche Funktionen von Token
Jedes 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 mindestens 1 Token haben, das an Ihre E-Mail gebunden ist.
Token sind aufgrund ihrer Einschränkungen ein guter Spamfilter. Je mehr Benutzer sich im System befinden, desto schwieriger ist es, einen Token zu erhalten, und desto teurer ist es, Bots zu erstellen.
Menschen, ihre Daten und sozialen Verbindungen sind wichtiger als Technologie
Die beschriebene Online-Umgebung ist technisch eine relativ primitive Lösung. Wichtiger dabei sind jedoch weniger Technologie als Menschen und die in der Umwelt geschaffenen sozialen Verbindungen und Daten (Inhalte).
Die erstellte soziale Community, deren Mitglieder über eigene universelle Kennungen (E-Mail und eigene Domain) und strukturierte Daten (mit URN-Adressen, Ontologie und JSON-Objekten) verfügen, wenn eine bessere technische Lösung angezeigt wird, kann alle diese Daten unter Beibehaltung der gebildeten Links in eine andere Online-Umgebung übertragen (Bewertungen, Bewertungen) und Inhalt.
Dieser Beitrag beschreibt eines der Elemente einer selbstorganisierten Netzwerkgemeinschaft, die neben einer dezentralen Online-Umgebung eine Reihe von Offline-Bereichen umfasst, die die Vorteile der Online-Umgebung erhöhen und „Kunden“ sind, die deren Funktionalität maßgeblich bestimmen. Dies sind jedoch bereits Themen für andere Artikel, die nicht direkt mit IT und Technologie zusammenhängen.