Αλγόριθμοι κρυπτόρυξης
Τελευταία επεξεργασία: @mr_giorgos(opens in a new tab), 11 Απριλίου 2024
Η εξόρυξη Ethereum χρησιμοποιούσε έναν αλγόριθμο γνωστό ως Ethash. Η θεμελιώδης ιδέα του αλγορίθμου είναι ότι ένας εξορύκτης προσπαθεί να βρει μια είσοδο nonce χρησιμοποιώντας υπολογισμό ωμής βίας, έτσι ώστε το hash που προκύπτει να είναι μικρότερο από ένα όριο που καθορίζεται από την υπολογισμένη δυσκολία. Αυτό το επίπεδο δυσκολίας μπορεί να ρυθμιστεί δυναμικά, επιτρέποντας την παραγωγή μπλοκ σε τακτά χρονικά διαστήματα.
Προαπαιτούμενα
Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε πρώτα να διαβάσετε σχετικά με τη συναίνεση της απόδειξης εργασίας και την κρυπτόρυξη.
Dagger Hashimoto
Το Dagger Hashimoto ήταν ένας πρόδρομος ερευνητικός αλγόριθμος για την κρυπτόρυξη Ethereum που αντικατέστησε το Ethash. Αποτέλεσε μια συνένωση δύο διαφορετικών αλγορίθμων: Dagger και Hashimoto. Ήταν μόνο μια υλοποίηση έρευνας και αντικαταστάθηκε από το Ethash τη στιγμή που κυκλοφόρησε το Κεντρικό Δίκτυο Ethereum.
Το Dagger(opens in a new tab) περιλαμβάνει τη δημιουργία ενός Directed Acyclic Graph(opens in a new tab), τυχαία τμήματα του οποίου υποβάλλονται μαζί σε hash. Η βασική αρχή είναι ότι κάθε nonce απαιτεί μόνο ένα μικρό τμήμα ενός μεγάλου δέντρου συνολικών δεδομένων. Ο επανυπολογισμός του υποδέντρου για κάθε nonce είναι απαγορευτικός για την εξόρυξη —εξ ου και η ανάγκη αποθήκευσης του δέντρου— αλλά εντάξει για την επαλήθευση ενός μόνο nonce. Το Dagger σχεδιάστηκε για να είναι μια εναλλακτική σε υπάρχοντες αλγόριθμους όπως το Scrypt, οι οποίοι είναι απαιτητικοί ως προς τη μνήμη, αλλά είναι δύσκολο να επαληθευτούν όταν η απαιτητικότητα ως προς τη μνήμη τους αυξάνεται σε πραγματικά ασφαλή επίπεδα. Ωστόσο, το Dagger ήταν ευάλωτο στην επιτάχυνση υλικού κοινής μνήμης και απορρίφθηκε υπέρ άλλων οδών έρευνας.
Το Hashimoto(opens in a new tab) είναι ένας αλγόριθμος που προσθέτει αντίσταση ASIC δεσμεύοντας I/O (δηλαδή, η ανάγνωση μνήμης είναι ο περιοριστικός παράγοντας στη διαδικασία κρυπτόρυξης). Σύμφωνα με τη θεωρία, η RAM είναι πιο διαθέσιμη από τον υπολογισμό. Έρευνες αξίας δισεκατομμυρίων δολαρίων έχουν ήδη εξετάσει τη βελτιστοποίηση της μνήμης RAM για διαφορετικές περιπτώσεις χρήσης, οι οποίες συχνά περιλαμβάνουν μοτίβα σχεδόν τυχαίας προσπέλασης (εξ ου και «μνήμη τυχαίας προσπέλασης»). Ως αποτέλεσμα, η υπάρχουσα μνήμη RAM είναι πιθανό να είναι σχετικά κοντά στο βέλτιστο επίπεδο για την αξιολόγηση του αλγορίθμου. Το Hashimoto χρησιμοποιεί το blockchain ως πηγή δεδομένων, ικανοποιώντας ταυτόχρονα τα σημεία (1) και (3) παραπάνω.
Το Dagger-Hashimoto χρησιμοποίησε τροποποιημένες εκδόσεις των αλγορίθμων Dagger και Hashimoto. Η διαφορά μεταξύ του Dagger Hashimoto και του Hashimoto είναι ότι, αντί να χρησιμοποιεί το blockchain ως πηγή δεδομένων, το Dagger Hashimoto χρησιμοποιεί ένα προσαρμοσμένο σύνολο δεδομένων, το οποίο ενημερώνεται με βάση τα δεδομένα μπλοκ κάθε N μπλοκ. Το σύνολο δεδομένων δημιουργείται χρησιμοποιώντας τον αλγόριθμο Dagger, επιτρέποντας τον αποτελεσματικό υπολογισμό ενός υποσυνόλου συγκεκριμένου για κάθε nonce για τον αλγόριθμο επαλήθευσης ελαφρού πελάτη. Η διαφορά μεταξύ του Dagger Hashimoto και του Dagger είναι ότι, σε αντίθεση με το αρχικό Dagger, το σύνολο δεδομένων που χρησιμοποιείται για την αναζήτηση του μπλοκ είναι ημιμόνιμο και ενημερώνεται μόνο ανά σποραδικά διαστήματα (π.χ. μία φορά την εβδομάδα). Αυτό σημαίνει ότι το τμήμα της προσπάθειας δημιουργίας του συνόλου δεδομένων είναι κοντά στο μηδέν. Επομένως, τα επιχειρήματα του Sergio Lerner σχετικά με τις επιταχύνσεις κοινής μνήμης γίνονται αμελητέα.
Περισσότερα για το Dagger-Hashimoto.
Ethash
Το Ethash ήταν ο αλγόριθμος εξόρυξης που στην πραγματικότητα χρησιμοποιήθηκε στο αληθινό Κεντρικό Δίκτυο Ethereum υπό την πλέον καταργημένη αρχιτεκτονική της απόδειξης εργασίας. Το Ethash ήταν ουσιαστικά ένα νέο όνομα που δόθηκε σε μια συγκεκριμένη έκδοση του Dagger-Hashimoto αφού ο αλγόριθμος ενημερώθηκε σημαντικά, ενώ εξακολουθεί να κληρονομεί από τον προκάτοχό τους τις θεμελιώδεις αρχές του. Το Κεντρικό Δίκτυο Ethereum χρησιμοποίησε μόνο το Ethash. Το Dagger Hashimoto ήταν μια έκδοση Ε&Α του αλγόριθμου κρυπτόρυξης που αντικαταστάθηκε πριν ξεκινήσει η κρυπτόρυξη στο Κεντρικό Δίκτυο Ethereum.
Περισσότερες πληροφορίες
Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!