Η ιδέα ενός αποκεντρωμένου κοινωνικού δικτύου επόμενης γενιάς

Η ιδέα ενός αποκεντρωμένου κοινωνικού δικτύου επόμενης γενιάς
Σε αυτό το άρθρο, σας παρουσιάζω τις σκέψεις μου για την ιστορία και τις προοπτικές για την ανάπτυξη του Διαδικτύου, των κεντρικών και αποκεντρωμένων δικτύων και, ως εκ τούτου, την πιθανή αρχιτεκτονική του αποκεντρωμένου δικτύου επόμενης γενιάς.

Κάτι δεν πάει καλά με το διαδίκτυο

Γνωρίστηκα για πρώτη φορά με το Διαδίκτυο το 2000. Φυσικά, αυτό απέχει πολύ από την αρχή - το Δίκτυο υπήρχε ήδη πριν από αυτό, αλλά εκείνη η εποχή μπορεί να ονομαστεί η πρώτη ακμή του Διαδικτύου. Ο Παγκόσμιος Ιστός είναι η έξυπνη εφεύρεση του Tim Berners-Lee, web1.0 στην κλασική κανονική του μορφή. Πολλοί ιστότοποι και σελίδες συνδέονται μεταξύ τους με υπερσυνδέσμους. Με την πρώτη ματιά, η αρχιτεκτονική είναι απλή, όπως όλα τα έξυπνα πράγματα: αποκεντρωμένη και ελεύθερη. Θέλω - Ταξιδεύω σε ιστότοπους άλλων ανθρώπων ακολουθώντας υπερσυνδέσμους. Θέλω να δημιουργήσω τον δικό μου ιστότοπο στον οποίο δημοσιεύω ό,τι με ενδιαφέρει - για παράδειγμα, τα άρθρα μου, τις φωτογραφίες, τα προγράμματά μου, τους υπερσυνδέσμους σε ιστότοπους που με ενδιαφέρουν. Και άλλοι μου δημοσιεύουν συνδέσμους.

Θα σας φαινόταν μια ειδυλλιακή εικόνα; Αλλά ξέρετε ήδη πώς τελείωσαν όλα.

Υπάρχουν πάρα πολλές σελίδες και η αναζήτηση πληροφοριών έχει γίνει μια πολύ μη τετριμμένη εργασία. Οι υπερσύνδεσμοι που ορίστηκαν από τους συγγραφείς απλά δεν μπορούσαν να δομήσουν αυτόν τον τεράστιο όγκο πληροφοριών. Πρώτα υπήρχαν κατάλογοι που γεμίστηκαν με μη αυτόματο τρόπο και μετά γιγάντιες μηχανές αναζήτησης που άρχισαν να χρησιμοποιούν έξυπνους ευρετικούς αλγόριθμους κατάταξης. Ιστότοποι δημιουργήθηκαν και εγκαταλείφθηκαν, οι πληροφορίες αντιγραφούν και παραμορφώθηκαν. Το Διαδίκτυο εμπορευματοποιούνταν γρήγορα και απομακρύνονταν περισσότερο από το ιδανικό ακαδημαϊκό δίκτυο. Η γλώσσα σήμανσης έγινε γρήγορα γλώσσα μορφοποίησης. Εμφανίστηκαν διαφημίσεις, δυσάρεστα ενοχλητικά πανό και μια τεχνολογία για την προώθηση και την εξαπάτηση των μηχανών αναζήτησης - SEO. Το δίκτυο γίνονταν γρήγορα φραγμένο με σκουπίδια πληροφοριών. Οι υπερσύνδεσμοι έχουν πάψει να είναι εργαλείο λογικής επικοινωνίας και έχουν γίνει εργαλείο προώθησης. Οι ιστότοποι έκλεισαν μόνοι τους, μετατράπηκαν από ανοιχτές «σελίδες» σε σφραγισμένες «εφαρμογές» και έγιναν μόνο μέσα δημιουργίας εισοδήματος.

Ακόμη και τότε είχα μια συγκεκριμένη σκέψη ότι «κάτι δεν πάει καλά εδώ». Μια δέσμη διαφορετικών τοποθεσιών, που κυμαίνονται από πρωτόγονες αρχικές σελίδες με εμφάνιση με γοητευτικά μάτια, έως «μεγα-πύλες» υπερφορτωμένες με πανό που αναβοσβήνουν. Ακόμα κι αν οι ιστότοποι είναι στο ίδιο θέμα, δεν σχετίζονται καθόλου, ο καθένας έχει το δικό του σχέδιο, τη δική του δομή, ενοχλητικά banner, κακή λειτουργία αναζήτησης, προβλήματα με τη λήψη (ναι, ήθελα να έχω πληροφορίες εκτός σύνδεσης). Ακόμη και τότε, το Διαδίκτυο είχε αρχίσει να μετατρέπεται σε κάποιο είδος τηλεόρασης, όπου κάθε είδους πούλιες ήταν καρφωμένες σε χρήσιμο περιεχόμενο.
Η αποκέντρωση έχει γίνει εφιάλτης.

Εσυ τι θελεις?

Είναι παράδοξο, αλλά ακόμα και τότε, μη γνωρίζοντας ακόμα για το web 2.0 ή το p2p, εγώ, ως χρήστης, δεν χρειαζόμουν αποκέντρωση! Θυμόμενος τις σκοτεινές σκέψεις μου εκείνων των εποχών, καταλήγω στο συμπέρασμα ότι χρειαζόμουν... ενοποιημένη βάση δεδομένων! Ένα τέτοιο ερώτημα για το οποίο θα επέστρεφε όλα τα αποτελέσματα, και όχι αυτά που είναι πιο κατάλληλα για τον αλγόριθμο κατάταξης. Ένα στο οποίο όλα αυτά τα αποτελέσματα θα σχεδιάζονταν ομοιόμορφα και θα ήταν στυλιζαρισμένα από το δικό μου ομοιόμορφο σχέδιο, και όχι από τα εντυπωσιακά αυτοδημιούργητα σχέδια πολλών Vasya Pupkins. Ένα που θα μπορούσε να αποθηκευτεί εκτός σύνδεσης και να μην φοβάστε ότι αύριο ο ιστότοπος θα εξαφανιστεί και οι πληροφορίες θα χαθούν για πάντα. Ένα στο οποίο θα μπορούσα να εισάγω τις πληροφορίες μου, όπως σχόλια και ετικέτες. Ένα στο οποίο μπορούσα να ψάξω, να ταξινομήσω και να φιλτράρω με τους δικούς μου προσωπικούς αλγόριθμους.

Web 2.0 και κοινωνικά δίκτυα

Εν τω μεταξύ, η έννοια του Web 2.0 μπήκε στην αρένα. Διατυπώθηκε το 2005 από τον Tim O'Reilly ως "μια τεχνική για το σχεδιασμό συστημάτων που, λαμβάνοντας υπόψη τις αλληλεπιδράσεις του δικτύου, γίνονται καλύτερα όσο περισσότερα άτομα τα χρησιμοποιούν" - και υποδηλώνει την ενεργό συμμετοχή των χρηστών στη συλλογική δημιουργία και επεξεργασία περιεχομένου Ιστού. Χωρίς υπερβολή, το αποκορύφωμα και ο θρίαμβος αυτής της έννοιας ήταν τα Social Networks. Γιγαντιαίες πλατφόρμες που συνδέουν δισεκατομμύρια χρήστες και αποθηκεύουν εκατοντάδες petabyte δεδομένων.

Τι πήραμε στα κοινωνικά δίκτυα;

  • ενοποίηση διεπαφής? αποδείχθηκε ότι οι χρήστες δεν χρειάζονται όλες τις ευκαιρίες για να δημιουργήσουν μια ποικιλία από εντυπωσιακά σχέδια. Όλες οι σελίδες όλων των χρηστών έχουν τον ίδιο σχεδιασμό και αυτό ταιριάζει σε όλους και είναι ακόμη και βολικό. Μόνο το περιεχόμενο είναι διαφορετικό.
  • ενοποίηση της λειτουργικότητας· όλη η ποικιλία των σεναρίων αποδείχθηκε περιττή. "Feed", φίλοι, άλμπουμ... κατά τη διάρκεια της ύπαρξης κοινωνικών δικτύων, η λειτουργικότητά τους έχει σταθεροποιηθεί λίγο πολύ και είναι απίθανο να αλλάξει: τελικά, η λειτουργικότητα καθορίζεται από τους τύπους των δραστηριοτήτων των ανθρώπων και οι άνθρωποι ουσιαστικά δεν αλλάζουν .
  • ενιαία βάση δεδομένων· αποδείχθηκε ότι ήταν πολύ πιο βολικό να δουλεύεις με μια τέτοια βάση δεδομένων παρά με πολλούς διαφορετικούς ιστότοπους. η αναζήτηση έχει γίνει πολύ πιο εύκολη. Αντί να σαρώνετε συνεχώς μια ποικιλία από χαλαρά σχετικές σελίδες, να αποθηκεύετε όλα στην κρυφή μνήμη, να ταξινομείτε χρησιμοποιώντας πολύπλοκους ευρετικούς αλγόριθμους - ένα σχετικά απλό ενοποιημένο ερώτημα σε μια ενιαία βάση δεδομένων με γνωστή δομή.
  • διεπαφή σχολίων - likes και reposts. στον κανονικό ιστό, η ίδια Google δεν μπορούσε να λάβει σχόλια από τους χρήστες αφού ακολουθούσε έναν σύνδεσμο στα αποτελέσματα αναζήτησης. Στα κοινωνικά δίκτυα, αυτή η σύνδεση αποδείχθηκε απλή και φυσική.

Τι χάσαμε; Χάσαμε την αποκέντρωση, που σημαίνει ελευθερία. Πιστεύεται ότι τα δεδομένα μας τώρα δεν μας ανήκουν. Αν νωρίτερα μπορούσαμε να τοποθετήσουμε μια αρχική σελίδα ακόμα και στον δικό μας υπολογιστή, τώρα δίνουμε όλα τα δεδομένα μας σε γίγαντες του Διαδικτύου.

Επιπλέον, καθώς αναπτύχθηκε το Διαδίκτυο, οι κυβερνήσεις και οι εταιρείες άρχισαν να ενδιαφέρονται για αυτό, γεγονός που δημιούργησε προβλήματα πολιτικής λογοκρισίας και περιορισμούς πνευματικών δικαιωμάτων. Οι σελίδες μας στα κοινωνικά δίκτυα μπορούν να αποκλειστούν και να διαγραφούν εάν το περιεχόμενο δεν συμμορφώνεται με κανέναν κανόνα του κοινωνικού δικτύου. για μια απρόσεκτη θέση - φέρει σε διοικητική και ακόμη και ποινική ευθύνη.

Και τώρα σκεφτόμαστε ξανά: δεν πρέπει να επιστρέψουμε την αποκέντρωση; Αλλά σε διαφορετική μορφή, χωρίς τις αδυναμίες της πρώτης προσπάθειας;

Δίκτυα peer-to-peer

Τα πρώτα δίκτυα p2p εμφανίστηκαν πολύ πριν από το web 2.0 και αναπτύχθηκαν παράλληλα με την ανάπτυξη του web. Η κύρια κλασική εφαρμογή του p2p είναι η κοινή χρήση αρχείων. αναπτύχθηκαν τα πρώτα δίκτυα για την ανταλλαγή μουσικής. Τα πρώτα δίκτυα (όπως το Napster) ήταν ουσιαστικά κεντρικά, και ως εκ τούτου έκλεισαν γρήγορα από τους κατόχους πνευματικών δικαιωμάτων. Οι οπαδοί ακολούθησαν τον δρόμο της αποκέντρωσης. Το 2000, εμφανίστηκαν τα πρωτόκολλα ED2K (ο πρώτος πελάτης eDokney) και Gnutella, το 2001 - το πρωτόκολλο FastTrack (πελάτης KaZaA). Σταδιακά, ο βαθμός αποκέντρωσης αυξήθηκε, οι τεχνολογίες βελτιώθηκαν. Τα συστήματα "ουράς λήψης" αντικαταστάθηκαν από torrents και εμφανίστηκε η έννοια των κατανεμημένων πινάκων κατακερματισμού (DHT). Καθώς τα κράτη σφίγγουν τις βίδες, η ανωνυμία των συμμετεχόντων έχει γίνει πιο περιζήτητη. Το δίκτυο Freenet έχει αναπτυχθεί από το 2000, το I2003P από το 2 και το έργο RetroShare ξεκίνησε το 2006. Μπορούμε να αναφέρουμε πολλά δίκτυα p2p, τόσο υπάρχοντα όσο και ήδη εξαφανισμένα, και λειτουργούν επί του παρόντος: WASTE, MUTE, TurtleF2F, RShare, PerfectDark, ARES, Gnutella2, GNUNet, IPFS, ZeroNet, Tribbler και πολλά άλλα. Πολλοι απο αυτους. Είναι διαφορετικοί. Πολύ διαφορετικό - τόσο στο σκοπό όσο και στο σχεδιασμό... Μάλλον πολλοί από εσάς δεν είναι καν εξοικειωμένοι με όλα αυτά τα ονόματα. Και δεν είναι μόνο αυτό.

Ωστόσο, τα δίκτυα p2p έχουν πολλά μειονεκτήματα. Εκτός από τις τεχνικές ελλείψεις που είναι εγγενείς σε κάθε συγκεκριμένο πρωτόκολλο και υλοποίηση πελάτη, μπορούμε, για παράδειγμα, να σημειώσουμε ένα αρκετά γενικό μειονέκτημα - την πολυπλοκότητα της αναζήτησης (δηλαδή, όλα όσα αντιμετώπισε το Web 1.0, αλλά σε μια ακόμη πιο περίπλοκη έκδοση). Δεν υπάρχει Google εδώ με την πανταχού παρούσα και άμεση αναζήτησή του. Και αν για δίκτυα κοινής χρήσης αρχείων μπορείτε ακόμα να χρησιμοποιήσετε μια αναζήτηση με βάση το όνομα αρχείου ή τις μετα-πληροφορίες, τότε η εύρεση κάτι, ας πούμε, σε δίκτυα επικάλυψης onion ή i2p είναι πολύ δύσκολη, αν όχι αδύνατη.

Γενικά, αν κάνουμε αναλογίες με το κλασικό Διαδίκτυο, τότε τα περισσότερα αποκεντρωμένα δίκτυα έχουν κολλήσει κάπου στο επίπεδο FTP. Φανταστείτε ένα Διαδίκτυο στο οποίο δεν υπάρχει τίποτα άλλο εκτός από το FTP: ούτε σύγχρονοι ιστότοποι, ούτε web2.0, ούτε Youtube... Αυτή είναι περίπου η κατάσταση των αποκεντρωμένων δικτύων. Και παρά τις μεμονωμένες προσπάθειες να αλλάξει κάτι, υπάρχουν ελάχιστες αλλαγές μέχρι στιγμής.

περιεχόμενα

Ας στραφούμε σε ένα άλλο σημαντικό κομμάτι αυτού του παζλ - το περιεχόμενο. Το περιεχόμενο είναι το κύριο πρόβλημα οποιουδήποτε πόρου Διαδικτύου, και ειδικά ενός αποκεντρωμένου. Από πού να το πάρετε; Φυσικά, μπορείτε να βασιστείτε σε λίγους ενθουσιώδεις (όπως συμβαίνει με τα υπάρχοντα δίκτυα p2p), αλλά τότε η ανάπτυξη του δικτύου θα είναι αρκετά μεγάλη και θα υπάρχει λίγο περιεχόμενο εκεί.

