
L'environnement d'information proposé est une sorte de réseau social décentralisé. Mais contrairement à de nombreuses solutions existantes, cet environnement possède plusieurs propriétés utiles en plus de la décentralisation et est basé sur des solutions techniques relativement simples et standard (email, json, fichiers texte et un peu de blockchain). Cela permet à quiconque ayant des connaissances de base en programmation de créer ses propres services pour cet environnement.
Identifiant universel
Dans tout environnement en ligne, les identifiants des utilisateurs et des objets sont l'un des éléments clés du système.
Dans ce cas, l'identifiant de l'utilisateur est l'email, qui est déjà devenu l'identifiant commun pour l'autorisation sur les sites et d'autres services (jaber, openId).
L'identifiant de l'utilisateur dans cet environnement en ligne est en fait une paire login+domaine, qui est enregistrée de manière pratique pour la majorité. Pour une plus grande décentralisation, chaque utilisateur devrait idéalement avoir son propre domaine. Cela se rapproche des principes de l'indivweb, où le domaine est utilisé comme identifiant utilisateur. Dans notre cas, l'utilisateur ajoute son pseudonyme à son domaine, permettant de créer plusieurs comptes sur un même domaine (pour des amis, par exemple) et rendant le système d'adressage plus flexible.
Ce format d'identifiant utilisateur n'est lié à aucun réseau spécifique. Si un utilisateur héberge ses données sur le réseau TOR, des domaines dans la zone .onion peuvent être utilisés, et si c'est un réseau avec un système DNS sur blockchain, des domaines de type .bit. En fin de compte, le format d'adressage des utilisateurs et de leurs données ne dépend pas du réseau à travers lequel ils sont transmis (la paire login+domaine est utilisée partout). Pour ceux qui souhaitent utiliser une adresse bitcoin/ethereum comme identifiant, le système peut être modifié pour utiliser des adresses email pseudonymes du type xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain
Adressage des objets
Cet environnement en ligne est en fait un ensemble d'objets qui sont décrits de manière structurée et lisible par machine, référencent d'autres objets et sont liés à un utilisateur spécifique (email) ou à un projet/organisation (domaine).
Les identifiants des objets sont des urn dans l'espace de noms urn:opendata. Par exemple, le profil d'utilisateur a une adresse de type :
urn:opendata:profile:user@domain.comLe commentaire de l'utilisateur a une adresse de type :
urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548où 08adbed93413782682fd25da77bd93c99dfd0548 est un hachage sha-1 aléatoire servant d'id d'objet, et user@domain.com est le propriétaire de cet objet.
Principe de publication des données utilisateurs
En ayant son propre domaine, un utilisateur peut facilement publier ses données et son contenu. Contrairement à un site individuel, il n'est pas nécessaire de créer un site avec des pages html intégrant des données sémantiques.
Par exemple, les informations de base sur l'utilisateur sont placées dans un fichier datarobots.txt, qui se trouve à une adresse de type
http://55334.ru/konstantin@55334.ru/datarobots.txtEt a un contenu de ce format :
Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txtC'est-à-dire, en fait, c'est un ensemble de lignes avec des données de type clé->valeur, les analyser est une tâche simple pour quiconque a des connaissances de base en programmation. Et les données peuvent être modifiées si désiré via un éditeur de texte standard.
Des données plus complexes (profil, commentaire, post, etc.) ayant leur urn sont retournées sous forme d'objet JSON via une API standard (http://opendatahub.org/api_1.0?lang=fr), qui peut être hébergée soit sur le domaine de l'utilisateur, soit sur un site externe auquel l'utilisateur a délégué la conservation, la publication et la modification de ses données (dans la ligne Services-Enabled du fichier datarobots.txt). Des informations sur de tels services externes sont détaillées ci-dessous.
Ontologie simple et JSON
L'ontologie de l'environnement de communication est relativement simple, comparativement aux ontologies des bases de connaissances sectorielles. Dans l'environnement de communication, il existe un ensemble relativement restreint d'objets standards (post, commentaire, like, profil, avis) avec un ensemble relativement limité de propriétés.
Par conséquent, pour décrire des objets dans cet environnement, il suffit d'utiliser JSON plutôt qu'un XML plus complexe en structure et en analyse (il est important de ne pas oublier la nécessité d'un seuil d'entrée bas et d'évolutivité).
Pour obtenir un objet avec un urn connu, il faut s'adresser au domaine de l'utilisateur ou aux services externes auxquels l'utilisateur a délégué la gestion de ses données.
Dans cet environnement en ligne, chaque domaine où existe un service en ligne possède également son fichier datarobots.txt, accessible à l'adresse example.com/datarobots.txt, avec un contenu similaire à :
Objet : service
Api : http://newethnos.ru/api
Api-Version : http://opendatahub.org/api_1.0D'où nous pouvons savoir que pour obtenir des données sur l'objet, il est possible de se rendre à une adresse du type :
Un objet JSON a cette structure :
{
"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
}
}
}Architecture de service
Les services tiers sont nécessaires pour simplifier le processus de publication et de recherche de données par les utilisateurs finaux.
Un des types de services mentionnés ci-dessus aide l'utilisateur à publier ses données en ligne. Il peut exister de nombreux services similaires, chacun fournissant à l'utilisateur une interface conviviale pour éditer un type de données (forum, blog, questions-réponses, etc.). Si l'utilisateur ne fait pas confiance aux services tiers, il peut installer sur son domaine un script de service de gestion des données ou le développer lui-même.
Outre les services permettant aux utilisateurs de publier/éditer des données, un certain nombre d'autres services existent dans l'environnement en ligne, exécutant des tâches relativement complexes qui sont assez difficiles à réaliser sur les nœuds des utilisateurs finaux.
Un de ces types de services est les hubs de données ( — exemple), jouant le rôle d'un véritable archive web, qui rassemble toutes les données publiques lisibles par machine des utilisateurs et y donne accès via API.
La présence de services dans un tel environnement en ligne décentralisé et ouvert abaisse considérablement le seuil d'entrée pour les utilisateurs, car il n'est pas nécessaire d'installer et de configurer son propre nœud. En même temps, l'utilisateur conserve le contrôle de ses données (il peut à tout moment changer de service auquel il délègue la publication de données ou créer son propre nœud).
Si l'utilisateur ne s'intéresse pas du tout à la possession de ses données et n'a pas de domaine ou de connaissance de domaine — alors, par défaut, ses données sont gérées par opendatahub.org.
À qui revient tout cela ?
Sans doute, le principal problème de presque tous ces projets décentralisés est l'incapacité à les monétiser à un niveau suffisant pour leur développement stable et leur soutien.
Pour couvrir les coûts de développement et de marketing dans cet environnement en ligne, nous utilisons des dons + des tokens.
Tous les dons que les utilisateurs font aux projets/services internes sont accessibles au public, lisibles par machine et liés à l'email. Cela permet de les prendre en compte, par exemple, lors du calcul du score social interne et de les publier sur les pages des utilisateurs. Lorsque les dons ne sont plus anonymes, les utilisateurs ne donnent en fait pas, mais « cotisent » pour soutenir un environnement informationnel commun. Tout comme les gens cotisent pour la réparation des espaces communs, avec le respect dû à ceux qui ont refusé de cotiser.
En plus des dons, des tokens émis en quantité limitée (400 000) sont utilisés pour attirer des fonds, qui sont attribués à tous ceux qui font des dons au fonds principal (ethnogenesis).
Fonctions supplémentaires des tokens
Chaque token est une « clé » d'accès à cet environnement en ligne. En d'autres termes, pour utiliser les services et faire partie de l'environnement en ligne, il faut posséder au moins 1 token, qui est lié à l'email.
Les tokens sont un bon filtre anti-spam en raison de leur rareté. Plus il y a d'utilisateurs dans le système, plus il devient difficile d'obtenir un token et plus il est coûteux de créer des bots.
Les gens, leurs données et leurs connexions sociales sont plus importants que la technologie.
L'environnement en ligne décrit est techniquement une solution relativement primitive. Cependant, ce qui est plus important, ce ne sont pas tant les technologies, mais les personnes et les connexions sociales et les données créées à l'intérieur de cet environnement (contenu).
Une communauté sociale créée, dont les participants possèdent des identifiants universels (e-mail et domaine propre) ainsi que des données structurées (avec des adresses URN, une ontologie et des objets JSON), peut transférer toutes ces données vers un autre environnement en ligne lors de l'émergence d'une meilleure solution technique, tout en préservant les relations établies (notations, évaluations) et le contenu.
Ce poste décrit l'un des éléments d'une communauté auto-organisée en réseau, qui, en plus d'un environnement en ligne décentralisé, comprend plusieurs initiatives hors ligne qui augmentent l'utilité de l'environnement en ligne et agissent comme des « clients », définissant en grande partie sa fonctionnalité. Mais ce sont des sujets pour d'autres articles, n'ayant pas de relation directe avec l'IT et les technologies.
Source : habr.com
