Χρήση DNS για συντονισμό πληρωμών Bitcoin

Ο Matt Corallo πρότεινε λίγο περισσότερο από μια εβδομάδα πριν ένα BIP για τον συντονισμό της πραγματοποίησης πληρωμών Bitcoin. Η πραγματοποίηση πληρωμών με bitcoin ανέκαθεν παρουσίαζε κάτι σαν πρόκληση όσον αφορά τον συντονισμό, τόσο εντός όσο και εκτός αλυσίδας με πρωτόκολλα όπως το Lightning, για διαφορετικούς λόγους. Όσον αφορά τα ψηφιακά συστήματα όπως το ηλεκτρονικό ταχυδρομείο ή τα συστήματα πληρωμών όπως το Paypal, το Cashapp κ.λπ., οι άνθρωποι είναι πολύ συνηθισμένοι στην έννοια του ενιαίου στατικού αναγνωριστικού. Εάν θέλετε να στείλετε ένα email στον John, στείλτε απλώς ένα email "john@[εισαγωγή τομέα]." Αν θέλετε να στείλετε στον John κάποια χρήματα στο Cashapp, απλώς στείλτε μια πληρωμή στον @John στο Cashapp.

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

Οι πληρωμές εντός της αλυσίδας αντιμετωπίζουν πρόβλημα με αυτήν την προσδοκία, όχι λόγω της αδυναμίας να έχετε ένα στατικό αναγνωριστικό (μία μεμονωμένη διεύθυνση), αλλά λόγω των συνεπειών του απορρήτου της δημοσίευσης μιας ενιαίας διεύθυνσης στην αλυσίδα και της χρήσης αυτής από όλους όσους αλληλεπιδράτε να σε πληρώσω. Θέτει ολόκληρο το ιστορικό πληρωμών σας και την ιδιοκτησία νομισμάτων στη δημόσια προβολή όλων. Εάν σπάνια λαμβάνετε χρήματα ξανά και ξανά, π.χ. όταν πληρώνεστε για δουλειά ή όταν τακτοποιείτε καρτέλες μπαρ με άτομα, δεν είναι καθόλου βάρος να ανοίξετε απλώς το πορτοφόλι σας και να δημιουργήσετε μια νέα διεύθυνση για να λάβετε. Ωστόσο, εάν λαμβάνετε συχνά χρήματα, ειδικά σε περιπτώσεις όπου δεν ζητάτε απευθείας την πληρωμή, αυτό αποτελεί σοβαρή επιβάρυνση.

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

Το ίδιο ισχύει και για το Lightning εκτός από χειρότερα. Ένα τιμολόγιο είναι καλό μόνο για μία μόνο πληρωμή. Σε αντίθεση με μια διεύθυνση on-chain, η οποία μπορεί να επαναχρησιμοποιηθεί παρόλο που είναι φρικτή πρακτική, ένα τιμολόγιο Lightning δεν μπορεί να χρησιμοποιηθεί. Μόλις το τιμολόγιο πληρωθεί ή λήξει, ο εν λόγω κόμβος Lightning θα αρνηθεί οποιαδήποτε προσπάθεια πληρωμής του. Αυτή η δυναμική οδήγησε στη δημιουργία της προδιαγραφής LNURL, καθώς και των Διευθύνσεων Lightning που ενσωματώθηκαν πάνω της. Το LNURL είναι ένα πρωτόκολλο για τη σύνδεση σε έναν διακομιστή HTTP μέσω μιας στατικής IP που μπορεί να κοινοποιηθεί μία φορά προκειμένου να ληφθεί ένα πραγματικό τιμολόγιο Lightning για πληρωμή από τον διακομιστή. Βασιζόμενοι σε αυτό, οι Διευθύνσεις Lightning είναι ένα σχήμα ονοματοδοσίας πάνω από το LNURL δομημένο παρόμοια με τις διευθύνσεις email: John@[τομέας διακομιστή LNURL].

Όλες αυτές οι λύσεις έχουν μειονεκτήματα. Η απαίτηση να εκτελείτε ένα επιπλέον λογισμικό (έναν διακομιστή HTTP) που παραμένει συνδεδεμένο όλη την ώρα εκτός από το πορτοφόλι σας Bitcoin ή τον κόμβο Lightning. η υποβολή αιτήματος στον διακομιστή BTCPay/LNURL διαρρέει τη διεύθυνση IP του αποστολέα στον παραλήπτη. βασίζονται στις Αρχές Πιστοποιητικών TLS.

Απλώς χρησιμοποιήστε DNS

Τα εργαλεία διακομιστή HTTP, όπως το LNURL, όταν συνδυάζονται με τη διεύθυνση Lightning, χρησιμοποιούν τομείς για να επιλύσουν τη σύνδεση με τον διακομιστή HTTP. Ομοίως, οι διακομιστές BTCPay έχουν ρυθμιστεί όλοι με τομείς αντί να χρησιμοποιούν μη επεξεργασμένες διευθύνσεις IP. Η γνώση του Matt είναι γιατί να μην κόψουμε απλώς την εξάρτηση από το HTTP και να χρησιμοποιήσουμε το ίδιο το Σύστημα Ονομάτων Τομέα;

Το DNS σάς επιτρέπει να συσχετίζετε εγγραφές TXT με ένα δεδομένο όνομα τομέα, δημιουργώντας μικρές αναγνώσιμες από τον άνθρωπο (ή μηχανές) εγγραφές που μπορούν να ζητηθούν από διακομιστές DNS. Σε συνδυασμό με το Domain Name System Security Extensions (DNSSEC), οι εγγραφές DNS TXT παρέχουν έναν μηχανισμό που μπορεί να χρησιμοποιηθεί για την αναζήτηση πληροφοριών πληρωμής χωρίς την επιβάρυνση και την επιβάρυνση της λειτουργίας ενός διακομιστή HTTP, καθώς και να προσφέρει λίγη περισσότερη ευελιξία και άνοιγμα. Το DNSSEC παρέχει έναν αριθμό εργαλείων για την κρυπτογραφική υπογραφή καταχωρήσεων DNS, συμπεριλαμβανομένων των εγγραφών TXT, με τα κλειδιά DNS που είναι εγγενή στην ιεραρχική δομή του DNS. Αυτό παρέχει μια εγγύηση ότι η εγγραφή TXT που ζητάτε είναι η εγγραφή που υπογράφεται και διανέμεται σε διακομιστές DNS χαμηλότερου επιπέδου από τον τοπικό διακομιστή ρίζας/κλειδί.

Αυτό έχει το πραγματικό όφελος του DNS ως μέσου για την ανάκτηση δεδομένων πληρωμής: αποχαιρετήστε την απαίτηση εκτέλεσης ενός διακομιστή HTTP. Μια εγγραφή TXT μπορεί να κωδικοποιήσει μια διεύθυνση Bitcoin on-chain (αν και το BIP συνιστά συγκεκριμένα να το κάνετε αυτό ΕΝΑΝΤΙ, εάν δεν είστε σε θέση να εναλλάσσετε τακτικά νέες διευθύνσεις για να αποτρέψετε την επαναχρησιμοποίηση διευθύνσεων), αλλά το πιο σημαντικό μπορεί επίσης να περιέχει μια προσφορά BOLT 12 Lightning.

Αυτές οι εγγραφές μπορούν να ληφθούν από οποιονδήποτε διακομιστή DNS, τον δικό σας τοπικό, τον ISP σας, ακόμη και έναν δημόσιο διακομιστή όπως το Google ή το Cloudflare. Από αυτό το βασικό σημείο, επιλύεται ένα μειονέκτημα λύσεων που βασίζονται στο HTTP. δεν διαρρέετε πλέον τη διεύθυνση IP σας στο άτομο που προσπαθείτε να πληρώσετε. Τώρα, στην περίπτωση χρήσης του DNS του ISP σας ή ενός δημόσιου διακομιστή όπως η Google ή το Cloudflare χωρίς VPN ή Tor, τους αποκαλύπτετε τη διεύθυνση IP σας. το BIP σαφώς ενθαρρύνει την υποστήριξη για ανάλυση DNS μέσω VPN ή Tor ειδικά για αυτόν τον λόγο.

Ο συνδυασμός αυτής της πρότασης με το BOLT 12 εξαλείφει την ανάγκη για λειτουργία βοηθητικού λογισμικού που δημιουργεί μια πολύ πραγματική ανησυχία για την ασφάλεια για μη εξειδικευμένους χρήστες και επιτρέπει στην ιδιοκτησία ενός τομέα μόνο να παρέχει στους χρήστες όλα όσα χρειάζονται για να έχουν έναν μηχανισμό εντοπισμού πληροφοριών πληρωμής με έναν απλό άνθρωπο αναγνώσιμο αναγνωριστικό. Το BOLT 12 δεν απαιτεί διακομιστή HTTP, που χειρίζεται την πραγματική παράδοση τιμολογίων μέσω συνδέσεων που δρομολογούνται onion απευθείας μέσω του Δικτύου Lightning και υποστηρίζει Προσφορές, ένα στατικό αναγνωριστικό που μπορεί να χρησιμοποιηθεί για την εύρεση μιας διαδρομής κρεμμυδιού σε αυτόν τον κόμβο Lightning. Το πρόβλημα είναι ότι η Προσφορά κωδικοποιείται ως μια τεράστια τυχαία φαινομενική συμβολοσειρά σαν ένα τιμολόγιο, καθιστώντας το ένα φρικτό αναγνωριστικό αναγνώσιμο/χρήσιμο από τον άνθρωπο, εκτός από τη χρήση κωδικών QR ή αντιγραφής και επικόλλησης.

Αποθηκεύοντας μια Προσφορά σε μια εγγραφή DNS TXT, το μόνο που χρειάζεται ένας χρήστης για να πραγματοποιήσει μια πληρωμή είναι ο τομέας κάποιου για να πληκτρολογήσει στο πορτοφόλι του, ώστε να μπορεί να πάρει την εγγραφή TXT, να λάβει την Προσφορά BOLT 12 και στη συνέχεια να πραγματοποιήσει την πληρωμή. Δεν χρειάζεται να φιλοξενούν κανένα διακομιστή ή να εκτελούν οποιοδήποτε λογισμικό εκτός από τον κόμβο Lightning τους, το σύστημα DNS χειρίζεται τα πάντα για αυτούς, όσον αφορά τη φιλοξενία του BOLT 12. Προσφορά σε κάποιον που οι χρήστες που θέλουν να τους πληρώσουν μπορούν να βρουν.

Είναι αυτό ένα σύστημα απόλυτα άπιστο; Όχι. Είναι πολύ καλύτερο από συστήματα που βασίζονται στο HTTP; Απολύτως. Το πρόβλημα με ζητήματα όπως αυτό είναι ότι υπάρχει μια ορισμένη προσδοκία για το UX και τη συμπεριφορά που έχουν οι περισσότεροι άνθρωποι, εφόσον τα ψηφιακά συστήματα υποτίθεται ότι λειτουργούν στο μυαλό τους. Χωρίς να αναπαράγουν αυτό το UX, μεγάλες ομάδες ανθρώπων θα χρησιμοποιήσουν απλώς εναλλακτικές λύσεις που ανταποκρίνονται σε αυτήν την προσδοκία UX. Δεδομένης αυτής της πραγματικότητας, στην προσπάθεια ενσωμάτωσης του Bitcoin στο πλαίσιο αυτών των προσδοκιών UX, ο στόχος του σχεδιασμού θα πρέπει να είναι η κάλυψη αυτών των αναγκών των χρηστών με το ελάχιστο ποσό εμπιστοσύνης που παρεμβάλλεται, το ελάχιστο βάρος που επιβαρύνει τους χρήστες και τις ελάχιστες δυνατότητες απώλεια της ιδιωτικής ζωής με νέους τρόπους. Νομίζω ότι το BIP του Matt ελέγχει όλα αυτά τα πλαίσια σε σύγκριση με τις υπάρχουσες λύσεις. 

Πηγή: https://bitcoinmagazine.com/technical/using-dns-to-coordinate-bitcoin-payments