Η εργασία με το κανονικό Διαδίκτυο σημαίνει αναζήτηση και μελέτη περιεχομένου. Μερικές φορές - αποθήκευση (εάν το περιεχόμενο είναι ενδιαφέρον και χρήσιμο, τότε πολλοί, ειδικά εκείνοι που ήρθαν στο Διαδίκτυο την εποχή του dial-up - συμπεριλαμβανομένου και εμένα - το αποθηκεύουν με σύνεση εκτός σύνδεσης για να μην χαθούν, επειδή το Διαδίκτυο είναι ένα πράγμα πέρα από τον έλεγχό μας, σήμερα ο ιστότοπος είναι εκεί αύριο δεν υπάρχει , σήμερα υπάρχει ένα βίντεο στο YouTube - αύριο θα διαγραφεί κ.λπ.

Και για τα torrents (τα οποία αντιλαμβανόμαστε περισσότερο ως απλώς μέσο παράδοσης παρά ως δίκτυο p2p), γενικά υπονοείται η εξοικονόμηση. Και αυτό, παρεμπιπτόντως, είναι ένα από τα προβλήματα με τα torrent: ένα αρχείο που έχει ληφθεί μία φορά είναι δύσκολο να μετακινηθεί εκεί που είναι πιο βολικό στη χρήση (κατά κανόνα, πρέπει να αναδημιουργήσετε χειροκίνητα τη διανομή) και δεν μπορεί απολύτως να μετονομαστεί ( μπορείτε να το συνδέσετε, αλλά πολύ λίγοι άνθρωποι το γνωρίζουν).

Γενικά, πολλοί άνθρωποι αποθηκεύουν περιεχόμενο με τον ένα ή τον άλλο τρόπο. Ποια είναι η μελλοντική του μοίρα; Συνήθως, τα αποθηκευμένα αρχεία καταλήγουν κάπου στο δίσκο, σε έναν φάκελο όπως οι Λήψεις, στο γενικό σωρό και βρίσκονται εκεί μαζί με πολλές χιλιάδες άλλα αρχεία. Αυτό είναι κακό - και κακό για τον ίδιο τον χρήστη. Εάν το Διαδίκτυο διαθέτει μηχανές αναζήτησης, τότε ο τοπικός υπολογιστής του χρήστη δεν έχει τίποτα παρόμοιο. Είναι καλό εάν ο χρήστης είναι τακτοποιημένος και συνηθισμένος στην ταξινόμηση των "εισερχόμενων" ληφθέντων αρχείων. Αλλά δεν είναι όλοι έτσι...

Μάλιστα, είναι πλέον πολλοί που δεν εξοικονομούν τίποτα, αλλά βασίζονται εξ ολοκλήρου στο διαδίκτυο. Αλλά στα δίκτυα p2p, θεωρείται ότι το περιεχόμενο αποθηκεύεται τοπικά στη συσκευή του χρήστη και διανέμεται σε άλλους συμμετέχοντες. Είναι δυνατόν να βρεθεί μια λύση που θα επιτρέπει και στις δύο κατηγορίες χρηστών να συμμετέχουν σε ένα αποκεντρωμένο δίκτυο χωρίς να αλλάζουν οι συνήθειές τους και επιπλέον να διευκολύνουν τη ζωή τους;

Η ιδέα είναι πολύ απλή: τι γίνεται αν δημιουργήσουμε ένα μέσο αποθήκευσης περιεχομένου από το κανονικό Διαδίκτυο, βολικό και διαφανές για τον χρήστη, και έξυπνη αποθήκευση - με σημασιολογικές μετα-πληροφορίες, και όχι σε κοινό σωρό, αλλά σε μια συγκεκριμένη δομή με τη δυνατότητα περαιτέρω δόμησης, και ταυτόχρονα διανομή του αποθηκευμένου περιεχομένου σε ένα αποκεντρωμένο δίκτυο;

Ας ξεκινήσουμε με την εξοικονόμηση

Δεν θα εξετάσουμε τη χρηστική χρήση του Διαδικτύου για την προβολή μετεωρολογικών προγνώσεων ή δρομολογίων αεροπλάνων. Μας ενδιαφέρουν περισσότερο τα αυτάρκη και λίγο πολύ αμετάβλητα αντικείμενα - άρθρα (από tweets/αναρτήσεις από κοινωνικά δίκτυα έως μεγάλα άρθρα, όπως εδώ στο Habré), βιβλία, εικόνες, προγράμματα, ηχογραφήσεις και βίντεο. Από πού προέρχονται κυρίως οι πληροφορίες; Συνήθως αυτό

  • κοινωνικά δίκτυα (διάφορες ειδήσεις, μικρές σημειώσεις - "tweets", εικόνες, ήχος και βίντεο)
  • άρθρα για θεματικούς πόρους (όπως το Habr)· Δεν υπάρχουν πολλοί καλοί πόροι, συνήθως αυτοί οι πόροι βασίζονται στην αρχή των κοινωνικών δικτύων
  • ειδησεογραφικούς ιστότοπους

Κατά κανόνα, υπάρχουν τυπικές λειτουργίες: "μου αρέσει", "αναδημοσίευση", "κοινή χρήση στα κοινωνικά δίκτυα" κ.λπ.

Ας φανταστούμε μερικά προσθήκη προγράμματος περιήγησης, το οποίο θα αποθηκεύσει ειδικά όλα όσα μας άρεσαν, αναδημοσιεύσαμε, αποθηκεύσαμε στα «αγαπημένα» (ή κάνουμε κλικ σε ένα ειδικό κουμπί προσθήκης που εμφανίζεται στο μενού του προγράμματος περιήγησης - σε περίπτωση που ο ιστότοπος δεν διαθέτει λειτουργία like/repost/bookmark ). Η κύρια ιδέα είναι ότι απλά σας αρέσει - όπως έχετε κάνει ένα εκατομμύριο φορές στο παρελθόν, και το σύστημα αποθηκεύει το άρθρο, την εικόνα ή το βίντεο σε έναν ειδικό χώρο αποθήκευσης εκτός σύνδεσης και αυτό το άρθρο ή η εικόνα γίνεται διαθέσιμο - και σε εσάς για προβολή εκτός σύνδεσης μέσω του αποκεντρωμένη διεπαφή πελάτη , και στο πιο αποκεντρωμένο δίκτυο! Κατά τη γνώμη μου, είναι πολύ βολικό. Δεν υπάρχουν περιττές ενέργειες και λύνουμε πολλά προβλήματα ταυτόχρονα:

  • Διατήρηση πολύτιμου περιεχομένου που μπορεί να χαθεί ή να διαγραφεί
  • ταχεία πλήρωση του αποκεντρωμένου δικτύου
  • συνάθροιση περιεχομένου από διαφορετικές πηγές (μπορείτε να εγγραφείτε σε δεκάδες πόρους του Διαδικτύου και όλα τα likes/reposts θα εισρεύσουν σε μια ενιαία τοπική βάση δεδομένων)
  • δομώντας το περιεχόμενο που σας ενδιαφέρει ανάλογα τα δικα σου κανόνες

Προφανώς, το πρόσθετο του προγράμματος περιήγησης πρέπει να ρυθμιστεί για τη δομή κάθε ιστότοπου (αυτό είναι αρκετά ρεαλιστικό - υπάρχουν ήδη πρόσθετα για αποθήκευση περιεχομένου από Youtube, Twitter, VK κ.λπ.). Δεν υπάρχουν τόσοι πολλοί ιστότοποι για τους οποίους είναι λογικό να δημιουργούνται προσωπικές προσθήκες. Κατά κανόνα, αυτά είναι κοινά κοινωνικά δίκτυα (δεν υπάρχουν σχεδόν περισσότερα από δώδεκα από αυτά) και μια σειρά θεματικών τοποθεσιών υψηλής ποιότητας όπως το Habr (υπάρχουν επίσης μερικά από αυτά). Με τον ανοιχτό κώδικα και τις προδιαγραφές, η ανάπτυξη μιας νέας προσθήκης που βασίζεται σε ένα πρότυπο δεν πρέπει να απαιτεί πολύ χρόνο. Για άλλους ιστότοπους, μπορείτε να χρησιμοποιήσετε ένα κουμπί γενικής αποθήκευσης, το οποίο θα αποθηκεύει ολόκληρη τη σελίδα σε mhtml - ίσως αφού πρώτα καθαρίσει τη σελίδα από διαφημίσεις.

Τώρα για τη δόμηση

Με τον όρο «έξυπνη» αποθήκευση εννοώ τουλάχιστον την αποθήκευση με μετα-πληροφορίες: την πηγή του περιεχομένου (URL), ένα σύνολο προηγουμένως καθορισμένων επισημάνσεων «μου αρέσει», ετικέτες, σχόλια, τα αναγνωριστικά τους κ.λπ. Εξάλλου, κατά την κανονική αποθήκευση, αυτές οι πληροφορίες χάνονται... Η πηγή μπορεί να γίνει κατανοητή όχι μόνο ως άμεση διεύθυνση URL, αλλά και ως σημασιολογικό στοιχείο: για παράδειγμα, μια ομάδα σε ένα κοινωνικό δίκτυο ή ένας χρήστης που έκανε μια αναδημοσίευση. Η προσθήκη μπορεί να είναι αρκετά έξυπνη ώστε να χρησιμοποιεί αυτές τις πληροφορίες για αυτόματη δόμηση και προσθήκη ετικετών. Επίσης, θα πρέπει να γίνει κατανοητό ότι ο ίδιος ο χρήστης μπορεί πάντα να προσθέσει κάποιες μετα-πληροφορίες στο αποθηκευμένο περιεχόμενο, για τον οποίο θα πρέπει να παρέχονται τα πιο βολικά εργαλεία διεπαφής (έχω πολλές ιδέες για το πώς να το κάνω αυτό).

Έτσι, επιλύεται το ζήτημα της δομής και της οργάνωσης των τοπικών αρχείων του χρήστη. Αυτό είναι ένα έτοιμο όφελος που μπορεί να χρησιμοποιηθεί ακόμα και χωρίς p2p. Απλώς κάποιο είδος βάσης δεδομένων εκτός σύνδεσης που γνωρίζει τι, πού και σε ποιο πλαίσιο αποθηκεύσαμε και μας επιτρέπει να διεξάγουμε μικρές μελέτες. Για παράδειγμα, βρείτε χρήστες ενός εξωτερικού κοινωνικού δικτύου που τους άρεσαν περισσότερο οι ίδιες αναρτήσεις με εσάς. Πόσα κοινωνικά δίκτυα το επιτρέπουν ρητά;

Θα πρέπει ήδη να αναφέρουμε εδώ ότι ένα πρόσθετο προγράμματος περιήγησης σίγουρα δεν είναι αρκετό. Το δεύτερο πιο σημαντικό στοιχείο του συστήματος είναι η αποκεντρωμένη υπηρεσία δικτύου, η οποία εκτελείται στο παρασκήνιο και εξυπηρετεί τόσο το ίδιο το δίκτυο p2p (αιτήματα από το δίκτυο και αιτήματα από τον πελάτη) όσο και την αποθήκευση νέου περιεχομένου χρησιμοποιώντας το πρόσθετο. Η υπηρεσία, σε συνεργασία με το πρόσθετο, θα τοποθετήσει το περιεχόμενο στη σωστή θέση, θα υπολογίσει τους κατακερματισμούς (και πιθανώς θα καθορίσει ότι τέτοιο περιεχόμενο έχει ήδη αποθηκευτεί στο παρελθόν) και θα προσθέσει τις απαραίτητες μεταπληροφορίες στην τοπική βάση δεδομένων.

Αυτό που είναι ενδιαφέρον είναι ότι το σύστημα θα ήταν χρήσιμο ήδη σε αυτή τη μορφή, χωρίς p2p. Πολλοί άνθρωποι χρησιμοποιούν περικοπές ιστού που προσθέτουν ενδιαφέρον περιεχόμενο από τον Ιστό στο Evernote, για παράδειγμα. Η προτεινόμενη αρχιτεκτονική είναι μια εκτεταμένη έκδοση ενός τέτοιου κουρευτικού.

Και τέλος, ανταλλαγή p2p

Το καλύτερο μέρος είναι ότι μπορούν να ανταλλάσσονται πληροφορίες και μετα-πληροφορίες (και οι δύο που λαμβάνονται από τον Ιστό και οι δικές σας). Η έννοια ενός κοινωνικού δικτύου μεταφέρεται τέλεια στην αρχιτεκτονική p2p. Μπορούμε να πούμε ότι το κοινωνικό δίκτυο και το p2p φαίνεται να είναι φτιαγμένα το ένα για το άλλο. Οποιοδήποτε αποκεντρωμένο δίκτυο θα έπρεπε ιδανικά να κατασκευαστεί ως κοινωνικό, μόνο τότε θα λειτουργήσει αποτελεσματικά. "Φίλοι", "Ομάδες" - πρόκειται για τους ίδιους συνομηλίκους με τους οποίους θα πρέπει να υπάρχουν σταθερές συνδέσεις και προέρχονται από μια φυσική πηγή - τα κοινά ενδιαφέροντα των χρηστών.

Οι αρχές αποθήκευσης και διανομής περιεχομένου σε ένα αποκεντρωμένο δίκτυο είναι απολύτως ταυτόσημες με τις αρχές αποθήκευσης (αποτύπωσης) περιεχομένου από το κανονικό Διαδίκτυο. Εάν χρησιμοποιείτε κάποιο περιεχόμενο από το δίκτυο (και επομένως το έχετε αποθηκεύσει), τότε οποιοσδήποτε μπορεί να χρησιμοποιήσει τους πόρους σας (δίσκος και κανάλι) που είναι απαραίτητοι για τη λήψη αυτού του συγκεκριμένου περιεχομένου.

Μου αρέσει — το απλούστερο εργαλείο αποθήκευσης και κοινής χρήσης. Αν μου άρεσε - ανεξάρτητα από το εξωτερικό Διαδίκτυο ή μέσα στο αποκεντρωμένο δίκτυο - σημαίνει ότι μου αρέσει το περιεχόμενο, και αν ναι, τότε είμαι έτοιμος να το διατηρήσω τοπικά και να το διανείμω σε άλλους συμμετέχοντες στο αποκεντρωμένο δίκτυο.

  • Το περιεχόμενο δεν θα «χαθεί». είναι πλέον αποθηκευμένο τοπικά, μπορώ να επιστρέψω σε αυτό αργότερα, ανά πάσα στιγμή, χωρίς να ανησυχώ μήπως κάποιος το διαγράψει ή το μπλοκάρει
  • Μπορώ (αμέσως ή αργότερα) να το κατηγοριοποιήσω, να το επισημάνω με ετικέτα, να το σχολιάσω, να το συσχετίσω με άλλο περιεχόμενο και γενικά να κάνω κάτι σημαντικό με αυτό - ας το ονομάσουμε «γενιά μεταπληροφοριών».
  • Μπορώ να μοιραστώ αυτές τις μετα-πληροφορίες με άλλα μέλη του δικτύου
  • Μπορώ να συγχρονίσω τις μετα-πληροφορίες μου με τις μετα-πληροφορίες άλλων μελών

Πιθανώς, η παραίτηση από τις αντιπάθειες φαίνεται επίσης λογική: αν δεν μου αρέσει το περιεχόμενο, τότε είναι πολύ λογικό να μην θέλω να σπαταλήσω τον χώρο στο δίσκο μου για αποθήκευση και το κανάλι μου στο Διαδίκτυο για τη διανομή αυτού του περιεχομένου. Επομένως, οι αντιπάθειες δεν ταιριάζουν πολύ οργανικά στην αποκέντρωση (αν και μερικές φορές συμβαίνει μπορεί να είναι χρήσιμο).

Μερικές φορές χρειάζεται να κρατήσεις αυτό που «δεν σου αρέσει». Υπάρχει μια τέτοια λέξη όπως "πρέπει" :)
«σελιδοδείκτες" (ή "Αγαπημένα") - Δεν εκφράζω συγγένεια για το περιεχόμενο, αλλά το αποθηκεύω στην τοπική μου βάση δεδομένων σελιδοδεικτών. Η λέξη "αγαπημένα" δεν είναι αρκετά κατάλληλη ως προς την έννοια (για αυτό υπάρχουν "μου αρέσει" και η επακόλουθη κατηγοριοποίησή τους), αλλά οι "σελιδοδείκτες" είναι αρκετά κατάλληλοι. Το περιεχόμενο στους "σελιδοδείκτες" διανέμεται επίσης - εάν το "χρειάζεστε" (δηλαδή το "χρησιμοποιείτε" με τον ένα ή τον άλλο τρόπο), τότε είναι λογικό να το "χρειαστεί" κάποιος άλλος. Γιατί να μην χρησιμοποιήσετε τους πόρους σας για να το κάνετε αυτό;

