Freenet

Inițial, locațiile din Darknet sunt distribuite aleatoriu. Acest lucru înseamnă că rutarea cererilor este în esență aleatorie. În Opennet, conexiunile sunt stabilite printr-o cerere de alăturare care oferă o structură de rețea optimizată dacă rețeaua existentă este deja optimizată. Astfel, datele dintr-un Freenet nou început vor fi distribuite oarecum aleatoriu.

Pe măsură ce schimbul de locații (în Darknet) și plierea căilor (în Opennet) progresează, nodurile care sunt apropiate unul de celălalt vor avea din ce în ce mai multe locații apropiate, iar nodurile care sunt departe vor avea locații îndepărtate. Datele cu chei similare vor fi stocate în același nod.

Rezultatul este că rețeaua se va auto-organiza într-o structură distribuită, grupată, în care nodurile tind să dețină elemente de date care sunt apropiate în spațiul cheilor. Probabil că vor exista mai multe astfel de clustere în întreaga rețea, orice document dat fiind replicat de numeroase ori, în funcție de cât de mult este utilizat. Acesta este un fel de „rupere spontană a simetriei”, în care o stare inițial simetrică (toate nodurile fiind identice, cu chei inițiale aleatorii pentru fiecare dintre ele) duce la o situație extrem de asimetrică, nodurile ajungând să se specializeze în date care au chei foarte apropiate.

Există forțe care tind să provoace gruparea (datele de apropiere partajate se răspândesc în întreaga rețea) și forțe care tind să rupă grupurile (memoria cache locală a datelor utilizate în mod obișnuit). Aceste forțe vor fi diferite în funcție de frecvența cu care sunt utilizate datele, astfel încât datele rar utilizate vor tinde să se afle doar în câteva noduri specializate în furnizarea acestor date, iar elementele utilizate frecvent vor fi răspândite pe scară largă în întreaga rețea. Această oglindire automată contracarează momentele în care traficul web devine supraîncărcat, iar datorită rutei inteligente a unei rețele mature, o rețea de dimensiune n ar trebui să necesite în medie doar log(n) timp pentru a prelua un document.

CheiEdit

Celele sunt hașuri: nu există noțiunea de apropiere semantică atunci când se vorbește de apropierea cheilor. Prin urmare, nu va exista nici o corelație între apropierea cheilor și popularitatea similară a datelor, așa cum ar putea exista dacă cheile ar prezenta o anumită semnificație semantică, evitându-se astfel blocajele cauzate de subiecte populare.

Există două varietăți principale de chei utilizate pe Freenet, cheia Content Hash Key (CHK) și cheia Signed Subspace Key (SSK). Un subtip al SSK-urilor este Updatable Subspace Key (USK), care adaugă versiunea pentru a permite actualizarea securizată a conținutului.

O CHK este un hash SHA-256 al unui document (după criptare, care la rândul său depinde de hash-ul textului în clar) și, prin urmare, un nod poate verifica dacă documentul returnat este corect prin hash-ul acestuia și verificarea digestului cu cheia. Această cheie conține carnea datelor de pe Freenet. Aceasta conține toate blocurile de date binare pentru conținutul care urmează să fie livrat clientului pentru reasamblare și decriptare. CHK este unică prin natura sa și oferă un conținut inviolabil. Un nod ostil care modifică datele sub un CHK va fi imediat detectat de nodul următor sau de client. CHK-urile reduc, de asemenea, redundanța datelor, deoarece aceleași date vor avea același CHK și atunci când mai multe site-uri fac referire la aceleași fișiere mari, acestea pot face referire la același CHK.

SSK-urile se bazează pe criptografia cu cheie publică. În prezent, Freenet utilizează algoritmul DSA. Documentele inserate în cadrul SSK-urilor sunt semnate de cel care le inserează, iar această semnătură poate fi verificată de fiecare nod pentru a se asigura că datele nu sunt falsificate. SSK-urile pot fi utilizate pentru a stabili o identitate pseudonimă verificabilă pe Freenet și permit inserarea în siguranță a mai multor documente de către o singură persoană. Fișierele inserate cu un SSK sunt efectiv imuabile, deoarece inserarea unui al doilea fișier cu același nume poate provoca coliziuni. USK-urile rezolvă această problemă prin adăugarea unui număr de versiune la chei, care este, de asemenea, utilizat pentru a furniza notificări de actualizare pentru cheile înregistrate ca marcaje în interfața web. Un alt subtip al SSK este Keyword Signed Keyword, sau KSK, în care perechea de chei este generată într-un mod standard dintr-un simplu șir de caractere lizibil de către om. Inserarea unui document utilizând o KSK permite ca documentul să fie recuperat și decriptat dacă și numai dacă solicitantul cunoaște șirul de caractere lizibile de către om; acest lucru permite obținerea unor URI-uri mai convenabile (dar mai puțin sigure) la care utilizatorii pot face referire.

.

Leave a Reply