ElementsProject / ElementsProject/elements

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

Abierto
#448 11 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
1.2k
Forks
416
Merge medio
1 d 23 h
PR fusionados (30 d)
15

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.