Avalikustatud on P2P platvormi Radicle versioon 1.7, mis on suunatud detsentraliseeritud koostöise arendamise ja koodi hoidmise teenuse loomisele, mis sarnaneb GitHubile ja GitLabile, ent ei ole seotud konkreetsete serveritega, ei allu tsensuurile ja kasutab P2P võrgu osalejate ressursse. Platvorm toetab arendajate sotsiaalse suhtlemise tavapäraseid elemente, nagu probleemi määratlemine, koodiparandused ja koodi ülevaated. Projekti arendused on kirjutatud Rusti keeles ja jagatakse Apache 2.0 ja MIT litsentside alusel. Koostatud on versioonid Linuxi ja macOS-i jaoks. Täiendavalt arendatakse lauaklient, veebiliides ja konsooli liides.
Radicle võimaldab arendamisel ja koodi levitamisel mitte sõltuda tsentraliseeritud platvormidest ja ettevõtetest, millele tuginedes kaasnevad täiendavad riskid (üksik tõrke koht, ettevõte võib lõpetada tegevuse või muuta töötingimusi). Koodi haldamiseks kasutab Radicle tuttavat Gitit, täiustatud P2P-võrgu hoidlate määratlemise vahenditega. Kõik andmed salvestatakse esmasele tasandile kohapeal (local-first kontseptsioon) ja on alati arendaja arvutis kergesti kättesaadavad, olenemata võrguühenduse seisundist.
Osalised annavad ligipääsu oma koodile ja sellega seotud artefaktidele, nagu plaastrid ja veaparanduste arutelud (issues), mis salvestatakse kohapeal ja replikatakse teiste huvitatud arendajate sõlmedesse, mis on ühendatud ühistesse detsentraliseeritud P2P-võrkudesse. Lõppkokkuvõttes moodustatakse globaalne detsentraliseeritud Git-repositoorium, mille andmed on replikatud ja dupleeritud osalejate erinevates süsteemides.
P2P-võrgus naabrsõlmede määramiseks kasutatakse Gossip-protokolli ja sõlmede vaheliseks andmete replikatsiooniks Heartwood-protokolli, mis põhineb Git'il. Kuna protokoll põhineb Git'il, on platvormi lihtne integreerida olemasolevate Git arendusvahenditega. Sõlmede identifitseerimiseks ja registrite valideerimiseks kasutatakse avaliku võtme krüptograafiat, ilma kontode kasutamiseta. Autentimine ja autoriseerimine toimub avalike võtmete alusel ilma kesksete sertifitseerimiskeskusteta. serverite.
Igal P2P-võrgu registril on oma unikaalne identifikaator ja see on ise-sertifitseeritud, st kõik toimingud registris, nagu committide lisamine ja kommentaaride jätmine issue'le, kinnitatakse digitaalse allkirjaga, mis võimaldab veenduda andmete õigsuses teistes sõlmedes ilma kesksete sertifitseerimiskeskusteta. Registrile juurdepääsuks piisab, kui online oleks vähemalt üks sõlm, millel on selle replitseeritud koopia.
P2P-võrgus võivad sõlmed tellida teatud hoidlate muudatused ja saada värskendusi. Privaatsete hoidlate loomine, mis on saadaval ainult teatud sõlmedele, on võimalik. Hoidla haldamiseks ja omamiseks kasutatakse mõisted „delegaadid” (delegates). Delegaadiks võib olla nii üksik kasutaja, bot kui ka rühm, mis on seotud spetsiaalse identifikaatoriga. Delegaadid võivad hoidlas teha muudatusi, sulgeda ülesandeid ja määrata õiguseid hoidlasse. Iga hoidla juurde võib olla seotud mitu delegeeritud isikut.
Radicle-hoidlad salvestatakse kasutajate süsteemides tavaliste git-hoidlatena, kus on täiendavad nimestikud piraatide ja forkkide andmete hoidmiseks, millega praegu töötatakse. Arutelud, pakutud muudatused ja arvustamise korraldamiseks mõeldud koostisosad salvestatakse samuti git-hoidlas koostööliste objektidena (COB — Collaborative Objects) ja replitseeritakse piraatide vahel.
Uues väljaandes:
- Alustatud on allkirjastatud linkide (sigrefs — Signed References) rakenduse ülevaatamine, mis sisaldab kaitset allkirjade korduskasutamise vastu. Vana hoidla struktuur võimaldas koodi asendada selle vana versiooniga, kasutades uuesti vana kehtivat allkirja. Probleemi peatamiseks on uude rakendusse lisatud viitamine eelnevale registrile, mille当前簽名所覆蓋,形成 muutuste pidevat ahelat, mille terviklikkust saab jälgida juure suhtes.
- Sõlmede blokeerimisvõimalusi on laiendatud, mis nüüd blokeeritakse ühenduse haldamise tasemel. Kui varem blokeeriti ainult andmete vastuvõtmine, siis ei piiratud sõlme ühendust, siis nüüd rakendatakse blokeerimist ühenduse loomise etapis blokeeritud sõlmega ja blokeeritud sõlme ühenduse vastuvõtmisel.
- On lubatud kasutada kõiki viiteid välistesse Git objektidesse, välja arvatud ajutised harud. Varem lubati ainult viiteid välistele harudele, silte, Radicle'i metaandmeid, märkmeid ja koostööobjekte.
- Veaõnumite informatiivsust on suurendatud, mis tekivad operatsioonide proovimisel, milleks kasutajal pole piisavalt õigusi.
- Sissetuleku ja väljumise tõhusus on suurenenud. Arendajad on avastanud, et pikalt töötavates sõlmedes põhjustab SQLite andmebaasi seadistuste kombinatsioon "journal_mode = WAL" ja "synchronous = FULL", mida kasutatakse kohaliku oleku salvestamiseks, suurt sisend-/väljunditegevust. Laengut vähendamiseks on vaikimisi parameeter "synchronous" nüüd seadistatud väärtusele "NORMAL" ja Radicle konfigureerimisfailile on lisatud sätted nende parameetrite kasutaja kohandamiseks.
- Leiti haavatavus, mille kohta teave avaldatakse 23. märtsil. Praegu on teada vaid, et arendajate meeskond on skanneerinud kõiki Radicle'i avalikult saadaval olevaid repoesid ega ole tuvastanud tõendeid selle probleemi ärakasutamise kohta.
Allikas: opennet.ru
