Blockchains έναντι κεντρικών βάσεων δεδομένων

Τέσσερις βασικές διαφορές μεταξύ των blockchains και των τακτικών βάσεων δεδομένων

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

Πρόσφατα έδωσα μια συζήτηση σχετικά με το blockchains από την άποψη της ασφάλειας των πληροφοριών, στο οποίο κατέληξα στο συμπέρασμα ότι οι blockchains είναι πιο ασφαλείς από τις κανονικές βάσεις δεδομένων με κάποιους τρόπους και λιγότερο ασφαλείς σε άλλους. Λαμβάνοντας υπόψη το πρωταγωνιστικός ρόλος που παίζουν οι συγκεντρωτικές βάσεις δεδομένων στη σημερινή στοίβα τεχνολογίας, αυτό με έκανε να σκεφτώ ευρύτερα τις αντισταθμίσεις μεταξύ αυτών των δύο τεχνολογιών. Πράγματι, όποτε κάποιος με ρωτά αν Πολυαλυσίδα μπορεί να χρησιμοποιηθεί για έναν συγκεκριμένο σκοπό, η πρώτη μου απάντηση είναι πάντα: "Θα μπορούσατε να το κάνετε αυτό με μια κανονική βάση δεδομένων;" Σε περισσότερες περιπτώσεις από ό, τι νομίζετε, η απάντηση είναι ναι, για τον ακόλουθο απλό λόγο:

Εάν η εμπιστοσύνη και η ευρωστία δεν αποτελούν πρόβλημα, δεν υπάρχει τίποτα που μπορεί να κάνει ένα blockchain που δεν μπορεί να κάνει μια κανονική βάση δεδομένων.

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

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

Διαμεσολάβηση: πλεονέκτημα blockchain

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

Γιατί υπάρχει αξία σε αυτή τη διαμεσολάβηση; Επειδή παρόλο που μια βάση δεδομένων είναι μόνο bits και byte, είναι επίσης ένα απτό πράγμα. Τα περιεχόμενα μιας βάσης δεδομένων αποθηκεύονται στη μνήμη και στο δίσκο ενός συγκεκριμένου συστήματος υπολογιστή και οποιοσδήποτε έχει επαρκή πρόσβαση σε αυτό το σύστημα μπορεί να καταστρέψει ή να καταστρέψει τα δεδομένα μέσα. Ως αποτέλεσμα, τη στιγμή που εμπιστεύεστε τα δεδομένα σας σε μια κανονική βάση δεδομένων, εξαρτάστε επίσης από το ανθρώπινος οργανισμός στον οποίο βρίσκεται αυτή η βάση δεδομένων.

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

Έτσι, τα blockchains προσφέρουν έναν τρόπο αντικατάστασης αυτών των οργανισμών με μια κατανεμημένη βάση δεδομένων, κλειδωμένη από έξυπνη κρυπτογραφία. Όπως και πολλά που έχουν προηγουμένως, αξιοποιούν την ολοένα αυξανόμενη ικανότητα των συστημάτων υπολογιστών να παρέχουν έναν νέο τρόπο αντικατάστασης των ανθρώπων με κώδικα. Και μόλις γράφεται και διορθώνεται, ο κώδικας τείνει να είναι πολύ φθηνότερος.

Εμπιστευτικότητα: κεντρικές βάσεις δεδομένων πλεονεκτημάτων

Όπως ανέφερα, κάθε κόμβος σε ένα blockchain επαληθεύει ανεξάρτητα και επεξεργάζεται κάθε συναλλαγή. Ένας κόμβος μπορεί να το κάνει επειδή έχει πλήρη προβολή σε: (α) την τρέχουσα κατάσταση της βάσης δεδομένων, (β) την τροποποίηση που ζητείται από μια συναλλαγή και (γ) μια ψηφιακή υπογραφή που αποδεικνύει την προέλευση της συναλλαγής. Αυτός είναι αναμφίβολα ένας έξυπνος νέος τρόπος δημιουργίας μιας βάσης δεδομένων και λειτουργεί πραγματικά. Πού είναι λοιπόν τα αλιεύματα Για πολλές εφαρμογές, ειδικά οικονομικές, η πλήρης διαφάνεια που απολαμβάνει κάθε κόμβος είναι ένας απόλυτος δολοφόνος.

Πώς τα συστήματα που βασίζονται σε κανονικές βάσεις δεδομένων αποφεύγουν αυτό το πρόβλημα; Ακριβώς όπως τα blockchains, περιορίζουν τις συναλλαγές που μπορούν να εκτελέσουν συγκεκριμένοι χρήστες, αλλά αυτοί οι περιορισμοί επιβάλλονται στο μια κεντρική τοποθεσία. Ως αποτέλεσμα, το πλήρες περιεχόμενο της βάσης δεδομένων πρέπει να είναι ορατό μόνο σε αυτήν τη θέση και όχι σε πολλούς κόμβους. Τα αιτήματα για ανάγνωση δεδομένων περνούν επίσης από αυτήν την κεντρική αρχή, η οποία μπορεί να αποδεχτεί ή να απορρίψει αυτά τα αιτήματα όπως κρίνει σκόπιμο. Με άλλα λόγια, εάν μια κανονική βάση δεδομένων ελέγχεται από ανάγνωση και ελεγχόμενη εγγραφή, ένα blockchain μπορεί να ελεγχθεί μόνο από εγγραφή.

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

Στιβαρότητα: πλεονεκτήματα

Ένα δεύτερο πλεονέκτημα των βάσεων δεδομένων που βασίζονται σε blockchain είναι η ακραία ανοχή σφαλμάτων, η οποία οφείλεται στην ενσωματωμένη πλεονασμό τους. Κάθε κόμβος επεξεργάζεται κάθε συναλλαγή, οπότε κανένας μεμονωμένος κόμβος δεν έχει καθοριστική σημασία για τη βάση δεδομένων στο σύνολό της. Ομοίως, οι κόμβοι συνδέονται μεταξύ τους με πυκνό τρόπο peer-to-peer, έτσι πολλοί σύνδεσμοι επικοινωνίας μπορεί να αποτύχουν προτού σταματήσουν τα πράγματα. Το blockchain διασφαλίζει ότι οι κόμβοι που κατεβαίνουν μπορούν πάντα να καλύψουν τις συναλλαγές που χάθηκαν.

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

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

Αντ 'αυτού, τι θα γινόταν αν είχαμε 10 κόμβους blockchain σε διαφορετικά μέρη του κόσμου, όλα σε υλικό εξοπλισμού; Αυτοί οι κόμβοι θα συνδέονταν πυκνά μεταξύ τους, μοιράζονταν συναλλαγές σε επίπεδο peer-to-peer και χρησιμοποιώντας ένα blockchain για να διασφαλιστεί η συναίνεση. Οι τελικοί χρήστες που δημιουργούν τις συναλλαγές συνδέονται με (ας πούμε) 5 από αυτούς τους κόμβους, οπότε δεν έχει σημασία αν πέσουν μερικοί σύνδεσμοι επικοινωνίας. Και εάν ένας ή δύο κόμβοι αποτύχουν εντελώς σε μια δεδομένη ημέρα, κανείς δεν νιώθει τίποτα, επειδή υπάρχουν ακόμα περισσότερα από αρκετά αντίγραφα για να γυρίσουν. Όπως συμβαίνει, αυτός ο συνδυασμός συστημάτων χαμηλού κόστους και υψηλής απόλυσης είναι ακριβώς ο τρόπος με τον οποίο η Google δημιούργησε τη μηχανή αναζήτησης τόσο φθηνά. Το Blockchains μπορεί να κάνει το ίδιο πράγμα για βάσεις δεδομένων.

Απόδοση: συγκεντρωτικές βάσεις δεδομένων πλεονεκτημάτων

