
Šajā rakstā es izklāstu savas pārdomas par interneta, centralizēto un decentralizēto tīklu vēsturi un attīstības perspektīvām un, galu galā, par nākamās paaudzes decentralizētā tīkla iespējamo arhitektūru.
Ar internetu kaut kas nav kārtībā.
Pirmo reizi ar internetu saskāros 2000. gadā. Protams, tas nebūt nav pats sākums — tīmeklis pastāvēja jau pirms tam —, taču šo laiku varētu saukt par interneta pirmo uzplaukuma laiku. Vispasaules tīmeklis — Tima Bernersa-Lī izcilais izgudrojums, Web 1.0 tā klasiskajā, kanoniskajā formā. Daudz tīmekļa vietņu un lapu, kas savstarpēji saistītas. No pirmā acu uzmetiena arhitektūra ir vienkārša, tāpat kā visas ģeniālās lietas: decentralizēta un bezmaksasEs vēlos pārlūkot citu cilvēku tīmekļa vietnes, klikšķinot uz hipersaitēm; es vēlos izveidot savu tīmekļa vietni, kurā publicēju to, kas mani interesē — piemēram, savus rakstus, fotogrāfijas, programmas, hipersaites uz vietnēm, kuras man šķiet interesantas. Un citi publicē saites uz manējām.
Šķiet idilliska aina, vai ne? Bet jūs jau zināt, kā tas viss beidzās.
Lappušu skaits kļuva pārāk liels, un informācijas meklēšana kļuva par ārkārtīgi sarežģītu uzdevumu. Autoru rakstītās hipersaites vienkārši nespēja strukturēt šo milzīgo informācijas apjomu. Vispirms parādījās manuāli veidoti katalogi, pēc tam milzīgas meklētājprogrammas, kas sāka izmantot sarežģītus heiristiskus ranžēšanas algoritmus. Tīmekļa vietnes tika izveidotas un pamestas, informācija tika dublēta un sagrozīta. Internets strauji komercializējās un arvien vairāk attālinājās no ideālā akadēmiskā tīkla. Iezīmēšanas valoda ātri kļuva par formatēšanas valodu. Parādījās reklāma, kā arī nepatīkami, kaitinoši reklāmkarogi un SEO — tehnoloģija meklētājprogrammu reklamēšanai un maldināšanai. Internets ātri vien tika pārpildīts ar informatīviem atkritumiem. Hipersaites pārstāja būt loģiskas saiknes instruments un kļuva par reklāmas instrumentu. Tīmekļa vietnes attālinājās, noslēdzās sevī, pārvēršoties no atvērtām "lapām" par hermētiski noslēgtām "lietotnēm", kļūstot tikai par ienākumu gūšanas līdzekli.
Jau toreiz mani mocīja sajūta, ka kaut kas nav kārtībā. Milzum daudz dažādu tīmekļa vietņu, sākot no primitīvām sākumlapām ar košīgu izskatu līdz "megaportāliem", kas pārpildīti ar mirgojošiem baneriem. Pat ja vietnes bija par vienu un to pašu tēmu, tās bija pilnīgi nesaistītas; katrai bija savs dizains, sava struktūra, kaitinoši baneri, slikti funkcionējoša meklēšana, lejupielādes problēmas (jā, es gribēju informāciju bezsaistē). Jau toreiz internets sāka pārveidoties par sava veida televīziju, kur noderīgs saturs bija apbērts ar visādiem vizuļiem.
Decentralizācija ir kļuvusi par murgu.
Ko tu vēlies?
Paradoksāli, bet pat toreiz, pirms es kaut ko zināju par Web 2.0 vai p2p, man kā lietotājam decentralizācija nebija vajadzīga! Atskatoties uz savām skaidrajām domām no tiem laikiem, es nonāku pie secinājuma, ka man bija nepieciešama... vienota datubāze! Tādu, kur vaicājums atgrieztu visus rezultātus, ne tikai tos, kas vislabāk atbilstu rangu algoritmam. Tādu, kur visi šie rezultāti būtu vienādi formatēti un veidoti ar manu unikālo dizainu, nevis ar daudzu Vasjas Pupkinsas uzkrītošajiem, paštaisītajiem dizainiem. Tādu, kur es varētu saglabāt bezsaistē, nebaidoties, ka vietne rīt pazudīs un informācija tiks zaudēta uz visiem laikiem. Tādu, kur es varētu ievadīt savu informāciju, piemēram, komentārus un tagus. Tādu, kur es varētu meklēt, kārtot un filtrēt, izmantojot savus personīgos algoritmus.
Web 2.0 un sociālie tīkli
Tikmēr arēnā ienāca Web 2.0 koncepcija. Tims O'Railijs to 2005. gadā formulēja kā "metodoloģiju sistēmu izstrādei, kas, ņemot vērā tīkla mijiedarbību, kļūst labākas, jo vairāk cilvēku tās izmanto" — tas nozīmē lietotāju aktīvu iesaistīšanos tīmekļa satura kolektīvā veidošanā un rediģēšanā. Bez pārspīlējuma, šīs koncepcijas virsotne un triumfs bija sociālie tīkli — milzu platformas, kas apvieno miljardiem lietotāju un uzglabā simtiem petabaitu datu.
Ko tad mēs ieguvām sociālajos tīklos?
- Saskarnes apvienošana; izrādījās, ka lietotājiem nav nepieciešamas visas iespējas dažādu uzmanību piesaistošu dizainu veidošanai; visu lietotāju lapām ir vienāds dizains, un visi ar to ir apmierināti, pat ērti; atšķiras tikai saturs.
- Funkcionalitātes apvienošana; visa skriptu daudzveidība arī izrādījās lieka. Plūsma, draugi, albumi… sociālo tīklu pastāvēšanas laikā to funkcionalitāte ir vairāk vai mazāk stabilizējusies un, visticamāk, nemainīsies: galu galā funkcionalitāti nosaka cilvēku darbības, un cilvēki gandrīz nemainās.
- Viena datubāze; darbs ar šādu datubāzi izrādījās daudz ērtāks nekā ar vairākām atšķirīgām vietnēm; meklēšana kļuva daudz vienkāršāka. Tā vietā, lai pastāvīgi skenētu dažādas vāji saistītas lapas, tās visas kešatmiņā saglabātu un klasificētu, izmantojot sarežģītus heiristiskus algoritmus, tagad bija pieejams relatīvi vienkāršs, vienots vaicājums vienai datubāzei ar zināmu struktūru.
- Atsauksmju saskarne — atzīmes “Patīk” un atkārtotas publicēšanas; parastajā tīmeklī Google nevarēja saņemt atsauksmes no lietotājiem pēc noklikšķināšanas uz saites meklēšanas rezultātos. Sociālajos tīklos šī saikne izrādījās vienkārša un dabiska.
Ko mēs esam zaudējuši? Mēs esam zaudējuši decentralizāciju un līdz ar to brīvību.Pastāv uzskats, ka mūsu dati vairs nepieder mums. Lai gan iepriekš mēs varējām uzturēt mājaslapu savā datorā, tagad mēs visus savus datus nododam interneta gigantiem.
Turklāt, attīstoties internetam, valdības un korporācijas sāka par to interesēties, radot politiskās cenzūras un autortiesību ierobežojumu jautājumus. Mūsu sociālo mediju lapas var tikt aizliegtas un dzēstas, ja to saturs pārkāpj noteiktus sociālo tīklu noteikumus; netīša ziņa var izraisīt administratīvu un pat kriminālatbildību.
Un tāpēc mēs atkal domājam: vai mums vajadzētu atjaunot decentralizāciju? Bet citā formā, bez pirmā mēģinājuma trūkumiem?
Vienādranga tīkli
Pirmie p2p tīkli parādījās ilgi pirms Web 2.0 un attīstījās līdz ar tīmekli. Galvenais klasiskais p2p lietojums ir failu koplietošana; pirmie tīkli tika izstrādāti mūzikas koplietošanai. Agrīnie tīkli (piemēram, Napster) būtībā bija centralizēti, un autortiesību īpašnieki tos ātri slēdza. Turpmākie tīkli sekoja decentralizācijas ceļam. 2000. gadā parādījās ED2K (pirmais eDokney klients) un Gnutella protokoli, kam 2001. gadā sekoja FastTrack protokols (KaZaA klients). Pakāpeniski decentralizācijas pakāpe palielinājās un tehnoloģijas uzlabojās. Torrenti aizstāja lejupielādes rindu sistēmas, un parādījās izkliedēto jaucējtabulu (DHT) koncepcija. Valdībām pastiprinot ierobežojumus, dalībnieku anonimitāte kļuva arvien svarīgāka. Freenet tīkls tiek attīstīts kopš 2000. gada, I2P — kopš 2003. gada, un RetroShare projekts tika uzsākts 2006. gadā. Ir daudz pieminēšanas vērtu p2p tīklu, daži no tiem pastāvēja jau iepriekš, daži vairs nepastāv, bet daži joprojām aktīvi: WASTE, MUTE, TurtleF2F, RShare, PerfectDark, ARES, Gnutella2, GNUNet, IPFS, ZeroNet, Tribbler un daudzi citi. To ir daudz. Tie ir dažādi. Ļoti dažādi — gan pēc mērķa, gan dizaina... Daudzi no jums, iespējams, pat nav pazīstami ar visiem šiem nosaukumiem. Un tas nebūt nav viss.
Tomēr p2p tīkliem ir virkne trūkumu. Papildus tehniskajiem trūkumiem, kas raksturīgi katram konkrētajam protokolam un klienta ieviešanai, viens kopīgs trūkums ir meklēšanas grūtības (t. i., viss, ar ko saskārās Web 1.0, bet vēl sarežģītākā formā). Šeit nav Google ar tā visuresošo un tūlītējo meklēšanu. Lai gan failu koplietošanas tīklos joprojām var meklēt pēc faila nosaukuma vai metadatiem, atrast kaut ko, piemēram, onion vai i2p pārklājuma tīklos, ir ārkārtīgi grūti, ja ne neiespējami.
Kopumā, ja velkam analoģijas ar klasisko internetu, lielākā daļa decentralizēto tīklu ir iestrēguši kaut kur FTP līmenī. Iedomājieties internetu bez nekā cita kā vien FTP: nav modernu tīmekļa vietņu, nav Web 2.0, nav YouTube... Aptuveni tāds ir decentralizēto tīklu stāvoklis. Un, neskatoties uz dažiem mēģinājumiem kaut ko mainīt, līdz šim ir notikušas nelielas izmaiņas.
Saturs
Pievērsīsimies vēl vienam svarīgam šīs mīklas elementam: saturam. Saturs ir jebkura interneta resursa, īpaši decentralizēta resursa, galvenā problēma. Kur to iegūt? Protams, var paļauties uz nelielu skaitu entuziastu (kā tas ir esošo p2p tīklu gadījumā), taču tad tīkla attīstība būs diezgan lēna, un satura būs maz.
Parastā interneta lietošana ietver satura meklēšanu un izpēti. Dažreiz tas ietver tā saglabāšanu (ja saturs ir interesants un noderīgs, daudzi cilvēki, īpaši tie, kas tiešsaistē pieslēdzās iezvanpieejas laikmetā — ieskaitot mani pašu —, gudri to saglabā bezsaistē, lai tas nepazustu. Internets ir kaut kas tāds, ko mēs nekontrolējam: tīmekļa vietne pastāv šodien, pazūd rīt; YouTube videoklips pastāv šodien, pazūd rīt utt.).
Un torrentiem (kurus mēs uztveram drīzāk kā vienkāršu piegādes metodi, nevis p2p tīklu) saglabāšana parasti ir netieša. Un šī, starp citu, ir viena no torrentu problēmām: kad fails ir lejupielādēts, to ir grūti pārvietot uz ērtāku atrašanās vietu (parasti izplatīšanas pakotne ir jāatjauno manuāli), un to ir pilnīgi neiespējami pārdēvēt (var izveidot cieto saiti, bet par to zina ļoti maz cilvēku).
Īsāk sakot, daudzi cilvēki vienā vai otrā veidā saglabā saturu. Kas ar to notiek? Parasti saglabātie faili nonāk kaut kur diskā, mapē, piemēram, "Lejupielādes", kopējā kaudzē kopā ar tūkstošiem citu failu. Tas ir slikti — un slikti lietotājam. Lai gan internetā ir meklētājprogrammas, lietotāja lokālajā datorā nekas tāds nav. Ir labi, ja lietotājs ir uzmanīgs un pieradis kārtot ienākošos lejupielādētos failus. Bet ne visi ir tādi...
Patiesībā mūsdienās ir daudz cilvēku, kuri neko nesaglabā, pilnībā paļaujoties uz piekļuvi tiešsaistē. Taču vienādranga tīklos saturs tiek glabāts lokāli lietotāja ierīcē un koplietots ar citiem dalībniekiem. Vai ir iespējams atrast risinājumu, kas iesaistītu abas lietotāju kategorijas decentralizētā tīklā, nemainot viņu paradumus, un turklāt atvieglotu viņu dzīvi?
Ideja ir pavisam vienkārša: kas notiktu, ja mēs izveidotu lietotājam draudzīgu un caurspīdīgu veidu, kā saglabāt saturu no parastā interneta, turklāt saglabātu to inteliģenti — ar semantisko metainformāciju nevis kopējā kaudzē, bet gan noteiktā struktūrā ar iespēju to tālāk strukturēt — un vienlaikus izplatītu saglabāto saturu decentralizētā tīklā?
Sāksim ar taupīšanu
Mēs neapsveram interneta utilitāru izmantošanu laika prognožu vai lidojumu sarakstu pārbaudei. Mūs vairāk interesē pašpietiekami un vairāk vai mazāk nemainīgi objekti — raksti (sākot no tvītiem/sociālo mediju ierakstiem līdz gariem rakstiem, piemēram, šeit, Habr), grāmatas, attēli, programmas, audio un video ieraksti. No kurienes nāk lielākā daļa šīs informācijas? Parasti tā ir
- sociālie tīkli (dažādas ziņas, īsas piezīmes — "tvīti", attēli, audio un video)
- Raksti par tematiskiem resursiem (piemēram, Habr); labu resursu nav daudz, un arī šie resursi parasti ir veidoti pēc sociālo tīklu principa.
- ziņu vietnes
Parasti ir standarta funkcijas: “patīk”, “pārpublicēt”, “kopīgot sociālajos tīklos” utt.
Iedomāsimies kaut ko konkrētu pārlūkprogrammas spraudnis, kas speciāli saglabās visu, ko esam atzīmējuši ar “Patīk”, atkārtoti publicējuši vai pievienojuši izlasei (vai noklikšķinājuši uz īpašas spraudņa pogas pārlūkprogrammas izvēlnē — gadījumā, ja vietnei nav patīk/pārpublicēt/pievienot grāmatzīmēm funkcijas). Galvenā ideja ir tāda, ka jums vienkārši kaut kas patīk — kā jūs to jau esat darījis miljoniem reižu iepriekš —, un sistēma saglabā rakstu, attēlu vai video īpašā bezsaistes krātuvē, padarot to pieejamu skatīšanai bezsaistē gan caur decentralizēto klienta saskarni, gan pašā decentralizētajā tīklā! Manuprāt, tas ir ļoti ērti. Nav papildu darbību, un mēs vienlaikus risinām vairākas problēmas:
- saglabājot vērtīgu saturu, kas varētu tikt pazaudēts vai izdzēsts
- decentralizētā tīkla ātra piepildīšana
- Satura apkopošana no dažādiem avotiem (jūs varat reģistrēties desmitiem tiešsaistes resursu, un visas atzīmes “Patīk”/pārpublicējumi tiks apkopoti vienā lokālā datubāzē)
- strukturējot saturu, kas jūs interesē jūsu noteikumiem
Acīmredzot pārlūkprogrammas spraudnis ir jāpielāgo katras vietnes struktūrai (tas ir pilnīgi iespējams — spraudņi satura saglabāšanai no YouTube, Twitter, VK un citām vietnēm jau pastāv). Nav tik daudz vietņu, kurām ir jēga veidot pielāgotus spraudņus. Parasti tie ir populāri sociālie tīkli (to ir knapi ducis) un dažas augstas kvalitātes, nišas vietnes, piemēram, Habr (arī neliels skaits). Izmantojot atvērtā pirmkoda kodu un specifikācijas, jauna spraudņa izstrāde, pamatojoties uz veidni, neaizņems daudz laika. Citām vietnēm var izmantot universālu saglabāšanas pogu, kas saglabā visu lapu kā mhtml failu — iespējams, pēc reklāmu noņemšanas.
Tagad par strukturēšanu
Ar "viedo" saglabāšanu es domāju saglabāšanu ar metadatiem, vismaz: satura avotu (URL), iepriekš publicētu atzīmju "Patīk", tagu, komentāru, to ID u.c. kolekciju. Galu galā, veicot parastu saglabāšanu, šī informācija tiek zaudēta... Avots var attiekties ne tikai uz tiešo URL, bet arī uz semantisko komponentu: piemēram, sociālo mediju grupu vai lietotāju, kurš atkārtoti publicējis saturu. Spraudnis var būt pietiekami gudrs, lai izmantotu šo informāciju automātiskai strukturēšanai un atzīmēšanai. Ir svarīgi arī saprast, ka lietotājs vienmēr var pievienot metadatus saglabātajam saturam, kas prasa nodrošināt pēc iespējas lietotājam draudzīgāku saskarni (man ir daudz ideju, kā to izdarīt).
Tas atrisina lietotāja lokālo failu strukturēšanas un organizēšanas problēmu. Tā ir gatava priekšrocība, ko var izmantot pat bez jebkāda vienādranga atbalsta. Tā ir vienkārši bezsaistes datubāze, kas zina, ko, kur un kādā kontekstā esam saglabājuši, un ļauj veikt neliela mēroga pētījumus. Piemēram, atrast lietotājus ārējā sociālajā tīklā, kuriem visvairāk patika tās pašas ziņas kā jums. Cik sociālo tīklu to tieši atļauj?
Šeit ir vērts pieminēt, ka ar pārlūkprogrammas spraudni vien noteikti nepietiek. Otra svarīgākā sistēmas sastāvdaļa ir decentralizēts tīkla pakalpojums, kas darbojas fonā un apkalpo gan pašu p2p tīklu (pieprasījumus no tīkla, gan pieprasījumus no klienta), gan saglabā jaunu saturu, izmantojot spraudni. Strādājot kopā ar spraudni, pakalpojums ievietos saturu pareizajā vietā, aprēķinās hešus (un, iespējams, noteiks, ka šāds saturs jau ir saglabāts), kā arī pievienos nepieciešamos metadatus lokālajai datubāzei.
Interesanti, ka sistēma jau būtu noderīga tās pašreizējā formā, bez jebkāda p2p. Daudzi cilvēki izmanto tīmekļa izgriezējus, kas pievieno interesantu tīmekļa saturu, piemēram, Evernote. Piedāvātā arhitektūra ir šāda izgriezēja paplašināta versija.
Un visbeidzot, P2P apmaiņa
Pats labākais ir tas, ka var apmainīties ar informāciju un metadatiem (gan iegūtiem no tīmekļa, gan jūsu pašu). Sociālā tīkla koncepcija lieliski atbilst vienādranga arhitektūrai. Var droši teikt, ka sociālie tīkli un vienādranga tīkli ir radīti viens otram. Jebkurš decentralizēts tīkls ideālā gadījumā būtu jāveido kā sociālais tīkls; tikai tad tas būs efektīvs. "Draugi" un "Grupas" ir tie līdzinieki, ar kuriem nepieciešami stabili sakari, un šie sakari rodas no dabiska avota — lietotāju kopīgām interesēm.
Satura glabāšanas un izplatīšanas principi decentralizētā tīklā ir pilnīgi identiski satura glabāšanas (uztveršanas) principiem no parastā interneta. Ja jūs izmantojat (un tādējādi saglabājat) noteiktu saturu no tīkla, tad ikviens var izmantot jūsu resursus (disku un joslas platumu), lai iegūtu šo konkrēto saturu.
Patīk — vienkāršākais rīks saglabāšanai un kopīgošanai. Ja man kaut kas patīk — neatkarīgi no tā, vai tas atrodas ārējā internetā vai decentralizētā tīklā —, tas nozīmē, ka man patīk saturs, un, ja tā, es esmu gatavs to saglabāt lokāli un kopīgot ar citiem decentralizētā tīkla dalībniekiem.
- Saturs netiks "pazudis"; tas tagad ir saglabāts lokāli, un es varu pie tā atgriezties vēlāk, jebkurā laikā, neuztraucoties par tā dzēšanu vai bloķēšanu.
- Es varu (nekavējoties vai vēlāk) to kategorizēt, atzīmēt, komentēt, saistīt ar citu saturu, parasti ar to izdarīt kaut ko jēgpilnu – sauksim to par “metainformācijas veidošanu”.
- Es varu dalīties ar šo metainformāciju ar citiem tīkla dalībniekiem.
- Es varu sinhronizēt savu metainformāciju ar citu dalībnieku metainformāciju.
Varbūt loģiska šķiet arī atzīmju “Nepatīk” noraidīšana: ja man nepatīk saturs, ir pilnīgi loģiski, ka es nevēlos tērēt vietu diskā, to glabājot, un interneta savienojumu, to izplatot. Tāpēc atzīmes “Nepatīk” īsti neiederas decentralizācijas ietvaros (lai gan dažreiz tās iederas). ).
Dažreiz ir jāpatur tas, kas tev "nepatīk". Ir tāds vārds kā "jābūt" :)
«Grāmatzīmes"(vai "Izlase") — es neizsaku nekādu viedokli par saturu, bet saglabāju to savā lokālajā grāmatzīmju datubāzē. Vārds "izlase" nav gluži piemērots (tam paredzētas atzīmes "Patīk" un sekojoša kategorizācija), bet gan "grāmatzīmes". Arī saturs "grāmatzīmēs" tiek koplietots — ja jums tas "ir vajadzīgs" (t. i., jūs to kaut kādā veidā "izmantojat"), tad ir loģiski, ka tas varētu būt "vajadzīgs" arī kādam citam. Kāpēc gan neizmantot savus resursus šim nolūkam?
"Funkcija" ir diezgan acīmredzama.друзья"Tie ir vienaudži, cilvēki ar līdzīgām interesēm un tāpēc tie, kuriem ir vislielākā iespēja radīt interesantu saturu. Decentralizētā tīklā tas galvenokārt nozīmē abonēšanu draugu ziņu plūsmām un piekļuvi viņu saglabātā satura katalogiem (albumiem)."
Līdzīgi funkcijai "grupas"—kaut kādas kolektīvas plūsmas, forumi vai kaut kas līdzīgs, kam var arī abonēt — tas nozīmē, ka tiek pieņemts viss grupas saturs un tas tiek izplatīts. Varbūt "grupām", tāpat kā lielākiem forumiem, vajadzētu būt hierarhiskām — tas ļautu labāk strukturēt grupas saturu, kā arī ierobežotu informācijas plūsmu un novērstu tādu lietu pieņemšanu vai izplatīšanu, kas nav īpaši interesantas."
Viss pārējais
Ir vērts atzīmēt, ka decentralizēta arhitektūra vienmēr ir sarežģītāka nekā centralizēta. Centralizētos resursus stingri nosaka servera kods. Decentralizētām sistēmām ir nepieciešama vienošanās starp vairākiem vienlīdzīgiem dalībniekiem. Protams, tam ir nepieciešama kriptogrāfija, blokķēdes un citi sasniegumi, kas galvenokārt izstrādāti uz kriptovalūtām.
Es pieņemu, ka varētu būt nepieciešami kaut kādi kriptogrāfiski savstarpējas uzticēšanās vērtējumi, ko tīkla dalībnieki ģenerē viens otram. Arhitektūrai jāspēj efektīvi cīnīties pret botnetiem, kas, pastāvot kaut kādā mākonī, varētu, piemēram, savstarpēji paaugstināt savus vērtējumus. Būtu ļoti vēlams nepieļaut, ka korporācijas un botnetu fermas, neskatoties uz to tehnoloģisko pārākumu, pārņem kontroli pār šādu decentralizētu tīklu; tā galvenais resurss būtu dzīvi cilvēki, kas spēj radīt un strukturēt saturu, kas ir interesants un noderīgs citiem dzīviem cilvēkiem.
Es arī vēlos, lai šāds tīkls veicinātu civilizāciju. Man ir vesela kaudze ideju par šo jautājumu, kuras tomēr pārsniedz šī raksta tvērumu. Es tikai teikšu, ka zinātniskam, tehniskam, medicīniskam un citam saturam ir jābūt noteiktai prioritātei pār izklaidi, un tam būs nepieciešama zināma veida moderācija. Decentralizēta tīkla moderēšana pati par sevi ir sarežģīts uzdevums, taču to var paveikt (lai gan vārds "moderācija" šeit ir pilnīgi nepiemērots un neaptver procesa būtību — ne ārēji, ne iekšēji... un es pat neesmu izdomājis nosaukumu šim procesam).
Droši vien nav jāpiemin nepieciešamība nodrošināt anonimitāti — gan ar iebūvētiem līdzekļiem (kā i2p vai Retroshare), gan nododot visu datplūsmu caur TOR vai VPN.
Visbeidzot, programmatūras arhitektūra (shematiski parādīta rakstam pievienotajā attēlā). Kā jau minēts, sistēmas pirmais komponents ir pārlūkprogrammas spraudnis, kas uztver saturu ar metadatiem. Otrais svarīgākais komponents ir fonā darbojošs p2p pakalpojums ("backend"). Tīkla darbībai acīmredzami nevajadzētu būt atkarīgai no tā, vai darbojas pārlūkprogramma. Trešais komponents ir klienta programmatūra — frontend. Tas var būt vai nu lokāls tīmekļa pakalpojums (tādā gadījumā lietotājs var mijiedarboties ar decentralizēto tīklu, neizejot no savas iecienītākās pārlūkprogrammas), vai atsevišķa GUI lietojumprogramma konkrētai operētājsistēmai (Windows, Linux, MacOS, Android, iOS utt.). Man patīk ideja par visu front-end variantu vienlaicīgu pastāvēšanu. Tas prasīs arī stingrāku back-end arhitektūru.
Šajā rakstā nav aplūkoti daudzi citi aspekti. Savienojuma izveide ar esošajiem failu glabāšanas izplatījumiem (t. i., ja jums jau ir pāris terabaitu lejupielādētu datu un jūs ļaujat klientam tos skenēt, iegūt jaucējkodas, salīdzināt tās ar tiešsaistē pieejamo un pievienoties izplatījumam, vienlaikus no tīkla iegūstot arī metadatus par saviem failiem — īpašvārdus, aprakstus, vērtējumus, atsauksmes utt.), savienojuma izveide ar ārējiem metadatu avotiem (piemēram, Libgen datubāzēm), diska vietas papildu izmantošana citu cilvēku šifrēta satura glabāšanai (kā Freenet), integrācijas arhitektūra ar esošajiem decentralizētajiem tīkliem (tas ir nedaudz noslēpums), multivides jaucējkoda ideja (īpašu uztveres jaucējkodas izmantošana multivides saturam — attēliem, audio un video —, kas ļauj saskaņot multivides failus ar vienādu nozīmi, bet atšķiras pēc izmēra, izšķirtspējas utt.) un daudz kas cits.
Īss raksta kopsavilkums
1. Decentralizētiem tīkliem nav Google ar tā meklēšanas un ranžēšanas iespējām, taču tiem ir reālu cilvēku kopiena. Sociālais tīkls ar tā atgriezeniskās saites mehānismiem (atzīmes “Patīk”, atkārtotas publicēšanas utt.) un sociālo grafiku (draugi, kopienas utt.) ir ideāls lietojumprogrammu slāņa modelis decentralizētam tīklam.
2. Galvenā ideja, ko es ieviešu šajā rakstā, ir interesanta satura automātiska saglabāšana no parastā interneta, kad jums kaut kas patīk vai jūs to pārpublicējat; tas var būt noderīgi bez P2P, vienkārši uzturot personīgo interesantas informācijas arhīvu.
3. Šis saturs var arī automātiski apgādāt decentralizēto tīklu.
4. Interesanta satura automātiskas saglabāšanas princips darbojas arī ar atzīmēm “Patīk”/“Pārpublicējumiem” pašā decentralizētajā tīklā.
Avots: www.habr.com
