wydanie frameworka , zaprojektowanego do budowy zabezpieczonych, zdecentralizowanych sieci P2P. Sieci tworzone za pomocą GNUnet nie mają jednej punktu awarii i mogą zapewnić poufność prywatnych informacji użytkowników, w tym wyeliminować potencjalne nadużycia ze strony służb specjalnych i administratorów mających dostęp do węzłów sieci. Wydanie to zawiera znaczne zmiany w protokole, które naruszają zgodność z wersjami 0.11.x.
GNUnet wspiera budowę sieci P2P na podstawie TCP, UDP, HTTP/HTTPS, Bluetooth i WLAN, może działać w trybie F2F (Friend-to-friend). Wspiera przechodzenie przez NAT, w tym z wykorzystaniem UPnP i ICMP. Do adresowania lokalizacji danych można wykorzystać rozproszoną tablicę haszującą (DHT). Dostarczane są narzędzia do wdrażania sieci mesh. Do selektywnego udostępniania i cofania praw dostępu stosuje się usługę zdecentralizowanej wymiany atrybutami identyfikacji , GNS (GNU Name System) oraz szyfrowania opartego na atrybutach ().
System charakteryzuje się niskim zużyciem zasobów i wykorzystaniem architektury wieloprocesowej w celu zapewnienia izolacji pomiędzy komponentami. Oferowane są elastyczne narzędzia do prowadzenia logów i gromadzenia statystyk. Do rozwoju końcowych aplikacji GNUnet dostarcza API dla języka C oraz wiązania dla innych języków programowania. W celu uproszczenia procesu rozwoju zaleca się użycie pętli zdarzeń (event loop) i procesów zamiast wątków. W skład projektu wchodzi biblioteka testowa do automatycznego wdrażania eksperymentalnych sieci obejmujących dziesiątki tysięcy peerów.
Główne innowacje GNUnet 0.12:
- W zdecentralizowanym systemie nazw domen GNS (GNU Name System) wprowadzono zmiany w protokołach formowania klucza (aby dostosować się do rozwijanych standardów przyszłości). Nazwy domen i etykiety są w UTF-8, bez stosowania notacji punycode IDNA. Do obsługi niestandardowych nazw IDNA zaproponowano wtyczkę NSS. Dodano również wtyczkę do blokowania zapytań od root (GNUnet nigdy nie powinien być uruchamiany z prawami root).
- W GNS oraz (Network Size Estimation) zmieniono algorytm dowodu wykonania pracy (proof of work), używany przy cofania strefy domenowej. Zmiany te są związane z komplikacjami obliczeniowymi na wyspecjalizowanych ASIC.
- Wtyczka realizująca transport nad UDP została przeniesiona do kategorii eksperymentalnych z powodu problemów ze stabilnością;
- i udokumentowano binarny format dla kluczy publicznych RSA;
- zbędne haszowanie w cyfrowych podpisach EdDSA;
- Dodano możliwość uruchomienia skryptu gnunet-logread do audytu logów;
- Realizacja ECDH została przeniesiona na kod ;
- Rozwiązano wiele problemów w systemie budowy. Usunięto z zależności
(GNU Linear Programming Kit). Dodano poprawny opis pakietu dla dystrybucji opartych na menedżerze pakietów .
Na bazie technologii GNUnet rozwija się kilka gotowych aplikacji:
- Usługa anonimowego wymieniania plików, która uniemożliwia analizę danych poprzez przesyłanie informacji wyłącznie w zaszyfrowanej formie i nie pozwala na śledzenie, kto umieścił, szukał i pobierał pliki, dzięki zastosowaniu protokołu GAP.
- System VPN do tworzenia ukrytych usług w domenie „.gnu” oraz przekazywania tuneli IPv4 i IPv6 przez sieć P2P. Dodatkowo wspierane są schematy translacji IPv4 na IPv6 i IPv6 na IPv4, a także tworzenie tuneli IPv4 na IPv6 i IPv6 na IPv4.
- System nazw domen GNS (GNU Name System), działający jako całkowicie zdecentralizowana i odporna na cenzurę alternatywa dla DNS. GNS może być stosowany obok DNS i używany w tradycyjnych aplikacjach, takich jak przeglądarki internetowe. Integralność i niezmienność zapisów zapewnia stosowanie środków kryptograficznych. W przeciwieństwie do DNS w GNS, zamiast hierarchii drzewiastej serwerów stosowany jest graf skierowany. Transformacja nazw jest podobna do DNS, ale zapytania i odpowiedzi są realizowane z zachowaniem prywatności — węzeł przetwarzający zapytanie nie wie, komu udziela odpowiedzi, a węzły tranzytowe i zewnętrzni obserwatorzy nie mogą deszyfrować zapytań i odpowiedzi;
- Usługa GNUnet Conversation do prowadzenia rozmów głosowych przez GNUnet. Do identyfikacji użytkowników wykorzystywane jest GNS, a zawartość ruchu głosowego jest przesyłana w formie zaszyfrowanej. Anonimowość jest na razie nieosiągalna — inni użytkownicy mogą śledzić połączenie między dwoma użytkownikami i określić ich adresy IP.
- Platforma do budowy zdecentralizowanych sieci społecznościowych , korzystająca z protokołu i wspierająca rozpowszechnianie powiadomień w trybie multicast z zastosowaniem szyfrowania end-to-end, aby dostęp do wiadomości, plików, czatów i dyskusji mogli uzyskać tylko autoryzowani użytkownicy (ci, do których wiadomości nie są adresowane, w tym administratorzy węzłów, nie będą mogli ich przeczytać);
- System do organizacji zaszyfrowanej poczty elektronicznej , stosujący GNUnet do ochrony metadanych i wspierający różne do weryfikacji kluczy;
- System płatniczy , zapewniający anonimowość dla kupujących, ale śledzący transakcje sprzedawców w celu zapewnienia przejrzystości i dostarczenia raportów podatkowych. Obsługiwane są różne istniejące waluty oraz pieniądze elektroniczne, w tym dolary, euro i bitcoiny.
Źródło: opennet.ru
