TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

Εδώ και δύο εβδομάδες, το Runet κάνει θόρυβο για το Telegram και την κατάσταση με τον παράλογο και ανελέητο αποκλεισμό του από την Roskomnadzor. Το ricochet προσέβαλε πολλούς ανθρώπους, αλλά όλα αυτά είναι θέματα για αναρτήσεις στο Geektimes. Με εξέπληξε κάτι άλλο - δεν έχω δει ακόμη μια ανάλυση στο Habré του δικτύου TON που σχεδιάστηκε να κυκλοφορήσει με βάση το Telegram - Telegram Open Network. Ήθελα να αναπληρώσω αυτή την έλλειψη, γιατί υπάρχει κάτι να μελετήσω εκεί - ακόμα και παρά την έλλειψη επίσημων δηλώσεων σχετικά με αυτό.

Να σας θυμίσω ότι κυκλοφορούν φήμες ότι η Telegram κυκλοφόρησε ένα πολύ μεγάλης κλίμακας κλειστό ICO, έχοντας ήδη συγκεντρώσει απίστευτα χρηματικά ποσά. Αναμένεται ότι το δικό του κρυπτονόμισμα της Gram θα κυκλοφορήσει φέτος - και κάθε χρήστης του Telegram θα έχει αυτόματα ένα πορτοφόλι, το οποίο από μόνο του δημιουργεί ένα σημαντικό πλεονέκτημα σε σχέση με άλλα κρυπτονομίσματα.

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

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

Μαθαίνουμε ότι εκτός από τα κρυπτονομίσματα, αναμένονται πολλά περισσότερα. Ας το πάρουμε με τη σειρά.

  • TON Blockchain. Αυτή είναι η βάση ολόκληρου του συστήματος. Αν δεν ξέρετε τι είναι μπλοκ — Συνιστώ να το μάθετε, γιατί θα υπάρχουν πολλά blockchains εδώ. Φωλιασμένα το ένα μέσα στο άλλο, ουσιαστικά κατακερματισμένες, ακόμη και «κάθετες» αλυσίδες μπλοκ μέσα σε μπλοκ άλλων μπλοκ αλυσίδων. Θα υπάρξουν επίσης μερικοί δροσεροί όροι όπως Instant Hypercube Routing и Infinite Sharding Paradigm, αλλά περισσότερα για αυτό αργότερα. Και, φυσικά, απόδειξη συμμετοχής και έξυπνα συμβόλαια.
  • Δίκτυο TON P2P. Δίκτυο peer-to-peer βάσει του οποίου θα κατασκευαστεί το σύστημα. Αυτή θα συζητηθεί πρώτα σε αυτό το μέρος της ιστορίας.
  • Αποθήκευση TON. Η αποθήκευση αρχείων, η οποία, ανεξάρτητα από το blockchain, θα χτιστεί στο προαναφερθέν δίκτυο peer-to-peer. Μπορεί να συγκριθεί με torrents.
  • TON Proxy. Πρόκειται για μια υπηρεσία που σκοπό έχει να αυξήσει την ανωνυμία των συμμετεχόντων στο δίκτυο. Οποιοδήποτε πακέτο μπορεί να σταλεί όχι απευθείας, αλλά μέσω ενδιάμεσων σηράγγων με πρόσθετη κρυπτογράφηση - όπως το I2P ή το TOR.
  • TON DHT. Κατανεμημένος πίνακας κατακερματισμού για αποθήκευση αυθαίρετων τιμών. Είναι επίσης χτισμένο από πάνω Δίκτυο TON (αλλά ταυτόχρονα χρησιμοποιείται από τον ίδιο) και βοηθάει Αποθήκευση TON βρείτε κόμβους "διανομής" και TON Proxy — ενδιάμεσοι επαναλήπτες. Αλλά πρέπει να σημειωθεί ότι, σε αντίθεση με το blockchain, αυτός ο πίνακας κατακερματισμού δεν είναι ασφαλής αποθήκευση - δεν μπορείτε να αποθηκεύσετε σημαντικές πληροφορίες σε αυτόν.
  • Υπηρεσίες TON. Πλατφόρμα για προσαρμοσμένες υπηρεσίες. Στην ουσία, αυτό είναι ένα νέο Διαδίκτυο πάνω από όλα όσα περιγράφονται παραπάνω. Ανταλλαγή δεδομένων - μέσω Δίκτυο TON/TON Proxy, και η λογική είναι στα έξυπνα συμβόλαια του TON Blockchain. Και μια διεπαφή με αρκετά γνωστά URL.
  • TON DNS. Δεδομένου ότι μιλάμε για γνωστές διευθύνσεις URL, χρειαζόμαστε επίσης έναν μετατροπέα από αυτές σε διευθύνσεις 256-bit - λογαριασμούς, συμβόλαια, υπηρεσίες και κόμβους.
  • TON Πληρωμές. Και εδώ είναι που μπαίνει το ζήτημα των χρημάτων. Και δεν θα είναι μόνο γραμμάριο — όπως και με τον αιθέρα, θα είναι δυνατά οποιαδήποτε «κουπόνια». Τα γραμμάρια θα είναι απλώς το «προεπιλεγμένο» νόμισμα εδώ.

Αυτό είναι το πρώτο μέρος που περιγράφει το «γειωμένο» στρώμα του TON - το τμήμα δικτύου του, χτισμένο πάνω σε παραδοσιακά πρωτόκολλα. Στο επόμενο μέρος θα μιλήσουμε για το «μαλακό» - blockchain, το οποίο θα υποστηρίζεται από το σύστημα που περιγράφεται παρακάτω. Έτσι, η σειρά της επανάληψης μου είναι κάπως διαφορετική από αυτή που χρησιμοποιείται στο προαναφερθέν έγγραφο (το οποίο ξεκινά αμέσως από το αφηρημένο επίπεδο).

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

TL (Γλώσσα τύπου). Είναι μια αφηρημένη δυαδική μορφή για αυθαίρετες δομές δεδομένων. Χρησιμοποιείται στο πρωτόκολλο Telegram και θα χρησιμοποιηθεί ενεργά στο TON. Αν θέλετε να το γνωρίσετε λεπτομερώς - εδώ είναι η περιγραφή του.

Χασίσι (χασίσι). Μια συνάρτηση που εκτελεί έναν μη αναστρέψιμο μετασχηματισμό μιας αυθαίρετης δομής δεδομένων σε έναν μοναδικό αριθμό σταθερού μήκους. Σε όλη την τεκμηρίωση μιλάμε για τη λειτουργία SHA-256.

Κόμβος δικτύου (κόμβος). Ένας κόμβος είναι το λογισμικό που θα διασφαλίσει τη λειτουργία του συστήματος. Συγκεκριμένα, υποτίθεται ότι κάθε εφαρμογή πελάτη Telegram θα περιλαμβάνει έναν κόμβο TON. Σε χαμηλό επίπεδο, οι κόμβοι έχουν διευθύνσεις IPv4/IPv6 και επικοινωνούν χρησιμοποιώντας το πρωτόκολλο UDP· σε υψηλότερο επίπεδο, έχουν αφηρημένες διευθύνσεις και εφαρμόστε το πρωτόκολλο ADNL (σχετικά με τις αφηρημένες διευθύνσεις και το ADNL - δείτε παρακάτω). Όταν πρόκειται για το γεγονός ότι ορισμένα μέρη του συστήματος κάνουν κάτι ή αποθηκεύουν κάποια δεδομένα, εννοείται ότι αυτό γίνεται από κόμβους δικτύου.

Αφηρημένη διεύθυνση (ή απλά διεύθυνση, διεύθυνση). Η διεύθυνση ενός κόμβου καθορίζεται από το δημόσιο κλειδί του. Πιο αυστηρά, είναι ένας κατακερματισμός 256-bit (SHA256) της δομής δεδομένων που περιέχει το δημόσιο κλειδί (ο συγκεκριμένος κρυπτογραφικός αλγόριθμος δεν καθορίζεται - οι ελλειπτικές καμπύλες και το RSA-2048 δίνονται ως παραδείγματα). Για να επικοινωνήσει ένας κόμβος με έναν άλλο, πρέπει να γνωρίζει όχι μόνο τη διεύθυνση αυτού, αλλά και αυτή τη δομή δεδομένων. Θεωρητικά, ένας φυσικός κόμβος μπορεί να δημιουργήσει οποιονδήποτε αριθμό διευθύνσεων (που αντιστοιχούν σε διαφορετικά κλειδιά).

Επιπλέον, ένας τέτοιος σύνδεσμος χρησιμοποιείται συχνά: ένα «πρωτότυπο» με τη μορφή δομής TL (που περιέχει σχεδόν όλα τα δεδομένα) και ένας κατακερματισμός 256 bit από αυτόν, που χρησιμοποιείται για τη διευθυνσιοδότηση.

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

Υπηρεσίες (υπηρεσία). Οι υπηρεσίες εντός του TON μπορεί να είναι διαφόρων τύπων, ανάλογα με το αν χρησιμοποιούν blockchain ή όχι. Για παράδειγμα, ένας (ή πολλοί) κόμβοι δικτύου μπορούν να επεξεργαστούν ορισμένα αιτήματα RPC χρησιμοποιώντας το πρωτόκολλο ADNL που περιγράφεται παρακάτω, χωρίς να δημιουργούνται εγγραφές στο blockchain - όπως οι παραδοσιακοί διακομιστές ιστού. Συμπεριλαμβανομένης της δυνατότητας υλοποίησης HTTP μέσω ADNL, καθώς και της μετάβασης του ίδιου του messenger σε αυτό το πρωτόκολλο. Κατ' αναλογία με το TOR ή το I2P, αυτό θα το κάνει πιο ανθεκτικό σε διάφορα μπλοκαρίσματα.

Ταυτόχρονα, ένας αριθμός υπηρεσιών περιλαμβάνει τόσο την αλληλεπίδραση με το blockchain όσο και την επεξεργασία αιτημάτων εκτός αυτού. Για παράδειγμα, για το TON Storage - αποθήκευση αρχείων - δεν είναι πολύ λογικό να αποθηκεύονται τα ίδια τα αρχεία στο blockchain. Θα περιέχει μόνο κατακερματισμούς αρχείων (μαζί με κάποιες μετα-πληροφορίες σχετικά με αυτά) και οι εξειδικευμένοι κόμβοι δικτύου θα λειτουργούν ως «διακομιστές αρχείων», έτοιμοι να τους στείλουν σε άλλους κόμβους μέσω ADNL.

Υπηρεσία ομίχλης (υπηρεσία ομίχλης). Μιλάμε για κάποιες υπηρεσίες που συνεπάγονται αποκέντρωση και ανοιχτή συμμετοχή σε αυτές. Για παράδειγμα, το TON Proxy είναι μια υπηρεσία που μπορεί να υποστηριχθεί από οποιονδήποτε συμμετέχοντα που θέλει να παρέχει τον κόμβο του ως ενδιάμεσο (proxy) προώθηση πακέτων μεταξύ άλλων κόμβων. Εάν το επιθυμείτε, μπορεί να χρεώσει μια χρέωση που έχει ορίσει για αυτό - χρησιμοποιώντας το σύστημα TON Payments για μικροπληρωμές (το οποίο, με τη σειρά του, είναι επίσης υπηρεσία ομίχλης).

ADNL: Abstract Datagram Network Layer

Στο χαμηλότερο επίπεδο, η επικοινωνία μεταξύ των κόμβων θα πραγματοποιείται χρησιμοποιώντας το πρωτόκολλο UDP (αν και άλλες επιλογές είναι αποδεκτές).

Όπως προαναφέρθηκε, για να στείλει ένας κόμβος ένα πακέτο σε έναν άλλο, πρέπει να γνωρίζει ένα από τα δημόσια κλειδιά του (άρα και τη διεύθυνση που ορίζει). Κρυπτογραφεί το πακέτο με αυτό το κλειδί και προσθέτει τη διεύθυνση προορισμού 256-bit στην αρχή του πακέτου - καθώς ένας κόμβος μπορεί να έχει πολλές από αυτές τις διευθύνσεις, αυτό θα του επιτρέψει να καθορίσει ποιο κλειδί θα χρησιμοποιήσει για αποκρυπτογράφηση.

TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

Επιπλέον, αντί για τη διεύθυνση του παραλήπτη, η αρχή του πακέτου δεδομένων μπορεί να περιέχει το λεγόμενο. αναγνωριστικό Κανάλι. Σε αυτήν την περίπτωση, η επεξεργασία του πακέτου εξαρτάται ήδη από συγκεκριμένες συμφωνίες μεταξύ κόμβων - για παράδειγμα, τα δεδομένα που αποστέλλονται σε ένα συγκεκριμένο κανάλι μπορεί να προορίζονται για έναν άλλο κόμβο και πρέπει να προωθηθούν σε αυτόν (αυτή είναι η υπηρεσία TON Proxy). Μια άλλη ειδική περίπτωση μπορεί να είναι η αλληλεπίδραση απευθείας μεταξύ των κόμβων, αλλά με κρυπτογράφηση χρησιμοποιώντας ένα μεμονωμένο ζεύγος κλειδιών για αυτό το κανάλι (προπαρασκευασμένο με χρήση του πρωτοκόλλου Diffie-Hellman).

Τέλος, μια ειδική περίπτωση είναι το «null» κανάλι - εάν ένας κόμβος δεν γνωρίζει ακόμη τα δημόσια κλειδιά των «γειτόνων» του, μπορεί να του στείλει πακέτα χωρίς καθόλου κρυπτογράφηση. Αυτό προορίζεται μόνο για προετοιμασία - μόλις οι κόμβοι στείλουν πληροφορίες σχετικά με τα κλειδιά τους, θα πρέπει να χρησιμοποιηθούν για περαιτέρω επικοινωνία.

Το πρωτόκολλο που περιγράφεται παραπάνω (256 bit αναγνωριστικού καναλιού + περιεχόμενα πακέτου) ονομάζεται ADNL. Η τεκμηρίωση αναφέρει τη δυνατότητα υλοποίησης ενός αναλόγου του TCP πάνω από αυτό ή του δικού του πρόσθετου - RLDP (Reliable Large Datagram Protocol), αλλά δεν υπεισέρχεται σε λεπτομέρειες σχετικά με την υλοποίησή τους.

TON DHT: Κατανεμημένος πίνακας κατακερματισμού

Όπως συμβαίνει με άλλα κατανεμημένα συστήματα, το TON περιλαμβάνει την εφαρμογή DHT - κατανεμημένος πίνακας κατακερματισμού. Πιο συγκεκριμένα, ο πίνακας είναι Καντέμλια-όπως. Εάν δεν είστε εξοικειωμένοι με αυτόν τον τύπο πίνακα κατακερματισμού, μην ανησυχείτε, παρακάτω θα περιγράψω κατά προσέγγιση πώς λειτουργούν.

TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

Με μια αφηρημένη έννοια, το DHT αντιστοιχίζει κλειδιά 256-bit σε δυαδικές τιμές αυθαίρετου μήκους. Σε αυτήν την περίπτωση, τα κλειδιά στον πίνακα είναι κατακερματισμοί από μια συγκεκριμένη δομή TL (οι ίδιες οι δομές αποθηκεύονται επίσης μαζί με το DHT). Αυτό είναι πολύ παρόμοιο με τον σχηματισμό διευθύνσεων κόμβων - και μπορούν πράγματι να υπάρχουν στο DHT (για παράδειγμα, χρησιμοποιώντας ένα τέτοιο κλειδί τη διεύθυνση IP ενός κόμβου που αντιστοιχεί σε ένα δεδομένο αφηρημένη διεύθυνση, αν δεν το κρύψει). Αλλά στη γενική περίπτωση, «πρωτότυπα κλειδιών» (τους περιγραφές, βασικές περιγραφές) είναι μεταδεδομένα που υποδεικνύουν τον «κάτοχο» μιας καταχώρησης σε έναν πίνακα κατακερματισμού (δηλαδή, το δημόσιο κλειδί κάποιου κόμβου), τον τύπο της τιμής που αποθηκεύεται και τους κανόνες με τους οποίους μπορεί στη συνέχεια να αλλάξει αυτή η καταχώρηση. Για παράδειγμα, ένας κανόνας μπορεί να επιτρέπει μόνο στον κάτοχο να αλλάξει την τιμή ή να απαγορεύει την αλλαγή της τιμής προς τα κάτω (για προστασία από επιθέσεις επανάληψης).

Εκτός από τα κλειδιά 256-bit, εισάγεται η έννοια των διευθύνσεων DHT. Η διαφορά με τις κανονικές διευθύνσεις κεντρικού υπολογιστή είναι ότι η διεύθυνση DHT είναι απαραίτητα συνδεδεμένη με μια διεύθυνση IP. Εάν ένας κόμβος δεν κρύβει την IP του, μπορεί να χρησιμοποιήσει μια κανονική διεύθυνση για το DHT. Αλλά πιο συχνά, μια ξεχωριστή, «ημιμόνιμη» διεύθυνση θα δημιουργηθεί για τις ανάγκες DHT.
TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης
Η έννοια της απόστασης εισάγεται πάνω από τα πλήκτρα και τις διευθύνσεις DHT - σε αυτό όλα συμπίπτουν με τους πίνακες καντεμλια — η απόσταση μεταξύ των πλήκτρων είναι ίση με το XOR (bitwise αποκλειστικό OR) αυτών. Όπως και στους πίνακες Kademlia, πρέπει να αποθηκευτεί η τιμή που αντιστοιχεί σε ένα συγκεκριμένο κλειδί s κόμβοι που έχουν τη μικρότερη απόσταση από αυτό το κλειδί (s εδώ είναι ένας σχετικά μικρός αριθμός).

Προκειμένου ένας κόμβος DHT να επικοινωνεί με άλλους τέτοιους κόμβους, διατηρείται στη μνήμη Πίνακας δρομολόγησης DHT — Διευθύνσεις DHT και IP των κόμβων με τους οποίους αλληλεπιδρούσε προηγουμένως, ομαδοποιημένες κατά απόσταση από αυτούς. Υπάρχουν 256 τέτοιες ομάδες (αντιστοιχούν στο πιο σημαντικό σύνολο bit στην τιμή της απόστασης - δηλαδή, οι κόμβοι σε απόσταση από 0 έως 255 θα πέσουν σε μια ομάδα, από 256 έως 65535 - στην επόμενη, κ.λπ.). Μέσα σε κάθε ομάδα, αποθηκεύεται ένας περιορισμένος αριθμός "καλύτερων" κόμβων (όσον αφορά το ping σε αυτούς).

TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

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

Το TON DHT μπορεί να χρησιμοποιηθεί για διάφορους σκοπούς, για παράδειγμα, για την υλοποίηση μιας αποθήκευσης αρχείων που μοιάζει με torrent (βλ. Αποθήκευση TON) να καθορίσει τις διευθύνσεις των κόμβων που υλοποιούν ορισμένες υπηρεσίες. για αποθήκευση πληροφοριών σχετικά με τους κατόχους λογαριασμών στο blockchain. Αλλά η πιο σημαντική εφαρμογή είναι η ανακάλυψη κόμβων από τις αφηρημένες διευθύνσεις τους. Για να γίνει αυτό, η διεύθυνση χρησιμοποιείται ως κλειδί του οποίου η τιμή πρέπει να βρεθεί. Ως αποτέλεσμα του αιτήματος, είτε θα βρεθεί ο ίδιος ο κόμβος (εάν η διεύθυνση αναζήτησης ήταν η ημιμόνιμη διεύθυνση DHT), είτε η τιμή θα είναι η διεύθυνση IP και η θύρα για σύνδεση - είτε μια άλλη διεύθυνση που θα πρέπει να χρησιμοποιηθεί ως ενδιάμεση σήραγγα.

Δίκτυα επικάλυψης σε TON

Το πρωτόκολλο ADNL που περιγράφεται παραπάνω συνεπάγεται τη δυνατότητα για οποιονδήποτε κόμβο να ανταλλάσσει πληροφορίες μεταξύ τους - αν και όχι απαραίτητα με τους βέλτιστους τρόπους. Μπορούμε να πούμε ότι χάρη στο ADNL, όλοι οι κόμβοι σχηματίζουν ένα παγκόσμιο γράφημα TON (ιδανικά συνδεδεμένο). Αλλά είναι επιπλέον δυνατή η δημιουργία δικτύων επικάλυψης - υπογραφών σε αυτό το γράφημα.
TON: Ανοικτό δίκτυο Telegram. Μέρος 1: Εισαγωγή, επίπεδο δικτύου, ADNL, DHT, δίκτυα επικάλυψης

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

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

Τα δίκτυα επικάλυψης μπορεί να είναι δημόσια ή ιδιωτικά. Το να γίνετε μέλος ενός δημόσιου δικτύου δεν είναι δύσκολο - πρέπει να βρείτε μια δομή TL που να την περιγράφει (μπορεί να είναι δημόσια ή προσβάσιμη από ένα συγκεκριμένο κλειδί στο DHT). Στην περίπτωση ενός ιδιωτικού δικτύου, αυτή η δομή πρέπει να είναι γνωστή στον κόμβο εκ των προτέρων.

Για να συνεχιστεί

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

Πηγή: www.habr.com

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