Το Bitcoin περιγράφεται συχνά ως ψηφιακό μετρητό, όμως η σύγκριση αυτή σηκώνει συζήτηση. Αν η Alice πληρώσει στον Bob 10 δολάρια σε μετρητά, ο Bob δεν θα ξέρει από πού προήλθαν τα χρήματα. Κι αν αργότερα ο Bob τα δώσει στην Carol, εκείνη δεν μπορεί να συμπεράνει ότι πρώτα τα είχε η Alice.
Με το Bitcoin τα πράγματα είναι διαφορετικά, ακριβώς λόγω της ανοιχτής του φύσης. Το ιστορικό ενός συγκεκριμένου νομίσματος (δηλαδή μιας μη δαπανημένης εξόδου συναλλαγής ή UTXO) μπορεί να το εξετάσει εύκολα οποιοσδήποτε. Είναι σαν, κάθε φορά που χρησιμοποιείται ένα bitcoin, να καταγράφεται σε ένα τιμολόγιο το ποσό και το όνομα του παραλήπτη.
Παρ' όλα αυτά, επειδή οι δημόσιες διευθύνσεις δεν περιέχουν ονόματα, η ταυτότητα των χρηστών δεν αποκαλύπτεται εύκολα. Το Bitcoin, ωστόσο, απέχει πολύ από το να είναι πλήρως ιδιωτικό. Η ανάλυση blockchain γίνεται όλο και πιο εξελιγμένη και συνδέει διευθύνσεις με ταυτότητες με ολοένα μεγαλύτερη επιτυχία. Πέρα από τέτοιες τεχνικές παρακολούθησης, και μια υπηρεσία που ασχολείται ειδικά με αυτόν τον σκοπό μπορεί να αποκαλύψει την ταυτότητα χρηστών κρυπτονομισμάτων. Για να αποτραπεί αυτό, με τα χρόνια εμφανίστηκαν τεχνικές που κόβουν τη σύνδεση ανάμεσα στις συναλλαγές.
Τι είναι η ανάμειξη νομισμάτων;
Γενικά, η ανάμειξη νομισμάτων περιγράφει συναλλαγές που αποσκοπούν στην απόκρυψη κεφαλαίων μέσω της ανταλλαγής τους με άλλα κεφάλαια. Στον κόσμο των κρυπτονομισμάτων, όμως, ο όρος χρησιμοποιείται συνήθως για υπηρεσίες που προσφέρουν τρίτοι. Ο πάροχος παραλαμβάνει τα νομίσματα του χρήστη (και μια μικρή προμήθεια) και του επιστρέφει άλλα νομίσματα, χωρίς καμία σχέση με αυτά που στάλθηκαν. Οι υπηρεσίες αυτές είναι γνωστές και ως tumblers ή mixers.
Φυσικά, η ασφάλεια και η ιδιωτικότητα τέτοιων συγκεντρωτικών υπηρεσιών γεννούν ερωτήματα. Τίποτα δεν εγγυάται ότι ο mixer θα επιστρέψει όντως τα κεφάλαια ούτε ότι τα νομίσματα που θα λάβετε δεν κουβαλούν προβληματικό ιστορικό συναλλαγών. Ένα ακόμη σημείο που πρέπει να έχετε υπόψη είναι ότι τόσο οι IP όσο και οι διευθύνσεις Bitcoin μπορούν να καταγραφούν από τρίτους. Στην ουσία, ο χρήστης εμπιστεύεται τα κεφάλαιά του σε κάποιον άλλον, ελπίζοντας να πάρει πίσω νομίσματα χωρίς παρελθόν.
Μια πιο ενδιαφέρουσα προσέγγιση είναι οι συναλλαγές CoinJoin, οι οποίες δημιουργούν σημαντικό βαθμό εύλογης άρνησης. Δηλαδή, αφού πραγματοποιηθεί μια συναλλαγή CoinJoin, δεν μπορεί να προσκομιστεί κανένα στοιχείο που να συνδέει με βεβαιότητα έναν χρήστη με τις προηγούμενες συναλλαγές του. Πολλές λύσεις CoinJoin αποτελούν μια πιο αποκεντρωμένη εναλλακτική έναντι των mixers: οι χρήστες δεν χρειάζεται να παραιτηθούν από τη φύλαξη των κεφαλαίων τους, ακόμη κι αν στη διαδικασία εμπλέκεται ένας συντονιστής.
Τι είναι το CoinJoin;
Οι συναλλαγές CoinJoin παρουσιάστηκαν για πρώτη φορά το 2013 από τον προγραμματιστή του Bitcoin, Gregory Maxwell. Στο άρθρο του περιέγραφε συνοπτικά τη δομή τους και το πώς μπορούν να προσφέρουν τεράστια βελτίωση της ιδιωτικότητας χωρίς καμία αλλαγή στο πρωτόκολλο.
Στον πυρήνα του, το CoinJoin συνίσταται στη συγκέντρωση εισόδων από διαφορετικούς χρήστες μέσα σε μία μόνο συναλλαγή. Πριν εξηγήσουμε πώς (και γιατί) γίνεται αυτό, ας δούμε τη βασική δομή μιας συναλλαγής.
Οι συναλλαγές Bitcoin αποτελούνται από εισόδους και εξόδους. Όταν ο χρήστης θέλει να κάνει μια κίνηση, χρησιμοποιεί τα UTXO του ως εισόδους, ορίζει τις εξόδους και υπογράφει τις εισόδους. Σημαντικό: κάθε είσοδος υπογράφεται ανεξάρτητα και ο χρήστης μπορεί να δημιουργήσει πολλαπλές εξόδους, δηλαδή αποστολές προς διαφορετικές διευθύνσεις.

Εξετάζοντας μια συναλλαγή με τέσσερις εισόδους (0,2 BTC η καθεμία) και δύο εξόδους (0,7 BTC και 0,09 BTC), μπορούμε να κάνουμε κάποιες υποθέσεις. Η πρώτη είναι ότι γίνεται μια πληρωμή: ο αποστολέας στέλνει τη μία έξοδο σε κάποιο άλλο άτομο και τα ρέστα στον εαυτό του. Καθώς χρησιμοποιεί τέσσερις εισόδους, η μεγαλύτερη έξοδος πιθανότατα πηγαίνει στον παραλήπτη. Αν από το σύνολο λείπουν 0,01 BTC, πρόκειται για την προμήθεια που πληρώνεται στον miner.
Είναι εξίσου πιθανό ο αποστολέας να θέλει να δημιουργήσει ένα μεγάλο UTXO από μικρότερα και γι' αυτό να ενώνει τις μικρές εισόδους ώστε να φτάσει στο ποσό των 0,7 BTC που επιθυμεί.
Μια ακόμη υπόθεση προκύπτει από το γεγονός ότι κάθε είσοδος υπογράφεται ξεχωριστά. Η συναλλαγή μπορεί κάλλιστα να έχει εκτελεστεί με τρόπο ώστε οι εισόδους να τις έχουν υπογράψει τέσσερα διαφορετικά μέρη. Αυτή ακριβώς η αρχή είναι που κάνει το CoinJoin αποτελεσματικό.
Πώς λειτουργεί το CoinJoin;
Η βασική ιδέα είναι ότι πολλά μέρη συντονίζονται για να δημιουργήσουν μια συναλλαγή, γνωστοποιώντας τις εισόδους τους και τις εξόδους που επιθυμούν. Μόλις συνδυαστούν όλες οι εισόδους, είναι αδύνατο να πει κανείς με βεβαιότητα ποια έξοδος ανήκει σε ποιον χρήστη. Μπορείτε να δείτε τη διαδικασία στο παρακάτω διάγραμμα:

