Veröffentlichung der dezentralen Plattform für gemeinsame Entwicklung Radicle 1.0

Die Version 1.0 der P2P-Plattform Radicle wurde vorgestellt, die darauf abzielt, einen dezentralen Dienst für die gemeinsame Entwicklung und Speicherung von Code zu schaffen, ähnlich wie GitHub und GitLab, jedoch nicht an bestimmte Server gebunden, zensurresistent und unter Verwendung der Ressourcen der Teilnehmer im P2P-Netzwerk. Die Veröffentlichung von 1.0 markiert die Stabilisierung des Protokolls und die Bereitschaft der Plattform für den breiten Einsatz. Ab dieser Version wird das Protokoll mit Beibehaltung der Rückwärtskompatibilität geändert, und das Toolset wird Möglichkeiten für nahtlose Updates bestehender Systeme auf die neue Version beinhalten. Die Entwicklungen des Projekts sind in Rust geschrieben und werden unter den Lizenzen Apache 2.0 und MIT verbreitet. Builds sind für Linux und macOS verfügbar. Zusätzlich werden ein Desktop-Client, ein Web-Interface und eine Konsole entwickelt.

Radicle ermöglicht es, bei der Entwicklung und Verbreitung von Code unabhängig von zentralisierten Plattformen und Unternehmen zu bleiben, deren Bindung zusätzliche Risiken mit sich bringt (Single Point of Failure, das Unternehmen kann schließen oder die Nutzungsbedingungen ändern). Zur Verwaltung des Codes in Radicle wird das vertraute Git verwendet, ergänzt durch Tools zur Bestimmung von Repositories im P2P-Netzwerk. Alle Daten werden zunächst lokal gespeichert (Local-First-Konzept) und sind immer auf dem Computer des Entwicklers verfügbar, unabhängig vom Status der Netzwerkverbindung.

Teilnehmer gewähren Zugang zu ihrem Code und zu den damit verbundenen Artefakten wie Patches und Diskussionen von Fehlerberichten (Issues), die lokal gespeichert und auf die Knoten anderer interessierter Entwickler, die mit dem gemeinsamen dezentralen P2P-Netzwerk verbunden sind, repliziert werden. Dadurch entsteht ein globales, dezentrales Git-Repository, dessen Daten auf verschiedenen Systemen der Teilnehmer repliziert und dupliziert sind.

Für die Festlegung benachbarter Knoten im P2P-Netzwerk wird das Gossip-Protokoll verwendet, und für die Datenreplikation zwischen den Knoten das auf Git basierende Heartwood-Protokoll. Da das Protokoll auf Git basiert, lässt sich die Plattform leicht in bestehende Git-Entwicklungstools integrieren. Zur Identifizierung von Knoten und zur Verifizierung von Repositories wird eine kryptografische Methode auf Basis von öffentlichen Schlüsseln eingesetzt, ohne dass Konten erforderlich sind.

Jedes Repository im P2P-Netzwerk hat eine einzigartige Kennung und ist selbstzertifizierend, d.h. alle Aktionen im Repository, wie das Hinzufügen von Commits und das Hinterlassen von Kommentaren zu Issues, werden vom Eigentümer mit einer digitalen Signatur bestätigt, die es ermöglicht, die Richtigkeit der Daten auf anderen Knoten ohne die Nutzung zentraler Zertifizierungsstellen zu überprüfen. Um auf das Repository zuzugreifen, genügt es, dass sich mindestens ein Knoten online befindet, auf dem eine replizierte Kopie vorhanden ist.

Knoten im P2P-Netzwerk können sich auf bestimmte Repositories abonnieren und Updates erhalten. Es ist möglich, private Repositories zu erstellen, die nur bestimmten Knoten zugänglich sind. Zur Verwaltung und zum Eigentum am Repository wird das Konzept der „Delegierten“ verwendet. Ein Delegierter kann sowohl ein einzelner Benutzer als auch ein Bot oder eine Gruppe sein, die an eine spezielle Kennung gebunden sind. Delegierte können Patches im Repository annehmen, Issues schließen und Zugriffsrechte für das Repository festlegen. An jedes Repository können mehrere Delegierte gebunden sein.

Auf den Systemen der Benutzer werden Radicle-Repositories als normale Git-Repositories gespeichert, die zusätzliche Namensräume für die Speicherung von Peer-Daten und Forks enthalten, mit denen aktuell gearbeitet wird. Diskussionen, vorgeschlagene Patches und Komponenten zur Organisation der Überprüfung werden ebenfalls im Git-Repository als Collaborative Objects (COB) gespeichert und zwischen den Peers repliziert.

Radicle 1.0 umfasst:

  • Die Implementierung eines erweiterbaren Protokolls für den Betrieb eines P2P-Netzwerks und die Daten-Synchronisation.
  • Elemente sozialer Interaktion wie Issues, Patches und Code-Reviews.
  • Ein Authentifizierungs- und Autorisierungsprotokoll auf Basis von öffentlichen Schlüsseln, das ohne zentrale Autoritätsstellen funktioniert. Server.
  • Eine CLI-Schnittstelle, die für Benutzer, die mit Git vertraut sind, gewohnte Optionen bietet.
  • Ein Web-Interface zur Navigation durch Repositories und Knoten.
  • Werkzeuge zur Gewährleistung der Privatsphäre, einschließlich der Unterstützung für private Repositories und der Möglichkeit, über das anonyme Netzwerk Tor zu arbeiten.
  • Unterstützung wiederholbarer Builds zur Überprüfung, dass die verbreiteten ausführbaren Radicle-Dateien aus den angegebenen Quelltexten erstellt wurden.

Noch nicht fertige Funktionen, die sich in der Entwicklung befinden:

  • Eingebaute Werkzeuge für Continuous Integration (CI) und Continuous Delivery (CD).
  • Radicle TUI (Terminal User Interface).
  • Erweiterte Funktionen zur Überprüfung von Änderungen.
  • Benachrichtigungssystem für Änderungen im Repository.
  • Unterstützung von Benutzerprofilen und die Möglichkeit, mehrere Geräte zu verknüpfen.
  • Unterstützung von Tags.
  • Hilfsprogramme zur Moderation und Verwaltung von Knoten.
  • Desktop-Anwendung.

Quelle: opennet.ru

60GB SSD 8Gb DDR4