Γιατί τα δεδομένα σου χρειάζονται τα Γαλουά: Η μαθηματική «ασφάλεια» στο cloud
Γιατί η Ασφάλεια των Δεδομένων Σας Βασίζεται στα Galois Fields
Πόσες φορές έχετε χάσει πρόσβαση σε αρχεία επειδή «έπεσε» κάποια υπηρεσία cloud; Ή πόσες φορές διαγράφηκαν δεδομένα από σφάλμα σε σκληρό δίσκο; Για τις εταιρείες που βασίζονται σε κατανεμημένα συστήματα, αυτά τα προβλήματα κοστίζουν δισεκατομμύρια. Πίσω από τα παρασκήνια, όμως, υπάρχει μια μαθηματική δομή που προστατεύει τα δεδομένα σας: τα Galois fields.
Στο NameOcean χρησιμοποιούμε τεχνικές διόρθωσης σφαλμάτων στην υποδομή Vibe Hosting. Ας δούμε, λοιπόν, πώς λειτουργούν στην πράξη.
Τι Είναι ένα Field στα Μαθηματικά
Ένα field είναι ένα σύνολο αριθμών στο οποίο μπορούμε να κάνουμε πρόσθεση και πολλαπλασιασμό χωρίς να βγούμε εκτός. Κάθε πράξη έχει το «αντίστροφό» της, ενώ ισχύουν οι συνήθεις κανόνες: η σειρά δεν αλλάζει το αποτέλεσμα και η ομαδοποίηση δεν επηρεάζει τον υπολογισμό.
Τα περισσότερα από αυτά που γνωρίζουμε – πραγματικοί αριθμοί, ρητοί αριθμοί – είναι «άπειρα» fields. Υπάρχουν όμως και περιορισμένα σύνολα που λειτουργούν με τον ίδεν τρόπο. Αυτά είναι τα finite fields και βρίσκονται παντού στον υπολογισμό.
Το Απλό Περίπτωση: Z_p
Το πιο βασικό finite field είναι το Z_p: οι αριθμοί από 0 μέχρι p-1, με αριθμητική modulo p. Για να είναι αυτό το σύνολο πραγμαاً field, το p πρέπει να είναι πρώτος αριθμός. Αν δεν είναι, δημιουργούνται «μηδενικοί διαιρέτες» που παραβιάζουν τους κανόνες. Όταν το p είναι πρώτος, κάθε στοιχείο έχει το αντίστροφό του, δηλαδή η διαίρεση είναι πάντα δυνατή.
Galois Fields: Τα Ισχυρά Finite Fields
Μπορούμε να φτιάξουμε finite fields με p^m στοιχεία, για κάθε πρώτο p και κάθε θετικό ακέραιο m. Αυτά τα σύνολα ονομάζονται Galois fields και έχουν πάρει το όνομά τους από τον Évariste Galois. Το GF(2^m) είναι ιδιαίτερα σημαντικό για τον υπολογισμό και ιδιαίτερα για την διόρθωση σφαλμάτων.
Στο GF(2^m) τα στοιχεία δεν είναι αριθμοί αλλά πολυώνυμα με δυαδικούς συντελεστές. Κάθε πολυώνυμο το αποθηκεύουμε ως ακολουθία bits – κάτι που ταιριάζει απόλυτα με τον τρόπο που δουλεύουν οι επεξεργαστές.
Πρόσθεση και Πολλαπλασιασμός μέσα στο Galois Field
Η πρόσθεση στο GF(2^m) γίνεται με XOR. Αν ένα bit εμφανίζεται περιττές φορές, το αποτέλεσμα είναι 1· αν ε erscheint εμφανίζεται ζυγές φορές, το αποτέλεσμα είναι 0. Η πολλαπλασιασμός είναι λί was λίγο πιο σύνθετος: πολλαπλασιάζουμε πολυώνυμα και στη συνέχεια «κόβουμε» το αποτέλεσμα με ένα «irreducible» πολυώνυμο που παίζει τον ρόλο του modulus.
Reed-Solomon και Πρακτικές Εφαρμογές
Όλη αυτή η μαθηματική δομή βρίσκει εφαρμογή στο Reed-Solomon coding. Με το Reed-Solomon δημιουργούμε π redundancy σε κατανεμημένα συστήματα. Αν ένας δίσκος ή ένας server σταματήσει να λειτουργεί, τα υπόλοιτα κομ pieces μπορούν να ανακατασκευάσουν τα δεδομένα. Το Amazon S3, τα SSD και το 5G βασίζονται σε τέτοιες τεχνικές.
Στην υποδομή του NameOcean το Vibe Hosting χρησιμοποιεί αυτές τις μεθόδους για να προσφέρει 99.99% uptime. Όταν επιλέγετε έναν πάροχο hosting, ελέγξτε αν χρησιμοποιεί error-correcting codes και αν τα δεδομένα σας διανέμονται σε διαφορετικές γεωγραφικές περιοχές.
Το μαθηματικό υπόβαθρο μπορεί να είναι παλιό, αλλά το αποκτελεσμα που προστατεύει τα bytes σας είναι απόλυτα σύγχρονο.