Κυκλοφορία του ZeroNet 0.7, μιας πλατφόρμας για τη δημιουργία αποκεντρωμένων ιστοσελίδων

Μετά από ένα χρόνο ανάπτυξης, κυκλοφόρησε η κυκλοφορία μιας αποκεντρωμένης διαδικτυακής πλατφόρμας ZeroNet 0.7, η οποία προτείνει τη χρήση των μηχανισμών διεύθυνσης και επαλήθευσης του Bitcoin σε συνδυασμό με τις κατανεμημένες τεχνολογίες παράδοσης του BitTorrent για τη δημιουργία ιστότοπων που δεν μπορούν να λογοκριθούν, να παραποιηθούν ή να αποκλειστούν. Το περιεχόμενο των τοποθεσιών αποθηκεύεται σε ένα δίκτυο P2P στα μηχανήματα των επισκεπτών και επαληθεύεται χρησιμοποιώντας την ψηφιακή υπογραφή του κατόχου. Για τη διευθυνσιοδότηση χρησιμοποιείται ένα σύστημα εναλλακτικών διακομιστών root DNS Namecoin. Το έργο είναι γραμμένο σε Python και διανέμονται από άδεια σύμφωνα με το GPLv2.

Τα δεδομένα που δημοσιεύονται στον ιστότοπο επαληθεύονται και συνδέονται με τον λογαριασμό του κατόχου του ιστότοπου, παρόμοια με τη σύνδεση πορτοφολιών Bitcoin, γεγονός που καθιστά επίσης δυνατό τον έλεγχο της συνάφειας των πληροφοριών και την ενημέρωση περιεχομένου σε πραγματικό χρόνο. Για την απόκρυψη διευθύνσεων IP, μπορεί να χρησιμοποιηθεί το ανώνυμο δίκτυο Tor, η υποστήριξη του οποίου είναι ενσωματωμένη στο ZeroNet. Ο χρήστης συμμετέχει στη διανομή όλων των τοποθεσιών στους οποίους είχε πρόσβαση. Μετά τη λήψη στο τοπικό σύστημα, τα αρχεία αποθηκεύονται στην κρυφή μνήμη και διατίθενται για κοινή χρήση από το τρέχον μηχάνημα χρησιμοποιώντας μεθόδους που θυμίζουν BitTorrent.

