← Back to Bitcoin Improvement Proposals
BIPinformationaladdresseskey-management

BIP 77: Delimit fragment params with `-` instead of `+`

This PR addresses the concerns raised in #1885 with regards using `+` as a delimiter, by switching to `-`. Some URI libraries implement RFC 1866's (HTML 2.0) "keyword" delimitation in query parameters by decoding `+` as ` ` unconditionally, which necessitates kludgy workarounds. Additionally fragment parameters must now ordered lexicographically (instead of reverse), the motivation for a canonical ordering was to reduce implementation fingerprinting concerns, but the reverse lexicographical ord

No reviews
nothingmuch·Updated Jul 10, 2025·0 reviews·0 attestations·View source
Collections:BIPs — Merged

Specification

This PR addresses the concerns raised in #1885 with regards using + as a delimiter, by switching to -. Some URI libraries implement RFC 1866's (HTML 2.0) "keyword" delimitation in query parameters by decoding + as unconditionally, which necessitates kludgy workarounds.

Additionally fragment parameters must now ordered lexicographically (instead of reverse), the motivation for a canonical ordering was to reduce implementation fingerprinting concerns, but the reverse lexicographical ordering was specified simply because that was the behavior that was already implemented in PDK. Since that is somewhat surprising and the delimiter change breaks backwards compatibility anyway, the marginal cost in terms of compatibility of reducing the surprisingness of the reversed ordering is arguably zero, so this is also addressed here.

cc @kumulynja

Discussion (0 threads)

Loading discussions...