public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: ts <ts@cronosurf•com>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Human readable checksum (verification code) to avoid errors on BTC public addresses
Date: Mon, 16 Aug 2021 10:34:36 +0000	[thread overview]
Message-ID: <aO1qYUmtGXPJupl0ol3E221AR4XKwqriqk3Y5fVS2_asquaV8Vaxkb4Ffq2EiVMrR5bb4cXAzxAV3cOciaYsuqJoFXoc6vTOoveKURVTmLU=@protonmail.com> (raw)
In-Reply-To: <f31bc6b0-f9b3-be4c-190c-fc292821b24b@cronosurf.com>

Good morning TS,

> Entering a BTC address for a transaction can pose a risk of error (human or technical). While
> there is a checksum integrated in BTC addresses already, this is used only at a technical
> level and does not avoid entering a valid but otherwise wrong address. Moreover, it does not
> improve the overall user experience.
>
> In case this hasn't been discussed before, I propose to implement a 3 or 4 digit code (lets
> call it 4DC for this text), generated as checksum from the address. This 4DC should be shown
> in all wallets next to the receiving address. When entering a new address to send BTC, the
> sending wallet should also show the 4DC next to the entered address. This way, the sending
> person can easily verify that the resulting 4DC matches the one from the receiving address.
>
> This would mean that a receiver would not only send his public address to the sender, but also
> the 4DC. A minor disadvantage since a) it is not mandatory and b) it is very easy to do.
> However, it would greatly reduce the probability of performing transactions to a wrong address.
>
> Technically, this is very easy to implement. The only effort needed is agreeing on a checksum
> standard to generate the code. Once the standard is established, all wallet and exchange
> developers can start implementing this.

I think the "only" effort here is going to be the main bulk of the effort, and it will still take years of agreement (or sipa doing it, because every review is "either sipa made it, or we have to check *everything* in detail for several months to make sure it is correct").

In any case --- the last 5 characters of a bech32 string are already a human-readable 5-digit code, with fairly good properties, why is it not usable for this case?

On the other side of the coin, if you say "the existing bech32 checksum is automatically checked by the software", why is forcing something to be manually checked by a human better than leaving the checking to software?


Regards,
ZmnSCPxj


  reply	other threads:[~2021-08-16 10:34 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-16  4:23 ts
2021-08-16 10:34 ` ZmnSCPxj [this message]
2021-08-19 17:02   ` ts
2021-08-19 17:37     ` Christopher Allen
2021-08-21  4:52       ` ts
2021-08-19 21:05     ` Karl
2021-08-21  4:52       ` ts
2021-08-29 14:42     ` Pieter Wuille
2021-08-31  2:17       ` ts
2021-08-28 21:17 ` ts
2021-08-29 14:24   ` Pieter Wuille
2021-08-31  2:16     ` ts
2021-08-31  8:47       ` Marek Palatinus
2021-09-03  5:08         ` ts

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='aO1qYUmtGXPJupl0ol3E221AR4XKwqriqk3Y5fVS2_asquaV8Vaxkb4Ffq2EiVMrR5bb4cXAzxAV3cOciaYsuqJoFXoc6vTOoveKURVTmLU=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=ts@cronosurf$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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