Spacechains: Πώς λειτουργεί αυτή η νέα πρόταση Sidechain Bitcoin

Κόμβος πηγής: 1544330

Το Spacechains είναι μια προτεινόμενη πλευρική αλυσίδα Bitcoin που προσφέρει έναν μονόδρομο μηχανισμό πρόσδεσης που χρησιμοποιεί τη σχεδίαση του ορυχείου τυφλής συγχώνευσης.

Η ιδέα των sidechains ως μηχανισμού κλιμάκωσης και επέκτασης χαρακτηριστικών για το Bitcoin είναι μια πολύ παλιά ιδέα. Ένα είδος βασικής «προγονικής» ιδέας των πλευρικών αλυσίδων, συγχώνευση εξορυκτικών αλυσίδων, επιστρέφει ακόμη και πριν εξαφανιστεί ο Satoshi.

Αυτή η πρόταση ήταν απλώς η ιδέα δύο τελείως χωριστών και άσχετων αλυσίδων που εξορύσσονται από την ίδια ομάδα ανθρακωρύχων, χωρίς δυνατότητα μετακίνησης τίποτα μεταξύ αλυσίδων. ο πρωτότυπη πρόταση sidechain δημιουργήθηκε το 2014 από πολλούς από τους ανθρώπους που ίδρυσαν το Blockstream κυριολεκτικά μια εβδομάδα περίπου μετά τη δημοσίευση της εφημερίδας. Η βασική ιδέα ήταν να μπορούμε να έχουμε τα νομίσματα να κινούνται εμπρός και πίσω μεταξύ του κύριου blockchain του Bitcoin και άλλων sidechains, με απλές αποδείξεις επαλήθευσης πληρωμής (SPV) που χρησιμοποιούνται για να αποδεικνύεται ότι τα πράγματα είναι έγκυρα όταν στέλνετε νομίσματα από τη μια αλυσίδα στην άλλη. Αυτό δεν πραγματοποιήθηκε ποτέ λόγω της πολυπλοκότητας στην εφαρμογή γύρω από αναδιοργανώσεις της αλυσίδας, της πιθανότητας κλοπής και των κινδύνων συγκέντρωσης εξόρυξης (για τα οποία μπορείτε να διαβάσετε όλα στην ενότητα τέσσερα του Λευκή Βίβλος Bitcoin).

Οι μηχανισμοί με μανταλάκια για πλευρικές αλυσίδες μπορεί να είναι δύο ποικιλιών, μονόδρομος και αμφίδρομος. Οι έννοιες πρέπει να είναι προφανείς — σε ένα αμφίδρομο μανταλάκι τα νομίσματα μπορούν να μετακινούνται εμπρός και πίσω μεταξύ της μητρικής αλυσίδας και της πλευρικής αλυσίδας, και σε ένα μονόδρομο μανταλάκι, μπορούν να μετακινηθούν μόνο από τη μητρική αλυσίδα στη πλευρική αλυσίδα και ποτέ να μην μετακινηθούν πίσω. Επί του παρόντος, η μόνη μορφή αμφίδρομων δεσμών sidechain που εφαρμόζονται στο Bitcoin είναι μέσω ομοσπονδιακής συναίνεσης, που σημαίνει ότι η σύνδεση είναι εγγυημένη από ένα αξιόπιστο σύνολο «θεματοφύλακες» που διατηρούν τον έλεγχο των κεφαλαίων που είναι συνδεδεμένα στην sidechain σε ένα πορτοφόλι πολλαπλών σημείων μέχρι να αποσυρθούν.

Οι άνθρωποι, ωστόσο, συνέχισαν να εργάζονται σε άλλα σχέδια για μανταλάκια πλευρικής αλυσίδας που δεν είναι ομοσπονδιακά. Εδώ θα περάσω από την πρόταση Spacechain του Ruben Somsen ως παράδειγμα. Είναι ένας μονόδρομος μηχανισμός μανταλάκι που χρησιμοποιεί ένα σχέδιο τυφλού συγχώνευσης ορυχείου, παρόμοιο με Paul Stztorc'μικρό. Αυτό σημαίνει ότι τα νομίσματα μπορούν να μπουν μόνο στο sidechain και να μην φύγουν ποτέ, και ότι οι ανθρακωρύχοι δεν χρειάζεται να εκτελούν νέο λογισμικό για να λάβουν αποζημίωση για την εξόρυξη του sidechain (ωστόσο, όπως θα αναφερθώ αργότερα, μπορούν να ωφεληθούν περισσότερο κάνοντάς το).

Η πρόταση Spacechain

Η εξόρυξη συγχώνευσης απαιτεί από τους εξορύκτες να τρέξουν τους κόμβους τόσο της αλυσίδας Bitcoin όσο και όποιας άλλης αλυσίδας εξορύξουν, προκειμένου να μεταγλωττίσουν τα μπλοκ και για τις δύο αλυσίδες και να δεσμευτούν σε αυτά στην κεφαλίδα μπλοκ Bitcoin που εξορύσσουν. Το blind merge mining εκμεταλλεύεται το γεγονός ότι στην πραγματικότητα, οι εξορύκτες Bitcoin χρειάζεται μόνο να έχουν την κεφαλίδα μπλοκ της άλλης αλυσίδας για να δεσμευτούν στο μπλοκ Bitcoin τους, κάποιος άλλος μπορεί πραγματικά να κάνει τον κόπο να συνθέσει το μπλοκ για την άλλη αλυσίδα.

Ο προτεινόμενος μηχανισμός του Somsen για αυτό μπορεί να χρησιμοποιηθεί ANYPREEVOUT (APO) για να επιτρέψει τον ανοιχτό ανταγωνισμό για οποιονδήποτε να είναι σε θέση να ανταγωνιστεί για την κατασκευή του επόμενου μπλοκ sidechain, ενώ εγγυάται ότι μπορεί να δεσμευτεί μόνο ένα μπλοκ ανά μπλοκ κύριας αλυσίδας Bitcoin. Ένα άλλο πλεονέκτημα της πρότασης του Ruben είναι ότι δεν απαιτεί συγκεκριμένο soft fork για να επιτρέψει τη δυνατότητα ανάπτυξης διαστημικών αλυσίδων. Το Eltoo/ANYPREVOUT προτείνεται για οφέλη στο Lightning Network, επιτρέποντας ευέλικτες αλυσίδες κατάστασης, καθώς και εργοστάσια καναλιών. Οι διαστημικές αλυσίδες είναι απλώς μια άλλη δυνατότητα για τα πολλά πράγματα για τα οποία θα άνοιγε ο δρόμος η ενεργοποίηση του ANYPREVOUT.

Η γενική ιδέα της τυφλής πρότασης εξόρυξης συγχώνευσης είναι ότι, κάνοντας χρήση του APO, μπορείτε να προκαθορίσετε ένα μεγάλο σύνολο συναλλαγών που τροφοδοτούν το ίδιο αρχικό UTXO και δεσμεύονται να το αναδημιουργούν πάντα. Φανταστείτε λοιπόν ένα μόνο satoshi UTXO, με κάθε προ-δημιουργημένη συναλλαγή να εγγυάται ότι το ίδιο UTXO δημιουργείται ξανά ως έξοδο όταν επιβεβαιώνεται. Σκεφτείτε το σαν ένα είδος δείκτη, αυτό το ειδικό UTXO είναι το αναγνωριστικό που επιτρέπει σε οποιονδήποτε κοιτάζει την κύρια αλυσίδα blockchain του Bitcoin να γνωρίζει, "Εδώ βρίσκω μια δέσμευση για τα μπλοκ sidechain X". Αυτό όμως αφήνει ανοιχτό ένα πρόβλημα: τα τέλη εξόρυξης. Εάν αυτό το UTXO πρέπει να αναδημιουργηθεί με το ίδιο ποσό, δεν υπάρχουν χρήματα για να πληρώσετε τέλη.

Αυτό μπορεί να αντιμετωπιστεί με τη χρήση SIGHASH_SINGLE (η υπογραφή από μια είσοδο υποδηλώνει μόνο αυτή τη μοναδική είσοδο και την αντίστοιχη έξοδο) και SIGHASH_ANYONEΜΠΟΡΕΙ ΝΑ ΠΛΗΡΩΣΕΙ (οι άνθρωποι μπορούν ελεύθερα να προσθέσουν πρόσθετες εισόδους και εξόδους χωρίς να ακυρώσουν την υπογραφή, εφόσον η είσοδος/έξοδος χρησιμοποιώντας το SIGHASH_SINGLE παραμένει ως έχει, για να μην ακυρωθεί αυτή η υπογραφή). Στη συνέχεια, οποιοσδήποτε μπορεί να προσθέσει μια είσοδο και να αλλάξει την έξοδο για να πληρώσει τέλη εξόρυξης για τη συναλλαγή.

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

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

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

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

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

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