Για να προβάλετε τοποθεσίες ZeroNet, απλώς εκτελέστε το σενάριο zeronet.py, μετά το οποίο μπορείτε να ανοίξετε ιστότοπους στο πρόγραμμα περιήγησης μέσω της διεύθυνσης URL "http://127.0.0.1:43110/zeronet_address" (για παράδειγμα, "http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Όταν ανοίγετε έναν ιστότοπο, το πρόγραμμα βρίσκει κοντινούς ομότιμους και κατεβάζει αρχεία που σχετίζονται με τη σελίδα που ζητήσατε (html, css, εικόνες κ.λπ.).
Για να δημιουργήσετε τον ιστότοπό σας, απλώς εκτελέστε την εντολή "zeronet.py siteCreate", μετά από την οποία θα δημιουργηθεί ένα αναγνωριστικό ιστότοπου και ένα ιδιωτικό κλειδί για να επιβεβαιώσετε τη συγγραφή χρησιμοποιώντας μια ψηφιακή υπογραφή.

Για τον ιστότοπο που δημιουργήθηκε, θα δημιουργηθεί ένας κενός κατάλογος με τη μορφή "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Αφού αλλάξετε τα περιεχόμενα αυτού του καταλόγου, η νέα έκδοση πρέπει να πιστοποιηθεί χρησιμοποιώντας την εντολή «zeronet.py siteSign site_identifier» και εισάγοντας το ιδιωτικό κλειδί. Αφού επαληθευτεί το νέο περιεχόμενο, πρέπει να ανακοινωθεί με την εντολή "zeronet.py sitePublish site_id", ώστε η τροποποιημένη έκδοση να γίνει διαθέσιμη σε ομοτίμους (το API WebSocket χρησιμοποιείται για την ανακοίνωση αλλαγών). Κατά μήκος της αλυσίδας, οι ομότιμοι θα ελέγξουν την ακεραιότητα της νέας έκδοσης χρησιμοποιώντας μια ψηφιακή υπογραφή, θα κατεβάσουν το νέο περιεχόμενο και θα το μεταφέρουν σε άλλους ομοτίμους.

Ο κύριος ευκαιρίες:

  • Δεν υπάρχει κανένα σημείο αποτυχίας - ο ιστότοπος παραμένει προσβάσιμος εάν υπάρχει τουλάχιστον ένας ομότιμος στη διανομή.
  • Έλλειψη αποθήκευσης αναφοράς για τον ιστότοπο - ο ιστότοπος δεν μπορεί να κλείσει αποσυνδέοντας τη φιλοξενία, καθώς τα δεδομένα βρίσκονται σε όλα τα μηχανήματα των επισκεπτών.
  • Όλες οι πληροφορίες που προβλήθηκαν προηγουμένως βρίσκονται στην κρυφή μνήμη και είναι προσβάσιμες από το τρέχον μηχάνημα σε λειτουργία εκτός σύνδεσης, χωρίς πρόσβαση στο παγκόσμιο δίκτυο.
  • Υποστήριξη ενημέρωσης περιεχομένου σε πραγματικό χρόνο.
  • Δυνατότητα διευθυνσιοδότησης μέσω κατοχύρωσης domain στη ζώνη “.bit”.
  • Εργαστείτε χωρίς προκαταρκτική ρύθμιση - απλώς αποσυσκευάστε το αρχείο με το λογισμικό και εκτελέστε ένα σενάριο.
  • Δυνατότητα κλωνοποίησης ιστοσελίδων με ένα κλικ.
  • Έλεγχος ταυτότητας χωρίς κωδικό πρόσβασης βάσει μορφής BIP32: ο λογαριασμός προστατεύεται με την ίδια κρυπτογραφική μέθοδο με το κρυπτονόμισμα Bitcoin.
  • Ενσωματωμένος διακομιστής SQL με λειτουργίες συγχρονισμού δεδομένων P2P.
  • Η δυνατότητα χρήσης Tor για ανωνυμία και πλήρης υποστήριξη για τη χρήση κρυφών υπηρεσιών Tor (.onion) αντί για διευθύνσεις IPv4.
  • Υποστήριξη κρυπτογράφησης TLS.
  • Αυτόματη προσβασιμότητα μέσω uPnP.
  • Δυνατότητα επισύναψης αρκετών συγγραφέων με διαφορετικές ψηφιακές υπογραφές στον ιστότοπο.
  • Διαθεσιμότητα μιας προσθήκης για τη δημιουργία διαμορφώσεων πολλών χρηστών (openproxy).
  • Υποστήριξη για μετάδοση ειδήσεων.
  • Λειτουργεί σε οποιοδήποτε πρόγραμμα περιήγησης και λειτουργικό σύστημα.

Σημαντικές αλλαγές στο ZeroNet 0.7

  • Ο κώδικας έχει επεξεργαστεί εκ νέου για να υποστηρίζει την Python3, διασφαλίζοντας τη συμβατότητα με την Python 3.4-3.8.
  • Έχει εφαρμοστεί μια προστατευμένη λειτουργία συγχρονισμού βάσης δεδομένων.
  • Όπου είναι δυνατόν, η κύρια διανομή βιβλιοθηκών τρίτων έχει διακοπεί προς όφελος εξωτερικών εξαρτήσεων.
  • Ο κώδικας για την επαλήθευση ψηφιακών υπογραφών έχει επιταχυνθεί 5-10 φορές (χρησιμοποιείται η βιβλιοθήκη libsecp256k1.
  • Προστέθηκε τυχαιοποίηση πιστοποιητικών που έχουν ήδη δημιουργηθεί για παράκαμψη φίλτρων.
  • Ο κωδικός P2P έχει ενημερωθεί για να χρησιμοποιεί το πρωτόκολλο ZeroNet.
  • Προστέθηκε λειτουργία εκτός σύνδεσης.
  • Προστέθηκε η προσθήκη UiPluginManager για εγκατάσταση και διαχείριση προσθηκών τρίτων.
  • Παρέχεται πλήρης υποστήριξη για το OpenSSL 1.1.
  • Κατά τη σύνδεση με ομότιμες, οι εικονικές εγγραφές SNI και ALPN χρησιμοποιούνται για να κάνουν τις συνδέσεις πιο παρόμοιες με τις κλήσεις σε κανονικούς ιστότοπους μέσω HTTPS.

Την ίδια μέρα με την κυκλοφορία του ZeroNet 0.7.0 σχηματίστηκε ενημερωμένη έκδοση 0.7.1, η οποία εξαλείφει μια επικίνδυνη ευπάθεια που δυνητικά επιτρέπει την εκτέλεση κώδικα από την πλευρά του πελάτη. Λόγω ενός σφάλματος στον κώδικα για την απόδοση μεταβλητών προτύπου, ένας ανοιχτός εξωτερικός ιστότοπος μπορεί να δημιουργήσει σύνδεση με το σύστημα πελάτη μέσω WebSocket με απεριόριστα δικαιώματα ADMIN/NOSANDBOX, το οποίο καθιστά δυνατή την αλλαγή των παραμέτρων διαμόρφωσης και την εκτέλεση του κώδικά του στον υπολογιστή του χρήστη μέσω χειρισμούς με την παράμετρο open_browser.
Η ευπάθεια εμφανίζεται στον κλάδο 0.7, καθώς και σε πειραματικές εκδόσεις ξεκινώντας από την αναθεώρηση 4188 (αλλαγή έγινε πριν από 20 μέρες).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο