Πράγματα που πρέπει να γνωρίζετε: |
- Το Miniscript καθιστά δυνατή τη δημιουργία πορτοφολιών λογισμικού Bitcoin που καθιστούν αδύνατη την εκμετάλλευση ενός backdoor. Είμαστε στην ευχάριστη θέση να πούμε ότι η Ledger είναι ο πρώτος εμπορικός κατασκευαστής πορτοφολιών υλικού που υποστηρίζει miniscript.
- Οι πρόσθετες λειτουργίες μπορούν να εφαρμοστούν χωρίς να διακυβεύεται η εμπειρία χρήστη. |
Οι συσκευές υπογραφής υλικού έχουν σχεδιαστεί για να προστατεύουν τον χρήστη από διάφορους κοινούς φορείς επίθεσης, όπως:
- Μη εξουσιοδοτημένη πρόσβαση και εξαγωγή του σπόρου
- Κακόβουλο λογισμικό που μολύνει το σχετικό πορτοφόλι λογισμικού σας
- Ευπάθειες λογισμικού στην ίδια τη συσκευή
Όπως κάθε επιχείρηση, είναι προς το συμφέρον του κατασκευαστή να κατασκευάζει συσκευές όπως άθραυστος όπως μπορούν. Η επιτυχία σε αυτήν την αποστολή είναι πρωταρχικής σημασίας και οι εταιρείες ασφάλειας όπως η Ledger βασίζονται σε μια φήμη που έχει χτιστεί στο ιστορικό τους.
Ωστόσο, ορισμένοι χρήστες μπορεί να εξακολουθούν να έχουν ανησυχίες. Τι εμποδίζει την ίδια την εταιρεία να κρύψει α κερκόπορτα στις συσκευές;
Στην αυτοεπιμέλεια, εμείς μην εμπιστεύεσαι, επαληθεύουμε.
Μπορεί όμως ο χρήστης πραγματικά επαληθεύσετε ότι μια συσκευή δεν έχει κερκόπορτα;
Αυτό είναι το βασικό ερώτημα στο οποίο εμβαθύνει αυτό το άρθρο. Πιο συγκεκριμένα, αυτό το άρθρο πραγματεύεται τα ακόλουθα θέματα:
- τι είναι μια κερκόπορτα και γιατί είναι δύσκολο, αν όχι αδύνατο, να αποδείξουμε ότι δεν υπάρχει.
- γιατί μόνο οι χρήστες μπορούν να προστατευτούν από αυτόν τον κίνδυνο·
- πώς το miniscript επιτρέπει πρακτικές λύσεις σε αυτήν την πρόκληση για τα πορτοφόλια bitcoin.
Αποτελώντας το πρώτο πορτοφόλι υλικού που υποστηρίζεται μικρόγραφο, ελπίζουμε να εμπνεύσουμε τους προγραμματιστές να δημιουργήσουν ασφαλείς λύσεις και να αναβαθμίσουν ολόκληρο τον κλάδο μας και να εξαλείψουμε την πιθανότητα να πραγματοποιηθεί ποτέ ένας τέτοιος συστημικός κίνδυνος.
Πώς να φτιάξετε το unbackdoorable συσκευή υπογραφής
Ας το πούμε ξεκάθαρα: δεν μπορείς.
Για να υπερασπιστείτε τον εαυτό σας έναντι μιας πιθανής κερκόπορτας, χρειάζεστε ένα διαφορετικό μοντέλο επίθεσης από αυτό που περιγράψαμε παραπάνω: σε αυτό το σενάριο, ο αντίπαλος μπορεί να είναι ο ίδιος ο πωλητής ή ένας κατεστραμμένος εσωτερικός χρήστης.
Η συχνά διαφημιζόμενη λύση σε αυτό το ζήτημα είναι το Open Source: τελικά, αν μπορείτε να επιθεωρήσετε τον κώδικα, τι θα μπορούσε να πάει στραβά;
Ωστόσο, η αλήθεια είναι πιο σύνθετη. Εφόσον ο πωλητής συναρμολογεί το υλικό, μια κερκόπορτα θα μπορούσε να περιέχεται εξ ολοκλήρου μέσα σε αυτό. Το υλικό θα μπορούσε να σχεδιαστεί έτσι ώστε να αγνοεί το λογισμικό σε ορισμένα σημεία και να εκτελεί κακόβουλο κώδικα.
Σε αντίθεση με το λογισμικό που εκτελείται σε υπολογιστικές συσκευές γενικής χρήσης (όπως ο φορητός υπολογιστής ή το τηλέφωνό σας), ο έλεγχος του υλικού είναι πρακτικά αδύνατος με τη σημερινή τεχνολογία. Ακόμα κι αν οι προδιαγραφές υλικού ήταν εξ ολοκλήρου ανοιχτού κώδικα, συμπληρωμένες με τις λεπτομέρειες κάθε μεμονωμένης πύλης στο κύκλωμα, θα χρειαστείτε εξοπλισμό υψηλού κόστους για να επαληθεύσετε ότι ένα συγκεκριμένο τσιπ είναι κατασκευασμένο σύμφωνα με αυτές.
Πώς να κάνετε backdoor ένα πορτοφόλι υλικού
Ακολουθούν μερικές από τις απλούστερες μεθόδους που θα μπορούσε να χρησιμοποιήσει ένας κακόβουλος προμηθευτής υλικού για να εισαγάγει μια κερκόπορτα, μαζί με μερικούς τρόπους με τους οποίους οι ισχυροί χρήστες μπορούν να προστατευτούν σήμερα.
Παραγωγή σπόρων
Πολλές συσκευές σάς προσφέρουν τη δυνατότητα να δημιουργήσετε έναν σπόρο (ονομάζεται επίσης και το Μυστική φράση ανάκτησης) απευθείας στη συσκευή, χρησιμοποιώντας α Αληθινή γεννήτρια τυχαίων αριθμών.
😈 Η κακή συσκευή θα μπορούσε να δημιουργήσει σπόρους που φαίνονται τυχαίοι αλλά στην πραγματικότητα είναι προβλέψιμοι για τον εισβολέα.
🛡️ Οι ισχυροί χρήστες μπορούν να παρακάμψουν αυτό το πρόβλημα δημιουργώντας ένα μνημονικό εκτός σύνδεσης. Επιπλέον, ενσωματώνει ένα στιβαρό φράση πρόσβασης μπορεί επίσης να δημιουργήσει έναν εντελώς ανεξάρτητο σπόρο που ο προμηθευτής υλικού δεν μπορεί να προβλέψει. Το συμβιβασμό είναι ότι οι χρήστες πρέπει να διασφαλίσουν ότι δημιουργούν σωστά αντίγραφα ασφαλείας της φράσης πρόσβασης εκτός από τις μνημονικές λέξεις.
Παραγωγή δημόσιου κλειδιού
Τα πορτοφόλια υλικού προέρχονται και εξάγουν το δημόσια κλειδιά (επίσης λέγεται xpubs, σύντομη για εκτεταμένο δημόσιο κλειδί όπως ορίζεται στο BIP-32. ο xpubs χρησιμοποιούνται για τη δημιουργία των πιθανών διευθύνσεων για τη λήψη νομισμάτων.
😈 Η κακή συσκευή θα μπορούσε να επιστρέψει δημόσια κλειδιά που ελέγχονται από τον εισβολέα αντί των σωστών που προέρχονται από το seed.
🛡️ Οι χρήστες θα μπορούσαν να επικυρώσουν τα προκύπτοντα xpub σε άλλη συσκευή εκτός σύνδεσης. Ωστόσο, η εισαγωγή του σπόρου σε άλλες συσκευές εγκυμονεί τους δικούς του κινδύνους. Οι χρήστες που γνωρίζουν την ασφάλεια μπορεί να θεωρήσουν ότι οποιαδήποτε συσκευή έχει πρόσβαση στο seed ως επικίνδυνη, ενδεχομένως σε σημείο να την καταστρέψει. Ο τυπικός χρήστης μπορεί να δυσκολευτεί να εκτελέσει σωστά αυτή τη διαδικασία ενώ διαχειρίζεται τους πρόσθετους κινδύνους.
Διαρροή πληροφοριών
An κενό αέρος Συχνά προτείνεται ως λύση για την αποτροπή μιας κακόβουλης ή παραβιασμένης συσκευής από τη διείσδυση ιδιωτικών κλειδιών. Εξάλλου, αν μια συσκευή δεν μπορεί να επικοινωνήσει με τον έξω κόσμο, δεν μπορεί να κάνει τίποτα επιβλαβές, σωστά;
ΟΧΙ ακριβως!
Η συσκευή μπορεί πάντα να επικοινωνεί όταν χρησιμοποιείται: παράγει υπογραφές. Αυτές οι υπογραφές καταλήγουν σε συναλλαγές που μεταδίδονται και αποθηκεύονται για πάντα στο blockchain.
Μια υπογραφή είναι μια συμβολοσειρά byte με τυχαία εμφάνιση τουλάχιστον 64 byte. Ωστόσο, δεδομένου ότι περισσότερες από μία έγκυρες υπογραφές μπορούν να αντιστοιχούν στο ίδιο μήνυμα, μια κακόβουλη συσκευή θα μπορούσε να επικοινωνήσει μερικά bits πληροφοριών κάθε φορά που παράγεται μια υπογραφή, δημιουργώντας πολλαπλές υπογραφές και επιλεκτικά επιλέγοντας ποια θα δημοσιεύσει.
😈 Μια αδίστακτη συσκευή μπορεί να παράγει μη τυχαίες υπογραφές που, σε πολλές συναλλαγές, αποκαλύπτουν τον αρχικό παράγοντα στον εισβολέα!
Ένας εισβολέας που έχει πετύχει να εγκαταστήσει μια τέτοια κερκόπορτα θα πρέπει απλώς να περιμένει να εμφανιστούν κακόβουλες υπογραφές στο blockchain έως ότου έχει αρκετές πληροφορίες για να ανακατασκευάσει ολόκληρο το seed.
🛡️ Για υπογραφές ECDSA, χρησιμοποιώντας μια τυποποιημένη μέθοδο εξαγωγής του nonce ντετερμινιστικά (όπως RFC6979) αποτρέπει αυτήν την επίθεση, με την προϋπόθεση ότι κάποιος επικυρώνει ότι η υπογραφή που παράγεται ταιριάζει με την αναμενόμενη. Ωστόσο, η διασφάλιση ότι συμβαίνει αυτό απαιτεί τη φόρτωση μιας δεύτερης συσκευής με τον ίδιο σπόρο, κάτι που οδηγεί στα ίδια πρακτικά προβλήματα που αναφέρθηκαν στην προηγούμενη ενότητα.
🛡️ Μια ενδιαφέρουσα προσέγγιση είναι να χρησιμοποιήσετε έναν έξυπνο τρόπο δύναμης η συσκευή να επιλέξει πραγματικά ένα τυχαίο μηδενικό. Ένα πρωτόκολλο για το σκοπό αυτό, γνωστό ως αντι-εξφιλ or αντικλεπτο, εφαρμόζεται επί του παρόντος σε πορτοφόλια υλικού Blockstream Jade και ShiftCrypto BitBox02. Διαβάστε περισσότερα στο Το ιστολόγιο του ShiftCrypto, το οποίο περιλαμβάνει επίσης μια τεχνική περιγραφή του τρόπου με τον οποίο μπορεί να εκτελεστεί μια τέτοια επίθεση.
Εντάξει τότε, δεν υπάρχει ελπίδα;
Οι περισσότερες από τις άμυνες🛡️ που αναφέρονται παραπάνω απαιτούν κυρίως από τον χρήστη να εκτελεί σαφείς, παρεμβατικές ενέργειες προκειμένου να προστατευθεί: είτε δημιουργώντας τον σπόρο από μόνος του (ουσιαστικά, χρησιμοποιώντας τον εγκέφαλό του για να αντικαταστήσει τη λειτουργικότητα από το πορτοφόλι υλικού), είτε χρησιμοποιώντας ένα πρόσθετη συσκευή για την επαλήθευση ότι οι υπολογισμοί εκτελούνται σωστά.
Ωστόσο, το πρωτόκολλο anti-exfil ξεχωρίζει: δεδομένου ότι υπάρχει πάντα ένα μηχάνημα που διαμεσολαβεί μεταξύ του υπογράφοντος υλικού και του εξωτερικού κόσμου, αυτό το μηχάνημα μπορεί να βοηθήσει. Μέσω ενός διαδραστικού πρωτοκόλλου με τον υπογράφοντα υλικού, μπορεί επιβάλλω τη χρήση ενός πραγματικά τυχαίου μηδενός, μειώνοντας ή εξαλείφοντας έτσι την πιθανότητα σημαντικού χειρισμού της τελικής υπογραφής.
Σε αυτήν την ανάρτηση ιστολογίου, μας ενδιαφέρουν πρωτίστως αυτοί οι τύποι μέτρων: ενώ οι στρατηγικές που επιδεινώνουν σημαντικά το UX θα μπορούσαν να είναι ελκυστικές για ισχυρούς χρήστες, είναι πιθανό να κάνουν πράγματα χειρότερος στην πράξη για τους λιγότερο τεχνικά έμπειρους χρήστες – που είναι η συντριπτική πλειοψηφία.
Το μοντέλο ασφαλείας
Τυπικό μοντέλο για υπογράφοντες υλικού
Οι κατασκευαστές υπογράφων υλικού στοχεύουν στην προστασία των χρηστών από μια ποικιλία πιθανών απειλών (για περισσότερες λεπτομέρειες, βλ Μοντέλο Απειλής). Σε αυτό το άρθρο, εστιάζουμε σε μια, πολύ σημαντική ιδιότητα, η οποία μπορεί να συνοψιστεί ως εξής:
Οι χρήστες δεν μπορούν να παραπλανηθούν σε μια ενέργεια που οδηγεί σε απώλεια κεφαλαίων, υπό την προϋπόθεση ότι κατανοούν και επαληθεύουν τις πληροφορίες στην οθόνη πριν από την έγκριση.
Απαιτείται έγκριση για κάθε ευαίσθητη ενέργεια, ιδιαίτερα για υπογραφές. Η προστασία του σπόρου θα ήταν μάταιη εάν το κακόβουλο λογισμικό μπορούσε να παράγει υπογραφές για αυθαίρετα μηνύματα, όπως μια συναλλαγή που εξαντλεί όλα τα χρήματα!
Είναι σημαντικό να τονίσουμε ότι η παραπάνω ιδιότητα πρέπει να ισχύει ακόμη και αν το πορτοφόλι λογισμικού έχει παραβιαστεί πλήρως. Δεν είναι αξιόπιστο αυτό που εμφανίζεται στην οθόνη του φορητού υπολογιστή/του τηλεφώνου σας: κακόβουλο λογισμικό θα μπορούσε να αντικαταστήσει διευθύνσεις, να σας εξαπατήσει σχετικά με το ποιες διευθύνσεις είναι δικές σας, να παρουσιάσει μια συναλλαγή αλλά στη συνέχεια να προωθήσει μια διαφορετική στη συσκευή για υπογραφή κ.λπ.
Επομένως, το υλικολογισμικό και οι εφαρμογές που εκτελούνται σε μια συσκευή υπογραφής υλικού θεωρούν εγγενώς το πορτοφόλι λογισμικού μη αξιόπιστη και αναξιόπιστη.
Μοντέλο ασφαλείας κατά της κερκόπορτας για πορτοφόλια λογισμικού
Σε αυτήν την ενότητα, αντιστρέφουμε εντελώς τους ρόλους. Τώρα θέλουμε να σχεδιάσουμε ένα πορτοφόλι λογισμικού που εμποδίζει τον κατασκευαστή υλικού να κλέψει ή να προκαλέσει απώλεια κεφαλαίων, ακόμα κι αν η συσκευή είναι εντελώς κακόβουλη.
Ως εκ τούτου, αυτό δεν μπορεί να είναι ιδιοκτησία του συσκευή: μάλλον είναι ιδιοκτησία του πορτοφόλι λογισμικού εγκατάσταση. Θα μπορούσαμε να το συνοψίσουμε ως εξής:
Υπό την προϋπόθεση ότι το πορτοφόλι λογισμικού δεν έχει παραβιαστεί, ο κατασκευαστής του υλικού δεν μπορεί να κάνει τον χρήστη να χάσει χρήματα.
Αυτό μπορεί να φαίνεται αντιφατικό, καθώς έρχεται σε άμεση αντίθεση με το τυπικό μοντέλο ασφαλείας που περιγράφεται παραπάνω. Ωστόσο, «το να μην έχουν κερκόπορτα» σημαίνει «να κάνουν ακριβώς αυτό που υποτίθεται ότι πρέπει να κάνουν». Δεδομένου ότι το πορτοφόλι λογισμικού είναι το ήλιος διεπαφή μεταξύ της συσκευής υπογραφής και του εξωτερικού κόσμου, είναι το μόνο μέρος όπου μπορεί να επιβληθεί προστασία από κακή συμπεριφορά - είτε λόγω σφάλματος είτε λόγω ρητής παραβίασης της συσκευής.
Σημειώστε ότι αυτό το μοντέλο εκτείνεται σημαντικά πέρα από μια αστοχία συσκευής, όπως ένα εκμεταλλεύσιμο σφάλμα. Σε αυτήν την περίπτωση, λειτουργούμε σε ένα σενάριο όπου η συσκευή προσπαθεί ενεργά να προκαλέσει απώλεια κεφαλαίων.
Φυσικά, δεν υπάρχει πιθανή προστασία εάν ο κατασκευαστής έχει συμβιβαστεί με επιτυχία και οι δύο τη συσκευή και επίσης το μηχάνημά σας που εκτελεί το πορτοφόλι λογισμικού. Επομένως, είναι απολύτως ζωτικής σημασίας να βεβαιωθείτε ότι το πορτοφόλι λογισμικού σας είναι ανοιχτού κώδικα και μπορεί να ελεγχθεί, ειδικά εάν έχει κατασκευαστεί από τον ίδιο προμηθευτή που κατασκευάζει το υλικό.
Ο ρόλος του μικρογράφου
Το Miniscript εξοπλίζει τους προγραμματιστές πορτοφολιών με τη δυνατότητα να χρησιμοποιούν πλήρως τις προηγμένες δυνατότητες του bitcoin Script. Για μια επισκόπηση των απίστευτων δυνατοτήτων ξεκλειδώματος miniscript, ανατρέξτε στο προηγούμενη ανάρτησή μας στο blog. Μπορεί επίσης να θέλετε να ακούσετε Επεισόδιο 452 του Podcast του Stephan Livera για μια συζήτηση σχετικά με το τι φέρνει το miniscript στο τοπίο του bitcoin.
Η εφαρμογή Ledger Bitcoin υποστηρίζει miniscript από την κυκλοφορία της 2.1.0, η οποία αναπτύχθηκε τον Φεβρουάριο του 2023. Στο συνέδριο Bitcoin 2023 στο Μαϊάμι, η Wizardsardine ανακοίνωσε την κυκλοφορία 1.0 του Πορτοφόλι Λιάνα, το πρώτο αναπτυσσόμενο πορτοφόλι που βασίζεται σε miniscript.
Η βασική ιδέα αυτής της ανάρτησης είναι ότι ένας λογαριασμός πορτοφολιού bitcoin μπορεί να προστατευτεί όχι μόνο με έναν, αλλά με πολλαπλούς κλειδιά. Αυτό επιτρέπει ευέλικτα πλαίσια ασφαλείας όπου ακόμη και μια πλήρης αποτυχία ή παραβίαση ενός κλειδιού δεν είναι καταστροφική.
Σκέψεις πολλαπλών σημείων
Το Multisig είναι μια σημαντική αναβάθμιση στη δύναμη μιας λύσης αυτοεπιμέλειας. Αξιοποιώντας τη δυνατότητα προγραμματισμού του Bitcoin Script, επιτρέπει τη δημιουργία πορτοφολιών που απαιτούν πολλά κλειδιά αντί για ένα. ΕΝΑ k-του-n Το πορτοφόλι multisig απαιτεί συνδυασμό k έγκυρες υπογραφές, επί συνόλου n πιθανές.
Ωστόσο, το multisig επιβαρύνει επίσης τον χρήστη και εισάγει νέες ευκαιρίες για σφάλματα. Μια ρύθμιση πολλαπλών σημείων 3-από-3, που περιλαμβάνει τρία διαφορετικά κλειδιά που έχουν δημιουργηθεί με ασφάλεια σε ξεχωριστές τοποθεσίες, προσφέρει ισχυρή ασφάλεια… αλλά σημαίνει επίσης ότι ακόμη και ενιαίας το κλειδί χάνεται, τα νομίσματα γίνονται μόνιμα απρόσιτα!
Επομένως, οι ρυθμίσεις που προσφέρουν περισσότερο πλεονασμό (όπως το 2-από-3 ή το 3-από-5) τείνουν να είναι πιο δημοφιλείς: εάν χαθεί ένα μόνο κλειδί, τα άλλα κλειδιά μπορούν ακόμα να διευκολύνουν την ανάκτηση. Αλλά αυτό εισάγει έναν συμβιβασμό: εάν ένα κλειδί παραβιαστεί εν αγνοία σας, η συνολική ασφάλεια μειώνεται σημαντικά!
Εταιρείες όπως Σπίτι και Μη δεσμευμένο κεφάλαιο ειδικεύονται σε λύσεις αυτοεπιμέλειας όπου κατέχουν μια μειοψηφία των κλειδιών για τους πελάτες τους. Βοηθούν επίσης τους χρήστες τους καθοδηγώντας τους στη διαδικασία ενσωμάτωσης και απλοποιώντας τη χρήση των συστημάτων φύλαξης, κάτι που διαφορετικά μπορεί να είναι τρομακτικό για τους περισσότερους μη τεχνικούς χρήστες.
Μικρό σενάριο και διαδρομές ανάκτησης κλειδωμένες στο χρόνο
Η Liana χρησιμοποιεί miniscript για να δημιουργήσει πορτοφόλια που έχουν πολλούς τρόπους δαπανών:
- μια πρωταρχική προϋπόθεση δαπανών, η οποία είναι άμεσα διαθέσιμη·
- μία ή περισσότερες πρόσθετες προϋποθέσεις δαπανών που καθίστανται διαθέσιμες μετά από μια ορισμένη περίοδο (τα λεγόμενα χρονόμετρο).
Αυτό επιτρέπει πολλές ενδιαφέρουσες περιπτώσεις χρήσης:
- Επανόρθωση: Ένα τυπικό πορτοφόλι με μία μόνο υπογραφή ή πολλαπλή σήμανση ως κύρια διαδρομή δαπανών. αλλά ένας ξεχωριστός μηχανισμός ανάκτησης (ένα κλειδί με διαφορετικό σπόρο, ένα multisig, ένας φίλος με γνώσεις τεχνολογίας, ένας θεματοφύλακας) γίνεται διαθέσιμος μετά από 6 μήνες.
- Διακυβέρνηση: Μια εταιρεία με δύο διευθυντές θα μπορούσε να δημιουργήσει ένα 2-από-2 για το ταμείο της εταιρείας. Σε περίπτωση διαφωνίας, ένας αξιόπιστος δικηγόρος θα μπορούσε να έχει πρόσβαση στα κεφάλαια μετά από 6 μήνες.
- Αποσύνθεση multisig: Ένα πορτοφόλι ξεκινά ως 3-από-3, μεταβαίνει σε 2-από-3 μετά από 6 μήνες και γίνεται 1-από-3 μετά από 9 μήνες.
- Αυτόματη κληρονομιά: Η διαδρομή αποκατάστασης μετά από 6 μήνες περιλαμβάνει 2 από 3 από τα τρία παιδιά σας. ίσως μια δεύτερη διαδρομή ανάκτησης μετά από 1 χρόνο περιλαμβάνει συμβολαιογράφο, σε περίπτωση που οι κληρονόμοι δεν μπορούν να καταλήξουν σε συναίνεση.
Παρατήρηση: όλα τα παραπάνω παραδείγματα χρησιμοποιούν α σχετικό χρονικό κλείδωμα, που αναφέρεται στην ηλικία των νομισμάτων (δηλαδή: την τελευταία φορά που μετακινήθηκαν τα κεφάλαια). Το αντάλλαγμα είναι ότι ο χρήστης πρέπει να θυμάται να ξοδεύει τα νομίσματα (στέλνοντάς τα στον εαυτό του) εάν το timelock πλησιάζει στη λήξη.
Αυτά είναι μόνο μερικά παραδείγματα, αλλά θα πρέπει να είναι αρκετά για να πείσουν τον αναγνώστη ότι το miniscript είναι ένα σημαντικό βήμα προς την υλοποίηση των δυνατοτήτων του Bitcoin ως προγραμματιζόμενα χρήματα.
Εγγραφή πολιτικής πορτοφολιού
Για λογαριασμούς πορτοφολιού Bitcoin που χρησιμοποιούν πολλαπλά κλειδιά (είτε πρόκειται για multisig είτε για πιο εξελιγμένες λύσεις που βασίζονται σε miniscript), είναι σημαντικό να εκπαιδεύσετε τη συσκευή ώστε να αναγνωρίζει τις διευθύνσεις που ανήκουν σε αυτόν τον λογαριασμό. Αυτός είναι ο μόνος τρόπος που η συσκευή μπορεί να βοηθήσει τον χρήστη να διασφαλίσει ότι λαμβάνει ή ξοδεύει από τις σωστές διευθύνσεις…
Επικύρωση της πολιτικής και του xpubs του συνυπογράφοντος έναντι ενός αξιόπιστου αντιγράφου ασφαλείας είναι απαραίτητη, αλλά σχετικά χρονοβόρα.
Τα καλά νέα είναι ότι χρειάζεται να γίνει μόνο μία φορά:
Μόλις μια πολιτική καταχωρηθεί με ένα όνομα (στο παράδειγμα "Decaying 3of3"), η συσκευή σας θα μπορεί να την αναγνωρίζει κάθε φορά που χρησιμοποιείται μια τέτοια πολιτική.
Όσοι ενδιαφέρονται για τεχνικές λεπτομέρειες μπορούν να βρουν περισσότερες πληροφορίες στο Πρόταση BIP.
Δημιουργία αντιγράφων ασφαλείας πολιτικής
Μια κρίσιμη πτυχή που πρέπει να σημειωθεί είναι ότι ενώ οι πολιτικές πολλαπλών κλειδιών επιτρέπουν ένα υποσύνολο του ιδιωτικά κλειδιά για την εξουσιοδότηση συναλλαγών, η γνώση των όλοι τα δημόσια κλειδιά (και το ακριβώς πολιτική) απαιτούνται.
Ωστόσο, σε αντίθεση με το seed, η δημιουργία αντιγράφων ασφαλείας της πολιτικής και των δημόσιων κλειδιών είναι πολύ λιγότερο επικίνδυνη: αν κάποιος την ανακάλυπτε, θα μπορούσε να εντοπίσει όλες τις συναλλαγές που συνδέονται με αυτήν την πολιτική. Αν και αυτό δεν είναι ιδανικό - το απόρρητο έχει σημασία! − δεν είναι τόσο καταστροφικό όσο η απώλεια των νομισμάτων σας και λιγότερο δελεαστικό για πιθανούς επιτιθέμενους. Κατά συνέπεια, η αποθήκευση πολλαπλών αντιγράφων της πολιτικής σε ζεστά πορτοφόλια, η εκτύπωση και η αποθήκευσή της σε διάφορα μέρη, η κρυπτογράφηση και η αποθήκευσή της σε χώρο αποθήκευσης cloud και ούτω καθεξής, είναι όλες βιώσιμες στρατηγικές.
Το unbackdoorable πορτοφόλι με μία υπογραφή
Ας κάνουμε ένα βήμα πίσω. Έχουμε συζητήσει τα πορτοφόλια πολλαπλών υπογραφών, αλλά τώρα επιστρέφουμε στα βασικά για να δημιουργήσουμε ένα πορτοφόλι με μία υπογραφή. Πιο συγκεκριμένα, θέλουμε ένα πορτοφόλι αυτό αισθάνεται και φαίνεται σαν πορτοφόλι με μία υπογραφή, μετά από μια αρχική φάση εγκατάστασης. Ωστόσο, στοχεύουμε να δημιουργήσουμε ένα πορτοφόλι από το οποίο ο κατασκευαστής δεν μπορεί να κλέψει τα χρήματά σας ακόμα κι αν είναι κακόβουλα 😈 και η συσκευή υπογραφής υλικού συμπεριφέρεται με απρόβλεπτους τρόπους.
Η προσέγγιση μπορεί εύκολα να γενικευτεί για πορτοφόλια πολλαπλών υπογραφών.
Τα παρακάτω παραδείγματα θα είναι γραμμένα σε μια γλώσσα που ονομάζεται πολιτική, αντί για μικρογραφία. Η πολιτική είναι ευκολότερη για τον άνθρωπο να διαβάσει και να σκεφτεί, και μπορεί να μεταγλωττιστεί σε miniscript με αυτοματοποιημένα εργαλεία. Διαβάστε περισσότερα για το miniscript και την πολιτική.
Το πορτοφόλι υλικού μπορεί να σας προστατεύσει στο τυπικό μοντέλο ασφαλείας. Το Miniscript μπορεί να σας προστατεύσει στο μοντέλο ασφαλείας anti-backdoor (και πολλά άλλα!).
Βήμα μηδέν: το status quo
Αυτή είναι η πολιτική που χρησιμοποιούν οι περισσότεροι χρήστες σήμερα: ένα μοναδικό κλειδί που προέρχεται από έναν σπόρο που παράγεται στο πορτοφόλι υλικού.
pk(key_ledger)
Φυσικά, δεν υπάρχει τρόπος να αποδειχθεί η απουσία κερκόπορτας.
Βήμα πρώτο: διπλασιάστε αυτά τα κλειδιά
Το πρώτο βήμα είναι απλό:
and(pk(key_ledger), pk(key_client))
Εδώ, key_client
δημιουργείται στο μηχάνημα του χρήστη, επομένως α Hot Key. Ουσιαστικά, είναι μια ρύθμιση πολλαπλών σημείων 2 από 2. Η βασική πτυχή είναι ότι ο χρήστης δεν αλληλεπιδρά πολύ key_client
: το πορτοφόλι λογισμικού δημιουργεί αυτό το κλειδί, το περιλαμβάνει στο αντίγραφο ασφαλείας του πορτοφολιού και υπογράφει όποτε χρειάζεται (για παράδειγμα, ενώ ο χρήστης είναι απασχολημένος με την υπογραφή με τον υπογράφοντα υλικού του).
Αυτό φαίνεται ήδη αρκετά ενδιαφέρον: τα κεφάλαια είναι αδιάθετα χωρίς key_client
, το οποίο δεν είναι διαθέσιμο στον προμηθευτή υλικού. ακόμα κι αν ο κακός πωλητής είχε πλήρη γνώση του κλειδιού της συσκευής, θα εξακολουθούσε να μην μπορεί να μετακινήσει τα χρήματα χωρίς να στοχεύσει ρητά τον χρήστη, για παράδειγμα θέτοντας σε κίνδυνο το μηχάνημα που εκτελεί το πορτοφόλι λογισμικού του.
Ωστόσο, υπάρχει ένα ζήτημα: κατά την ενσωμάτωση του πορτοφολιού, ο υπογράφοντος υλικού είναι η μόνη οντότητα που μπορεί να δημιουργήσει το δημόσιο κλειδί (xpub) key_ledger
χρησιμοποιείται στο πορτοφόλι. Ως εκ τούτου, η συσκευή θα μπορούσε σκόπιμα να δημιουργήσει α κακό Το xpub ελέγχεται από τον εισβολέα και αργότερα αρνείται (ή δεν μπορεί) να υπογράψει. Αναμφισβήτητα, αυτό είναι ένα αρκετά ακραίο σενάριο επίθεσης: ο δημιουργός του backdoor δεν μπορεί να κλέψει τα χρήματα και το περισσότερο που μπορεί να κάνει είναι να στοχεύσει μεμονωμένα τον χρήστη και να απαιτήσει λύτρα («Μπορώ να σε βοηθήσω να ανακτήσεις τα χρήματά σου αν πληρώσεις τα μισά σε εμένα ”).
Πιο ρεαλιστικά, αυτό αυξάνει την πιθανότητα σφαλμάτων λαθών: τώρα έχετε δύο σπόρους / ιδιωτικά κλειδιά και χρειάζεστε και οι δύο για να μπορέσει να ξοδέψει. Χάστε είτε, και τα κέρματα θα κλειδωθούν για πάντα.
Βήμα δεύτερο: χρονική ανάκαμψη
Εισάγουμε ένα ξεχωριστό κλειδί ανάκτησης, προσβάσιμο μόνο μετά από ένα συγκεκριμένο χρονικό κλείδωμα: and(older(25920)
, pk(key_recovery))
, όπου 25920 είναι ο κατά προσέγγιση αριθμός μπλοκ σε 6 μήνες. Η πλήρης πολιτική γίνεται:
or(
and(pk(key_ledger), pk(key_client)), and(after(25920), pk(key_recovery))
)
Αυτό είναι παρόμοιο με το προηγούμενο σενάριο, αλλά με μια ανατροπή: αν key_ledger
or key_client
καθίσταται μη διαθέσιμο για οποιονδήποτε λόγο (συνηθέστερα, απώλεια του αντιγράφου ασφαλείας!), α διαδρομή ανάκαμψης γίνεται προσβάσιμο μετά από 6 μήνες.
Υπάρχουν πολλές επιλογές για key_recovery
, το καθένα με τις δικές του ανταλλαγές:
a. Χρησιμοποιήστε ένα άλλο Hot Key. Αυτή είναι μια πρακτική λύση, εφόσον ο χρήστης θυμάται να επαναφέρει το timelock. Ωστόσο, εάν τα hot keys παραβιαστούν (ένα σενάριο που γενικά θα πρέπει να θεωρείται αρκετά πιθανό!), ο εισβολέας θα μπορούσε να επιχειρήσει να αποκτήσει πρόσβαση στα χρήματα μόλις λήξει το timelock, ξεκινώντας έναν αγώνα με τον νόμιμο ιδιοκτήτη.
b. Χρησιμοποιήστε μια ξεχωριστή συσκευή υπογραφής υλικού. Αυτή είναι μια ισχυρή λύση και μπορεί να χρησιμοποιηθεί σε συνδυασμό με διαφορετικό προμηθευτή εάν το επιθυμείτε. Ωστόσο, αυξάνει την πολυπλοκότητα και το κόστος εγκατάστασης για τον χρήστη όσον αφορά την εμπειρία χρήστη.
c. Χρησιμοποιήστε μια αξιόπιστη εξωτερική υπηρεσία. Το πορτοφόλι λογισμικού θα μπορούσε να εισάγει ένα xpub από μια εξωτερική υπηρεσία, χρησιμοποιώντας το ως key_recovery
. Αυτό το τρίτο μέρος είναι αξιόπιστο μόνο εάν λήξει το χρονικό κλείδωμα, κάτι που θα μπορούσε να είναι μια ελκυστική ανταλλαγή για ορισμένους χρήστες.
Όπως αναφέρθηκε, όπως για κάθε πολιτική με timelocks, είναι σημαντικό ο χρήστης να θυμάται να ανανεώνει τα νομίσματα πριν από τη λήξη του timelock.
Βήμα τρίτο: το μη αξιόπιστο τρίτο μέρος
Ας συνδυάσουμε και τις δύο ιδέες (α) και (γ): για τη διαδρομή ανάκτησης, χρειαζόμαστε ένα τοπικό hot key key_recovery_local
, και ένα key_recovery_remote
που φιλοξενείται με ημι-έμπιστη υπηρεσία. διατηρούμε επίσης το timelock.
or(
and(pk(key_ledger), pk(key_client)),
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote))
)
)
Αυτό μειώνει το επίπεδο εμπιστοσύνης που απαιτείται από την υπηρεσία ανάκτησης. Ωστόσο, πρέπει να είμαστε προσεκτικοί: η ίδια η υπηρεσία θα μπορούσε να παρακολουθεί το blockchain και να ανιχνεύει τα UTXO μας - τελικά, μας παρείχαν το key_recovery_remote
xpub, ώστε να μπορούν να κάνουν σάρωση για UTXO που περιέχουν pubkeys που προέρχονται από key_recovery_remote
. Θα μπορούν να μάθουν για την οικονομική μας ιστορία, ακόμη και πριν από τη λήξη του χρονικού κλειδώματος, ακόμα κι αν δεν χρησιμοποιήσαμε ποτέ την υπηρεσία τους.
Παρατήρηση: Τα δέντρα Taproot μπορούν να εξαλείψουν αυτό το πρόβλημα απορρήτου για ορισμένες πολιτικές, αλλά αυτό δεν συμβαίνει πάντα και απαιτεί προσεκτική αξιολόγηση με βάση τη συγκεκριμένη πολιτική.
Βήμα τέταρτο: τυφλώστε το τρίτο μέρος 🙈
Για να εμποδίσουμε την υπηρεσία ανάκτησης να μάθει για το οικονομικό μας ιστορικό, αντί να χρησιμοποιήσουμε το pubkey που μας κοινοποιούν, μπορούμε να χρησιμοποιήσουμε ένα τυφλό xpub τεχνική εξηγείται από το mflaxman αναλυτικά εδώ. Με λίγα λόγια, αντί να χρησιμοποιήσετε key_recovery_remote
στην πολιτική μας, επιλέγουμε τέσσερις τυχαίους αριθμούς 31-bit a
, b
, c
, d
(Η εκτυφλωτικοί παράγοντες), και χρησιμοποιούμε τα παρακάτω BIP-32 προερχόμενο pubkey:
key_recovery_remote_blind = key_recovery_remote_blind/a/b/c/d
Είναι σημαντικό να προσθέσουμε επίσης key_recovery_remote
και τους εκτυφλωτικούς παράγοντες a
, b
, c
και d
στο αντίγραφο ασφαλείας μας, για μελλοντική αναφορά.
Αν χρειαστεί ποτέ να χρησιμοποιήσουμε την υπηρεσία ανάκτησης, τότε θα το αποκαλύψουμε a
, b
, c
, d
σε αυτούς. Μέχρι τότε, δεν έχουν τρόπο να ανακαλύψουν ότι τα κλειδιά προέρχονται από τους key_recovery_remote
δημοσιεύονται στο blockchain: ο αριθμός των πιθανών συνδυασμών για τους 4 εκτυφλωτικούς παράγοντες είναι 2^(31*4) = 2^124
, γεγονός που καθιστά αδύνατη την ωμή βία.
Βήμα πέμπτο: τα πολλά hot keys μπορούν να σας κάψουν 🔥
Πετύχαμε να καταστήσουμε το πορτοφόλι λογισμικού μας χωρίς πίσω πόρτα. Ωστόσο, εισαγάγαμε ένα διαφορετικό πρόβλημα: και οι δύο συνθήκες δαπανών χρησιμοποιούν ένα τοπικά παραγόμενο, καυτό κλειδί που δεν επαληθεύεται από το πορτοφόλι υλικού. Επομένως, εάν ο κεντρικός υπολογιστής έχει παραβιαστεί, μπορεί να σας εξαπατήσει ώστε να καταχωρήσετε την πολιτική χρησιμοποιώντας τα pubkeys key_client
και key_recovery_local
, αλλά βάλτε τυχαία, άσχετα ιδιωτικά κλειδιά στο αντίγραφο ασφαλείας μας (θυμηθείτε, το καυτό τα κλειδιά αποτελούν μέρος του αντιγράφου ασφαλείας μας!).
Αυτό ουσιαστικά θα έκανε οποιαδήποτε χρήματα αποστέλλονται στο πορτοφόλι αναλώσιμος, καθώς κανείς δεν ελέγχει τα ιδιωτικά κλειδιά που είναι απαραίτητα για την υπογραφή.
Υπάρχουν μερικές λύσεις για την επίλυση αυτού του προβλήματος:
- Κατά την ενσωμάτωση, αφού εκτυπώσουμε το αντίγραφο ασφαλείας μας σε χαρτί, μπορούμε να χρησιμοποιήσουμε μια ξεχωριστή συσκευή για να επαληθεύσουμε ότι τα ιδιωτικά και δημόσια πλήκτρα πρόσβασης στο αντίγραφο ασφαλείας ταιριάζουν πράγματι. Αυτή η προσέγγιση θα εξαλείψει το πρόβλημα, καθώς θα είμαστε σίγουροι ότι διαθέτουμε όλα τα απαραίτητα κλειδιά που απαιτούνται για την ανακατασκευή και την υπογραφή.
- Μπορούμε να προσθέσουμε μια άλλη συνθήκη δαπανών με ακόμη μεγαλύτερο χρονικό κλείδωμα (9 μήνες, 38880 μπλοκ) που απαιτεί μόνο
key_ledger_failsafe
από τη συσκευή υλικού. Με αυτόν τον τρόπο, στο απόλυτο χειρότερο σενάριο όπου όλα τα άλλα αποτυγχάνουν, επιστρέφουμε στην ασφάλεια μιας και μόνο συσκευής υπογραφής. Σε κανονικές λειτουργίες, δεν θα αφήναμε ποτέ να λήξει το πρώτο timelock, επομένως, το δεύτερο timelock επίσης δεν θα λήξει!
Με τη δεύτερη προσέγγιση, η τελική πολιτική θα ήταν έτσι
or(
and(pk(key_ledger), pk(key_client)),
or(
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote_blind))
),
and(older(38880), pk(key_ledger_failsafe))
),
)
Αυτή η διαμόρφωση πορτοφολιού λογισμικού ικανοποιεί όλες τις ιδιότητες ασφαλείας που διεκδικήσαμε στην αρχή. Επιπλέον, προσφέρει μια διαδρομή ανάκτησης σε περίπτωση που τα κύρια κλειδιά δαπανών key_ledger
χάνονται. Ένα ωραίο χαρακτηριστικό για να έχετε!
Ενσωμάτωση στο πορτοφόλι λογισμικού που δεν μπορεί να καλύψει την πόρτα
Πώς θα ήταν η εμπειρία χρήστη για ένα πορτοφόλι που χρησιμοποιεί μια τόσο περίπλοκη πολιτική; Ακολουθεί μια σύντομη επισκόπηση:
- Ο χρήστης ανοίγει το πορτοφόλι λογισμικού και αρχίζει να δημιουργεί έναν νέο λογαριασμό.
- Το πορτοφόλι λογισμικού προτρέπει τον χρήστη να συνδέσει τη συσκευή υπογραφής του και ανακτά τα xpubs για
key_ledger
καιkey_ledger_failsafe
. - Το πορτοφόλι λογισμικού δημιουργεί αυτόνομα το κλειδί πρόσβασης key_client.
- Το πορτοφόλι λογισμικού αποκτά
key_recovery_remote
από μια υπηρεσία συνυπογραφής ή επιτρέπει στο χρήστη να καθορίσει ένα κλειδί με άλλο τρόπο. Προαιρετικά, υπολογίζει τοkey_recovery_remote_blind
χρησιμοποιώντας την τεχνική τύφλωσης που αναφέρθηκε προηγουμένως. - Το πορτοφόλι λογισμικού δημιουργεί ένα αντίγραφο ασφαλείας πολιτικής που περιέχει την ακριβή πολιτική miniscript, όλα τα xpub και το εκτεταμένο ιδιωτικό κλειδί για το
key_client
hot key. Αυτό το αντίγραφο ασφαλείας αποθηκεύεται με ασφάλεια (για παράδειγμα, εκτυπώνεται σε χαρτί ή αποθηκεύεται σε ξεχωριστή συσκευή). - Τέλος, το πορτοφόλι λογισμικού δίνει οδηγίες στον χρήστη να καταχωρήσει την πολιτική στη συσκευή. Ο χρήστης διασταυρώνει το αντίγραφο ασφαλείας (σε χαρτί ή οποιοδήποτε μέσο εκτός από την οθόνη που ελέγχεται από το πορτοφόλι λογισμικού).
Το πορτοφόλι λογισμικού διαχειρίζεται τα περισσότερα από τα παραπάνω βήματα, καθιστώντας τη συμμετοχή του χρήστη όχι πιο επαχθή από την αναμενόμενη προσπάθεια που απαιτείται σήμερα για τη δημιουργία ενός πορτοφολιού πολλαπλών υπογραφών.
Η ενσωμάτωση θα πρέπει να απαιτήσει λίγα λεπτά μόλις δημιουργηθεί ένα καλό UX για αυτό. Μόλις ολοκληρωθεί, το πορτοφόλι λογισμικού μπορεί να προσφέρει μια εμπειρία χρήστη πολύ παρόμοια με αυτή ενός τυπικού πορτοφολιού με μία υπογραφή. Έτσι το miniscript θα αλλάξει τα πάντα: εξαφανίζοντας από τα μάτια του χρήστη!
Βελτιώσεις στο Taproot
Το Ledger υποστηρίζει miniscript από την έκδοση 2.1.0 της εφαρμογής Bitcoin, που κυκλοφόρησε τον Μάρτιο. Ενώ η υποστήριξη για λήψη και δαπάνη από διευθύνσεις taproot ήταν ενεργοποιημένη από το μαλακό πιρούνι taproot τον Νοέμβριο του 2021, βάζουμε τώρα τις τελευταίες πινελιές στο επόμενο βήμα του οδικού χάρτη: υποστήριξη miniscript για taproot.
Το Taproot θα έχει τεράστιο αντίκτυπο στη χρηστικότητα των προσεγγίσεων που παρουσιάζονται σε αυτό το άρθρο. Εάν η κύρια διαδρομή δαπανών είναι μια συνθήκη δαπανών ενός κλειδιού, η ύπαρξη μονοπατιών δαπανών ανάκτησης δεν θα είναι ανιχνεύσιμη στο blockchain, εκτός εάν χρησιμοποιηθούν. Αυτό θα βελτιώσει σημαντικά το απόρρητο εξαλείφοντας εντελώς τυχόν δακτυλικά αποτυπώματα για την τυπική διαδρομή δαπανών. Επιπλέον, βελτιώνει την επεκτασιμότητα, καθώς η τυπική διαδρομή δαπανών γίνεται όσο το δυνατόν πιο οικονομική. Αυτό σημαίνει ότι δεν θα προκύψει επιπλέον κόστος λόγω της παρουσίας διαδρομών ανάκτησης, εκτός εάν χρησιμοποιηθούν. Αυτή είναι μια σημαντική αναβάθμιση από τις συναλλαγές SegWit, οι οποίες απαιτούν τη δημοσίευση ολόκληρου του σεναρίου, συμπεριλαμβανομένων όλων των συνθηκών δαπανών, κατά τη διάρκεια οποιασδήποτε δαπάνης.
Τέλος, πιο προηγμένα πρωτόκολλα όπως MuSig2 (προσφάτως τυποποιημένο) και Frost θα υπερφορτίσει τη διαδρομή κλειδιού taproot. Χτισμένα σε υπογραφές Schnorr, αυτά τα πρωτόκολλα επιτρέπουν τη δημιουργία ενός ενιαίου αθροιστικό pubkey που μπορεί να χρησιμοποιηθεί για να αναπαραστήσει ένα n-του-n πολυυπογραφή ή α k-του-n σύστημα κατωφλίου. Αυτό θα επέτρεπε τη χρήση της διαδρομής κλειδιού taproot ακόμη και σε περιπτώσεις που σήμερα αντιπροσωπεύονται πιο συχνά με συγκεκριμένα σενάρια πολλαπλών σημείων.
συμπεράσματα
Αυτό το άρθρο διερευνά μια μικρή (αλλά σημαντική) θέση του τεράστιου σχεδιαστικού χώρου που απελευθερώνει το miniscript για τα πορτοφόλια λογισμικού.
Δείξαμε πώς μπορεί να χρησιμοποιηθεί το miniscript για τη δημιουργία ενός πορτοφολιού λογισμικού με δυνατότητα "unbackdoorable", προσθέτοντας επίσης μια πρόσθετη διαδρομή ανάκτησης που επιτρέπει την αποφυγή καταστροφικών απωλειών κλειδιών. Ενώ οι συσκευές υπογραφής υλικού δεν μπορούν να επιβάλουν το μοντέλο ασφαλείας anti-backdoor, υποστηρίζοντας miniscript ενεργοποιούν πορτοφόλια λογισμικού που κάνουν ακριβώς αυτό!
Χρησιμοποιώντας έξυπνα έναν συνδυασμό σχημάτων πολλαπλών υπογραφών, timelocks, blind xpubs και hot keys, επιδείξαμε μια ασφαλή διαμόρφωση πορτοφολιού που εξισορροπεί την ασφάλεια, το απόρρητο και την ευρωστία.
Επιπλέον, υποστηρίξαμε ότι αυτό είναι δυνατό χωρίς να επηρεαστεί αρνητικά η εμπειρία του χρήστη, καθώς η πολυπλοκότητα της ρύθμισης δεν μεταφράζεται σε μεγάλη πρόσθετη επιβάρυνση UX.
Είμαστε ενθουσιασμένοι για τις δυνατότητες που θα ξεκλειδώσει το miniscript για την επόμενη γενιά αυτοεπιμέλειας bitcoin.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Αυτοκίνητο / EVs, Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- BlockOffsets. Εκσυγχρονισμός της περιβαλλοντικής αντιστάθμισης ιδιοκτησίας. Πρόσβαση εδώ.
- πηγή: https://www.ledger.com/blog/towards-a-trustless-bitcoin-wallet-with-miniscript
- :έχει
- :είναι
- :δεν
- :που
- $UP
- 1
- 2021
- 2023
- 30
- 7
- 9
- a
- ικανότητα
- Ικανός
- Σχετικα
- πάνω από
- Απόλυτος
- απολύτως
- πρόσβαση
- πρόσβαση
- προσιτός
- συμφωνία
- Λογαριασμός
- Λογαριασμοί
- Ενέργειες
- ενεργειών
- δραστήρια
- πραγματικά
- προσθέτω
- προσθήκη
- Επιπλέον
- Πρόσθετος
- Επιπλέον
- διευθύνσεις
- προηγμένες
- Μετά το
- κατά
- την ηλικία του
- Ενισχύσεις
- στοχεύουν
- Όλα
- επιτρέπουν
- επιτρέπει
- κατά μήκος
- ήδη
- Επίσης
- Αν και
- πάντοτε
- an
- και
- ανακοίνωσε
- Άλλος
- κάθε
- οτιδήποτε
- app
- ελκυστική
- εμφανίζομαι
- εφαρμογές
- πλησιάζω
- προσεγγίσεις
- έγκριση
- κατά προσέγγιση
- ΕΙΝΑΙ
- αμφισβητήσιμα
- υποστήριξε
- άρθρο
- AS
- άποψη
- βοηθήσει
- συσχετισμένη
- At
- επίθεση
- ελεγχόμενο
- εξουσιοδοτώ
- Αυτοματοποιημένη
- αυτόνομα
- διαθέσιμος
- πίσω
- κερκόπορτα
- υποστηρίζεται
- υποστήριξη
- εφεδρικός
- ισορροπίες
- βασίζονται
- βασικός
- Βασικα
- Βασικά
- BE
- επειδή
- γίνονται
- γίνεται
- πριν
- Αρχή
- είναι
- παρακάτω
- ΚΑΛΎΤΕΡΟΣ
- μεταξύ
- Πέρα
- Bitcoin
- Bitcoin Πορτοφόλι
- bitcoin πορτοφόλια
- Μείγμα
- blockchain
- Μπλοκ
- Blockstream
- Μπλοκ
- και οι δύο
- Εγκέφαλος
- Φέρνει
- αναμετάδοση
- Έντομο
- χτίζω
- χτισμένο
- βάρος
- έγκαυμα
- επιχείρηση
- απασχολημένος
- αλλά
- by
- που ονομάζεται
- CAN
- δεν μπορώ
- ικανός
- προσεκτικός
- περίπτωση
- περιπτώσεις
- καταστροφικός
- Αιτία
- προκαλώντας
- προσοχή
- ορισμένες
- πρόκληση
- ευκαιρία
- αλλαγή
- Παιδιά
- τσιπ
- Επιλέξτε
- επιλέγοντας
- ισχυρίστηκε
- σαφώς
- Backup
- αποθήκευσης σύννεφο
- κωδικός
- Κέρματα
- συνδυασμός
- συνδυασμοί
- εμπορικός
- Κοινός
- συνήθως
- επικοινωνούν
- Εταιρείες
- εταίρα
- Εταιρεία
- πλήρης
- εντελώς
- συγκρότημα
- περίπλοκο
- Συμβιβασμένος
- συμβιβασμός
- υπολογισμοί
- χρήση υπολογιστή
- Πιθανά ερωτήματα
- κατάσταση
- Συνθήκες
- Διάσκεψη
- διαμόρφωση
- Connect
- Ομοφωνία
- συνεπώς
- Εξετάστε
- θεωρούνται
- που περιέχονται
- ελέγχεται
- ελέγχους
- πείθω
- διορθώσει
- κατεστραμμένο
- Κόστος
- θα μπορούσε να
- Πορεία
- δημιουργία
- δημιουργία
- δημιουργία
- δημιουργός
- κρίσιμης
- κριτική πτυχή
- κρίσιμος
- Τη στιγμή
- φύλακας
- Επιμέλεια
- Πελάτες
- Επικίνδυνες
- Απόρριψη
- μειώνεται
- θεωρώ
- ορίζεται
- Ζήτηση
- κατέδειξε
- αναπτυχθεί
- Συμπληρωματικός
- περιγραφή
- Υπηρεσίες
- σχεδιασμένα
- επιθυμητή
- λεπτομέρεια
- λεπτομερής
- καθέκαστα
- ανίχνευση
- προγραμματιστές
- συσκευή
- Συσκευές
- διαφορετικές
- δύσκολος
- μειώνοντας
- κατευθείαν
- Διευθυντές
- εξαφανίζονται
- καταστρεπτικός
- ανακαλύπτουν
- ανακαλύπτοντας
- συζήτηση
- συζήτηση
- εκτεθειμένος
- do
- κάνει
- Όχι
- γίνεται
- διπλασιαστεί
- δυο
- κατά την διάρκεια
- κάθε
- ευκολότερη
- εύκολα
- προσπάθεια
- είτε
- την εξάλειψη
- εξάλειψη
- αλλιώς
- τονίζω
- μισθωτών
- ενεργοποιήσετε
- ενεργοποιημένη
- δίνει τη δυνατότητα
- τέλος
- επιβάλλω
- αρκετά
- εξασφαλίζω
- εξασφαλίζοντας
- εισερχόμενοι
- δελεαστικός
- Ολόκληρος
- εξ ολοκλήρου
- οντότητα
- εξοπλισμός
- λάθη
- ειδικά
- ουσιώδης
- κατ 'ουσίαν,
- εγκαθιδρύω
- κ.λπ.
- εκτίμηση
- Even
- ΠΑΝΤΑ
- Κάθε
- πάντα
- ακριβώς
- παράδειγμα
- παραδείγματα
- ενθουσιασμένοι
- εκτελέσει
- εκτελέστηκε
- Άσκηση
- ύπαρξη
- αναμένεται
- εμπειρία
- λήξη
- Εκμεταλλεύομαι
- διερευνά
- εξαγωγή
- Επεκτείνεται
- εξωτερικός
- άκρο
- διευκολύνω
- παράγοντες
- αποτυγχάνει
- Αποτυχία
- αρκετά
- Πτώση
- μακριά
- Χαρακτηριστικό
- Χαρακτηριστικά
- Φεβρουάριος
- λίγοι
- τελικός
- οικονομικός
- οικονομική ιστορία
- Εύρεση
- Όνομα
- εύκαμπτος
- Αναρρίπτω
- Συγκέντρωση
- Εξής
- εξής
- Για
- για πάντα
- Προς τα εμπρός
- τέσσερα
- πλαισίων
- συχνά
- φίλος
- από
- πλήρη
- πλήρως
- λειτουργικότητα
- κεφάλαιο
- χρήματα
- Επί πλέον
- μάταιος
- μελλοντικός
- γενικού σκοπού
- γενικά
- παράγουν
- παράγεται
- δημιουργεί
- παραγωγής
- γενεά
- δεδομένου
- Go
- μετάβαση
- καλός
- εξαιρετική
- σε μεγάλο βαθμό
- είχε
- Ήμισυ
- υλικού
- συσκευή υλικού
- Πορτοφόλι υλικού
- Κατασκευαστής πορτοφολιών υλικού
- Πορτοφόλια υλικού
- επιβλαβής
- Έχω
- που έχει
- βοήθεια
- ως εκ τούτου
- ιστορία
- κρατήστε
- ελπίζω
- οικοδεσπότης
- φιλοξενείται
- ΚΑΥΤΌ
- Πως
- Ωστόσο
- http
- HTTPS
- τεράστιος
- Οι άνθρωποι
- ιδέα
- ιδανικό
- ιδεών
- προσδιορίσει
- if
- αμέσως
- Επίπτωση
- επιπτώσεις
- εφαρμοστεί
- εισαγωγή
- σημαντικό
- αδύνατος
- βελτίωση
- in
- περιλαμβάνει
- Συμπεριλαμβανομένου
- ενσωματώνοντας
- Αυξήσεις
- απίστευτη
- πράγματι
- ανεξάρτητος
- Μεμονωμένα
- βιομηχανία
- πληροφορίες
- εκ φύσεως
- αρχικός
- μέσα
- Πρόσωπα
- εμπνεύσει
- εγκατάσταση
- παράδειγμα
- αντί
- εκ προθέσεως
- αλληλεπιδρούν
- διαδραστικό
- τόκος
- ενδιαφερόμενος
- ενδιαφέρον
- περιβάλλον λειτουργίας
- σε
- εισαγάγει
- εισήγαγε
- Εισάγει
- ενοχλητικό
- συμμετοχή
- συμμετοχή
- ζήτημα
- IT
- ΤΟΥ
- εαυτό
- μόλις
- μόνο ένα
- Κλειδί
- πλήκτρα
- Ξέρω
- γνώση
- γνωστός
- τοπίο
- Γλώσσα
- laptop
- Επίθετο
- αργότερα
- δικηγόρος
- Οδηγεί
- ΜΑΘΑΊΝΩ
- μάθηση
- ελάχιστα
- Καθολικό
- αριστερά
- νόμιμος
- μείον
- ας
- Επίπεδο
- μόχλευσης
- Μου αρέσει
- Πιθανός
- συνδέονται
- Εισηγμένες
- φόρτωση
- τοπικός
- θέσεις
- κλειδωμένη
- Μακριά
- πλέον
- ματιά
- μοιάζει
- χάνουν
- να χάσει
- off
- απώλειες
- έχασε
- μηχανή
- Κυρίως
- Η πλειοψηφία
- κάνω
- ΚΑΝΕΙ
- Κατασκευή
- malware
- διαχειρίζεται
- διαχείριση
- χειραγώγηση
- τρόπος
- Κατασκευαστής
- Κατασκευαστές
- πολοί
- Μάρτιος
- Ταίριασμα
- Ενδέχεται..
- μέσα
- μέτρα
- μηχανισμός
- medium
- που αναφέρθηκαν
- απλώς
- μήνυμα
- μηνύματα
- μέθοδος
- μέθοδοι
- Μαϊάμι
- ενδέχεται να
- μικρόγραφο
- μειονότητα
- Λεπτ.
- Αποστολή
- λάθη
- μοντέλο
- χρήματα
- παρακολούθηση
- μήνες
- περισσότερο
- Εξάλλου
- πλέον
- ως επί το πλείστον
- μετακινήσετε
- μετακινηθεί
- πολύ
- πολλαπλούς
- Πολυσήμαντο
- πρέπει
- όνομα
- πλησιάζοντας
- απαραίτητος
- Ανάγκη
- που απαιτούνται
- ανάγκες
- αρνητικά
- δικτύωσης
- ποτέ
- Νέα
- νέα
- επόμενη
- όμορφη
- Όχι.
- μη τεχνικό
- κανονικός
- Νοέμβριος
- Νοέμβριος 2021
- τώρα
- αριθμός
- αριθμοί
- λαμβάνει
- of
- προσφορά
- προσφορά
- προσφορές
- offline
- on
- Επί του σκάφους
- μια φορά
- ONE
- αυτά
- αποκλειστικά
- ανοίξτε
- ανοικτού κώδικα
- ανοίγει
- λειτουργίας
- λειτουργίες
- Ευκαιρίες
- Επιλογές
- or
- τάξη
- ΑΛΛΑ
- αλλιώς
- δικός μας
- έξω
- σκιαγραφείται
- εκτός
- επί
- φόρμες
- επισκόπηση
- δική
- ιδιοκτήτης
- Χαρτί
- κυρίαρχος
- μέρος
- ιδιαίτερα
- κόμμα
- μονοπάτι
- Πληρωμή
- Εκτελέστε
- ίσως
- περίοδος
- μόνιμα
- φάση
- τηλέφωνο
- Μέρος
- Μέρη
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- σημεία
- Πολιτικές
- πολιτική
- Δημοφιλής
- δυνατότητες
- δυνατός
- πιθανώς
- Θέση
- δυναμικού
- ενδεχομένως
- δύναμη
- Πρακτικός
- πρακτικά
- πρακτική
- ανάγκη
- ακριβώς
- προβλέψει
- Αναμενόμενος
- παρουσία
- παρόν
- παρουσιάζονται
- πρόληψη
- αποτρέπει
- προηγούμενος
- προηγουμένως
- πρωτίστως
- πρωταρχικός
- εκτύπωση
- Πριν
- μυστικότητα
- ιδιωτικός
- ιδιωτικού κλειδιού
- Ιδιωτικά κλειδιά
- Πρόβλημα
- προβλήματα
- διαδικασία
- διαδικασια μας
- παράγει
- Παράγεται
- παράγει
- δεόντως
- ιδιότητες
- περιουσία
- προτείνεται
- προστασία
- προστατεύονται
- προστασία
- προστασία
- πρωτόκολλο
- πρωτόκολλα
- Αποδείξτε
- παρέχουν
- παρέχεται
- δημόσιο
- δημόσιο κλειδί
- δημόσια κλειδιά
- δημοσιεύει
- δημοσιεύθηκε
- Δημοσιεύσεις
- σκοπός
- βάζω
- Βάζοντας
- ερώτηση
- Αγώνας
- τυχαίος
- Λύτρα
- μάλλον
- φθάσουν
- Διάβασε
- Αναγνώστης
- συνειδητοποιώντας
- λόγος
- λήψη
- πρόσφατα
- αναγνωρίζω
- ρεκόρ
- ανάκτηση
- αναφέρεται
- κάντε ΕΓΓΡΑΦΗ
- καταχωρηθεί
- εγγραφή
- σχετικά
- απελευθερώνουν
- κυκλοφόρησε
- βασίζονται
- θυμάμαι
- αντικαθιστώ
- εκπροσωπώ
- εκπροσωπούνται
- φήμη
- απαιτούν
- απαιτείται
- Απαιτεί
- με αποτέλεσμα
- διατηρώ
- απόδοση
- αποκαλύπτω
- δεξιά
- Κίνδυνος
- κινδύνους
- Επικίνδυνος
- οδικός χάρτης
- εύρωστος
- ευρωστία
- Ρόλος
- ρόλους
- τρέξιμο
- τρέχει
- ίδιο
- λένε
- Απεριόριστες δυνατότητες
- σάρωση
- σενάριο
- σχέδιο
- συστήματα
- αρπάζω
- Οθόνη
- Εφαρμογές
- Δεύτερος
- Τμήμα
- προστατευμένο περιβάλλον
- ασφαλώς
- ασφάλεια
- δείτε
- σπόρος
- σπόροι
- αναζήτηση
- φαίνομαι
- φαίνεται
- SegWit
- Αυτονομία
- αποστολή
- ευαίσθητος
- αποστέλλονται
- ξεχωριστό
- υπηρεσία
- σειρά
- setup
- διάφοροι
- Κοντά
- θα πρέπει να
- έδειξε
- υπογράψουν
- Υπογραφές
- σημαντικός
- σημαντικά
- υπογραφή
- Σημάδια
- παρόμοιες
- Απλούς
- απλουστεύοντας
- αφού
- ενιαίας
- small
- έξυπνος
- So
- λογισμικό
- λύση
- Λύσεις
- SOLVE
- μερικοί
- Κάποιος
- σύντομα
- εξελιγμένα
- Πηγή
- Χώρος
- ειδικεύομαι
- συγκεκριμένες
- προδιαγραφές
- δαπανήσει
- Δαπάνες
- πρότυπο
- στέκεται
- ξεκινά
- Κατάσταση
- Βήμα
- Βήματα
- Ακόμη
- χώρος στο δίσκο
- αποθηκεύονται
- εναποθήκευση
- στρατηγικές
- δύναμη
- Σπάγγος
- ισχυρός
- Πάλη
- επιτυχής
- Επιτυχώς
- τέτοιος
- συνοψίζω
- Επιβαρύνω υπερβολικά
- υποστήριξη
- Στήριξη
- Υποστηρίζει
- υποτιθεμένος
- συστήματος
- συστημικό κίνδυνο
- συστήματα
- Αντιμετωπίζει
- Πάρτε
- τάρο
- στόχος
- στόχευση
- Τεχνικός
- τεχνικά
- Τεχνολογία
- όροι
- από
- ότι
- Η
- Τα νομίσματα
- τους
- Τους
- τους
- τότε
- Εκεί.
- εκ τούτου
- επομένως
- Αυτοί
- αυτοί
- πράγματα
- νομίζω
- Τρίτος
- αυτό
- εκείνοι
- απειλές
- τρία
- κατώφλι
- Μέσω
- Ετσι
- ώρα
- χρονοβόρος
- προς την
- σήμερα
- σημερινή
- πολύ
- εργαλεία
- Θέματα
- Σύνολο
- προς
- Ιχνος
- τροχιά
- ιστορικό
- Τρένο
- συναλλαγή
- Συναλλαγές
- μεταβάσεις
- μεταφράζω
- ταμείο
- Δέντρα
- αληθής
- Εμπιστευθείτε
- Έμπιστος
- χωρίς εμπιστοσύνη
- Αλήθεια
- συστροφή
- δύο
- τύποι
- τυπικός
- ανίκανος
- καταλαβαίνω
- απελευθερώνει
- διαφορετικός
- ξεκλειδώσετε
- ξεκλειδώνει
- απρόβλεπτος
- μέχρι
- αναβάθμισης
- us
- χρηστικότητα
- χρήση
- μεταχειρισμένος
- Χρήστες
- Η εμπειρία χρήστη
- Χρήστες
- χρησιμοποιεί
- χρησιμοποιώντας
- χρησιμοποιώ
- χρησιμοποιούνται
- αξιοποιώντας
- ux
- ΕΠΙΚΥΡΩΝΩ
- ποικιλία
- διάφορα
- Σταθερή
- πάροχος υπηρεσιών
- επαληθεύεται
- επαληθεύει
- εκδοχή
- πολύ
- βιώσιμος
- ζωτικής σημασίας
- Θέματα ευπάθειας
- περιμένετε
- Πορτοφόλι
- Πορτοφόλια
- θέλω
- ήταν
- Τρόπος..
- τρόπους
- we
- ήταν
- Τι
- πότε
- οποτεδήποτε
- αν
- Ποιό
- ενώ
- ολόκληρο
- WHY
- Wikipedia
- θα
- με
- εντός
- χωρίς
- λόγια
- κόσμος
- θα
- γραπτή
- Λανθασμένος
- έτος
- ακόμη
- Εσείς
- Σας
- τον εαυτό σας
- zephyrnet
- μηδέν