ElementsProject / ElementsProject/elements

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

Đang mở
#448 11 bình luận 0 reaction 0 người được giao Xem trên GitHub
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.