Η λειτουργία "друзья". Αυτοί είναι συνομήλικοι, άνθρωποι με παρόμοια ενδιαφέροντα, και επομένως αυτοί που είναι πιο πιθανό να έχουν ενδιαφέρον περιεχόμενο. Σε ένα αποκεντρωμένο δίκτυο, αυτό σημαίνει κυρίως εγγραφή σε ειδήσεις από φίλους και πρόσβαση στους καταλόγους (άλμπουμ) περιεχομένου που έχουν αποθηκεύσει.

Παρόμοια με τη συνάρτηση "ομάδες«- κάποιο είδος συλλογικών ροών, ή φόρουμ, ή κάτι στο οποίο μπορείτε επίσης να εγγραφείτε - και αυτό σημαίνει ότι αποδέχεστε όλο το υλικό της ομάδας και το διανέμετε. Ίσως οι «ομάδες», όπως τα μεγάλα φόρουμ, θα πρέπει να είναι ιεραρχικές - αυτό θα επιτρέψει την καλύτερη δόμηση του περιεχομένου της ομάδας, καθώς και τον περιορισμό της ροής πληροφοριών και τη μη αποδοχή/διανομή ό,τι δεν σας ενδιαφέρει.

Ολα τα υπόλοιπα

Πρέπει να σημειωθεί ότι μια αποκεντρωμένη αρχιτεκτονική είναι πάντα πιο περίπλοκη από μια κεντρική. Σε κεντρικούς πόρους υπάρχει αυστηρή υπαγόρευση του κώδικα διακομιστή. Στις αποκεντρωμένες, υπάρχει ανάγκη διαπραγμάτευσης μεταξύ πολλών ισότιμων συμμετεχόντων. Φυσικά, αυτό δεν μπορεί να γίνει χωρίς κρυπτογραφία, blockchains και άλλα επιτεύγματα που αναπτύχθηκαν κυρίως σε κρυπτονομίσματα.

Υποθέτω ότι μπορεί να απαιτούνται κάποιου είδους κρυπτογραφικές αξιολογήσεις αμοιβαίας εμπιστοσύνης που σχηματίζονται από τους συμμετέχοντες στο δίκτυο ο ένας για τον άλλον. Η αρχιτεκτονική θα πρέπει να καθιστά δυνατή την αποτελεσματική καταπολέμηση των botnet, τα οποία, που υπάρχουν σε ένα συγκεκριμένο σύννεφο, μπορούν, για παράδειγμα, να αυξήσουν αμοιβαία τις δικές τους αξιολογήσεις. Θέλω πραγματικά οι εταιρείες και οι φάρμες botnet, με όλη τους την τεχνολογική υπεροχή, να μην πάρουν τον έλεγχο ενός τέτοιου αποκεντρωμένου δικτύου. έτσι ώστε ο κύριος πόρος του είναι ζωντανοί άνθρωποι ικανοί να παράγουν και να δομούν περιεχόμενο που είναι ενδιαφέρον και χρήσιμο για άλλους ζωντανούς ανθρώπους.

Θέλω επίσης ένα τέτοιο δίκτυο να οδηγήσει τον πολιτισμό προς την πρόοδο. Έχω ένα σωρό ιδέες για αυτό το θέμα, οι οποίες, ωστόσο, δεν εντάσσονται στο πεδίο εφαρμογής αυτού του άρθρου. Θα πω μόνο ότι κατά κάποιο τρόπο επιστημονικό, τεχνικό, ιατρικό κ.λπ. Το περιεχόμενο θα πρέπει να έχει προτεραιότητα έναντι της ψυχαγωγίας, και αυτό θα απαιτήσει κάποιου είδους μετριοπάθεια. Η εποπτεία ενός αποκεντρωμένου δικτύου είναι ένα μη τετριμμένο έργο, αλλά μπορεί να λυθεί (ωστόσο, η λέξη "μέτρια" εδώ είναι εντελώς λανθασμένη και δεν αντικατοπτρίζει καθόλου την ουσία της διαδικασίας - ούτε εξωτερικά ούτε εσωτερικά... και Δεν μπορούσα καν να σκεφτώ πώς θα μπορούσε να ονομαστεί αυτή η διαδικασία).

