Rilascio della piattaforma decentralizzata per lo sviluppo collaborativo Radicle 1.0

È stata presentata la versione 1.0 della piattaforma P2P Radicle, destinata a creare un servizio decentralizzato per lo sviluppo e l'archiviazione di codice, simile a GitHub e GitLab, ma non legato a server specifici, immune alla censura e operante utilizzando le risorse dei partecipanti alla rete P2P. Il rilascio della versione 1.0 segna la stabilizzazione del protocollo e la prontezza della piattaforma per un utilizzo diffuso. A partire da questa versione, il protocollo verrà modificato mantenendo la retrocompatibilità, e gli strumenti includeranno funzionalità per un aggiornamento fluido dei sistemi esistenti alla nuova versione. I lavori del progetto sono scritti in linguaggio Rust e distribuiti sotto le licenze Apache 2.0 e MIT. Sono disponibili build per Linux e macOS. Inoltre, un client desktop, un'interfaccia web e un'interfaccia da console sono in fase di sviluppo.

Radicle consente di non dipendere dallo sviluppo e dalla distribuzione del codice da piattaforme e corporation centralizzate, i cui vincoli comportano rischi aggiuntivi (unico punto di errore, la società potrebbe chiudere o cambiare i termini di servizio). Per la gestione del codice in Radicle si utilizza Git, esteso con strumenti per la definizione dei repository nella rete P2P. Tutti i dati vengono prima salvati localmente (concetto local-first) e sono sempre disponibili sul computer dello sviluppatore, indipendentemente dallo stato della connessione di rete.

I partecipanti forniscono accesso al proprio codice e agli artefatti correlati, come patch e discussioni sulle correzioni (issues), che vengono salvati localmente e replicati sui nodi di altri sviluppatori interessati, connessi alla rete decentralizzata P2P comune. Alla fine, si forma un repository Git decentralizzato globale, i cui dati sono replicati e duplicati su diversi sistemi dei membri.

Per determinare i nodi vicini nella rete P2P viene utilizzato il protocollo Gossip, mentre per la replica dei dati tra i nodi è impiegato il protocollo Heartwood, basato su Git. Poiché il protocollo si basa su Git, la piattaforma è facilmente integrabile con strumenti di sviluppo esistenti per Git. Per l'identificazione dei nodi e la verifica dei repository viene utilizzata la crittografia a chiave pubblica, senza l'uso di account.

Ogni repository nella rete P2P ha un proprio identificatore unico ed è auto-certificato, cioè tutte le azioni nel repository, come l'aggiunta di commit e la scrittura di commenti agli issue, sono convalidate dal proprietario con una firma digitale, che consente di verificare l'integrità dei dati su altri nodi senza l'uso di autorità di certificazione centralizzate. Per accedere al repository è sufficiente che almeno un nodo sia online, in possesso di una copia replicata.

I nodi nella rete P2P possono iscriversi a repository specifici e ricevere aggiornamenti. È possibile creare repository privati, accessibili solo a determinati nodi. Per la gestione e il possesso del repository viene utilizzata la nozione di "delegati". Un delegato può essere un singolo utente, un bot o un gruppo, legati a un identificatore speciale. I delegati possono accettare patch nel repository, chiudere issue e impostare i diritti di accesso al repository. A ciascun repository possono essere associati più delegati.

Nei sistemi degli utenti, i repository Radicle sono memorizzati come normali repository git, che contengono spazi dei nomi aggiuntivi per la memorizzazione dei dati dei peer e dei fork con cui si lavora attualmente. Le discussioni, le patch proposte e i componenti per organizzare la revisione sono anch'essi conservati nel repository git come oggetti collaborativi (COB — Collaborative Objects) e replicati tra i peer.

Radicle 1.0 include:

  • Implementazione di un protocollo estensibile per organizzare il funzionamento della rete P2P e la sincronizzazione dei dati.
  • Elementi di interazione sociale, come questioni, patch e revisioni di codice.
  • Protocollo di autenticazione e autorizzazione basato su chiavi pubbliche, che funziona senza autorità di certificazione centralizzate. server.
  • Interfaccia CLI, familiare agli utenti esperti di Git.
  • Interfaccia web per la navigazione tra repository e nodi.
  • Strumenti per garantire la riservatezza, che includono il supporto per repository privati e la possibilità di operare tramite la rete anonima Tor.
  • Supporto per build ripetibili per verificare che i file eseguibili distribuiti di Radicle siano stati creati dai codici sorgenti dichiarati.

Funzionalità ancora in fase di sviluppo:

  • Strumenti integrati per l'integrazione continua (CI) e la consegna continua (CD).
  • Interfaccia console Radicle TUI (Terminal User Interface).
  • Funzionalità avanzate per la revisione delle modifiche.
  • Sistema di notifica delle modifiche nel repository.
  • Supporto per i profili utente e possibilità di associare più dispositivi.
  • Supporto per i tag.
  • Utilità per la moderazione e la gestione dei nodi.
  • Applicazione desktop.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster