Ασφαλής Υπολογιστική σε dVPN Κόμβους | Οδηγός Απορρήτου
TL;DR
Η Εξέλιξη από τα Κεντρικοποιημένα VPN στους Κατανεμημένους Κόμβους Proxy
Έχετε αναρωτηθεί ποτέ γιατί εξακολουθούμε να εμπιστευόμαστε ολόκληρη την ψηφιακή μας ζωή σε μία μόνο εταιρεία, απλώς και μόνο επειδή τοποθέτησε μια σήμανση "No-Logs" (μη τήρησης αρχείων καταγραφής) στον ιστότοπό της; Ειλικρινά, είναι σαν να δίνετε τα κλειδιά του σπιτιού σας σε έναν άγνωστο και απλώς να ελπίζετε ότι δεν θα ψάξει τα συρτάρια σας επειδή υποσχέθηκε ότι δεν θα το κάνει.
Τα παραδοσιακά VPN αποτελούν την κύρια λύση εδώ και χρόνια, αλλά είναι θεμελιωδώς ελαττωματικά λόγω του κεντρικοποιημένου χαρακτήρα τους. (Decentralized VPNs: A New Era of Internet Privacy) Πλέον μετακινούμαστε προς κάτι πολύ πιο στιβαρό: τα DePIN (Αποκεντρωμένα Δίκτυα Φυσικής Υποδομής) και τους κατανεμημένους κόμβους proxy. Πρόκειται ουσιαστικά για το "Airbnb του εύρους ζώνης" (bandwidth), όπου το δίκτυο τροφοδοτείται από απλούς χρήστες αντί για μια τεράστια φάρμα διακομιστών στη Βιρτζίνια.
Το μεγαλύτερο πρόβλημα με τα κεντρικοποιημένα VPN είναι το μοναδικό σημείο αποτυχίας (single point of failure). Εάν ο διακομιστής ενός παρόχου παραβιαστεί από χάκερ ή αν μια κυβέρνηση επιδώσει δικαστική κλήση, τα δεδομένα σας —ή τουλάχιστον τα μεταδεδομένα της σύνδεσής σας— βρίσκονται σε κίνδυνο. (Do federal regulations allow the FBI or any other government ...) Ακόμα κι αν δεν κρατούν αρχεία, η δυνατότητα καταγραφής είναι πάντα εκεί, καθώς κατέχουν το υλικό (hardware) και ολόκληρη τη στοίβα λογισμικού.
- Η επαληθευσιμότητα είναι ανύπαρκτη: Δεν μπορείτε στην πραγματικότητα να επαληθεύσετε μια πολιτική "μη τήρησης αρχείων" από το τερματικό σας. Πρέπει απλώς να τους πιστέψετε, κάτι που έρχεται σε αντίθεση με τη φιλοσοφία "μην εμπιστεύεσαι, επαλήθευσε" (don't trust, verify) της ασφάλειας ανοικτού κώδικα.
- Σημεία Συμφόρησης Bandwidth: Οι τυπικές φάρμες διακομιστών έχουν σταθερά όρια. Όταν όλοι συνδέονται στον ίδιο κόμβο "US-East" για να παρακολουθήσουν μια ροή (stream), η πτώση της απόδοσης είναι αναπόφευκτη.
- Θέατρο Ιδιωτικότητας: Μια εταιρεία που ελέγχει τους κόμβους εισόδου και εξόδου σημαίνει ότι μπορεί τεχνικά να πραγματοποιήσει ανάλυση κίνησης (traffic analysis) αν το επιθυμούσε.
Εδώ είναι που τα πράγματα γίνονται ενδιαφέροντα για τους προχωρημένους χρήστες. Αντί για ένα εταιρικό κέντρο δεδομένων, βλέπουμε την άνοδο των Δικτύων με Κίνητρα Τεκμηρίων (Token Incentivized Networks). Αυτή η αλλαγή επιτρέπει σε οποιονδήποτε να συνεισφέρει το αχρησιμοποίητο bandwidth του και να κερδίζει ανταμοιβές σε κρυπτονομίσματα, δημιουργώντας μια τεράστια, παγκόσμια κατανεμημένη δεξαμενή εύρους ζώνης.
Σύμφωνα με την επιστημονική δημοσίευση για το πλαίσιο P4P από την USENIX, ο πρακτικός κατανεμημένος υπολογισμός μεγάλης κλίμακας με προστασία της ιδιωτικότητας γίνεται επιτέλους βιώσιμος. Αυτό δεν είναι μόνο θεωρία· βλέπουμε πρωτόκολλα που χρησιμοποιούν επαληθεύσιμο διαμοιρασμό μυστικού (Verifiable Secret Sharing - VSS) σε μικρά πεδία (32 ή 64 bits) για να διατηρήσουν το κόστος χαμηλό, διασφαλίζοντας παράλληλα ότι κανένας μεμονωμένος κόμβος δεν γνωρίζει τι συμβαίνει.
Σε μια δομή DePIN, δεν είστε μόνο καταναλωτής· μπορείτε να είστε και πάροχος. Μέσω της εξόρυξης εύρους ζώνης (bandwidth mining), λειτουργείτε έναν κόμβο —ίσως σε ένα Raspberry Pi ή σε ένα θωρακισμένο σύστημα Linux— και συνεισφέρετε στην ανθεκτικότητα του δικτύου.
- Αντίσταση στη Λογοκρισία: Επειδή οι κόμβοι φιλοξενούνται από ιδιώτες με οικιακές διευθύνσεις IP, είναι σχεδόν αδύνατο για τα τείχη προστασίας (firewalls) να αποκλείσουν ολόκληρο το δίκτυο, σε σύγκριση με τον αποκλεισμό ενός γνωστού εύρους διευθύνσεων IP ενός παρόχου VPN.
- Ευθυγράμμιση Κινήτρων: Τα tokens διασφαλίζουν ότι οι διαχειριστές κόμβων παραμένουν συνδεδεμένοι και παρέχουν υπηρεσίες υψηλής ποιότητας. Εάν παραμένουν ενεργοί, πληρώνονται· εάν παρέχουν κακά δεδομένα, χάνουν τις ανταμοιβές τους.
- Υπολογισμός με Προστασία Ιδιωτικότητας: Όπως αναλύεται στο whitepaper του PlatON και στο whitepaper του LatticeX Foundation, βλέπουμε την ενσωμάτωση των zk-SNARKs και του ασφαλούς πολυμερούς υπολογισμού (MPC) για τη διαχείριση συναλλαγών και δρομολόγησης χωρίς την έκθεση της ταυτότητας των χρηστών.
Πρόκειται για ένα τεράστιο άλμα από τον παλιό τρόπο λειτουργίας. Καθώς όμως κινούμαστε προς αυτά τα κατανεμημένα συστήματα, ανακύπτει ένα νέο πρόβλημα: πώς μπορούμε πραγματικά να εκτελούμε υπολογισμούς σε αυτούς τους κόμβους χωρίς να διαρρέουν τα ίδια τα δεδομένα που προσπαθούμε να κρύψουμε;
Τεχνικός Πυρήνας: Επεξήγηση του Υπολογισμού με Προστασία Ιδιωτικότητας
Αν πιστεύετε ότι μια πολιτική "μη τήρησης αρχείων καταγραφής" (no-logs policy) αρκεί για να διατηρήσει την κίνησή σας ιδιωτική, ουσιαστικά εμπιστεύεστε την απλή υπόσχεση μιας εταιρείας που πιθανότατα έχει ήδη μια δικαστική κλήτευση στα εισερχόμενά της. Στον κόσμο των Δικτύων Αποκεντρωμένων Φυσικών Υποδομών (DePIN) και των κατανεμημένων κόμβων μεσολαβητή (proxy nodes), δεν βασιζόμαστε σε υποσχέσεις· βασιζόμαστε στα μαθηματικά.
Το βασικό πρόβλημα με οποιονδήποτε μεσολαβητή —ακόμα και έναν αποκεντρωμένο— είναι ότι ο κόμβος στο τέλος της σήραγγας (tunnel) μπορεί τεχνικά να δει τον προορισμό σας. Για να το διορθώσουμε αυτό, χρησιμοποιούμε την Ασφαλή Πολυμερή Υπολογιστική (Secure Multi-Party Computation - MPC). Πρόκειται για μια μέθοδο που επιτρέπει σε μια ομάδα κόμβων να υπολογίσει ένα αποτέλεσμα (όπως η δρομολόγηση ενός πακέτου ή η επικύρωση ενός διακριτικού) χωρίς κανένας μεμονωμένος κόμβος να βλέπει τα πραγματικά δεδομένα.
Σκεφτείτε το ως εξής: θέλετε να υπολογίσετε τον μέσο μισθό τριών φίλων χωρίς κανένας να αποκαλύψει το ακριβές ποσό που εισπράττει. Χωρίζετε τον μισθό σας σε τρία τυχαία "μερίδια" και δίνετε ένα σε κάθε φίλο. Κάνουν το ίδιο και οι άλλοι, ο καθένας αθροίζει τα μερίδια που έλαβε και στη συνέχεια προσθέτετε αυτά τα αθροίσματα. Ξαφνικά, έχετε τον μέσο όρο, αλλά κανείς δεν γνωρίζει τι κερδίζει ο άλλος.
Μια μελέτη του 2023 που δημοσιεύθηκε στο περιοδικό Sensors έδειξε ότι η χρήση της MPC για την ομαδοποίηση των "επαγγελματιών καταναλωτών" (prosumers) μπορεί να μειώσει τις συναλλαγές εντός της αλυσίδας (on-chain) κατά 3 φορές, διατηρώντας παράλληλα τα προφίλ κίνησης πλήρως συσκοτισμένα. Αυτό είναι εξαιρετικά σημαντικό γιατί λύνει το πρόβλημα της επεκτασιμότητας — αν οι κόμβοι μπορούν να επαληθεύουν δεδομένα τοπικά σε μικρές ομάδες, δεν χρειάζεται να επιβαρύνουν την κύρια αλυσίδα μπλοκ (blockchain) για κάθε μεμονωμένο πακέτο.
Ωραία, χωρίσαμε λοιπόν τα δεδομένα, αλλά πώς ξέρουμε ότι οι κόμβοι δεν κλέβουν; Εδώ έρχονται οι Αποδείξεις Μηδενικής Γνώσης (Zero-Knowledge Proofs - ZKPs), και συγκεκριμένα τα zk-SNARKs. Μια απόδειξη μηδενικής γνώσης επιτρέπει σε έναν κόμβο να αποδείξει ότι εκτέλεσε την εργασία σωστά χωρίς να αποκαλύψει ούτε ένα byte από την πραγματική κίνηση που διαχειρίστηκε.
Σύμφωνα με τη λευκή βίβλο (whitepaper) του PlatON, αυτά τα συστήματα συχνά χρησιμοποιούν συναρτήσεις κατακερματισμού (hash functions) "φιλικές προς το zk", όπως οι Poseidon ή Rescue. Αυτές δεν είναι οι τυπικές sha256 — είναι κατασκευασμένες ειδικά για να είναι αποδοτικές μέσα σε αριθμητικά κυκλώματα, γεγονός που καθιστά τον υπολογισμό zkp αρκετά γρήγορο για δικτύωση σε πραγματικό χρόνο.
Αν είστε προγραμματιστής που θέλει να το εφαρμόσει αυτό, πιθανότατα θα εξετάσετε κάτι όπως το πλαίσιο P4P. Χρησιμοποιεί την Επαληθεύσιμη Διανομή Μυστικού (Verifiable Secret Sharing - VSS) για να διατηρεί την ακεραιότητα της διαδικασίας. Δείτε πώς θα μπορούσατε να διαχειριστείτε ένα ιδιωτικό άθροισμα χρήσης εύρους ζώνης (bandwidth) μεταξύ κόμβων σε ένα τερματικό:
# Αρχικά, δημιουργήστε τα κρυπτογραφημένα μερίδια για μια τιμή εύρους ζώνης (π.χ. 100MB)
$ p4p-cli create-share --value 100 --nodes 3
Generated Shares:
Share 1: 8f3a... (Στάλθηκε στον Κόμβο Α)
Share 2: 2d91... (Στάλθηκε στον Κόμβο Β)
Share 3: 5c0e... (Στάλθηκε στον Κόμβο Γ)
# Στη συνέχεια, το δίκτυο συνδυάζει αυτά τα μερίδια για να επαληθεύσει τη συνολική χρήση χωρίς να βλέπει μεμονωμένες συνεδρίες
$ p4p-cli combine-shares --input ./shares_received.json
Result: 100
Verification: SUCCESS (Η απόδειξη ταιριάζει με το κύκλωμα)
Ειλικρινά, η μετάβαση από το "εμπιστευτείτε μας" στο "εμπιστευτείτε τα μαθηματικά" είναι ο μόνος τρόπος για να αποκτήσουμε ένα πραγματικά ιδιωτικό διαδίκτυο. Αλλά ακόμα και με τέλειο υπολογισμό, αν οι κόμβοι δεν μπορούν να συμφωνήσουν για την κατάσταση του δικτύου, τα πάντα καταρρέουν.
Η Tokenized Ευρυζωνικότητα και η P2P Οικονομία
Έχετε αναρωτηθεί ποτέ γιατί ο πάροχος διαδικτύου σας γνωρίζει ακριβώς πότε παρακολουθείτε βίντεο σε ανάλυση 4k, αλλά φαίνεται αδύνατον να διορθώσει την καθυστέρηση (lag) στη σύνδεσή σας; Αυτό συμβαίνει επειδή στο τρέχον σύστημα, εσείς είστε το προϊόν και το εύρος ζώνης (bandwidth) σας είναι απλώς ένα μέγεθος που εκμεταλλεύονται χωρίς να σας επιστρέφουν ούτε ένα σεντ.
Η τοκενοποίηση (tokenization) του bandwidth ουσιαστικά μετατρέπει την αχρησιμοποίητη ταχύτητα μεταφόρτωσης (upload speed) σε ένα ψηφιακό εμπόρευμα. Αντί να αφήνετε αυτή τη σύνδεση οπτικής ίνας να παραμένει ανενεργή όσο βρίσκεστε στην εργασία σας, μπορείτε να επιτρέψετε σε κατανεμημένους κόμβους διακομιστών μεσολάβησης (distributed proxy nodes) να τη χρησιμοποιούν για τη δρομολόγηση κρυπτογραφημένης κίνησης για άλλους χρήστες.
Η ομορφιά μιας ομότιμης (P2P) οικονομίας είναι ότι δημιουργεί μια δίκαιη αγορά, όπου ο «μικρός παίκτης» με ένα Raspberry Pi μπορεί να ανταγωνιστεί τεράστιες φάρμες διακομιστών. Δεν είστε πλέον ένας απλός χρήστης· είστε ένας μικρο-πάροχος υπηρεσιών διαδικτύου (micro-ISP) που κερδίζει ανταμοιβές για κάθε gigabyte που αναμεταδίδει.
- Ανταλλαγή Δίκαιης Αξίας: Πληρώνεστε σε διακριτικά (tokens) με βάση την πραγματική ποιότητα και ποσότητα του bandwidth που παρέχετε.
- Κίνητρα για Συνεχή Λειτουργία: Οι ανταμοιβές για κόμβους υψηλής ποιότητας διασφαλίζουν ότι το δίκτυο παραμένει γρήγορο, καθώς οι διαχειριστές χάνουν κυριολεκτικά χρήματα εάν ο κόμβος τους τεθεί εκτός λειτουργίας.
- Γεφυρώνοντας το Χάσμα: Εργαλεία όπως το SquirrelVPN αρχίζουν να γεφυρώνουν το χάσμα για τους απλούς χρήστες. Σας επιτρέπουν να συμμετέχετε εύκολα σε αυτά τα αποκεντρωμένα δίκτυα παρέχοντας μια φιλική προς τον χρήστη διεπαφή που διαχειρίζεται την περίπλοκη παραμετροποίηση των κόμβων στο παρασκήνιο. Έτσι, καθίσταται δυνατός ο διαχωρισμός της τοπικής σας κίνησης από τα καθήκοντα αναμετάδοσης, χωρίς να απαιτείται πτυχίο μηχανικού δικτύων.
Όπως είδαμε στην μελέτη του περιοδικού Sensors που αναφέρθηκε προηγουμένως, η χρήση του MPC (Multi-Party Computation) για την ομαδοποίηση των επαγγελματιών-καταναλωτών (prosumers) μπορεί να μειώσει τις συναλλαγές επί της αλυσίδας (on-chain) έως και 3 φορές. Αυτό είναι εξαιρετικά σημαντικό, καθώς επιλύει τον μεγαλύτερο πονοκέφαλο στα δίκτυα που βασίζονται στην κρυπτογράφηση: τα υψηλά τέλη δικτύου (gas fees).
Ομαδοποιώντας τους κόμβους, το δίκτυο δεν χρειάζεται να καταγράφει μια νέα συναλλαγή στο καθολικό (ledger) κάθε φορά που κάποιος επισκέπτεται έναν ιστότοπο. Αντίθετα, εκκαθαρίζει τον «λογαριασμό» σε παρτίδες, καθιστώντας την οικονομική χρήση ενός αποκεντρωμένου δικτύου προσιτή για το καθημερινό σερφάρισμα.
Προκλήσεις Ασφαλείας στα Κατανεμημένα Δίκτυα Proxy
Λοιπόν, δημιουργήσαμε αυτό το εξαιρετικό ομότιμο (p2p) δίκτυο όπου όλοι μοιράζονται εύρος ζώνης (bandwidth) και τα διακριτικά (tokens) κυκλοφορούν σαν μαγεία, σωστά; Εδώ όμως έρχεται η σκληρή πραγματικότητα: αν απλώς συγκεντρώσετε μια ομάδα τυχαίων κόμβων χωρίς ένα στιβαρό επίπεδο ασφαλείας, είναι σαν να προσκαλείτε τον λύκο να φυλάει τα πρόβατα.
Ο μεγαλύτερος πονοκέφαλος σε κάθε σύστημα p2p είναι η Επίθεση Sybil (Sybil Attack). Πρόκειται για την περίπτωση όπου ένας κακόβουλος χρήστης δημιουργεί χιλιάδες "διαφορετικούς" κόμβους σε μια σειρά από φθηνούς εικονικούς διακομιστές (virtual servers), προκειμένου να αποκτήσει την πλειοψηφία στο δίκτυο.
- Απόδειξη Συμμετοχής/Εργασίας (Proof of Stake/Work): Τα περισσότερα δίκτυα απαιτούν από τους κόμβους να "δεσμεύσουν" tokens. Αν συμπεριφερθούν κακόβουλα, χάνουν την εγγύησή τους (slashing).
- Επαλήθευση Οικιακών διευθύνσεων IP: Τα πραγματικά έργα DePIN (Αποκεντρωμένα Δίκτυα Φυσικής Υποδομής) δίνουν προτεραιότητα σε οικιακές IP έναντι των κέντρων δεδομένων. Είναι πολύ πιο δύσκολο να αποκτήσει κανείς 500 οικιακές συνδέσεις παρά να δημιουργήσει 500 εικονικές μηχανές στο AWS.
- Τυχαία Επιλογή Κόμβων: Όπως αναφέρθηκε προηγουμένως στην έρευνα USENIX για τα πλαίσια P4P, δεν μπορείτε να επιτρέψετε στον πελάτη να επιλέξει τη διαδρομή του. Το δίκτυο πρέπει να χρησιμοποιεί επαληθεύσιμη τυχαιότητα για την επιλογή των κόμβων.
Ας είμαστε ειλικρινείς — η ιδιωτικότητα έχει το τίμημά της. Κάθε φορά που προσθέτουμε ένα επίπεδο Πολυμερούς Ασφαλούς Υπολογισμού (MPC), προσθέτουμε χιλιοστά του δευτερολέπτου στο χρόνο απόκρισης (RTT). Σύμφωνα με μια μελέτη για τον συνεργατικό υπολογισμό των Kaaniche et al. (2020), η προσθήκη αυτών των επιπέδων συνεπάγεται έναν τεράστιο συμβιβασμό.
- Υπολογιστικό Κόστος: Η δημιουργία μιας Απόδειξης Μηδενικής Γνώσης (ZKP) απαιτεί κύκλους επεξεργαστή (CPU).
- Άλματα Δικτύου (Hops): Κάθε ενδιάμεσος proxy προσθέτει γεωγραφική απόσταση.
- Επιτάχυνση Υλικού: Το μέλλον εδώ βρίσκεται στο υλικό (hardware). Αρχίζουμε να βλέπουμε διαχειριστές κόμβων να χρησιμοποιούν FPGAs (Field Programmable Gate Arrays) για την επεξεργασία των μαθηματικών υπολογισμών για αποδείξεις Plonk ή Marlin. Τα FPGAs είναι ουσιαστικά τσιπ που μπορείτε να επαναπρογραμματίσετε ώστε να είναι εξαιρετικά γρήγορα σε συγκεκριμένες μαθηματικές πράξεις. Στην προκειμένη περίπτωση, διαχειρίζονται τα "αριθμητικά κυκλώματα" (τις περίπλοκες μαθηματικές εξισώσεις) που απαιτούνται από τα συστήματα ZK-SNARK, όπως το Plonk ή το Marlin, πολύ ταχύτερα από έναν κανονικό επεξεργαστή υπολογιστή.
Ειλικρινά, η "τέλεια" ρύθμιση ασφαλείας δεν υπάρχει. Πάντα θα προσπαθείτε να βρείτε τη χρυσή τομή ανάμεσα στο "εξαιρετικά γρήγορο αλλά ελαφρώς ριψοκίνδυνο" και το "αδιαπέραστο επιπέδου μυστικών υπηρεσιών αλλά αργό σαν μόντεμ dial-up".
Το Μέλλον της Ιδιωτικότητας στο Web3 και η Ψηφιακή Ελευθερία
Αφού αναλύσαμε τα μαθηματικά μοντέλα και τη λειτουργία των διακριτικών (tokens), ας δούμε πού μας οδηγούν όλα αυτά στην πράξη. Ειλικρινά, η μετάβαση από ένα διαδίκτυο που ελέγχεται από εταιρικούς κολοσσούς σε ένα δίκτυο που τροφοδοτείται από τους ίδιους τους χρήστες δεν είναι πλέον απλώς μια «ευπρόσδεκτη αλλαγή» — εξελίσσεται σε προϋπόθεση επιβίωσης για την ψηφιακή μας ελευθερία.
Όπως επισημαίνεται στη λευκή βίβλο του LatticeX Foundation, κινούμαστε προς αποκεντρωμένα δίκτυα τεχνητής νοημοσύνης (AI), όπου οι κόμβοι δεδομένων και οι υπολογιστικοί κόμβοι συνδέονται σε ένα επίπεδο προστασίας της ιδιωτικότητας. Αυτό επιτρέπει εφαρμογές όπως η Ασφαλής Εκπαίδευση Τεχνητής Νοημοσύνης, όπου τα μοντέλα μαθαίνουν από ευαίσθητα δεδομένα χρησιμοποιώντας Ασφαλή Πολυμερή Υπολογισμό (MPC), χωρίς να έχουν ποτέ πρόσβαση στα πρωτογενή αρχεία.
Σταδιακά, αυτό οδηγεί στο όραμα μιας Αποκεντρωμένης Εναλλακτικής λύσης Παρόχου Internet (ISP). Αντί να πληρώνετε μια τεράστια τηλεπικοινωνιακή εταιρεία που πουλάει το ιστορικό περιήγησής σας, θα συνδέεστε σε ένα πλέγμα (mesh) τοπικών κόμβων. Θα πληρώνετε για ό,τι χρησιμοποιείτε σε tokens και θα κερδίζετε tokens αναμεταδίδοντας δεδομένα για τους γείτονές σας.
Έχω δει αυτό το σύστημα να λειτουργεί με εντυπωσιακούς τρόπους πρόσφατα. Σύμφωνα με την έρευνα του LatticeX που εξετάσαμε, μπορείτε να χρησιμοποιήσετε ZK-SNARKs (Αποδείξεις Μηδενικής Γνώσης) για να αποδείξετε ότι είστε μέλος μιας ομάδας και να ψηφίσετε σε έναν DAO, χωρίς να αποκαλύψετε τη συγκεκριμένη διεύθυνση του πορτοφολιού σας.
Ειλικρινά, η τεχνολογία αρχίζει επιτέλους να συμβαδίζει με το όραμα. Είναι μια μεταβατική περίοδος με αρκετές προκλήσεις, και οι εντολές στο τερματικό μπορεί να φαίνονται αποθαρρυντικές στην αρχή, αλλά το τελικό αποτέλεσμα είναι ένα διαδίκτυο που πραγματικά μας ανήκει. Αυτό είναι ένα μέλλον που αξίζει να χτίσουμε. Ο στόχος είναι απλός: ένα διαδίκτυο όπου η ιδιωτικότητα είναι η προεπιλογή και όχι ένα προνομιακό χαρακτηριστικό που πρέπει να αγοράσεις από μια εταιρεία. Φτάνουμε εκεί, έναν κόμβο τη φορά.