ElementsProject / ElementsProject/elements
Pick a blinding key/blinding factor standard compatible with hww++
- 主要言語
- C++
- スター
- 1.2k
- フォーク
- 416
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 15
説明
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.
コントリビューションガイド
調査の方向性
まず、列挙されている3つの導出アプローチ—Signing Keys、Master Blinding Key、Asset/Value Blinding Factors—を、hww++ との互換性および hardware-wallet のエクスポート制約と照らし合わせて比較します。プロジェクトが互換性のある blinding key と blinding-factor の標準を選定し、文書化すれば完了です。issue ではソースファイルやテストは指定されていません。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- blockchain, cryptography
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100