Log In

Εξόρυξη Bitcoins

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

Πώς γίνεται η εξόρυξη ;

Άτομα σε όλον τον κόσμο στέλνουν και λαμβάνουν συνεχώς bitcoins, όμως αν κάποιος δεν διατηρεί αρχείο όλων αυτών των συναλλαγών, τότε κανείς δεν θα είναι σε θέση να επιβεβαιώσει ποιος έστειλε και τι, σε ποιον. Το δίκτυο του Bitcoin το διαχειρίζεται αυτό συλλέγοντας όλες τις συναλλαγές, που πραγματοποιούνται εντός ενός προκαθορισμένου χρονικού διαστήματος, σε μια λίστα, που ονομάζεται block. Είναι δουλειά των εξορυκτών να επιβεβαιώσουν αυτές τις συναλλαγές και να τις καταγράψουν σε ένα γενικό καθολικό αρχείο συναλλαγών, γνωστό και ως blockchain.

Δημιουργώντας τη hash value

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

bitcoin_hash

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

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

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

Οι εξορύκτες όμως, δεν χρησιμοποιούν μόνο τις συναλλαγές ενός block για να δημιουργήσουν ένα hash. Υπάρχουν και κάποια άλλα δεδομένα που χρησιμοποιούνται. Ένα από αυτά τα δεδομένα είναι το hash του τελευταίου block που αποθηκεύτηκε στο blockchain.

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

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

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

Συναγωνισμός για εξόρυξη

Αυτός είναι, λοιπόν,ο τρόπος που οι εξορύκτες εξασφαλίζουν την ακεραιότητα ενός block. Συναγωνίζονται μεταξύ τους για να το κάνουν αυτό χρησιμοποιώντας λογισμικό που γράφτηκε ειδικά για να εξορύσει blocks. Κάθε φορά που κάποιος δημιουργεί με επιτυχία ένα hash, θα πάρεi ως ανταμοιβή 25 bitcoins, το blockchain ενημερώνεται, και όλοι στο δίκτυο το βλέπουν αυτό. Αυτό είναι το κίνητρο για να εξορύσει κάποιος και για να συνεχίσουν να πραγματοποιούνται συναλλαγές.

Το πρόβλημα είναι ότι είναι πολύ εύκολο να παραχθεί ένα hash από μια συλλογή δεδομένων. Οι ισχυροί σύγχρονοι υπολογιστές είναι πραγματικά πολύ καλοί σε αυτό. Το δίκτυο του Bitcoin πρέπει να καταστήσει τη διαδικασία δυσχερέστερη, αλλιώς ο καθένας θα μπορούσε να παράγει εκατοντάδες hashes για κάθε συναλλαγή κάθε δευτερόλεπτο, κι έτσι όλα τα bitcoins θα μπορούσαν να εξορυχθούν μέσα σε λίγα λεπτά. Το πρωτόκολλο του Bitcoin το κάνει αυτό σκόπιμα πιο δύσκολο, εισάγοντας την απόδειξη της εργασίας (proof of work).

mining_bitcoin_usb

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

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

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

Tagged under

4°C

Athens

Mostly Cloudy

Humidity 81%

Wind 12.87 km/h

  • 04 Jan 20197°C1°C
  • 05 Jan 20195°C1°C