Θα ήταν μάλλον περιττό να αναφέρουμε την ανάγκη διασφάλισης της ανωνυμίας, τόσο με ενσωματωμένα μέσα (όπως στο i2p ή το Retroshare) όσο και με τη διέλευση όλης της κίνησης μέσω TOR ή VPN.

Και τέλος, η αρχιτεκτονική λογισμικού (σχηματικά σχεδιασμένη στην εικόνα για το άρθρο). Όπως ήδη αναφέρθηκε, το πρώτο στοιχείο του συστήματος είναι ένα πρόσθετο προγράμματος περιήγησης που καταγράφει περιεχόμενο με μετα-πληροφορίες. Το δεύτερο πιο σημαντικό στοιχείο είναι η υπηρεσία p2p, η οποία εκτελείται στο παρασκήνιο ("backend"). Η λειτουργία του δικτύου δεν θα πρέπει προφανώς να εξαρτάται από το αν εκτελείται το πρόγραμμα περιήγησης. Το τρίτο στοιχείο είναι το λογισμικό πελάτη - frontend. Αυτή μπορεί να είναι μια τοπική υπηρεσία ιστού (σε αυτήν την περίπτωση, ο χρήστης θα μπορεί να εργαστεί με ένα αποκεντρωμένο δίκτυο χωρίς να εγκαταλείψει το αγαπημένο του πρόγραμμα περιήγησης) ή μια ξεχωριστή εφαρμογή GUI για ένα συγκεκριμένο λειτουργικό σύστημα (Windows, Linux, MacOS, Andriod, iOS, και τα λοιπά.). Μου αρέσει η ιδέα όλων των επιλογών του frontend να υπάρχουν ταυτόχρονα. Ταυτόχρονα, αυτό θα απαιτήσει μια πιο αυστηρή αρχιτεκτονική υποστήριξης.

Υπάρχουν πολλές άλλες πτυχές που δεν περιλαμβάνονται σε αυτό το άρθρο. Σύνδεση στη διανομή των υπαρχουσών αποθηκευτικών αρχείων (δηλαδή όταν έχετε ήδη μερικά terabyte αντληθέντων δεδομένων και αφήνετε τον πελάτη να τα σαρώσει, να λάβει κατακερματισμό, να τα συγκρίνει με ό,τι βρίσκεται μέσα στο Δίκτυο και να συμμετάσχει στη διανομή και ταυτόχρονα χρόνος λήψης μεταπληροφοριών σχετικά με τα δικά τους αρχεία - κανονικά ονόματα, περιγραφές, βαθμολογίες, κριτικές κ.λπ.), σύνδεση εξωτερικών πηγών μεταπληροφοριών (όπως η βάση δεδομένων Libgen), προαιρετική χρήση χώρου στο δίσκο για αποθήκευση κρυπτογραφημένου περιεχομένου άλλων ατόμων (όπως στο Freenet ), αρχιτεκτονική ολοκλήρωσης με υπάρχοντα αποκεντρωμένα δίκτυα (αυτό είναι ένα εντελώς σκοτεινό δάσος), η ιδέα του κατακερματισμού πολυμέσων (η χρήση ειδικών αντιληπτικών κατακερματισμών για περιεχόμενο πολυμέσων - εικόνες, ήχος και βίντεο, που θα σας επιτρέψουν να συγκρίνετε αρχεία πολυμέσων του το ίδιο νόημα, που διαφέρει σε μέγεθος, ανάλυση κ.λπ.) και πολλά άλλα.

Σύντομη περίληψη του άρθρου

1. Στα αποκεντρωμένα δίκτυα δεν υπάρχει Google με την αναζήτηση και την κατάταξή της - αλλά υπάρχει μια Κοινότητα πραγματικών ανθρώπων. Ένα κοινωνικό δίκτυο με τους μηχανισμούς ανατροφοδότησης (μου αρέσει, αναδημοσιεύσεις...) και το κοινωνικό γράφημα (φίλοι, κοινότητες...) είναι ένα ιδανικό μοντέλο επιπέδου εφαρμογής για ένα αποκεντρωμένο δίκτυο
2. Η κύρια ιδέα που φέρνω με αυτό το άρθρο είναι η αυτόματη αποθήκευση ενδιαφέροντος περιεχομένου από το κανονικό Διαδίκτυο όταν ορίζετε ένα like/repost. Αυτό μπορεί να είναι χρήσιμο χωρίς p2p, απλώς διατηρώντας ένα προσωπικό αρχείο με ενδιαφέρουσες πληροφορίες
3. Αυτό το περιεχόμενο μπορεί επίσης να γεμίσει αυτόματα το αποκεντρωμένο δίκτυο
4. Η αρχή της αυτόματης αποθήκευσης ενδιαφέροντος περιεχομένου λειτουργεί επίσης με likes/reposts στο πιο αποκεντρωμένο δίκτυο

Πηγή: www.habr.com

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