De release van de P2P-platform Radicle 1.0 is gepresenteerd, gericht op het creƫren van een gedecentraliseerde service voor gezamenlijke ontwikkeling en opslag van code, vergelijkbaar met GitHub en GitLab, maar niet gebonden aan specifieke servers, ongevoelig voor censuur en werkend met de middelen van de deelnemers aan het P2P-netwerk. De release 1.0 markeert de stabilisatie van het protocol en de gereedheid van het platform voor algemeen gebruik. Vanaf deze release zal het protocol worden gewijzigd met behoud van omgekeerde compatibiliteit, en de toolkit zal mogelijkheden omvatten voor naadloze upgrades van bestaande systemen naar de nieuwe versie. De projectontwikkelingen zijn geschreven in de programmeertaal Rust en worden verspreid onder de Apache 2.0 en MIT-licenties. Builds zijn voorbereid voor Linux en macOS. Daarnaast worden er een desktop-client, webinterface en console-interface ontwikkeld.
Radicle maakt het mogelijk om bij de ontwikkeling en distributie van code niet afhankelijk te zijn van gecentraliseerde platforms en bedrijven, waarvan de binding extra risico's met zich meebrengt (enkele foutpunten, het bedrijf kan sluiten of de voorwaarden wijzigen). Voor codebeheer in Radicle wordt de bekende Git gebruikt, uitgebreid met middelen voor het definiƫren van repositories in het P2P-netwerk. Alle gegevens worden eerst lokaal opgeslagen (concept van local-first) en zijn altijd toegankelijk op de computer van de ontwikkelaar, ongeacht de toestand van de netwerkverbinding.
Deelnemers geven toegang tot hun code en gerelateerde artefacten, zoals patches en discussies over bugfixes (issues), die lokaal worden opgeslagen en gerepliceerd naar de knooppunten van andere geĆÆnteresseerde ontwikkelaars die zijn aangesloten op het gezamenlijke gedecentraliseerde P2P-netwerk. Dit resulteert in een wereldwijde gedecentraliseerde Git-repository waarvan de gegevens gerepliceerd en gedupliceerd zijn op verschillende systemen van de deelnemers.
Voor het bepalen van naburige knooppunten in het P2P-netwerk wordt het Gossip-protocol toegepast, en voor de replicatie van gegevens tussen knooppunten het Heartwood-protocol, gebaseerd op Git. Aangezien het protocol gebaseerd is op Git, is het platform eenvoudig te integreren met bestaande tools voor ontwikkeling met Git. Voor de identificatie van knooppunten en verificatie van repositories wordt cryptografie op basis van openbare sleutels gebruikt, zonder dat accounts nodig zijn.
Elke repository in een P2P-netwerk heeft een unieke identificatie en is zelfcertificerend, wat betekent dat alle acties in de repository, zoals het toevoegen van commits en het achterlaten van opmerkingen bij issues, worden ondertekend door de eigenaar met een digitale handtekening. Dit maakt het mogelijk om de nauwkeurigheid van gegevens op andere knooppunten te verifiƫren zonder het gebruik van gecentraliseerde certificeringsinstellingen. Toegang tot de repository vereist slechts dat er online ten minste ƩƩn knooppunt is met een gerepliceerde kopie.
Knooppunten in het P2P-netwerk kunnen zich abonneren op specifieke repositories en updates ontvangen. Het is mogelijk om privĆ©repositories te creĆ«ren die alleen toegankelijk zijn voor bepaalde knooppunten. Voor het beheren en bezitten van een repository wordt het concept van ādelegatesā gebruikt. Een delegate kan een individuele gebruiker zijn of een bot of groep die is gekoppeld aan een specifieke identificatie. Delegates kunnen patches in de repository ontvangen, issues sluiten en rechten toekennen voor toegang tot de repository. Meerdere delegates kunnen aan elke repository worden gekoppeld.
Op de systemen van gebruikers worden Radicle-repositories opgeslagen als gewone git-repositories, waarin aanvullende namespaces aanwezig zijn voor het opslaan van peer- en fork-gegevens, waarmee momenteel wordt gewerkt. Discussies, voorgestelde patches en componenten voor het organiseren van reviews worden ook opgeslagen in de git-repository als collaborative objects (COB) en gerepliceerd tussen peers.
Radicle 1.0 bevat:
- De implementatie van een uitbreidbaar protocol voor het organiseren van het P2P-netwerk en gegevenssynchronisatie.
- Elementen van sociale interactie, zoals issues, patches en code reviews.
- Een authenticatie- en autorisatieprotocol op basis van openbare sleutels, dat werkt zonder gecentraliseerde certificerende instanties. servers.
- Een CLI-interface, vertrouwd voor gebruikers die bekend zijn met Git.
- Een webinterface voor navigatie door repositories en knooppunten.
- Middelen voor privacybescherming, inclusief ondersteuning voor privƩ-repositories en de mogelijkheid om via het anonieme netwerk Tor te werken.
- Ondersteuning voor herhaaldelijke builds om te controleren of de verspreide uitvoerbare bestanden van Radicle zijn opgebouwd uit de opgegeven bronbestanden.
Nog niet afgeronde mogelijkheden, momenteel in ontwikkeling:
- Ingebouwde tools voor continue integratie (CI) en continue levering (CD).
- De Radicle TUI (Terminal User Interface) console-interface.
- Geavanceerde mogelijkheden voor het beoordelen van wijzigingen.
- Systeem voor het ontvangen van meldingen over wijzigingen in de repository.
- Ondersteuning voor gebruikersprofielen en de mogelijkheid om meerdere apparaten te koppelen.
- Ondersteuning voor tags.
- Hulpmiddelen voor moderatie en beheer van knooppunten.
- Desktopapplicatie.
Bron: opennet.ru
