Bitcoin Blockchain Λειτουργία Hash

Λόγω της μεγάλης πολυπλοκότητας του θέματος θα δώσουμε ένα απλοποιημένο παράδειγμα της τεχνολογίας με μία αλληγορική περιγραφή. Ένα Blockchain είναι ένα ημερολόγιο που είναι σχεδόν αδύνατο να παραποιηθεί και μία βασική λειτουργία του πρωτοκόλλου είναι ο αλγόριθμος Hash. Ας φανταστούμε ότι 10 άτομα σε ένα δωμάτιο αποφάσισαν να κάνουν ένα δικό τους νόμισμα. Πρέπει να παρακολουθούν τη ροή των κεφαλαίων και ένα άτομο — ας το αποκαλούμε Bob — αποφάσισε να κρατήσει μια λίστα όλων των συναλλαγών σε ένα ημερολόγιο.

Ένας άνθρωπος — τον αποκαλούμε Jack — αποφάσισε να κλέψει χρήματα. Για να αποκρύψει αυτό, άλλαξε κρυφά όλες τις καταχωρίσεις στο ημερολόγιο. Ο Bob παρατήρησε ότι κάποιος είχε παρεμβαίνει στο ημερολόγιό του και αποφάσισε να αποτρέψει το να ξαναγίνει κάτι τέτοιο και βρήκε ένα πρόγραμμα που ονομάζεται λειτουργία Hash που μετατρέπει το κείμενο σε ένα σύνολο αριθμών και γραμμάτων.

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

Πίνακας περιεχομένων

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

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

Το nonce θα πρέπει να επιλέγεται έτσι ώστε ο δημιουργημένος hash να τελειώνει σε δύο μηδενικά. Τώρα, για να φτιάξει αρχεία, ο Jack θα πρέπει να περάσει ώρες και ώρες επιλέγοντας το Nonce για κάθε γραμμή. Το σημαντικό σε αυτή την εφεύρεση είναι ότι όχι μόνο οι άνθρωποι, αλλά οι υπολογιστές δεν μπορούν να καταλάβουν το Nonce γρήγορα. Αργότερα, ο Bob συνειδητοποίησε ότι υπήρχαν πάρα πολλά αρχεία και ότι δεν μπορούσε να κρατήσει ένα τέτοιο ημερολόγιο για πάντα. Έτσι, όταν έγραψε 5.

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

Blockchain Basics Explained - Hashes with Mining and Merkle trees

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

Τι είναι η λειτουργία κρυπτογραφικής κατακερματισμού -

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

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

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

Αυτό σημαίνει ότι καμία τιμή εισόδου δεν μπορεί να έχει την ίδια τιμή κατακερματισμού εξόδου. Σε αυτήν την ενότητα, θα εξετάσουμε γρήγορα το hash στο Python.

Επενδύσεις σε κρυπτονομίσματα από Goldman Sachs!

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

Για έναν ακέραιο, μπορεί να επιστρέψει τον ίδιο αριθμό ενώ για το δεκαδικό και το string θα ήταν διαφορετικά. Ωστόσο, ο κατακερματισμός δεν μπορεί να εφαρμοστεί σε όλους τους τύπους αντικειμένων. Για παράδειγμα, αν θυμάστε ότι δημιουργήσαμε μια λίστα με το a έως z στο πρώτο μας πρόγραμμα.

Εάν προσπαθήσουμε να το κατακερματιστούμε, το παράθυρο εξόδου θα περάσει από TypeError: τύπου χωρίς δυνατότητα εμφάνισης: «list». Το κατακερματισμό είναι χρήσιμο στην κρυπτογραφία. Το Bitcoin χρησιμοποιεί κατακερματισμό για τη δημιουργία και τη διαχείριση δέντρων Merkle. Επίσης, ο κατακερματισμός αποτελεί μέρος της κρυπτογραφίας εδώ και πολύ καιρό. Ωστόσο, η καλύτερη περίπτωση χρήσης κατακερματισμού είναι να κατακερματιστείτε κωδικούς πρόσβασης και να τους αποθηκεύσετε. Το Merkle tree είναι μια δομή δεδομένων που είναι χρήσιμη για την ασφαλή επαλήθευση δεδομένων σε μια μεγάλη ομάδα δεδομένων.

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

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

Αν θέλετε να μάθετε περισσότερα για τα Merkle tree και τον τρόπο με τον οποίο χρησιμοποιεί κατακερματισμό στην κρυπτογραφία, ανατρέξτε στον αναλυτικό οδηγό μας:. Ένας οδηγός για Merkle Trees. Εκεί, συζητήσαμε πώς γίνεται η εφαρμογή των δέντρων Merkle σε bitcoin και σε άλλες περιπτώσεις χρήσης. Η διαδικασία εξόρυξης εκμεταλλεύεται επίσης το κατακερματισμό. Όσον αφορά την εξόρυξη bitcoin, ένα νέο μπλοκ προστίθεται στο blockchain όταν υπάρχει ζήτηση για αυτό. Πρέπει να ακολουθηθεί μια μέθοδος για να προσθέσετε το μπλοκ στο blockchain.

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

Ποια είναι τα πλεονεκτήματα και οι αδυναμίες του Bitcoin;

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

Το Bitcoin έχει επίσης τη μοναδική ιδιότητα της "διαφανούς ανωνυμίας» - πράγμα που σημαίνει ότι, παρά το ότι όλες οι συναλλαγές και τα πορτοφόλια είναι δημόσιες μέσω του Blockchain, όλες οι πληροφορίες της συναλλαγής είναι μόνο η διεύθυνση του Bitcoin πορτοφόλιού τους.

Τι είναι το Ηashing και πώς λειτουργεί:

Χιλιάδες διευθύνσεις wallets δημιουργούνται καθημερινά - αυτό σημαίνει ότι ο χρήστης παραμένει ανώνυμος μέχρι να καταχωρήσει τόσο τα προσωπικά του στοιχεία και τη διεύθυνση Bitcoin πορτοφόλι τους κάπου για παράδειγμα σε μια ανταλλαγή Bitcoin. Η μοναδική δομή του Bitcoin δημιουργεί επίσης άλλες δυνάμεις από την "οπτική" του χρήστη - η ψηφιακή φύση του Bitcoin καθιστά εξαιρετικά διαιρετό και η έλλειψη μιας κεντρικής αρχής εξασφαλίζει ότι τα τέλη συναλλαγών είναι σχεδόν μηδενικά.

Η ψηφιακή φύση του Bitcoin και η έλλειψη κεντρικής αρχής διαμορφώνουν επίσης τις αδυναμίες Bitcoin του - το χαμένο Bitcoins είναι μη ανακτήσιμο πράγμα που σημαίνει ότι αν χάσετε το ιδιωτικό κλειδί σας ή ο σκληρός δίσκος με το πορτοφόλι σας αλλοιωθεί ή αν χάσετε το αρχείο δεδομένων του Bitcoin πορτοφολιού σας, αυτά τα Bitcoins έχουν χαθεί για πάντα!

Πάρτε την περίπτωση ενός βρετανού άνδρα, ο οποίος το , πέταξε το σκληρό του δίσκο που περιείχε 7. Στο τέλος του , η αξία του Bitcoin ήταν σχεδόν δολάρια, που σημαίνει ότι υπήρχε ένας σκληρός δίσκος σε μια χωματερή με πάνω από 8. Ιστορίες σαν αυτή δεν είναι ασυνήθιστες, όπως οτι οι πρώτοι miners ήταν γνωστό ότι εξόρύξαν χιλιάδες νέα κέρματα, οι οποίοι θα έχουν κάνει μια μικρή περιουσία, ακόμη και με την σημερινή χαμηλή ισοτιμία του Bitcoin. Το Bitcoin είναι ένα σύστημα πληρωμών peer-to-peer.