Σε ένα από τα προηγούμενα άρθρα μας, μιλήσαμε για την επίθεση “διπλής δαπάνης”. Ένας σημαντικός ρόλος στην αποτροπή μιας τέτοιας επίθεσης παίζεται από την απόδειξη ιδιοκτησίας λογιστικό μοντέλο – UTXO. Λόγω αυτής της δομής των κτιριακών συναλλαγών, το πρωτόκολλο Bitcoin σάς επιτρέπει να παρακολουθείτε τη θέση των κερμάτων ανά πάσα στιγμή.

Στο σημερινό άρθρο, θα επικεντρωθούμε στην έννοια του UTXO, θα εξετάσουμε τα προβλήματα που σχετίζονται με αυτό το λογιστικό μοντέλο και θα εξετάσουμε πιθανές λύσεις σε αυτά τα προβλήματα.

Η μαγεία του UTXO

Τι είναι το UTXO?

Το UTXO αντιπροσωπεύει το “Unspent Transaction Output”, με άλλα λόγια, τα εναπομείναντα ή “αλλαγή”, που ελήφθησαν αφού ξόδεψαν κάποια χρήματα.

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

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

Κατά τον έλεγχο του υπολοίπου στο πορτοφόλι bitcoin σας, βλέπετε το πλήρες αποθηκευμένο ποσό. Στην πραγματικότητα, με βάση το ιστορικό των προηγούμενων συναλλαγών, το υπόλοιπο μπορεί να αποτελείται από πολλά αποτελέσματα που αντιπροσωπεύουν διαφορετικά ποσά. Σκεφτείτε το ως τους πολυάριθμους λογαριασμούς στο πορτοφόλι σας. Το υπόλοιπο μιας διεύθυνσης ανά πάσα στιγμή είναι το άθροισμα όλων των UTXO που μπορεί να δαπανήσει αυτήν τη στιγμή. Τα σύνολα εξόδων αντιπροσωπεύουν UTXOs, δηλαδή ένα σύνολο εξόδων με διαφορετικά ποσά σε αυτά, που αντιπροσωπεύουν το υπόλοιπο.

Ας χρησιμοποιήσουμε ένα παράδειγμα για να κατανοήσουμε καλύτερα την αρχή UTXO: 

Η μαγεία του UTXO

Εάν διατηρείτε 50 BTC στο λογαριασμό σας και θέλετε να πραγματοποιήσετε πληρωμή 0,5 BTC, αυτό απαιτεί τη δημιουργία μιας συναλλαγής, στην οποία πρέπει να υπάρχει τουλάχιστον μία είσοδος και μία έξοδος. Ας υποθέσουμε ότι υπάρχει μόνο ένα UTXO 50 BTC. Δεν είναι δυνατόν να χωριστεί το UTXO. Ως εκ τούτου, 50 BTC χρησιμοποιούνται ως είσοδος. Υποβάλλοντας μια υπογραφή, επιβεβαιώνουμε την κυριότητά μας για αυτήν την εισαγωγή. Ως αποτέλεσμα, δημιουργούνται δύο έξοδοι με ονομασίες 0,5 και 49,5 BTC. Μια αλλαγή 49,5 BTC αποστέλλεται πίσω στο πορτοφόλι του κατόχου και γίνεται νέο UTXO και 0,5 BTC αποστέλλονται στη διεύθυνση του παραλήπτη. Αξίζει να σημειωθεί ότι το τέλος συναλλαγής αφαιρείται από την αλλαγή της UTXO.

Σημαντικά χαρακτηριστικά της χρήσης του μοντέλου εξόδου συναλλαγής:

  • Οι συναλλαγές πραγματοποιούνται με «κατανάλωση» υπαρχόντων UTXO και δημιουργία νέων στη θέση τους.
  • Τα νέα UTXO μπορούν να δημιουργηθούν μόνο μέσω συναλλαγών.
  • Τα μεταχειρισμένα UTXO “ξοδεύονται” και καταναλώνονται μόνο μία φορά.

Το UTXO είναι ένας από τους τρόπους καταγραφής και αποθήκευσης της κατάστασης του blockchain, καταγράφοντας αποδείξεις ιδιοκτησίας νομισμάτων από κάποιον στο δίκτυο. Το blockchain με βάση το UTXO είναι ένας τύπος πρωτοκόλλου blockchain. Η αρχή των εξαντλημένων εξόδων χρησιμοποιείται στα blockchain όλων των Bitcoin forks, καθώς και στα blockchain πολλών άλλων νομισμάτων, όπως Monero, Cardano και Komodo. Το Hyperledger Fabric χρησιμοποιεί ένα τροποποιημένο μοντέλο UTXO.

Ένας άλλος τρόπος για να οργανώσετε το blockchain είναι το “Account Model”, το οποίο χρησιμοποιείται στο Ethereum blockchain. Αυτή η προσέγγιση εφαρμόζεται μέσω της τοπικής λογιστικής των διακριτικών στους κόμβους και όχι στις ίδιες τις συναλλαγές.

Προβλήματα και λύσεις του μοντέλου UTXO

Σκόνη κρυπτονομισμάτων

Το Cryptocurrency dust είναι ένας όρος που αναφέρεται σε ποσά σε BTC που δεν υπερβαίνουν τα τέλη συναλλαγής.

Το πρόβλημα της σκόνης κρυπτογράφησης έγινε σχετικό κατά τη διάρκεια του ράλι του Bitcoin στον ιστορικό ATH του το 2017. Η αποθήκευση ενός σημαντικού αριθμού μη κερδοσκοπικών UTXOs είναι άσκοπη, δεδομένου ότι κοστίζει περισσότερο για να τα ξοδέψετε από ότι αξίζουν.

Οι προγραμματιστές προσπαθούν να λύσουν το πρόβλημα της κρυπτογράφησης σε διαφορετικά επίπεδα. Το Binance έγινε το πρώτο χρηματιστήριο που επέτρεψε τη μετατροπή της σκόνης κρυπτογράφησης για μάρκες BNB.

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

Αποθήκευση UTXO

Δεδομένου ότι το blockchain αποθηκεύει όλα τα σύνολα UTXO που υπάρχουν στο δίκτυο, όσο υψηλότερος είναι ο αριθμός αυτών των συνόλων, τόσο περισσότερο χώρο καταλαμβάνουν.

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

Η μαγεία του UTXO

Διαχωρισμένη εφαρμογή μαρτύρων

Η βάση δεδομένων UTXO διατηρείται και ελέγχεται από όλους τους κόμβους του δικτύου για να ελέγξει την εγκυρότητα των συναλλαγών. Για ταχύτερη λειτουργία δικτύου, ένας τέτοιος έλεγχος πρέπει να πραγματοποιείται το συντομότερο δυνατό. Αυτός είναι ο λόγος που η βάση δεδομένων διατηρείται στη μνήμη RAM. Με την αύξηση του αριθμού των χρηστών και του αριθμού των πορτοφολιών, ο όγκος δεδομένων UTXO αυξάνεται, γεγονός που οδηγεί στο πρόβλημα της κλιμάκωσης του δικτύου. Για να αυξήσουν το απόρρητο ή να υποστηρίξουν κανάλια πληρωμών Lightning Network, οι χρήστες δημιουργούν πολλές εγγραφές UTXO.

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

Λύση UTreeXo

Καθώς οι πόροι που απαιτούνται για τη διατήρηση ενός πλήρους κόμβου έχουν αυξηθεί, οι χρήστες μεταβαίνουν όλο και περισσότερο στους λεγόμενους «ελαφρούς πελάτες» και κόμβους τρίτων για την παρακολούθηση του δικτύου. Οι ελαφροί πελάτες δεν αποθηκεύουν τη βάση δεδομένων UTXO και δεν επαληθεύουν τις συναλλαγές, αλλά χρησιμοποιούν SPV, που σημαίνει “Απλοποιημένη επαλήθευση πληρωμής”. Αυτή η μέθοδος επαλήθευσης περιγράφηκε στη Λευκή Βίβλο του Bitcoin από τον ίδιο τον Satoshi Nakamoto. Λόγω ορισμένων σημαντικών αδυναμιών απορρήτου, η χρήση πελατών SPV δεν είναι ασφαλής σε σύγκριση με τους πλήρεις κόμβους. Το πρόβλημα της διατήρησης πλήρων κόμβων μπορεί να επιλυθεί εφαρμόζοντας το πρωτόκολλο uTreeXo

Το πρωτόκολλο uTreeXo είναι ένας δυναμικός συσσωρευτής που μειώνει το μέγεθος των UTXO στο blockchain σε αρκετά kilobytes. Η λύση uTreeXo επιτρέπει στους πλήρεις κόμβους να αποφεύγουν την αποθήκευση όλων των δεδομένων blockchain και να παρακολουθούν το σύνολο όλων των UTXO. Αντ ‘αυτού, οι συσσωρευτές θα παρέχουν αποδείξεις ότι τα δεδομένα είναι σωστά.

Με την εισαγωγή του πρωτοκόλλου uTreeXo, θα είναι δυνατή η εκτέλεση πλήρων κόμβων σε κινητές συσκευές.

συμπέρασμα

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

Το παραδοσιακό μοντέλο UTXO έχει ορισμένους περιορισμούς όταν χρησιμοποιείται σε έξυπνα συμβόλαια, αλλά οι προγραμματιστές του Cardano περιέγραψαν την έννοια Extended UTXO (EUTXO) – ένα εκτεταμένο μοντέλο UTXO για την εισαγωγή έξυπνων συμβάσεων στο δίκτυό του.

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