Συντάκτης: Omer Shlomovits, ZenGo.
Το σύστημα υπογραφών ορίου (Threshold Signature Scheme ή TSS) είναι ένα κρυπτογραφικό πρωτότυπο για την κατανεμημένη δημιουργία και υπογραφή κλειδιών. Η χρήση του TSS σε πελάτες blockchain είναι ένα νέο πρότυπο που μπορεί να προσφέρει πολλά πλεονεκτήματα, ιδίως όσον αφορά την ασφάλεια. Με την ευρύτερη έννοια, το TSS μπορεί να επηρεάσει τον σχεδιασμό των συστημάτων διαχείρισης κλειδιών (όπως τα πορτοφόλια κρυπτονομισμάτων) και να ανοίξει τον δρόμο για την εγγενή υποστήριξη σε περιπτώσεις χρήσης DeFi. Ωστόσο, το TSS είναι ακόμη μια νέα τεχνολογία, οπότε θα πρέπει να ληφθούν υπόψη οι κίνδυνοι και οι περιορισμοί.
Σε αυτό το άρθρο, θα εξετάσουμε τι είναι ένα TSS, ποια είναι τα πιθανά πλεονεκτήματα που φέρνει στον χώρο του blockchain, πώς μπορεί να εφαρμοστεί σε έναν πελάτη blockchain, πώς συγκρίνεται με τον αλγόριθμο Shamir Secret Sharing και τις πολλαπλές υπογραφές, ποιοι είναι οι διαφορετικοί τρόποι χρήσης του TSS για κατανεμημένη διαχείριση κλειδιών και τέλος θα αναφέρουμε τους κινδύνους και τους περιορισμούς.
Η δύναμη των κρυπτονομισμάτων
Για να κατανοήσουμε το TSS, χρειαζόμαστε πρώτα κάποιες βασικές γνώσεις κρυπτογράφησης. Από τη δεκαετία του 1970, όλο και περισσότερα συστήματα του Internet (όπως το TLS και το PGP) χρησιμοποιούν ασύμμετρη κρυπτογράφηση, η οποία είναι επίσης γνωστή ως κρυπτογράφηση δημόσιου κλειδιού (PKC). Το PKC χρησιμοποιεί δύο κλειδιά: ένα δημόσιο και ένα ιδιωτικό. Ενώ το δημόσιο κλειδί δεν είναι μυστικό και μπορεί να δημοσιευθεί και να χρησιμοποιηθεί από οποιονδήποτε, το ιδιωτικό κλειδί είναι μια απόρρητη πληροφορία που αντιπροσωπεύει την ασφάλεια του συστήματος.
Η κρυπτογράφηση και οι ψηφιακές υπογραφές είναι οι δύο συνηθέστερες χρήσεις του PKC. Τόσο τα συστήματα κρυπτογράφησης όσο και τα συστήματα ψηφιακών υπογραφών βασίζονται σε σύνολα τριών αλγόριθμων. Πρώτα γίνεται η δημιουργία ζεύγους ιδιωτικού και δημόσιου κλειδιού, μετά η δημιουργία κρυπτογραφημένου κειμένου/υπογραφής και τρίτον η διαδικασία αποκρυπτογράφησης/επαλήθευσης. Όσον αφορά τις ψηφιακές υπογραφές, ο αλγόριθμος υπογραφής χρειάζεται το ιδιωτικό κλειδί, το οποίο γνωρίζει μόνο ο ιδιοκτήτης του, για να παράγει μια μοναδική υπογραφή. Η υπογραφή επισυνάπτεται σε ένα δεδομένο μήνυμα με τρόπο ώστε οποιοσδήποτε διαθέτει το δημόσιο κλειδί να μπορεί να επαληθεύσει τη γνησιότητα και την ορθότητά του.
Blockchain
Δεν υπάρχει αμφιβολία ότι το blockchain είναι μια πολύ ισχυρή τεχνολογία. Προσφέρει ένα επίπεδο ομοφωνίας που οργανώνει και καταγράφει τα συμβάντα. Μια τέτοια υποδομή δίνει σε εμάς, τους χρήστες, τη δυνατότητα να αναπτύξουμε αποκεντρωμένες οικονομίες, ακόμη και κυβερνήσεις. Όλως περιέργως, η κρυπτογράφηση που απαιτείται για τη λειτουργία ενός βασικού blockchain μπορεί να βασίζεται αποκλειστικά σε ψηφιακές υπογραφές. Στο πλαίσιο του blockchain, τα ιδιωτικά κλειδιά αντιπροσωπεύουν ταυτότητες, ενώ η υπογραφή είναι μια δημόσια δήλωση ή ισχυρισμός που διατυπώνεται από μια ταυτότητα. Το blockchain θα ταξινομεί τις δηλώσεις και θα τις επικυρώνει σύμφωνα με ένα σύνολο κανόνων, οι οποίοι εξασφαλίζουν, μεταξύ άλλων, ότι οι υπογραφές δεν μπορούν να παραποιηθούν και είναι σωστές.
Σε αντίθεση με την πιο κλασική κρυπτογράφηση που χρησιμοποιείται στο blockchain, η σύγχρονη εργαλειοθήκη κρυπτογράφησης περιλαμβάνει μερικά φοβερά μαγικά κόλπα: αποδείξεις μηδενικής γνώσης, ομομορφική κρυπτογράφηση και υπολογισμός πολλαπλών μερών είναι μερικά από αυτά. Όπως παρατηρήσαμε την τελευταία δεκαετία, η έρευνα για το blockchain προώθησε τρομερά την εφαρμοσμένη κρυπτογράφηση, με πρόσφατες καινοτομίες σε όλα τα παραπάνω και πολλά άλλα.
Σε αυτό το άρθρο, θα ασχοληθούμε με μία μόνο τέτοια καινοτομία: τις αποτελεσματικές και ασφαλείς υπογραφές ορίων (TSS).
Το MPC και το σύστημα υπογραφών ορίου (TSS)
Ο υπολογισμός πολλαπλών μερών (MPC) είναι ένα πεδίο της κρυπτογράφησης που ξεκίνησε με το θεμελιώδες έργο του Andrew C. Yao πριν από σχεδόν 40 χρόνια. Στο MPC, ένα σύνολο μερών που δεν εμπιστεύονται το ένα το άλλο προσπαθούν να υπολογίσουν από κοινού μια συνάρτηση επί των εισροών τους, διατηρώντας τις εισροές αυτές απόρρητες.
Για παράδειγμα, ας πούμε ότι n υπάλληλοι μιας εταιρείας θέλουν να γνωρίζουν ποιος αμείβεται καλύτερα, χωρίς όμως να αποκαλύψουν ο ένας στον άλλον τον πραγματικό τους μισθό. Στην περίπτωση αυτή οι ιδιωτικές εισροές είναι οι μισθοί και η εκροή θα είναι το όνομα του υπαλλήλου με τον υψηλότερο μισθό. Μέσω του υπολογισμού αυτού με τη χρήση MPC διαπιστώνουμε ότι ούτε ένας μισθός δεν διαρρέει κατά τη διάρκεια του υπολογισμού.
Οι δύο βασικές ιδιότητες του MPC είναι η ορθότητα και το απόρρητο:
Ορθότητα: η εκροή που παράγεται από έναν αλγόριθμο είναι σωστή (όπως αναμένεται).
Απόρρητο: τα μυστικά δεδομένα εισροής που διαθέτει ένα μέρος δεν θα γνωστοποιηθούν στα άλλα μέρη.
Θα χρησιμοποιήσουμε το MPC για να υπολογίσουμε μια ψηφιακή υπογραφή με κατανεμημένο τρόπο. Ας εξετάσουμε τον τρόπο με τον οποίο οι παραπάνω ιδιότητες μπορούν να εφαρμοστούν στις υπογραφές. Θυμηθείτε ότι για τις υπογραφές υπάρχουν τρία βήματα:
Δημιουργία κλειδιών: το πρώτο βήμα είναι και το πιο περίπλοκο. Πρέπει να δημιουργήσουμε ένα κλειδί το οποίο θα είναι δημόσιο και θα χρησιμοποιείται για την επαλήθευση μελλοντικών υπογραφών. Αλλά, επίσης, πρέπει να δημιουργήσουμε ένα μεμονωμένο secret για κάθε μέρος, το οποίο θα ονομάσουμε secret share. Όσον αφορά την ορθότητα και το απόρρητο, δηλώνουμε ότι η συνάρτηση θα εξάγει το ίδιο δημόσιο κλειδί σε όλα τα μέρη και ένα διαφορετικό secret share για κάθε ένα από αυτά: (1) απόρρητο: δεν διαρρέουν δεδομένα secret share μεταξύ των μερών και (2) ορθότητα: το δημόσιο κλειδί είναι συνάρτηση των secret share.
Υπογραφή: αυτό το βήμα συνεπάγεται τη δημιουργία υπογραφής. Η εισροή κάθε μέρους θα είναι το secret share του, το οποίο δημιουργήθηκε ως εκροή από το προηγούμενο βήμα (δημιουργία κατανεμημένου κλειδιού). Επίσης, υπάρχει δημόσια εισροή γνωστή σε όλους, η οποία είναι το μήνυμα που πρέπει να υπογραφεί. Η εκροή θα είναι μια ψηφιακή υπογραφή και το απόρρητο διασφαλίζει ότι δεν υπάρχει διαρροή των secret share κατά τη διάρκεια του υπολογισμού.
Επαλήθευση: ο αλγόριθμος επαλήθευσης παραμένει ως έχει στο τυπικό περιβάλλον. Για να είναι συμβατό με τις υπογραφές ενός κλειδιού, όλοι όσοι γνωρίζουν το δημόσιο κλειδί θα πρέπει να μπορούν να επαληθεύουν και να επικυρώνουν τις υπογραφές. Αυτό ακριβώς κάνουν οι κόμβοι επικύρωσης blockchain.
Το σύστημα υπογραφών ορίου (TSS) είναι το όνομα που δίνουμε σε αυτή τη σύνθεση της κατανεμημένης δημιουργίας κλειδιών (DKG) και της κατανεμημένης υπογραφής ενός συστήματος υπογραφών ορίου.
Συνδυασμός TSS με blockchain
Ο φυσικός τρόπος με τον οποίο το TSS μπορεί να χρησιμοποιηθεί σε ένα blockchain, είναι με την αλλαγή ενός πελάτη blockchain ώστε να δημιουργεί κλειδιά και υπογραφές χρησιμοποιώντας το TSS. Εδώ χρησιμοποιούμε τον όρο πελάτη blockchain για να αναφερθούμε στο σύνολο των εντολών που εκτελούνται από έναν πλήρη κόμβο. Στην πράξη, η τεχνολογία TSS μάς επιτρέπει να αντικαταστήσουμε όλες τις εντολές που σχετίζονται με το ιδιωτικό κλειδί με κατανεμημένους υπολογισμούς.
Για να το εξηγήσουμε λεπτομερέστερα, θα ξεκινήσουμε περιγράφοντας εν συντομία τον τρόπο με τον οποίο δημιουργούνται νέες διευθύνσεις στον τυπικό σχεδιασμό blockchain. Με απλά λόγια, μπορούμε να δημιουργήσουμε μια νέα διεύθυνση δημιουργώντας ένα ιδιωτικό κλειδί και, στη συνέχεια, να υπολογίσουμε το δημόσιο κλειδί από το ιδιωτικό κλειδί. Τέλος, η διεύθυνση blockchain προκύπτει από το δημόσιο κλειδί.
Τώρα, χρησιμοποιώντας το TSS, θα έχουμε ένα σύνολο από n μέρη που υπολογίζουν μαζί το δημόσιο κλειδί, καθένα από τα οποία διαθέτει ένα secret share του ιδιωτικού κλειδιού (τα επιμέρους shares δεν αποκαλύπτονται στα άλλα μέρη). Από το δημόσιο κλειδί, μπορούμε να εξάγουμε τη διεύθυνση με τον ίδιο τρόπο όπως και στο κλασικό σύστημα, με αποτέλεσμα το blockchain να μην εξαρτάται από τον τρόπο με τον οποίο δημιουργείται η διεύθυνση. Το πλεονέκτημα είναι ότι το ιδιωτικό κλειδί δεν αποτελεί πλέον ένα μοναδικό σημείο αποτυχίας, επειδή κάθε μέρος κατέχει μόνο ένα μέρος του.
Το ίδιο μπορεί να συμβεί και κατά την υπογραφή συναλλαγών. Σε αυτή την περίπτωση, αντί να υπογράφει ένα μόνο μέρος με το ιδιωτικό του κλειδί, εκτελούμε μια κατανεμημένη παραγωγή υπογραφών μεταξύ πολλαπλών μερών. Συνεπώς, κάθε μέρος μπορεί να παράγει μια έγκυρη υπογραφή, εφόσον αρκετά από αυτά ενεργούν με ειλικρίνεια. Προχωρήσαμε και πάλι από τον τοπικό υπολογισμό (μοναδικό σημείο αποτυχίας) σε έναν διαδραστικό.
Είναι σημαντικό να αναφέρουμε ότι η κατανεμημένη παραγωγή κλειδιών μπορεί να γίνει με τρόπο που να υποστηρίζει διαφορετικούς τύπους δομών πρόσβασης: η γενική διάταξη "t από n" θα μπορεί να αντέξει έως και t αυθαίρετες αποτυχίες σε λειτουργίες που σχετίζονται με το ιδιωτικό κλειδί, χωρίς να διακυβεύεται η ασφάλεια.
TSS έναντι. πολλαπλών υπογραφών
Ορισμένα blockchain προσφέρουν λειτουργικότητα TSS ως ενσωματωμένο ή προγραμματιζόμενο τμήμα του λογισμικού. Ονομάζουμε αυτή τη λειτουργικότητα multisig ή πολλαπλών υπογραφών. Για να κατανοήσουμε καλύτερα τις διαφορές, μπορούμε να θεωρήσουμε τις πολλαπλές υπογραφές ως ένα TSS στο επίπεδο εφαρμογής του blockchain.
Για να το θέσουμε αλλιώς, τόσο οι πολλαπλές εφαρμογές όσο και το TSS προσπαθούν ουσιαστικά να πετύχουν παρόμοιους στόχους, αλλά το TSS χρησιμοποιεί κρυπτογράφηση εκτός της αλυσίδας, ενώ οι πολλαπλές υπογραφές πραγματοποιούνται εντός της αλυσίδας. Ωστόσο, το blockchain χρειάζεται έναν τρόπο κωδικοποίησης των πολλαπλών υπογραφών, ο οποίος μπορεί να πλήξει το απόρρητο επειδή η δομή πρόσβασης (αριθμός υπογραφόντων) είναι εκτεθειμένη στο blockchain. Το κόστος μιας συναλλαγής πολλαπλών υπογραφών είναι υψηλότερο, επειδή πρέπει να γνωστοποιηθούν στο blockchain και οι πληροφορίες σχετικά με τους διάφορους υπογράφοντες.
Στο TSS, τα στοιχεία του υπογράφοντος ενσωματώνονται σε μια τυπική συναλλαγή, μειώνοντας το κόστος και διατηρώντας το απόρρητο. Αντίθετα, οι πολλαπλές υπογραφές μπορεί να μην είναι διαδραστικές, πράγμα που γλιτώνει τον κόπο της λειτουργίας ενός πολύπλοκου επιπέδου επικοινωνίας μεταξύ των διαφόρων υπογραφόντων.
Η κύρια διαφορά είναι ότι οι πολλαπλές υπογραφές αφορούν συγκεκριμένα blockchain και πρέπει να υλοποιηθούν ξανά για κάθε blockchain, ενώ σε ορισμένες περιπτώσεις δεν υποστηρίζονται καθόλου. Αντίθετα, το TSS βασίζεται σε απόλυτη κρυπτογράφηση, οπότε η υποστήριξη είναι πάντα δυνατή. Μπορείτε να βρείτε ένα εξαιρετικό άρθρο με απεικονίσεις των διαφορών εδώ.
Σύστημα TSS έναντι Shamir Secret Sharing
Το σύστημα Shamir Secret Sharing (SSSS) προσφέρει έναν τρόπο αποθήκευσης του ιδιωτικού κλειδιού με κατανεμημένο τρόπο, έτσι ώστε ενώ το ιδιωτικό κλειδί βρίσκεται σε αδράνεια, να αποθηκεύεται σε πολλαπλές τοποθεσίες. Υπάρχουν δύο διαφορές μεταξύ SSSS και TSS:
Παραγωγή κλειδιών: στο SSSS, υπάρχει ένα μόνο μέρος που ονομάζεται "διαπραγματευτής" και είναι υπεύθυνο για τη δημιουργία των secret share ιδιωτικών κλειδιών. Αυτό σημαίνει ότι κατά τη δημιουργία του κλειδιού, το ιδιωτικό κλειδί δημιουργείται σε μία μόνο τοποθεσία και στη συνέχεια διανέμεται από τον διαπραγματευτή στις διάφορες τοποθεσίες. Στο TSS, δεν υπάρχει διαπραγματευτής, καθώς ο ρόλος του είναι κατανεμημένος με τρόπο ώστε να μην βρίσκεται ποτέ σε μία μόνο τοποθεσία ολόκληρο το ιδιωτικό κλειδί.
Υπογραφή: στο SSSS, τα μέρη πρέπει να ανασυνθέσουν ολόκληρο το ιδιωτικό κλειδί για υπογραφή, γεγονός που έχει ως αποτέλεσμα ένα μοναδικό σημείο αποτυχίας κάθε φορά που απαιτείται υπογραφή. Στο TSS, η υπογραφή πραγματοποιείται με κατανεμημένο τρόπο χωρίς να ανασυντίθενται ποτέ τα secret share.
Όπως βλέπουμε, στο TSS το ιδιωτικό κλειδί (το οποίο αντιπροσωπεύει την ασφάλεια του συστήματος) δεν βρίσκεται ποτέ σε μία μόνο τοποθεσία καθ' όλη τη διάρκεια λειτουργίας του.
Πορτοφόλια ορίου
Ένα πορτοφόλι που βασίζεται στην τεχνολογία TSS διαφέρει λίγο από τα παραδοσιακά πορτοφόλια κρυπτονομισμάτων. Συνήθως, ένα συμβατικό πορτοφόλι δημιουργεί μια φράση κλειδί και τη χρησιμοποιεί για να παράγει τις διευθύνσεις με ντετερμινιστικό τρόπο. Ο χρήστης μπορεί αργότερα να χρησιμοποιήσει αυτή την ιεραρχική ντετερμινιστική (HD) δομή για 1) να προσεγγίσει τα ιδιωτικά κλειδιά που αντιστοιχούν στις διευθύνσεις πορτοφολιών και να υπογράψει συναλλαγές με αυτά και 2) να ανακτήσει όλα τα κλειδιά πορτοφολιών χρησιμοποιώντας τη φράση κλειδί.
Σε ένα πορτοφόλι ορίου, τα πράγματα είναι πιο περίπλοκα. Παρόλο που είναι δυνατή η δημιουργία μιας δομής HD, πρέπει να υπολογιστεί με κατανεμημένο τρόπο, όπως ένα ακόμη πρωτόκολλο MPC. Τα μέρη πρέπει να αποφασίσουν μαζί ποιο είναι το επόμενο κλειδί που θα χρησιμοποιηθεί. Με άλλα λόγια, κάθε μέρος θα έχει τη δική του φράση κλειδί. Οι φράσεις κλειδιά δημιουργούνται ξεχωριστά και δεν συνδυάζονται ποτέ, έτσι ώστε να μην μπορεί να εξάγει τα ιδιωτικά κλειδιά από το κλειδί του ένα μόνο μέρος.
Τα πορτοφόλια που βασίζονται στο TSS έχουν επίσης ένα καλό χαρακτηριστικό ασφαλείας, το οποίο επιτρέπει την εναλλαγή του ιδιωτικού κλειδιού χωρίς να αλλάζει το αντίστοιχο δημόσιο κλειδί και η διεύθυνση blockchain. Η εναλλαγή ιδιωτικών κλειδιών, επίσης γνωστή ως προληπτικό secret sharing, είναι ένα ακόμη πρωτόκολλο MPC που παίρνει τα secret share ως εισροή και παράγει ένα νέο σύνολο secret share. Τα προηγούμενα secret share μπορούν να διαγραφούν και τα νέα μπορούν να χρησιμοποιηθούν με τον ίδιο τρόπο.
Μια τέτοια δομή προσδίδει μια χρονική διάσταση στην ασφάλεια, πράγμα που σημαίνει ότι ένας επιτιθέμενος πρέπει να βρίσκεται σε πολλές τοποθεσίες ταυτόχρονα για να επιτεθεί σε ένα πορτοφόλι ορίου. Ο συνδυασμός των secret share πριν και μετά την εναλλαγή δεν θα δώσει στον επιτιθέμενο καμία επιπλέον δυνατότητα αν θέλει να πλαστογραφήσει μια υπογραφή.
Ένα μειονέκτημα αυτού του τύπου πορτοφολιού είναι ότι η έλλειψη μιας φράσης κλειδιού το κάνει μη συμβατό με συστήματα πορτοφολιών ενός κλειδιού. Επομένως, είναι σημαντικό να εξετάσουμε ποια μέρη θα έχουν τα secret share.
Υπάρχουν μερικές πιθανές δομές:
Εξωτερική ανάθεση TSS: ο χρήστης θα αφήσει "n" διακομιστές να εκτελέσουν τον υπολογισμό για λογαριασμό του. Αποτελεσματική εξωτερική ανάθεση της δημιουργίας, διαχείρισης και υπογραφής κλειδιών σε παρόχους υπηρεσιών που δεν είναι οι ιδιοκτήτες των περιουσιακών στοιχείων, αλλά παρέχουν ένα επίπεδο ασφάλειας με αντάλλαγμα κάποιο κίνητρο.
Χρήση πολλαπλών συσκευών: Ο χρήστης θα εκτελεί το TSS μεταξύ των συσκευών που διαθέτει. Για παράδειγμα - ένα μέρος θα είναι κάποια συσκευή IoT, ένα άλλο μέρος θα είναι το κινητό του χρήστη, ένα άλλο μέρος ο φορητός υπολογιστής του, κλπ.
Υβριδικό: Το TSS θα εκτελείται με τέτοιο τρόπο ώστε ορισμένα μέρη να ελέγχονται από εξωτερικούς παρόχους υπηρεσιών και ορισμένα μέρη να εκτελούνται σε συσκευές που ανήκουν στον χρήστη.
Η πρώτη μέθοδος απομακρύνει τον βαρύ υπολογισμό του TSS από την πλευρά του χρήστη-πελάτη. Αντίθετα, οι πάροχοι υπηρεσιών μπορούν να συνεργαστούν (υποθέτουμε ότι αρκετοί από αυτούς δεν δέχονται επίθεση ταυτόχρονα, αλλά στην πράξη μπορεί να μην ισχύει αυτό) και να κλέψουν τα περιουσιακά στοιχεία του χρήστη.
Η δεύτερη μέθοδος παρέχει στον χρήστη πλήρη έλεγχο, αλλά δυσκολεύει την πραγματοποίηση συναλλαγών, καθώς χρειάζονται πολλές συσκευές για τη σύνδεση και τη συμμετοχή στον υπολογισμό του TSS.
Η τρίτη επιλογή θεωρείται ο καλύτερος συνδυασμός των δύο, καθώς παρέχει στον χρήστη έναν εύκολο και γρήγορο τρόπο για να πραγματοποιεί συναλλαγές, χωρίς όμως να συμβιβάζεται με το γεγονός ότι οι συναλλαγές πραγματοποιούνται χωρίς την εξουσιοδότηση του χρήστη.
TSS και έξυπνες συμβάσεις
Με την πάροδο των ετών, οι ερευνητές έχουν ανακαλύψει πολλές χρήσεις για τις ψηφιακές υπογραφές, και ορισμένες από αυτές δεν είναι τετριμμένες. Όπως αναφέραμε, το TSS είναι ένα κρυπτογραφικό πρωτότυπο που μπορεί να ενισχύσει σημαντικά την ασφάλεια. Στο πλαίσιο των blockchain, μπορούμε να υποστηρίξουμε ότι πολλές λειτουργίες μπορούν να αντικατασταθούν με κρυπτογράφηση που βασίζεται σε TSS. Αποκεντρωμένες εφαρμογές, λύσεις κλιμάκωσης επιπέδου 2, ατομικές ανταλλαγές Atomic Swap, συνδυασμός, κληρονομικότητα και πολλά άλλα μπορούν να αναπτυχθούν πάνω σε ένα πλαίσιο TSS. Αυτό θα δώσει τελικά τη δυνατότητα να αντικατασταθούν οι δαπανηρές και επικίνδυνες λειτουργίες έξυπνων συμβάσεων εντός της αλυσίδας από φθηνότερες και πιο αξιόπιστες εναλλακτικές λύσεις.
Για να δώσουμε μερικά απτά παραδείγματα: οι κλειδαριές Multi-Hop χρησιμοποιούν τις υπογραφές δύο μερών με έξυπνο τρόπο και μπορούν να χρησιμοποιηθούν ως εναλλακτική λύση στο δίκτυο Lightning του Bitcoin με ένα πιο ασφαλές και ιδιωτικό δίκτυο καναλιών πληρωμών. Το ShareLock είναι πιθανώς η φθηνότερη λύση συνδυασμού εντός της αλυσίδας για το Ethereum, η οποία βασίζεται στην επαλήθευση μίας μόνο υπογραφής ορίου.
Κίνδυνοι
Τα τελευταία δύο χρόνια παρατηρήθηκε σημαντική αύξηση των εφαρμογών TSS. Ωστόσο, ως σχετικά νέα τεχνολογία, εξακολουθεί να παρουσιάζει ορισμένους περιορισμούς και προβληματισμούς. Συγκριτικά με την κλασική κρυπτογράφηση δημόσιου κλειδιού, τα πρωτόκολλα TSS μπορεί να είναι πολύ περίπλοκα και δεν έχουν ακόμη δοκιμαστεί στην πράξη. Συνήθως, το TSS απαιτεί επιπλέον, λιγότερο ισχυρές κρυπτογραφικές υποθέσεις σε σύγκριση με τις απλές ψηφιακές υπογραφές. Κατά συνέπεια, αποκαλύπτονται τώρα κρυπτογραφικοί φορείς επίθεσης που δεν υπήρχαν στα παραδοσιακά συστήματα (δείτε αυτή την παρουσίαση από το Breaking Bitcoin Conference 2019). Οι μηχανικοί ασφαλείας και οι εφαρμοσμένοι κρυπτογράφοι μπορούν να συμβάλουν στην ασφαλή ανάπτυξη του TSS στο σύστημά σας.
Από τη θετική πλευρά, οι υφιστάμενες και οι νέες εφαρμογές γίνονται ισχυρότερες λόγω της αύξησης των ποιοτικών συνεισφορών, των αξιολογήσεων από ομολόγους, των ελέγχων και των βελτιώσεων των αλγοριθμικών επιδόσεων.
Συμπεράσματα
Σε αυτό το άρθρο, παρουσιάσαμε τα βασικά στοιχεία του συστήματος υπογραφών ορίου (threshold signature scheme ή TSS), το οποίο είναι ένα συναρπαστικό κρυπτογραφικό πρωτότυπο που έχει τη δυνατότητα να αλλάξει σημαντικά τον τρόπο με τον οποίο χρησιμοποιούμε το blockchain.
Εφόσον σε αυτό το άρθρο δεν συζητήσαμε το Threshold ECDSA που μπορεί να χρησιμοποιηθεί στην BNB Chain και το Bitcoin, όσοι ενδιαφέρονται μπορούν να ανατρέξουν στην ακόλουθη λίστα πρόσφατων δημοσιεύσεων. Επίσης, αν θέλετε να δοκιμάσετε κάποιες εφαρμογές του TSS, μπορείτε να βρείτε εδώ έναν κωδικό για το πορτοφόλι BNB Chain δύο μερών ή να δοκιμάσετε το πορτοφόλι ZenGo, το οποίο χρησιμοποιεί την υβριδική μέθοδο για να προσφέρει ένα πορτοφόλι BNB Chain δύο μερών χωρίς θεματοφύλαξη.
Για περαιτέρω ανάγνωση: