
Den föreslagna informationsmiljön är en slags decentraliserad social nätverksplattform. Men till skillnad från många existerande lösningar har denna miljö en rad användbara egenskaper utöver decentralisering och är baserad på ganska enkla och standardiserade tekniska lösningar (e-post, json, textfiler och lite blockkedja). Detta möjliggör för vem som helst med grundläggande programmeringskunskaper att skapa sina egna tjänster för denna miljö.
Universell identifierare
I alla online-miljöer är användar- och objektsidentifierare en av systemets nyckelelement.
I detta fall fungerar e-posten som användaridentifierare, som redan har blivit en allmänt accepterad identifierare för inloggning på webbplatser och andra tjänster (jaber, openId).
Faktiskt är användarens identifierare i denna online-miljö ett par login+domän, som för bekvämlighetens skull skrivs på ett sätt som de flesta är vana vid. För att uppnå större decentralisering är det önskvärt att varje användare har sin egen domän. Detta ligger nära principerna för indieweb, där domänen används som användaridentifierare. I vårt fall lägger användaren till sitt användarnamn till sin domän, vilket möjliggör skapandet av flera konton på en och samma domän (för vänner, till exempel) och gör adresseringssystemet mer flexibelt.
Denna typ av användaridentifierare är inte kopplad till något specifikt nätverk. Om användaren lagrar sina data i TOR-nätverket kan domäner i zonen .onion användas; om det är ett nätverk med ett DNS-system på blockkedjan så är domäner i zoner som .bit möjliga. Resultatet blir att formatet för adressering av användare och deras data inte beror på det nätverk genom vilket de överförs (överallt används kombinationen login+domän). För dem som vill använda en bitcoin/ethereum-adress som identifierare kan systemet anpassas för att använda pseudoe-postadresser av typen xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain
Objekts adressering
Denna online-miljö är i själva verket en uppsättning objekt som beskrivs i ett strukturerat, maskinläsbart format, refererar till andra objekt och är kopplade till en viss användare (e-post) eller projekt/organisation (domän).
Identifier för objekt använder urn i namnrymden urn:opendata. Till exempel har användarprofilen en adress av typen:
urn:opendata:profile:user@domain.comKommentar från användaren har en adress av typen:
urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548där 08adbed93413782682fd25da77bd93c99dfd0548 är en slumpmässig sha-1 hash som fungerar som objektets id, och user@domain.com är ägaren av detta objekt.
Principen för publicering av användardata
Genom att ha kontroll över sin egen domän kan användaren enkelt publicera sina data och innehåll. Och till skillnad från indibeba, krävs det inte att skapa en webbplats med html-sidor där semantisk data är inbäddad.
Till exempel placeras grundläggande information om användaren i en fil datarobots.txt, som finns på en adress av typen
http://55334.ru/konstantin@55334.ru/datarobots.txtoch har innehåll i följande format:
Object: user
Services-Enabled: 55334.ru,newethnos.ru
Ethnos: newethnos
Delegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txtSå, i praktiken, är det ett set med strängar med data av typen nyckel->värde, vilket är en enkel uppgift att parsa för vem som helst med grundläggande programmeringskunskaper. Data kan redigeras med vanliga textredigerare om så önskas.
Mer komplexa data (profil, kommentar, inlägg etc.) som har sin egen urn, levereras som ett JSON-objekt via en standard API (http://opendatahub.org/api_1.0?lang=ru), vilket kan finnas antingen på användarens domän eller på en extern webbplats som användaren har delegerat lagring, publicering och redigering av sina data till (i raden Services-Enabled i filen datarobots.txt). Om sådana externa tjänster skrivs det nedan.
En enkel ontologi och JSON
Ontologin för kommunikationsmiljön är relativt enkel jämfört med ontologierna för branschspecifika kunskapsbaser. Eftersom det i kommunikationsmiljön finns ett relativt litet antal standardobjekt (inlägg, kommentar, gillande, profil, recension) med ett relativt litet antal egenskaper.
Så för att beskriva objekt i en sådan miljö räcker det med att använda JSON istället för det mer strukturellt komplexa och parsingkrävande XML (det är viktigt att inte glömma bort behovet av låg inträdeströskel och skalbarhet).
För att få ett objekt med ett känt urn måste man vända sig till användarens domän eller externa tjänster som användaren har delegerat hanteringen av sina data till.
I denna online-miljö har varje domän som har en onlinetjänst också sin egen datarobots.txt som placeras på adressen exempel.com/datarobots.txt med liknande innehåll:
Objekt: tjänst
Api: http://newethnos.ru/api
Api-Version: http://opendatahub.org/api_1.0Från vilken vi kan få veta att vi kan hämta data om objektet på en adress av typen:
JSON-objektet har följande struktur:
{
"urn": "urn:opendata:profile:exempel@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
}
}
}Tjänstearkitektur
Tredje part-tjänster är nödvändiga för att förenkla publicerings- och datainsamlingsprocessen för slutanvändarna.
Ovan nämndes en typ av tjänster som hjälper användaren att publicera sina data på nätet. Det kan finnas många liknande tjänster, var och en av dem erbjuder användaren ett bekvämt gränssnitt för att redigera en typ av data (forum, blogg, fråga-svar, etc.). Om användaren inte litar på tredje part-tjänster kan han installera ett skript för denna tjänst på sin domän eller utveckla det själv.
Förutom tjänster som låter användare publicera/redigera data – finns det en rad andra tjänster i online-miljön som utför relativt komplexa uppgifter, vilket kan vara problematiskt att genomföra på slutanvändarnoder.
En typ av sådana tjänster är datacenterhubbar ( — ett exempel), som fungerar som en slags webbarkiv som samlar in all offentlig maskinläsbar data från användare och ger tillgång till den via API.
Tilstedeværelsen av tjänster i en så öppen decentraliserad online-miljö sänker avsevärt ingångströskeln för användare, eftersom det inte finns något behov av att installera och konfigurera sin egen nod. Samtidigt behåller användaren kontrollen över sina data (man kan när som helst byta tjänst som han delegerar publiceringen av data till eller skapa sin egen nod).
Om en användare inte är intresserad av att äga sina egna data och saknar en egen domän eller bekantskaper inom domänområdet, så hanteras dennes data som standard av opendatahub.org.
Vem står för allt detta?
Troligtvis är det största problemet med nästan alla sådana decentraliserade projekt oförmågan att monetisera på en nivå som är tillräcklig för stabil tillväxt och support.
För att täcka kostnaderna för utveckling och marknadsföring används donate + tokens i denna online-miljö.
Alla donationer som användare gör till interna projekt/tjänster är offentliga, maskinläsbara och kopplade till en e-postadress. Detta möjliggör att de kan beaktas, exempelvis vid beräkning av sociala nätverksbetyg och publiceras på användarsidor. När donationer slutar vara anonyma bidrar användare faktiskt inte, utan "går ihop" för att stödja den gemensamma informationsmiljön. Precis som människor går ihop för att renovera gemensamma utrymmen med ett motsvarande förhållande till dem som vägrar bidra.
Förutom donationer används tokens som emitteras i begränsad mängd (400.000) för att locka medel, vilka tilldelas alla som donerar till den huvudsakliga fonden (ethnogenesis).
Ytterligare funktioner hos tokens
Varje token fungerar som en "nyckel" för att få tillgång till denna online-miljö. Det vill säga att använda tjänsterna och vara en del av online-miljön är endast möjligt med minst 1 token, som kopplas till ens e-postadress.
Tokens fungerar som en bra skräppostfilter på grund av sin begränsade mängd. Ju fler användare i systemet, desto svårare är det att få en token och desto mer kostsamt blir det att skapa botar.
Människor, deras data och sociala relationer är viktigare än teknologin
Den beskrivna online-miljön är tekniskt sett en relativt primitiv lösning. Men det viktigaste är inte så mycket teknologin, utan människorna och de sociala relationer och data (innehåll) som skapas inom miljön.
Det skapade sociala gemenskapen, vars deltagare har sina universella identifierare (e-post och egen domän) och strukturerad data (med URN-adresser, ontologier och JSON-objekt) kan, vid framkomsten av en bättre teknisk lösning, överföra all denna data till en annan online-miljö, samtidigt som de skapade kopplingarna (betyg, omdömen) och innehållet bevaras.
I det här inlägget beskrivs ett av element som utgör det nätverksbaserade självorganiserade samhället, som förutom den decentraliserade online-miljön inkluderar en rad offline-inriktningar som ökar nyttan av online-miljön och fungerar som 'beställare', som i stor utsträckning definierar dess funktionalitet. Men det här är teman för andra artiklar som inte har något direkt samband med IT och teknik.
Källa: habr.com