Εδώ έχουμε τέσσερις χρήστες που θέλουν να σπάσουν τον σύνδεσμο ανάμεσα στις συναλλαγές τους. Συντονίζονται μεταξύ τους (ή μέσω ενός συντονιστή) για να ανακοινώσουν τις εισόδους και τις εξόδους που θέλουν να συμπεριλάβουν.
Ο συντονιστής συγκεντρώνει όλες τις πληροφορίες, φτιάχνει με αυτές μια συναλλαγή και ζητά από κάθε συμμετέχοντα να την υπογράψει προτού τη μεταδώσει στο δίκτυο. Αφού την υπογράψουν οι χρήστες, καθίσταται αδύνατο να τροποποιηθεί χωρίς να ακυρωθεί. Έτσι εξαλείφεται ο κίνδυνος να κλέψει ο συντονιστής τα κεφάλαια.
Η συναλλαγή λειτουργεί σαν μαύρο κουτί που αναμειγνύει τα νομίσματα. Για να δημιουργηθούν νέα UTXO, τα παλιά πρέπει να καταστραφούν. Ο μοναδικός κρίκος ανάμεσα στα παλιά και τα νέα UTXO είναι η ίδια η συναλλαγή, αλλά σε αυτό το σημείο δεν είναι πλέον δυνατό να ξεχωρίσει κανείς τους συμμετέχοντες μεταξύ τους. Στην καλύτερη περίπτωση μπορεί να ειπωθεί ότι κάποιος συγκεκριμένος συμμετέχων πρόσθεσε μία από τις εισόδους και ότι ενδέχεται να είναι ο νέος κάτοχος της αντίστοιχης εξόδου.
Ούτε αυτό όμως αποτελεί βεβαιότητα. Μπορεί άραγε να συναχθεί από την παραπάνω συναλλαγή ότι υπάρχουν τέσσερις συμμετέχοντες; Μήπως ένα μόνο άτομο στέλνει κεφάλαια σε τέσσερις δικές του διευθύνσεις; Μήπως δύο άτομα κάνουν δύο διαφορετικές αγορές και στέλνουν από 0,2 BTC πίσω στη διεύθυνσή τους; Ή μήπως τέσσερα άτομα στέλνουν κεφάλαια σε άλλους ή στον εαυτό τους; Δεν είναι δυνατόν να δώσουμε ακριβείς απαντήσεις σε αυτά τα ερωτήματα.
Ιδιωτικότητα μέσω της άρνησης
Και μόνο το γεγονός ότι υπάρχουν εφαρμογές CoinJoin αρκεί για να αμφισβητήσουμε τις μεθόδους ανάλυσης των συναλλαγών. Μπορείτε να συμπεράνετε ότι σε πολλές συναλλαγές χρησιμοποιείται CoinJoin, εξακολουθείτε όμως να μη γνωρίζετε σε ποιον ανήκουν οι έξοδοι. Καθώς η δημοτικότητα αυτών των εφαρμογών αυξανόταν, αποδυναμώθηκε η υπόθεση ότι όλες οι εισόδους ανήκουν στον ίδιο χρήστη – ένα μεγάλο βήμα για την ιδιωτικότητα σε ολόκληρο το οικοσύστημα.
Στο προηγούμενο παράδειγμα, η συναλλαγή έχει σύνολο ανωνυμίας 4, οπότε ο κάτοχος της εξόδου μπορεί να είναι οποιοσδήποτε από τους τέσσερις χρήστες που συμμετέχουν. Όσο μεγαλύτερο είναι το σύνολο ανωνυμίας, τόσο δυσκολότερο γίνεται να συνδεθεί μια συναλλαγή με τον αρχικό της κάτοχο. Ευτυχώς, χάρη στις πιο πρόσφατες υλοποιήσεις CoinJoin, οι χρήστες μπορούν να συνδυάσουν την είσοδό τους με δεκάδες άλλων χωρίς να χρειάζεται να εμπιστευτούν κανέναν, εξασφαλίζοντας υψηλό βαθμό άρνησης. Πρόσφατα ολοκληρώθηκε με επιτυχία μια συναλλαγή με 100 άτομα.
Τελικές σκέψεις
Τα εργαλεία ανάμειξης νομισμάτων είναι σημαντικά μέσα, διαθέσιμα σε κάθε χρήστη που νοιάζεται για την ιδιωτικότητά του. Σε αντίθεση με άλλες αναβαθμίσεις ιδιωτικότητας (για παράδειγμα τις Confidential Transactions), μπορείτε να τα αξιοποιήσετε χωρίς να χρειαστεί να αλλάξει η σημερινή μορφή του πρωτοκόλλου.
Για όσους εμπιστεύονται την ακεραιότητα και τις μεθόδους τρίτων, οι υπηρεσίες ανάμειξης προσφέρουν μια εύκολη λύση. Για όσους προτιμούν επαληθεύσιμες εναλλακτικές χωρίς μεσεγγύηση, το CoinJoin είναι σαφώς ανώτερο. Οι συναλλαγές αυτές μπορούν να στηθούν χειροκίνητα από χρήστες με τεχνικές γνώσεις ή να ανατεθούν σε λογισμικό που απαλλάσσει από την ενασχόληση με πολύπλοκους μηχανισμούς. Αρκετά τέτοια εργαλεία υπάρχουν ήδη και η δημοτικότητά τους μεγαλώνει όσο οι χρήστες αναζητούν περισσότερη ιδιωτικότητα.
