public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Greg Maxwell <gmaxwell@gmail.com>
To: Ethan Heilman <eth3rs@gmail.com>
Cc: conduition <conduition@proton.me>,
	 Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] Human meaningful witness versioning
Date: Sun, 20 Jul 2025 22:38:10 +0000	[thread overview]
Message-ID: <CAAS2fgR+XccLeZqt0GXP=b-cu9ya=-pVZred_q6xGCrNKMLy9g@mail.gmail.com> (raw)
In-Reply-To: <CAEM=y+WUpbzJBU6nYyM5Lj3ByD199Fxubvc50uqkv8uEd7GJtA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2704 bytes --]

On Sun, Jul 20, 2025 at 9:35 PM Ethan Heilman <eth3rs@gmail.com> wrote:

> Does anyone remember why BIP-0173 added a special rule to make Witness
> Versions legible in this way? It might be useful to document here for
> future discussions on address encoding.
>

I'm not sure what you're referring to there -- there needed to be an
_encoded_ version for the purpose of consensus rules.  1xxx addresses have
one, for example (which results in them beginning with 1).  The reason it's
5 bits is just to avoid needlessly inflating the length of addresses.. as
additional versioning, if someday required could be achieved by additional
words in the payload.

There is a _human readable_ part, but that refers to the "bc" prefix
identifying the currency/network,  not any of the technical minutia about
how the system works.  The reason for the human readable part was that
there has been instances of funds loss caused by fork coins / altcoins that
copied bitcoin wholesale and used the same addresses and we'd hoped that a
prefix that was easy to change an unambiguously associated with bitcoin
would have a chance of reducing that risk in the future.

or to restate: A recipient's script is fundamentally none of the sender's
business (except for multiparty contracts or other special cases) -- and so
generally we want the sender to be as oblivious of the details of the
script as reasonably possible.  If the sender has paid to the output the
receiver has specified then they've done their part.  Any further issues
are the recipient's responsibility.  If the sender hasn't-- e.g. say they
took apart some address and made some custom script without the receivers
consent, like turning a taproot pubkey into a legacy address-- then they
haven't made a payment to the recipient and they still owe the
recipient funds.  But this also requires that the payment be on the right
network, and while they could be informed outside of the address since it
was a frequent cause of errors we thought it critical to embed it.  The
reason for making the embedding legible was primarily so that altcoins
wouldn't just copy the prefix as they had frequently done with the version
numbers.

(and I believe so far this has proved to be successful, copies have changed
the HRP)

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAAS2fgR%2BXccLeZqt0GXP%3Db-cu9ya%3D-pVZred_q6xGCrNKMLy9g%40mail.gmail.com.

[-- Attachment #2: Type: text/html, Size: 3589 bytes --]

  reply	other threads:[~2025-07-20 22:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-18 21:58 [bitcoindev] Human meaningful witness versioning Ethan Heilman
2025-07-18 22:18 ` Greg Maxwell
2025-07-18 22:46 ` 'Ava Chow' via Bitcoin Development Mailing List
2025-07-20 15:19 ` 'conduition' via Bitcoin Development Mailing List
2025-07-20 21:29   ` Ethan Heilman
2025-07-20 22:38     ` Greg Maxwell [this message]
2025-07-21  1:44       ` Ethan Heilman
2025-07-21  2:24         ` 'Ava Chow' via Bitcoin Development Mailing List
2025-07-21 17:01         ` Ethan Heilman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAS2fgR+XccLeZqt0GXP=b-cu9ya=-pVZred_q6xGCrNKMLy9g@mail.gmail.com' \
    --to=gmaxwell@gmail.com \
    --cc=bitcoindev@googlegroups.com \
    --cc=conduition@proton.me \
    --cc=eth3rs@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox