Skip to content

Issue Tracking: Manifest a HD Watch-Only Wallet for P2WPKH #1

@aruokhai

Description

@aruokhai

Overview

A wallet is an indispensable component of any Bitcoin payment client. BitSpend is designed to be a modular Bitcoin payment client, and as part of our vision, we are initially implementing a P2WPKH (Pay-to-Witness-Public-Key-Hash) wallet due to its widespread adoption and efficiency. This decision allows us to move quickly, leveraging a commonly used payment type while ensuring compatibility with most modern Bitcoin transactions.

The Need for a Watch-Only Wallet

BitSpend is built with modularity at its core, meaning different components can be developed, replaced, or enhanced independently. In this modular architecture, a watch-only wallet plays a critical role:

  • Separation of Concerns: A watch-only wallet decouples the task of transaction monitoring from transaction signing, allowing for better security and flexibility.
  • Reliance on an External Signer: Since the watch-only wallet lacks private keys, it relies on an external signer module (which could be offline or online) for signature generation. This ensures that sensitive operations remain isolated, minimizing attack surfaces.
  • Enhanced Security: By design, the watch-only wallet cannot initiate transactions independently, making it ideal for environments where monitoring is needed without compromising key control.

Key Features

1. Hierarchical Deterministic (HD) Wallet Support

The wallet supports hierarchical deterministic (HD) address generation, allowing users to derive multiple addresses from a single seed phrase. This simplifies wallet management while ensuring that all addresses can be restored from a single backup.

2. P2WPKH Address Format

Our initial implementation focuses on P2WPKH addresses, which provide:

  • Native SegWit compatibility.
  • Lower transaction fees.
  • Improved scalability.

3. Watch-Only Functionality

The watch-only wallet enables users to:

  • Monitor balances and transaction activity.
  • Generate unsigned transactions.
  • Export transactions for offline signing by an external signer.

Metadata

Metadata

Assignees

Labels

P2WKH WalletHD Watch-Only Wallet for P2WPKH

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions