Commit Graph
24 Commits
Author SHA1 Message Date
Matt Corallo c02809a75a Correct monospacing in BIP 353
mediawiki doesn't render backticks, so we have to use
`<code></code>`.
2025-09-23 22:00:49 +00:00
Matt Corallo 87bafc1cd0 Add some BIP 353 DNSSEC proof test vectors and links 2025-09-23 21:58:18 +00:00
Matt Corallo c7e9befc2e Mark BIP 21 as replaced (by BIP 321) and mark BIP 321 as Proposed 2025-08-07 11:57:06 +00:00
Matt Corallo f5cb29f9b7 Update BIP 321 with information about more modern usage of it
As Bitcoin has grown, the introduction of new address formats
describing new forms of payment instructions has become
increasingly fraught with compatibility issues. Not only does there
exist traditional on-chain addresses, but some recipients wish to
receive Lightning (when the sender supports it) or newer formats
such as Silent Payments.

This has led to increasing use of the BIP 21 query parameters to
encode further optional payment instructions.

Looking forward, as new payment instructions get adopted, it makes
much more sense to include them in query parameters rather than
replace the existing address field, ensuring compatibility with
senders and recipients who may or may not be upgraded to support
all the latest payment instructions.

This updates BIP 321 to suggest that future address formats do this.

Further, it updates BIP 321 to allow an empty bitcoin address in
cases where new payment instructions have moved to becoming
mandatory. This isn't a backwards-incompatible change any more than
switching to a new address format is, so doesn't impact existing
BIP 21 implementations in a new way, however provides a nice
conclusion to the query-parameter-based upgrade path - once a form
of payment instructions has broad adoption, senders can simply drop
the existing address field, keeping their existing query parameter
encoding, rather than replace the existing address field. It also
addresses the question of what to do if a wallet no longer wishes
to receive some legacy on-chain address, but has multiple payment
instruction formats that they wish to include - deciding which one
to place in the address field would be a difficult task.

Finally, it defines a new query parameter, the `pop` parameter,
which allows the initiating application to receive callbacks for
proof of payment completion.
2025-04-23 14:51:51 +00:00
Matt Corallo 7e6a583c8d Copy BIP 21 into a new BIP 321 with only the header changed 2025-04-04 16:37:24 +00:00
Matt Corallo e1aab46c63 Explicitly mention care around payment instruction expiry in 353
If someone puts a lightning BOLT 12 offer in a BIP 353 entry with
the offer expiring before the DNS entry's TTL (plus now), they may
get stuck being unpayable, so its worth explicitly mentioning that
people should take care here.
2024-10-02 16:46:57 +00:00
Matt Corallo b0d5a07943 Add a PSBT per-output field for BIP 353 DNSSEC Proofs
When using BIP 353 for on-chain addresses (incl silent payments),
it is useful to be able to include DNSSEC proof information in
outputs of a PSBT, which we enable here by defining a standard
field for it.
2024-08-29 19:30:59 +00:00
Matt Corallo eeaf21d882 Consistently refer to them as "human-readable names", not addresses
It seems confusing to call BIP 353 names "addresses", and most of
the BIP refers to them as "names", but a few "human-readable
addresses" snuck in in a recent change, which are fixed here.
2024-07-31 13:45:09 +00:00
Matt Corallo 4f75edb2b8 Add a BIP which resolves human readable names into payment info
User behavior has clearly indicated a strong demand for the
resolution of human-readable names into payment instructions. This
BIP defines a protocol to do so using only the DNS, providing for
the ability to query such resolutions privately, while utilizing
DNSSEC to provide compact and simple to verify proofs of mappings.
2024-06-04 20:40:24 +00:00
Matt Corallo f8a9db58c0 Clarify BIP 152 interaction with classic relay mechanisms 2017-01-01 04:16:28 +01:00
Matt Corallo aee228746d Clarify SPV node usage. 2016-12-05 13:55:40 -08:00
Matt Corallo 10fcf4ed0d Fix a few nits and expand on coinbase short ID calc in ver 2 2016-10-14 10:09:03 -04:00
Matt Corallo 430bf9f235 Specify which block encoding to use in the fallback block message 2016-09-19 19:43:38 +02:00
Matt Corallo bca0dfb3b9 Fix message type 2016-09-19 19:43:38 +02:00
Matt Corallo a380daff16 Switch priority order to highest-first and add sample negotiation 2016-09-19 19:43:38 +02:00
Matt Corallo 367eade6e8 Add version negotiation details 2016-09-06 13:13:59 +02:00
Matt Corallo c32b2a7c70 Allow block responses to MSG_CMPCT_BLOCK requests 2016-06-16 17:43:49 -07:00
Matt Corallo 9d89d2b778 Update to new BIP 152 Protocol Flow 2016-05-23 22:06:34 -07:00
Matt Corallo 7ae81736cf Replace my generic bip@ email with bip-specific emails everywhere 2016-05-22 18:23:15 -07:00
Matt Corallo 20a842244b Add compact-block bip 2016-05-22 18:21:32 -07:00
Matt Corallo a110a5692f Remove confusing * 2015-09-01 14:30:44 -07:00
Matt Corallo 8dd40f15ba Add BIP 111 to index 2015-08-24 11:25:03 -07:00
Matt Corallo 36a1741e7f Update reference and text of 111 after ML discussion 2015-08-24 11:05:26 -07:00
Matt Corallo 261bf25afc Add last-fully-posted version of BIP 111 2015-08-24 11:04:07 -07:00