ElementsProject / ElementsProject/elements
Pick a blinding key/blinding factor standard compatible with hww++
- Ngôn ngữ chính
- C++
- Star
- 1.2k
- Fork
- 416
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 15
Mô tả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách so sánh ba phương pháp dẫn xuất được liệt kê—Signing Keys, Master Blinding Key và Asset/Value Blinding Factors—với khả năng tương thích hww++ và các ràng buộc xuất của hardware wallet. Công việc được coi là hoàn tất khi dự án đã chọn và ghi lại tài liệu về một tiêu chuẩn blinding key và blinding factor tương thích; issue không nêu tên tệp mã nguồn hoặc test nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- blockchain, cryptography
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100