Wydanie zdecentralizowanej platformy współpracy Radicle 1.0

Wprowadzono wydanie platformy P2P Radicle 1.0, mającej na celu stworzenie zdecentralizowanej usługi współpracy i przechowywania kodu, podobnej do GitHub i GitLab, ale niezwiązanej z konkretnymi serwerami, niepodlegającej cenzurze i działającej przy użyciu zasobów uczestników sieci P2P. Wydanie 1.0 oznacza stabilizację protokołu i gotowość platformy do powszechnego użytku. Począwszy od tego wydania, protokół będzie zmieniany z zachowaniem kompatybilności wstecznej, a narzędzia będą zawierały możliwości bezproblemowej aktualizacji istniejących systemów do nowej wersji. Opracowania projektu są napisane w języku Rust i są rozpowszechniane na podstawie licencji Apache 2.0 oraz MIT. Kompilacje zostały przygotowane dla systemów Linux i macOS. Dodatkowo rozwijane są klient desktopowy, interfejs webowy oraz interfejs konsolowy.

Radicle pozwala na niezależność w rozwijaniu i dystrybucji kodu od scentralizowanych platform i korporacji, których powiązania wprowadzają dodatkowe ryzyka (pojedynczy punkt awarii, firma może zniknąć lub zmienić warunki współpracy). Do zarządzania kodem w Radicle wykorzystywany jest znany Git, rozszerzony o mechanizmy określania repozytoriów w sieci P2P. Wszystkie dane są przede wszystkim przechowywane lokalnie (koncepcja local-first) i zawsze dostępne na komputerze dewelopera, niezależnie od stanu połączenia sieciowego.

Uczestnicy udostępniają dostęp do swojego kodu oraz powiązanych z kodem artefaktów, takich jak poprawki oraz dyskusje dotyczące błędów (issues), które są przechowywane lokalnie i replikowane na węzły innych zainteresowanych deweloperów podłączonych do wspólnej zdecentralizowanej sieci P2P. W efekcie tworzy się globalne, zdecentralizowane repozytorium Git, którego dane są replikowane i duplikowane na różnych systemach uczestników.

Do określania sąsiednich węzłów w sieci P2P stosowany jest protokół Gossip, a do replikacji danych między węzłami protokół Heartwood, oparty na Git. Ponieważ protokół oparty jest na Git, platformę łatwo zintegrować z istniejącymi narzędziami do programowania na Git. Do identyfikacji węzłów i weryfikacji repozytoriów используется криптография na podstawie otwartych kluczy, bez użycia kont użytkowników.

Każde repozytorium w sieci P2P ma swój unikalny identyfikator i jest samoświadome (self-certifying), co oznacza, że wszystkie działania w repozytorium, takie jak dodawanie commitów i pozostawianie komentarzy do problemów, są poświadczane przez właściciela podpisem cyfrowym, co pozwala na upewnienie się o poprawności danych na innych węzłach bez użycia scentralizowanych centrów certyfikacji. Aby uzyskać dostęp do repozytorium, wystarczy, że w trybie online będzie przynajmniej jeden węzeł, na którym znajduje się jego zreplikowana kopia.

Węzły w sieci P2P mogą subskrybować określone repozytoria i otrzymywać aktualizacje. Możliwe jest tworzenie prywatnych repozytoriów, które są dostępne tylko dla określonych węzłów. Do zarządzania i posiadania repozytorium stosuje się koncepcję „delegatów” (delegates). Delegatem może być zarówno pojedynczy użytkownik, jak i bot lub grupa przypięta do specjalnego identyfikatora. Delegaci mogą przyjmować poprawki do repozytorium, zamykać problemy i ustalać prawa dostępu do repozytorium. Do każdego repozytorium może być przypisanych kilku delegatów.

Na systemach użytkowników repozytoria Radicle są przechowywane w postaci zwykłych repozytoriów git, w których znajdują się dodatkowe przestrzenie nazw do przechowywania danych peerów i forków, z którymi prowadzi się bieżącą pracę. Dyskusje, proponowane poprawki i komponenty do organizacji przeglądów również są przechowywane w repozytorium git w postaci wspólnych obiektów (COB — Collaborative Objects) i replikowane między peerami.

Radicle 1.0 zawiera:

  • Realizację rozszerzalnego protokołu do organizacji pracy sieci P2P i synchronizacji danych.
  • Elementy interakcji społecznych, takie jak zgłoszenia, poprawki i recenzje kodu.
  • Protokół uwierzytelniania i autoryzacji oparty na otwartych kluczach, działający bez scentralizowanych certyfikatorów. serwerów.
  • Interfejs CLI, znany użytkownikom zaznajomionym z Git.
  • Interfejs webowy do nawigacji po repozytoriach i węzłach.
  • Środki zapewniające prywatność, w tym wsparcie dla prywatnych repozytoriów i możliwość pracy przez anonimową sieć Tor.
  • Wsparcie dla powtarzalnych kompilacji w celu weryfikacji, że rozpowszechniane pliki wykonywalne Radicle zostały stworzone z deklarowanych źródeł.

Nadal w fazie rozwoju możliwości, które jeszcze nie są gotowe:

  • Wbudowane narzędzia do ciągłej integracji (CI) i ciągłej dostawy (CD).
  • Interfejs konsolowy Radicle TUI (Terminal User Interface).
  • Rozbudowane możliwości przeglądania zmian.
  • System powiadamiania o zmianach w repozytorium.
  • Wsparcie dla profili użytkowników i możliwość powiązania wielu urządzeń.
  • Wsparcie dla tagów.
  • Narzędzia do moderowania i zarządzania węzłami.
  • Aplikacja desktopowa.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster