ElementsProject / ElementsProject/elements

Pick a blinding key/blinding factor standard compatible with hww++

Ouverte
#448 11 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
1.2k
Forks
416
Merge moyen
1 j 23 h
PR mergées (30 j)
15

Description

Currently we kind of YOLO how these keys are derived, in that a backed up `wallet.dat` will properly restore funds, but these schemes are not cross-compatible with devices such as hardware wallets, and wallets that may not allow raw privkey export.

So I think for blinding derivation stuff we basically have:

1) signing keys on some path, hardened or unhardened paths from some hardened parent
2) master blinding key, which is actually Hash(some_pubkey_in_odd_hardened_path). This allows export of master blinding privkey for auditing purposes even for hardware wallets(xpub and xprv together to track funds in a non-custodial manner). This does mean an unlocked hww will cough up blinding pubkeys on a malicious host without intervention.
3) asset/value blinding factors: Some odd derivation path with hardened part, either take a single subkey and HMAC it with `txid:nOut`, or chunk up the txid and use it as a few normal derivation indices.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par comparer les trois approches de dérivation listées—les Signing Keys, la Master Blinding Key et les Asset/Value Blinding Factors—avec la compatibilité hww++ et les contraintes d’exportation des hardware wallets. La tâche est considérée comme terminée lorsque le projet a sélectionné et documenté un standard compatible pour la blinding key et les blinding factors ; aucun fichier source ni test n’est nommé dans l’issue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
blockchain, cryptography
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.