Skip to content

Make SV2 extended channel extranonce split configurable #25

@average-gary

Description

@average-gary

Summary

Currently the SV2 extended channel implementation uses a fixed 6/6 extranonce split: 6-byte pool prefix (server_id[2] + channel_id[4]) and 6-byte proxy search space, within the 12-byte coinbase extranonce slot.

This works well for most cases (2^48 combinations is plenty), but a downstream proxy requesting min_extranonce_size > 6 will be rejected with unsupported-min-extranonce-size.

Proposed Enhancement

  • Make the extranonce prefix length configurable (e.g., pool config or dynamic based on min_extranonce_size from proxy)
  • Allow shorter pool prefixes (e.g., 2-4 bytes) to give proxies more search space when requested
  • Consider making the total extranonce slot size configurable (currently hard-coded at 12 bytes via EXTRANONCE1_SIZE + EXTRANONCE2_SIZE)

Context

Priority

Low — the fixed 6/6 split covers all realistic use cases. This is a future improvement for spec completeness.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sv2Stratum v2 related

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions