ElementsProject / ElementsProject/elements
Pick a blinding key/blinding factor standard compatible with hww++
- Vorherrschende Sprache
- C++
- Sterne
- 1.2k
- Forks
- 416
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 15
Beschreibung
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.
Beitragsleitfaden
Rechercherichtung
Beginne damit, die drei aufgeführten Ableitungsansätze—Signing Keys, den Master Blinding Key und Asset/Value Blinding Factors—im Hinblick auf die hww++-Kompatibilität und die Exportbeschränkungen von Hardware-Wallets zu vergleichen. Als erledigt gilt die Aufgabe, wenn das Projekt einen kompatiblen Blinding-Key- und Blinding-Factor-Standard ausgewählt und dokumentiert hat; in der Issue werden keine Quelldateien oder Tests genannt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- blockchain, cryptography
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100