Συνολικά μοιάζει με αυτό: 

Πηγή

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

Η παραλλαγή CTV θα χρησιμοποιούσε αυτή τη λειτουργία για να δεσμευτεί στην αλυσίδα των συναλλαγών χρησιμοποιώντας CTV αντί για APO με το hack να περιλαμβάνει την υπογραφή μέσα στο σενάριο κλειδώματος UTXO. Το CTV δεσμεύεται για όλες τις εκροές μιας συναλλαγής που δαπανά το CTV UTXO, αλλά δεν δεσμεύεται για καμία είσοδο εκτός από τον εαυτό του.

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

Έτσι, αυτό που πρέπει να κάνουμε εδώ είναι να δημιουργήσουμε μια συναλλαγή εντελώς έξω από την αλυσίδα των συναλλαγών CTV για τη δέσμευση sidechain να δημιουργήσουμε ένα UTXO που είναι αρκετό για να πληρώσει το τέλος για τη συναλλαγή CTV (επειδή δεν μπορείτε να δημιουργήσετε μια νέα έξοδο αλλαγής στο αυτή η συναλλαγή, το 100% των εισροών που προσθέτετε πηγαίνει στις χρεώσεις) και εντός της συναλλαγής η προετοιμασία της χρέωσης είναι το σημείο όπου δεσμευόμαστε σε μια κεφαλίδα μπλοκ sidechain. Λοιπόν, πρώτο βήμα: μια συναλλαγή που δημιουργεί ένα αποτέλεσμα πληρωμής αμοιβής και μια δέσμευση για μια κεφαλίδα μπλοκ sidechain. Δεύτερο βήμα: παίρνουμε την έξοδο χρέωσης και την προσθέτουμε ως είσοδο στη συναλλαγή CTV, η οποία όταν επιβεβαιωθεί, "εξορύσσει" το συγκεκριμένο μπλοκ sidechain μας. Αυτή η παραλλαγή μοιάζει με αυτό:

Πηγή

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

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

Στην παραλλαγή CTV, το μπλοκ sidechain έπρεπε να δεσμευτεί σε μια δευτερεύουσα συναλλαγή επειδή το CTV δεν επιτρέπει την προσθήκη νέων εξόδων σε μια συναλλαγή που δαπανά μια είσοδο κλειδωμένη από CTV. Αυτή η παραλλαγή απαιτεί τη χρήση δευτερεύουσας συναλλαγής, επειδή εάν προσθέσετε νέες εισόδους ή εξόδους στην προ-υπογεγραμμένη αλυσίδα, θα τροποποιήσετε το TXID της συναλλαγής και θα ακυρώνατε όλες τις προ-υπογεγραμμένες συναλλαγές που ακολουθούν. Αυτή η παραλλαγή μοιάζει με αυτό: 

Πηγή

Το ένα μειονέκτημα αυτής της τελευταίας παραλλαγής είναι ότι εάν όποιος προϋπέγραψε όλες τις συναλλαγές που θα χρησιμοποιήσει για δεσμεύσεις μπλοκ sidechain δεν διαγράψει τα ιδιωτικά κλειδιά που χρησιμοποιήθηκαν για να το κάνει, μπορεί να σταματήσει αποτελεσματικά την αλυσίδα ξοδεύοντας τον τρέχοντα δείκτη UTXO σε οποιαδήποτε χρόνος.

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

Αυτό το άρθρο είναι απλώς το πρώτο σε μια σειρά που σχετίζεται με τις κύριες προτάσεις σχεδίασης sidechain που έχουν δημοσιευτεί για το Bitcoin από τον αρχικό σχεδιασμό του 2014. Προσέξτε τα υπόλοιπα.

Αυτή είναι μια φιλοξενούμενη ανάρτηση από τον Shinobi. Οι απόψεις που εκφράζονται είναι εξ ολοκλήρου δικές τους και δεν αντικατοπτρίζουν απαραίτητα αυτές της BTC Inc ή του περιοδικού Bitcoin.

Σφραγίδα ώρας:

Περισσότερα από Bitcoin Magazine