A fost publicată platforma descentralizată de dezvoltare colaborativă Radicle 1.7

A fost lansată versiunea 1.7 a platformei P2P Radicle, destinată creării unui serviciu descentralizat de colaborare și stocare a codului, similar cu GitHub și GitLab, dar care nu depinde de servere specifice, este imun la cenzură și funcționează utilizând resursele participanților la rețeaua P2P. Platforma suportă elemente tipice de interacțiune socială pentru dezvoltatori, cum ar fi probleme (issues), patch-uri și recenzii de cod. Lucrările proiectului sunt scrise în limbajul Rust și sunt distribuite sub licențele Apache 2.0 și MIT. Versiuni sunt pregătite pentru Linux și macOS. De asemenea, se dezvoltă un client desktop, o interfață web și o interfață de consolă.

Radicle permite dezvoltarea și distribuția codului fără a depinde de platforme și corporații centralizate, la care legătura aduce riscuri suplimentare (punct unic de eșec, compania se poate închide sau poate schimba termenii de operare). Pentru gestionarea codului, Radicle utilizează Git-ul familiar, extins cu instrumente pentru identificarea repository-urilor în rețeaua P2P. Toate datele sunt în primul rând salvate local (conceptul local-first) și sunt întotdeauna accesibile pe computerul dezvoltatorului, indiferent de starea conexiunii la rețea.

Participanții oferă acces la codul lor și la artefactele asociate, cum ar fi patch-uri și discuții despre corectarea erorilor (issues), care sunt salvate local și replicate pe nodurile altor dezvoltatori interesați, conectați la rețeaua P2P descentralizată comună. În acest fel, se formează un repository Git global descentralizat, ale cărui date sunt replicate și duplicate pe diferite sisteme ale participanților.

Pentru determinarea nodurilor adiacente în rețeaua P2P se aplică protocolul Gossip, iar pentru replicarea datelor între noduri se folosește protocolul Heartwood, bazat pe Git. Deoarece protocolul se bazează pe Git, platforma se integrează ușor cu instrumentele existente pentru dezvoltare pe Git. Pentru identificarea nodurilor și validarea repository-urilor se utilizează criptografia cu chei publice, fără a folosi conturi. Autentificarea și autorizarea se realizează pe baza cheilor publice, fără autorități de certificare centralizate. servere.

Fiecare repository într-o rețea P2P are un identificator unic și este auto-certificat, adică toate acțiunile din repository, cum ar fi adăugarea de commit-uri și comentarii la issue-uri, sunt validate de proprietar cu o semnătură digitală, ceea ce permite verificarea corectitudinii datelor pe alte noduri fără a folosi autorități de certificare centralizate. Pentru a avea acces la repository, este suficient ca cel puțin un nod să fie online, pe care există o copie replicată a acestuia.

Nodurile din rețeaua P2P se pot abona la anumite repository-uri și pot primi actualizări. Este posibil să se creeze repository-uri private, accesibile doar anumitor noduri. Conceptul de «delegati» este folosit pentru gestionarea și deținerea unui repository. Un delegat poate fi atât un utilizator individual, cât și un bot sau un grup, legate de un identificator special. Delegatii pot accepta patch-uri în repository, pot închide issue-uri și pot seta drepturi de acces la repository. La fiecare repository pot fi atașați mai mulți delegati.

Repository-urile Radicle sunt stocate pe sistemele utilizatorilor sub formă de repository-uri git obișnuite, care conțin spații de nume suplimentare pentru stocarea datelor despre peeri și forcuri, cu care se lucrează în prezent. Discuțiile, patch-urile propuse și componentele pentru organizarea revizuirii sunt, de asemenea, salvate în repository-ul git sub formă de obiecte colaborative (COB — Collaborative Objects) și sunt replicate între peeri.

În noua versiune:

  • Implementarea legăturilor semnate (sigrefs — Signed References) a fost revizuită, introducând protecție împotriva reutilizării semnăturilor. Vechea structură a repository-ului permitea înlocuirea codului cu o versiune anterioară, reutilizând o semnătură veche validă. Pentru a bloca această problemă, noua implementare a adăugat un indicator către înregistrarea anterioară, acoperită de semnătura actuală, ceea ce formează un lanț continuu de modificări, integritatea căruia poate fi urmărită în raport cu rădăcina.
  • Au fost extinse capacitățile de blocare a nodurilor, care acum sunt blocate la nivelul controlului conexiunilor. Dacă anterior era blocat doar primirea datelor, fără a restricționa conexiunea nodului, acum blocarea se aplică în etapa de stabilire a conexiunii cu nodul blocat și la primirea conexiunii de la nodul blocat.
  • Se permite utilizarea oricăror linkuri către obiecte externe Git, cu excepția ramurilor temporare. Anterior, erau permise doar linkurile către ramuri externe, etichete, metadate Radicle, note și obiecte pentru colaborare.
  • A fost crescută informativitatea mesajelor de eroare care apar în încercarea de a executa operațiuni pentru care utilizatorul nu are suficiente drepturi.
  • A fost îmbunătățită eficiența I/O. Dezvoltatorii au descoperit că pe nodurile care funcționează de mult timp, combinația de setări „journal_mode = WAL” și „synchronous = FULL” în baza de date SQLite, utilizată pentru stocarea stării locale, duce la un volum mare de operațiuni I/O. Pentru a reduce sarcina, din oficiu, parametrul „synchronous” este acum setat pe „NORMAL”, iar în fișierul de configurare Radicle au fost adăugate setări pentru modificarea valorii acestor parametri de către utilizator.
  • A fost rezolvată o vulnerabilitate, despre care informațiile vor fi dezvăluite pe 23 martie. În prezent se raportează doar că echipa de dezvoltare a efectuat un scanare a tuturor repository-urilor Radicle disponibile public și nu a găsit dovezi ale exploatării acestei probleme.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster