Τι είναι ένας αλγόριθμος συναίνεσης Blockchain;

 

Τι είναι ένας αλγόριθμος συναίνεσης Blockchain;





Εισαγωγή

Ένας αλγόριθμος συναίνεσης είναι ένας μηχανισμός που επιτρέπει στους χρήστες ή τις μηχανές να συντονίζονται σε ένα κατανεμημένο περιβάλλον. Πρέπει να διασφαλίσει ότι όλοι οι πράκτορες στο σύστημα μπορούν να συμφωνήσουν σε μια ενιαία πηγή αλήθειας, ακόμα κι αν κάποιοι πράκτορες αποτύχουν. Με άλλα λόγια, το σύστημα πρέπει να είναι ανεκτικό σε σφάλματα (βλ. επίσης: Byzantine Fault Tolerance Explained).

Σε μια κεντρική εγκατάσταση, μια μεμονωμένη οντότητα έχει εξουσία πάνω στο σύστημα. Στις περισσότερες περιπτώσεις, μπορούν να κάνουν αλλαγές όπως θέλουν – δεν υπάρχει κάποιο περίπλοκο σύστημα διακυβέρνησης για την επίτευξη συναίνεσης μεταξύ πολλών διαχειριστών. 

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

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

 

Συναινετικοί αλγόριθμοι και κρυπτονομίσματα

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

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

Ο Satoshi Nakamoto, ο δημιουργός του Bitcoin, πρότεινε ένα σύστημα Proof of Work για τον συντονισμό των συμμετεχόντων. Θα δούμε πώς λειτουργεί το PoW σύντομα – προς το παρόν, θα εντοπίσουμε μερικά από τα κοινά χαρακτηριστικά των πολλών αλγορίθμων συναίνεσης που υπάρχουν.

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

Γιατί να μπουν στον κόπο να ρισκάρουν τους δικούς τους πόρους; Λοιπόν, υπάρχει επίσης μια ανταμοιβή διαθέσιμη. Συνήθως αποτελείται από το εγγενές κρυπτονόμισμα του πρωτοκόλλου και αποτελείται από χρεώσεις που καταβάλλονται από άλλους χρήστες, μονάδες κρυπτονομισμάτων που έχουν δημιουργηθεί πρόσφατα ή και τα δύο.

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

 

Τύποι αλγορίθμων συναίνεσης

Proof of Work (PoW)

Το  Proof of Work (PoW) είναι ο νονός των αλγορίθμων συναίνεσης blockchain. Εφαρμόστηκε για πρώτη φορά στο Bitcoin, αλλά η πραγματική ιδέα υπήρχε εδώ και αρκετό καιρό. Στο Proof of Work, οι επικυρωτές (που αναφέρονται ως miners) κατακερματίζουν τα δεδομένα που θέλουν να προσθέσουν μέχρι να παράγουν μια συγκεκριμένη λύση.

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

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

Στο Proof of Work, το πρωτόκολλο ορίζει τις προϋποθέσεις για το τι κάνει ένα μπλοκ έγκυρο. Θα μπορούσε να πει, για παράδειγμα, μόνο ένα μπλοκ του οποίου ο κατακερματισμός αρχίζει με 00 θα είναι έγκυρος. Ο μόνος τρόπος για τον εξορύκτη να δημιουργήσει ένα που ταιριάζει με αυτόν τον συνδυασμό είναι να εισάγει brute-force. Μπορούν να τροποποιήσουν μια παράμετρο στα δεδομένα τους για να παράγουν ένα διαφορετικό αποτέλεσμα για κάθε εικασία μέχρι να λάβουν το σωστό κατακερματισμό. 

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

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

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

 

Proof of Stake (PoS)

Το Proof of Stake (PoS) προτάθηκε στις πρώτες μέρες του Bitcoin ως εναλλακτική λύση στο Proof of Work. Σε ένα σύστημα PoS, δεν υπάρχει έννοια εξόρυξης, εξειδικευμένου υλικού ή τεράστιας κατανάλωσης ενέργειας. Το μόνο που χρειάζεστε είναι ένας κανονικός υπολογιστής.

Λοιπόν, όχι όλα. Πρέπει ακόμα να βάλεις λίγο δέρμα στο παιχνίδι. Στο PoS, δεν προτείνετε έναν εξωτερικό πόρο (όπως ηλεκτρική ενέργεια ή υλικό), αλλά έναν εσωτερικό - κρυπτονόμισμα. Οι κανόνες διαφέρουν με κάθε πρωτόκολλο, αλλά γενικά υπάρχει ένα ελάχιστο ποσό χρημάτων που πρέπει να διατηρείτε για να πληροίτε τα κριτήρια για ποντάρισμα.

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

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

Γενικά, δεν υπάρχουν πρόσφατα δημιουργημένα νομίσματα ως μέρος της ανταμοιβής για τους επικυρωτές. Το εγγενές νόμισμα του blockchain πρέπει επομένως να εκδοθεί με κάποιον άλλο τρόπο. Αυτό μπορεί να γίνει είτε μέσω μιας αρχικής διανομής (δηλαδή, ενός ICO ή ενός IEO) είτε με την εκκίνηση του πρωτοκόλλου με το PoW πριν μεταφερθεί αργότερα στο PoS.

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

Μόλις το PoS κυκλοφορήσει σε ένα δίκτυο με μεγάλη αξία, το σύστημα γίνεται πεδίο παιχνιδιού θεωρίας παιγνίων και οικονομικών κινήτρων. Όποιος έχει την τεχνογνωσία να «χακάρει» ένα σύστημα PoS πιθανότατα θα το έκανε μόνο εάν μπορούσε να κερδίσει από αυτό – επομένως, ο μόνος τρόπος για να μάθετε αν είναι εφικτό είναι σε ένα ζωντανό δίκτυο.

Σύντομα θα δούμε το PoS να δοκιμάζεται σε μεγάλη κλίμακα – το Casper θα εφαρμοστεί ως μέρος μιας σειράς αναβαθμίσεων στο δίκτυο Ethereum (συλλογικά γνωστό ως Ethereum 2.0).

 

Άλλοι αλγόριθμοι συναίνεσης

Το Proof of Work και το Proof of Stake είναι οι πιο πολυσυζητημένοι αλγόριθμοι συναίνεσης. Αλλά υπάρχει μια μεγάλη ποικιλία από άλλα, όλα με τα δικά τους πλεονεκτήματα και μειονεκτήματα. Ανατρέξτε στα ακόλουθα άρθρα:

 

Κλείσιμο Σκέψεις

Οι μηχανισμοί για την επίτευξη της συναίνεσης είναι ζωτικής σημασίας για τη λειτουργία των συστημάτων . Πολλοί πιστεύουν ότι η μεγαλύτερη καινοτομία στο Bitcoin ήταν η χρήση του Proof of Work για να μπορέσουν οι χρήστες να συμφωνήσουν σε ένα κοινό σύνολο γεγονότων.

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

Από όλους τους συναινετικούς αλγόριθμους, το Proof of Work παραμένει η κυρίαρχη προσφορά. Μια εναλλακτική που είναι πιο αξιόπιστη και πιο ασφαλής δεν έχει ακόμη προταθεί. Τούτου λεχθέντος, υπάρχει τεράστιος όγκος έρευνας και ανάπτυξης για αντικαταστάσεις για PoW και είναι πιθανό να δούμε περισσότερα από αυτά να εμφανίζονται τα επόμενα χρόνια.


Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Τι είναι το Metaverse;

Κάνετε τη δική σας έρευνα (DYOR)

Λειτουργίες χρήσης Blockchain