der Framework-Version , das für den Aufbau sicherer dezentraler P2P-Netzwerke entwickelt wurde. Die mit GNUnet erstellten Netzwerke haben keinen einzelnen Ausfallpunkt und können die Privatsphäre der Benutzer garantieren, einschließlich des Ausschlusses möglicher Missbräuche durch Geheimdienste und Administratoren, die Zugriff auf Knoten im Netzwerk haben. Die Veröffentlichung ist als erheblich protocolverändernd gekennzeichnet, was die Abwärtskompatibilität mit den Versionen 0.11.x beeinträchtigt.
GNUnet unterstützt die Erstellung von P2P-Netzwerken über TCP, UDP, HTTP/HTTPS, Bluetooth und WLAN und kann im F2F-Modus (Friend-to-friend) betrieben werden. NAT-Überwindung wird unterstützt, unter anderem durch die Verwendung von UPnP und ICMP. Für die Adressierung der Datenspeicherung kann eine verteilte Hash-Tabelle (DHT) verwendet werden. Es stehen Mittel zur Verfügung, um Mesh-Netzwerke bereitzustellen. Für die selektive Bereitstellung und den Widerruf von Zugriffsrechten wird ein Dienst für den dezentralen Austausch von Identifikationsattributen angeboten. , GNS (GNU Name System) und attributbasiertes Verschlüsseln ().
Das System zeichnet sich durch einen geringen Ressourcenverbrauch und die Verwendung einer Multi-Prozess-Architektur zur Gewährleistung der Isolation zwischen den Komponenten aus. Flexible Mittel für das Loggen und die Sammlung von Statistiken werden bereitgestellt. Zur Entwicklung von Endanwendungen bietet GNUnet eine API für die Programmiersprache C und Bindings für andere Programmiersprachen an. Zur Vereinfachung der Entwicklung wird empfohlen, anstelle von Threads Ereignisschleifen und Prozesse zu verwenden. Es enthält eine Testbibliothek für die automatische Bereitstellung experimenteller Netzwerke, die Dutzende von Tausenden von Peers abdecken.
Die Hauptneuerungen von GNUnet 0.12:
- Im dezentralen Domain-Namenssystem GNS (GNU Name System) wurden Änderungen an den Schlüsselerzeugungsprotokollen vorgenommen (um der entwickelten künftigen Standards zu entsprechen). Domainnamen und Labels in UTF-8, ohne Verwendung der Punycode-Notation IDNA. Für die Verarbeitung nicht standardmäßiger IDNA-Namen wurde ein NSS-Plugin vorgeschlagen. Außerdem wurde ein Plugin hinzugefügt, um Anfragen von root zu blockieren (GNUnet sollte niemals mit Root-Rechten gestartet werden).
- In GNS und (Network Size Estimation) Der Algorithmus für den Nachweis der Arbeitsausführung (proof of work), der beim Widerruf der Domain-Zone verwendet wird, wurde geändert. Die Änderungen stehen im Zusammenhang mit der Komplexität der Berechnungen auf spezialisierten ASICs.
- Das Plugin für den Transport über UDP wurde aufgrund von Stabilitätsproblemen in die Kategorie experimentell eingestuft;
- und dokumentiert das binäre Format für RSA-Öffentlichkeitskeys;
- überflüssige Hashing in digitalen Signaturen von EdDSA;
- Die Möglichkeit zur Installation des Skripts gnunet-logread für die Durchführung von Log-Audits wurde hinzugefügt;
- Die Implementierung von ECDH wurde auf den Code ;
- viele Probleme in der Build-Systematik wurden gelöst. Die Abhängigkeit
(GNU Linear Programming Kit) wurde entfernt. Eine korrekte Paketbeschreibung für Distributionen mit Paketmanagern .
Auf Basis der Technologien von GNUnet werden mehrere fertige Anwendungen entwickelt:
- Ein Dienst für anonymes Dateiabladen, der es nicht ermöglicht, Informationen zu analysieren, da Daten ausschließlich in verschlüsselter Form übertragen werden, und der nicht erkennt, wer Dateien hochgeladen, gesucht oder heruntergeladen hat, dank der Verwendung des GAP-Protokolls.
- Ein VPN-System zum Erstellen von versteckten Diensten in der Domain „.gnu“ sowie zum Durchleiten von IPv4- und IPv6-Tunneln über ein P2P-Netzwerk. Zusätzlich werden IPv4-zu-IPv6- und IPv6-zu-IPv4-Translierungsschemata sowie das Erstellen von IPv4-über-IPv6- und IPv6-über-IPv4-Tunneln unterstützt.
- Das Domain-Namensystem GNS (GNU Name System), das als vollständig dezentralisierte und zensurresistente Alternative zu DNS fungiert. GNS kann neben DNS verwendet werden und ist in traditionellen Anwendungen wie Webbrowsern nutzbar. Die Integrität und Unveränderlichkeit von Einträgen wird durch kryptografische Mittel gewährleistet. Im Gegensatz zu DNS verwendet GNS anstelle einer baumartigen Hierarchie von Servern ein gerichtetes Graphensystem. Die Namensauflösung ähnelt der von DNS, aber Anfragen und Antworten werden unter Wahrung der Privatsphäre durchgeführt – der Knoten, der die Anfrage bearbeitet, weiß nicht, wem die Antwort gegeben wird, und Transitknoten sowie externe Beobachter können Anfragen und Antworten nicht entschlüsseln;
- Der GNUnet Conversation-Service ermöglicht Sprachübertragungen über GNUnet. Zur Identifizierung der Benutzer wird GNS verwendet, und der Inhalt des Sprachverkehrs wird verschlüsselt übertragen. Anonymität wird derzeit nicht geboten – andere Peers können die Verbindung zwischen zwei Benutzern nachverfolgen und deren IP-Adressen bestimmen.
- Plattform zum Aufbau dezentraler sozialer Netzwerke , das das Protokoll verwendet und die Verbreitung von Benachrichtigungen im Multicast-Modus unterstützt, unter Verwendung von End-to-End-Verschlüsselung, damit nur autorisierte Benutzer (jedenfalls nicht anvisierte Benutzer, einschließlich der Administratoren der Knoten, können sie nicht lesen) Zugriff auf Nachrichten, Dateien, Chats und Diskussionen haben;
- System zur Organisation verschlüsselter E-Mails , das GNUnet zum Schutz der Metadaten anwendet und verschiedene zur Verifizierung von Schlüsseln unterstützt;
- Zahlungssystem , das Käufern Anonymität bietet, aber die Transaktionen von Verkäufern nachverfolgt, um Transparenz sicherzustellen und steuerliche Berichterstattung zu ermöglichen. Es unterstützt die Arbeit mit verschiedenen bestehenden Währungen und elektronischen Geldmitteln, einschließlich Dollar, Euro und Bitcoin.
Quelle: opennet.ru
