delvingbitcoin

Combined summary - Unspendable keys in descriptors

Combined summary - Unspendable keys in descriptors

The dialogue on enhancing wallet policies and descriptors in cryptocurrency transactions emphasizes the need for standardizing the implementation of unspendable keys, particularly within the context of taproot technology.

The primary challenge lies in formulating a system where extended public keys (xpubs) can be standardized across both descriptors and wallet policies without compromising security or functionality. A proposed solution involves sorting and removing duplicate xpubs before concatenating them and applying a SHA256 hash, ensuring uniformity and reducing redundancy. This method, however, necessitates restricting all xpubs to a specific format and excluding optional derivation paths, a move aimed at simplifying the system for legacy wallets that lack taproot support. Concerns about security arise from the potential manipulation of chain codes within XPUBs by malicious actors, suggesting the exploration of techniques like publishing a dummy XPUB out of band to protect genuine key data.

Further, there's an ongoing discussion on deriving chain code from XPUBs independently of their order to address issues related to sequence-dependent wallet policies or descriptors. Various hashing techniques are considered to prevent repeated XPUBs from nullifying each other in calculations, aiming to maintain integrity in multi-signature setups. Another aspect under review is the ordering of keys in programming standards, which impacts the consistency of chaincodes generated through different descriptor arrangements. This raises questions about the predictability and reliability of outputs based on key sequencing.

The discourse extends to the integration of wallet policy features, highlighting the importance of accommodating these features efficiently in hardware signers without adding undue complexity. There's an acknowledgment of the flexibility offered by programming approaches independent of specific wallet policies, underscoring the value of adaptability and broad applicability in programming practices. Additionally, technical issues relating to key order in wallet policies suggest a preference for a structure that aligns more naturally with wallet_policy's inherent organization, potentially simplifying key management and referencing.

An imminent focus on incorporating Taproot support into Liana emphasizes the use of unspendable internal keys to enhance user experience by signaling "no keypath spend" instead of requiring user verification of internal keys. This approach leverages the entropy of the descriptor for generating properties essential for secure and seamless integration into signing devices. Comparatively, methods for ensuring the unspendability of xpubs involve manipulating the chaincode part or regenerating a public key, each with its own set of security implications and ease of verification considerations.

Approach s2 emerges as a straightforward and easily explained method for descriptor changes, despite increasing descriptor complexity. The conversation also delves into using XOR operations to complicate the analysis of extended public keys, proposing a blend of user-friendliness and enhanced security through obfuscation. Lastly, the discussion touches on the non-secure nature of ROT13 for encryption, digital fingerprinting in cryptocurrency transactions, and the nuanced implications of revealing script-only taproot outputs. These discussions are framed within a broader narrative seeking to refine Bitcoin's technical infrastructure while prioritizing privacy, security, and user autonomy.

Discussion History

0
salvatoshi Original Post
December 19, 2023 13:29 UTC
1
December 19, 2023 13:35 UTC
2
December 19, 2023 14:49 UTC
3
December 19, 2023 14:52 UTC
4
December 19, 2023 14:55 UTC
5
December 19, 2023 15:00 UTC
6
December 19, 2023 15:09 UTC
7
December 19, 2023 15:12 UTC
8
December 19, 2023 15:21 UTC
9
December 19, 2023 15:23 UTC
10
December 19, 2023 15:26 UTC
11
December 19, 2023 15:30 UTC
12
December 19, 2023 15:33 UTC
13
December 19, 2023 15:40 UTC
14
December 19, 2023 15:40 UTC
15
December 19, 2023 16:59 UTC
16
December 19, 2023 18:56 UTC
17
December 19, 2023 20:05 UTC
18
December 28, 2023 02:34 UTC
19
December 28, 2023 16:38 UTC
20
January 16, 2024 11:03 UTC
21
January 16, 2024 14:20 UTC
22
January 16, 2024 14:34 UTC
23
January 16, 2024 15:02 UTC
24
October 2, 2024 15:40 UTC
25
October 3, 2024 15:18 UTC
26
October 10, 2024 22:36 UTC
27
December 3, 2024 03:33 UTC
28
December 4, 2024 12:17 UTC
29
December 4, 2024 14:33 UTC