Τι είναι ο πλήρης κόμβος (full node);
Με λίγα λόγια
Ο πλήρης κόμβος (full node) είναι υπολογιστής που ελέγχει ανεξάρτητα τις συναλλαγές και τα blocks ενός blockchain, εφαρμόζοντας όλους τους κανόνες του δικτύου αντί να εμπιστεύεται άλλους κόμβους.
Αν κάποιος σου πει ότι μια πληρωμή έγινε, θα αρκεστείς στον λόγο του ή θα ελέγξεις το δικό σου αρχείο; Αυτή είναι η λογική πίσω από έναν πλήρη κόμβο: τρέχει λογισμικό που συνδέεται με άλλους κόμβους και ελέγχει όσα λαμβάνει, χωρίς να θεωρεί ότι είναι σωστά επειδή τα έστειλε το δίκτυο.
Στο Bitcoin, για παράδειγμα, όταν φτάνει ένα νέο block, ο full node ελέγχει τις συναλλαγές του. Εξετάζει αν έχουν τις απαραίτητες ψηφιακές υπογραφές, αν τα νομίσματα που ξοδεύονται είναι διαθέσιμα και αν τηρούνται οι κανόνες δημιουργίας νέων bitcoin. Αν κάτι δεν συμφωνεί, απορρίπτει το block, ακόμη κι αν το έστειλε ένας ισχυρός miner. Είναι σαν λογιστής που ελέγχει τα παραστατικά αντί να αντιγράφει τυφλά το σύνολο που του έδωσαν.
Γιατί έχει σημασία
Όταν συνδέεις το πορτοφόλι σου με δικό σου full node, μπορείς να επαληθεύεις τις συναλλαγές σου χωρίς να βασίζεσαι στον διακομιστή μιας εταιρείας. Περιορίζεις επίσης τα στοιχεία που αποκαλύπτεις σε τρίτους όταν αναζητάς υπόλοιπα και πληρωμές. Αυτό δεν σε κάνει αυτόματα ανώνυμο: η σύνδεση στο δίκτυο και ο τρόπος χρήσης του πορτοφολιού εξακολουθούν να μετρούν.
Εμείς θεωρούμε ότι η ουσία είναι η ανεξάρτητη επαλήθευση. Οι πλήρεις κόμβοι επιτρέπουν στους χρήστες να εφαρμόζουν οι ίδιοι τους κανόνες που αποδέχονται. Δεν λειτουργούν όμως σαν κάλπη όπου κάθε επιπλέον κόμβος δίνει μία ψήφο για να αλλάξουν οι κανόνες του δικτύου.
Τι να προσέξεις
Το «πλήρης» δεν σημαίνει υποχρεωτικά ότι αποθηκεύει για πάντα ολόκληρο το ιστορικό. Στο Bitcoin, ένας κόμβος με περικοπή αποθηκευμένων δεδομένων (pruned node) ελέγχει το ιστορικό κατά τον αρχικό συγχρονισμό και έπειτα διαγράφει παλαιότερα δεδομένα block, διατηρώντας όσα χρειάζεται για να συνεχίσει την επαλήθευση.
Επίσης, full node δεν σημαίνει miner ή validator. Η λειτουργία του από μόνη της δεν παράγει blocks ούτε εξασφαλίζει ανταμοιβές. Χρειάζεται αποθηκευτικό χώρο, σύνδεση στο διαδίκτυο, χρόνο συγχρονισμού και συντήρηση του λογισμικού, με απαιτήσεις που διαφέρουν ανά blockchain.