Sharding

Το sharding είναι μια μέθοδος διαχωρισμού των blockchain (ή άλλων τύπων βάσεων δεδομένων) σε μικρότερα, ξεχωριστά blockchain, τα οποία διαχειρίζονται συγκεκριμένα τμήματα δεδομένων. Αυτή η ρύθμιση αφαιρεί την πίεση από μια ενιαία αλυσίδα, η οποία ασχολείται με όλες τις συναλλαγές και τις αλληλεπιδράσεις σε ένα δίκτυο. Κάθε ξεχωριστό blockchain είναι γνωστό ως shard και έχει το ειδικό καθολικό του.
Αυτά τα shard μπορούν, στη συνέχεια, να επεξεργαστούν τις δικές τους συναλλαγές, αλλά ένα blockchain ή μια κύρια αλυσίδα beacon (Beacon Chain) διαχειρίζεται τις αλληλεπιδράσεις μεταξύ των shard. Αυτό καθιστά το sharding μια αναβάθμιση κλιμάκωσης δικτύου επιπέδου 1, καθώς πρόκειται για μια αλλαγή στο mainnet ενός blockchain. Η υλοποίηση shard προσφέρει πολύ μεγαλύτερη επεκτασιμότητα, σε σχέση με τη συνέχιση της χρήσης ενός μεμονωμένου δικτύου. Οι προγραμματιστές του Ethereum θα εισαγάγουν το sharding στο δίκτυο κατά τη διαδικασία αναβάθμισης του Ethereum σε ένα επεκτάσιμο δίκτυο Proof of Stake.
Στο παράδειγμα του Ethereum, μια Beacon Chain θα συντονίζει 64 μεμονωμένα shard. Η αρχική αλυσίδα Proof of Work του Ethereum θα συγχωνευθεί με την Beacon Chain Proof of Stake και το sharding θα εισαχθεί αργότερα.
Ένα από τα πλεονεκτήματα του sharding ενός δικτύου περιλαμβάνει την ευκολία και την προσβασιμότητα της εκτέλεσης ενός κόμβου. Καθώς τα δεδομένα του δικτύου χωρίζονται σε shard, δεν υπάρχει πλέον η ανάγκη οι κόμβοι επικύρωσης να αποθηκεύουν όλο το ιστορικό ολόκληρου του blockchain. Αντιθέτως, ο επικυρωτής χρειάζεται μόνο να διατηρεί επιβεβαιώσεις της ακεραιότητας των δεδομένων.
Τα δίκτυα χωρίς sharding συχνά καταφεύγουν στη χρήση rollup, για να βελτιώσουν την επεκτασιμότητα. Αυτά μεταφέρουν τις συναλλαγές εκτός αλυσίδας και τις ομαδοποιούν, ώστε να επικυρώνονται στην κύρια αλυσίδα. Έτσι, παρόλο που μπορεί να φαίνεται ότι το sharding ανταγωνίζεται τα rollup, στην πραγματικότητα τα κάνει πιο αποτελεσματικά. Τα rollup σε ένα δίκτυο που έχει υποστεί sharding θα μπορούν να αναφέρουν την κατάστασή τους πιο αποτελεσματικά, βελτιώνοντας την ταχύτητά τους.
Ο βασικός προβληματισμός με το sharding είναι η πιθανότητα να καταλάβουν κακόβουλοι παράγοντες ένα shard. Αυτό το shard θα μπορούσε, στη συνέχεια, να επηρεάσει αρνητικά άλλα μέρη του δικτύου. Χωρίς κατάλληλη μέριμνα και κανόνες, το έργο της κατάληψης ενός shard είναι πιο εφικτό από την κατάληψη ενός ολόκληρου δικτύου που δεν έχει υποστεί sharding.