Το Blockchains θα είναι πάντα πιο αργό από τις κεντρικές βάσεις δεδομένων. Δεν είναι μόνο αυτό σημερινή Τα blockchains είναι αργά επειδή η τεχνολογία είναι νέα και μη βελτιστοποιημένη, αλλά είναι αποτέλεσμα του φύση των ίδιων των μπλοκ αλυσίδων. Βλέπετε, κατά την επεξεργασία συναλλαγών, ένα blockchain πρέπει να κάνει όλα τα ίδια πράγματα με μια κανονική βάση δεδομένων, αλλά φέρει τρεις πρόσθετες επιβαρύνσεις:

  1. Επαλήθευση υπογραφής. Κάθε συναλλαγή blockchain πρέπει να υπογράφεται ψηφιακά χρησιμοποιώντας ένα πρόγραμμα κρυπτογράφησης δημόσιου-ιδιωτικού τομέα όπως ECDSA. Αυτό είναι απαραίτητο επειδή οι συναλλαγές διαδίδονται μεταξύ κόμβων με τρόπο peer-to-peer, επομένως η πηγή τους δεν μπορεί διαφορετικά να αποδειχθεί. Η δημιουργία και η επαλήθευση αυτών των υπογραφών είναι υπολογιστικά περίπλοκη και αποτελεί την κύρια συμφόρηση σε προϊόντα όπως τα δικά μας. Αντίθετα, σε συγκεντρωτικές βάσεις δεδομένων, όταν έχει δημιουργηθεί μια σύνδεση, δεν χρειάζεται να επαληθεύσετε μεμονωμένα κάθε αίτημα που το συνοδεύει.
  2. Μηχανισμοί συναίνεσης. Σε μια κατανεμημένη βάση δεδομένων, όπως ένα blockchain, πρέπει να καταβληθεί προσπάθεια για να διασφαλιστεί ότι οι κόμβοι στο δίκτυο θα επιτύχουν συναίνεση. Ανάλογα με τον μηχανισμό συναίνεσης που χρησιμοποιείται, αυτό μπορεί να συνεπάγεται σημαντική επικοινωνία και / ή αντιμετώπιση των πιρούνι και τις επακόλουθες επανατροφοδοτήσεις τους. Ενώ είναι αλήθεια ότι οι συγκεντρωτικές βάσεις δεδομένων πρέπει επίσης να αντιμετωπίζουν αντικρουόμενες και ακυρωμένες συναλλαγές, αυτές είναι πολύ λιγότερο πιθανές όταν οι συναλλαγές βρίσκονται σε ουρά και υποβάλλονται σε επεξεργασία σε μία μόνο τοποθεσία.
  3. Πλεονασμός. Αυτό δεν αφορά την απόδοση ενός μεμονωμένου κόμβου, αλλά το συνολικό ποσό υπολογισμού που απαιτεί ένα blockchain. Ενώ οι κεντρικές βάσεις δεδομένων επεξεργάζονται συναλλαγές μία (ή δύο φορές), σε ένα blockchain πρέπει να υποβάλλονται σε επεξεργασία ανεξάρτητα από κάθε κόμβο του δικτύου. Γίνεται πολύ περισσότερη δουλειά για το ίδιο τελικό αποτέλεσμα.

Η κατώτατη γραμμή

Φυσικά υπάρχουν και άλλοι τρόποι με τους οποίους μπορούν να συγκριθούν blockchain και κανονικές βάσεις δεδομένων. Θα μπορούσαμε να μιλήσουμε για την ωριμότητα βάσης κώδικα, την ελκυστικότητα των προγραμματιστών, το εύρος των οικοσυστημάτων και πολλά άλλα. Αλλά κανένα από αυτά τα θέματα δεν είναι συμφυής στην ίδια την τεχνολογία. Έτσι, όταν πρόκειται για μια μακροπρόθεσμη απόφαση σχετικά με τη χρήση ενός blockchain, το ερώτημα που πρέπει να κάνετε είναι το εξής: Τι είναι πιο σημαντικό για τη θήκη χρήσης μου; Διαμεσολάβηση και ανθεκτικότητα; Ή εμπιστευτικότητα και απόδοση;

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

Ωστόσο, οι blockchain έχουν ισχυρές περιπτώσεις χρήσης, όπου η αποδιαμεσολάβηση και η ευρωστία είναι πιο σημαντικές από την εμπιστευτικότητα και την απόδοση. Θα γράψω περισσότερα για αυτά σε μια επόμενη ανάρτηση, αλλά οι πιο πολλά υποσχόμενοι τομείς που έχουμε δει μέχρι στιγμής είναι: (α) διαδρομές ελέγχου μεταξύ εταιρειών, (β) παρακολούθηση προέλευσης και (γ) πυγμάχος ελαφρού βάρους χρηματοοικονομικά συστήματα. Και στις τρεις περιπτώσεις, βρήκαμε άτομα που βασίζονται στο MultiChain με σαφή θέα στην ανάπτυξη, και όχι απλώς περιέργεια και πειραματισμό. Επομένως, εάν ψάχνετε τρόπους με τους οποίους τα blockchains μπορούν να προσθέσουν πραγματική αξία στην επιχείρησή σας, μπορεί να είναι ένα καλό μέρος για να ξεκινήσετε.

Παρακαλώ δημοσιεύστε τυχόν σχόλια στο LinkedIn.

Σφραγίδα ώρας:

Περισσότερα από Πολλαπλές αλυσίδες