Το πρόβλημα που λύνει το proof of work
Ένα ψηφιακό καθολικό αντιγράφεται εύκολα και επεξεργάζεται εύκολα. Αν οποιοσδήποτε μπορούσε να προσθέτει ελεύθερα συναλλαγές, θα μπορούσε επίσης να ξοδέψει τα ίδια νομίσματα δύο φορές — το κλασικό πρόβλημα της «διπλής δαπάνης». Σε ένα σύστημα χωρίς κεντρικό διαχειριστή, χρειάζεστε έναν τρόπο ώστε ανεξάρτητοι συμμετέχοντες να συμφωνήσουν ποιες συναλλαγές συνέβησαν και με ποια σειρά, ακόμη και όταν κάποιοι από αυτούς είναι ανέντιμοι ή εκτός σύνδεσης.
Προηγούμενες προσπάθειες για ψηφιακά μετρητά βασίζονταν σε ένα έμπιστο μέρος για την τήρηση των βιβλίων. Ο σχεδιασμός του Bitcoin, όπως περιγράφεται στο whitepaper του 2008, αντικατέστησε αυτό το έμπιστο μέρος με έναν δημόσιο ανταγωνισμό: οι συμμετέχοντες δαπανούν πραγματικούς πόρους για να προσαρτούν μπλοκ, και το δίκτυο ακολουθεί έναν κοινό κανόνα για την επιλογή της νικήτριας αλυσίδας. Η συναίνεση αναδύεται από το κόστος και τα μαθηματικά παρά από την εξουσία.
Τι υπολογίζουν στην πραγματικότητα οι εξορύκτες
Κάθε υποψήφιο μπλοκ περιέχει μια παρτίδα συναλλαγών, μια αναφορά στο προηγούμενο μπλοκ, και έναν μικρό μεταβλητό αριθμό που ονομάζεται nonce. Οι εξορύκτες περνούν αυτά τα δεδομένα μέσα από τη συνάρτηση κατακερματισμού SHA-256, η οποία μετατρέπει οποιαδήποτε είσοδο σε μια έξοδο σταθερού μήκους και απρόβλεπτης εμφάνισης. Ο στόχος είναι να βρεθεί μια είσοδος που παράγει έναν κατακερματισμό κάτω από μια ορισμένη τιμή-στόχο — στην πράξη, έναν κατακερματισμό που ξεκινά με έναν συγκεκριμένο αριθμό μηδενικών.
Επειδή οι έξοδοι κατακερματισμού δεν μπορούν να προβλεφθούν ή να αναλυθούν αντίστροφα, ο μόνος τρόπος να βρεθεί ένας κατάλληλος κατακερματισμός είναι με δοκιμή και σφάλμα: αλλάζεις το nonce, κατακερματίζεις ξανά, επαναλαμβάνεις — δισεκατομμύρια φορές το δευτερόλεπτο. Αυτή η αναζήτηση ωμής βίας είναι η «εργασία». Είναι σκόπιμα δύσκολο να γίνει αλλά τετριμμένο για οποιονδήποτε άλλον να ελέγξει — ένας μόνο υπολογισμός κατακερματισμού επιβεβαιώνει ότι η απάντηση είναι έγκυρη. Αυτή η ασυμμετρία (δύσκολο να παραχθεί, εύκολο να επαληθευτεί) είναι η καρδιά του proof of work.
Η δυσκολία και ο ρυθμός των περίπου δέκα λεπτών
Το Bitcoin στοχεύει σε ένα νέο μπλοκ κατά μέσο όρο περίπου κάθε δέκα λεπτά. Καθώς περισσότερη υπολογιστική ισχύς (hash rate) εντάσσεται στο δίκτυο, τα μπλοκ θα έτειναν να φτάνουν γρηγορότερα, οπότε το πρωτόκολλο προσαρμόζει περιοδικά τη δυσκολία — πόσο χαμηλός πρέπει να είναι ο κατακερματισμός-στόχος — για να διατηρεί σταθερό τον μέσο ρυθμό. Περίπου κάθε δύο εβδομάδες (2.016 μπλοκ), κάθε κόμβος επαναϋπολογίζει τη δυσκολία από τους χρόνους των πρόσφατων μπλοκ.
Αυτή η αυτορρύθμιση είναι ο λόγος για τον οποίο περισσότερη ισχύς εξόρυξης δεν σημαίνει ταχύτερη παραγωγή μπλοκ με την πάροδο του χρόνου· σημαίνει κυρίως ότι δαπανάται περισσότερη εργασία για την ασφάλιση της ίδιας σταθερής ροής μπλοκ. Ο ακριβής χρονισμός οποιουδήποτε μεμονωμένου μπλοκ είναι τυχαίος, οπότε τα δέκα λεπτά είναι ένας μακροπρόθεσμος μέσος όρος, όχι ένα χρονοδιάγραμμα.
Από τα μπλοκ στη συναίνεση: η μακρύτερη έγκυρη αλυσίδα
Η εύρεση ενός έγκυρου μπλοκ είναι μόνο η μισή ιστορία. Οι κόμβοι πρέπει ακόμη να συμφωνήσουν σε μία ιστορία όταν δύο εξορύκτες βρίσκουν μπλοκ σχεδόν την ίδια στιγμή. Ο κανόνας είναι ότι οι κόμβοι ακολουθούν την έγκυρη αλυσίδα με τη μεγαλύτερη συνολική συσσωρευμένη proof of work — συχνά συνοψίζεται ως η «μακρύτερη αλυσίδα», αν και στην πραγματικότητα είναι η βαρύτερη κατά σωρευτική εργασία.
Κάθε πλήρης κόμβος επαληθεύει ανεξάρτητα κάθε μπλοκ έναντι των κανόνων του Bitcoin: έγκυρες υπογραφές, καμία διπλή δαπάνη, σωστή ανταμοιβή μπλοκ, και έναν κατακερματισμό που πληροί τον στόχο. Τα μπλοκ που παραβιάζουν τους κανόνες απλώς απορρίπτονται, ανεξάρτητα από το πόση εργασία διατέθηκε σε αυτά. Οι προσωρινές διαφωνίες (forks) επιλύονται καθώς το επόμενο μπλοκ επεκτείνει έναν κλάδο, και οι έντιμοι εξορύκτες συγκλίνουν σε αυτόν, επειδή το χτίσιμο πάνω στην αποδεκτή αλυσίδα είναι εκεί όπου βρίσκεται η ανταμοιβή.
Γιατί αυτό ασφαλίζει το δίκτυο
Για να επανεγγράψει μια παρελθούσα συναλλαγή, ένας επιτιθέμενος θα έπρεπε να ξανακάνει το proof of work για εκείνο το μπλοκ και για κάθε μπλοκ μετά από αυτό, και στη συνέχεια να ξεπεράσει σε ταχύτητα ολόκληρο το έντιμο δίκτυο για να χτίσει μια μακρύτερη αλυσίδα. Όσο βαθύτερα είναι θαμμένη μια συναλλαγή, τόσο περισσότερη εργασία θα έπρεπε να ξαναγίνει — γι' αυτό οι έμποροι συχνά περιμένουν αρκετές επιβεβαιώσεις. Το κόστος κλιμακώνεται με το συνολικό hash rate του δικτύου.
Αυτή είναι η διαίσθηση πίσω από την «επίθεση 51%»: ο έλεγχος της πλειοψηφίας της ισχύος κατακερματισμού θα μπορούσε να επιτρέψει σε κάποιον να αναδιατάξει ή να λογοκρίνει πρόσφατες συναλλαγές. Όμως είναι δαπανηρό να αποκτηθεί και να λειτουργήσει αυτό το υλικό, δεν μπορεί να πλαστογραφήσει υπογραφές ή να κλέψει νομίσματα εντελώς, και μια ορατή επίθεση θα μπορούσε να υπονομεύσει την αξία του ίδιου του περιουσιακού στοιχείου για την εξόρυξη του οποίου ο επιτιθέμενος δαπανά πόρους. Τα κίνητρα είναι ευθυγραμμισμένα έτσι ώστε η έντιμη συμμετοχή να είναι γενικά πιο επικερδής από την επίθεση. Η ασφάλεια εδώ είναι οικονομική και πιθανοτική, όχι μια απόλυτη εγγύηση.
Συμβιβασμοί και η ευρύτερη συζήτηση
Η δύναμη του proof of work — ένα πραγματικό, εξωτερικό κόστος — είναι επίσης η πηγή της πιο συχνής κριτικής του: η κατανάλωση ενέργειας. Οι εκτιμήσεις για τη χρήση ηλεκτρικής ενέργειας του Bitcoin ποικίλλουν ευρέως και αλλάζουν με την πάροδο του χρόνου, και η εικόνα περιπλέκεται από το αυξανόμενο μερίδιο εγκλωβισμένης, πλεονάζουσας ή ανανεώσιμης ενέργειας που χρησιμοποιούν ορισμένοι εξορύκτες. Λογικοί άνθρωποι διαφωνούν, και τα συγκεκριμένα στοιχεία μετατοπίζονται· αξίζει να ελέγχετε τρέχουσες, αξιόπιστες πηγές αντί για οποιοδήποτε μεμονωμένο νούμερο.
Εναλλακτικοί σχεδιασμοί συναίνεσης όπως το proof of stake ασφαλίζουν ορισμένα άλλα δίκτυα με πολύ λιγότερη ενέργεια, χρησιμοποιώντας οικονομική εγγύηση αντί για υπολογισμό. Περιλαμβάνουν διαφορετικές υποθέσεις και συμβιβασμούς, και η δίκαιη σύγκρισή τους είναι από μόνη της ένα θέμα. Ειδικά για το Bitcoin, το proof of work παραμένει ο μηχανισμός, και η ασφάλειά του και το χρονοδιάγραμμα έκδοσής του συνδέονται με αυτό.