Hi Marek,
Marek Palatinus wrote on 8/31/21 3:47 AM:
I fully agree with sipa and his reasoning that this proposal is not solving any particular
problem, but making it actually a bit worse.
Ok, I understand. I'm just trying to find ways to reduce the risk of sending to the wrong
address and to make the transaction process a bit more user friendly, specially for
inexperienced users. I am sure that it can be implemented in a way without making it "worse".
For example, if there is the risk that the user looks ONLY at the code and not at the address,
then the code should have enough entropy to account for it. If looking at 6 characters is
considered to be enough, then the code should also be 6 characters long. As I mentioned in my
following message, the code could be made from specific characters of the address instead of a
checksum (e.g. first 4 and last 2 characters). By showing these characters to the user
separately and in a bigger font, he will be encouraged to verify all of these characters.
Also, do you know what I hate more than copy&pasting bitcoin addresses? Copy pasting zillion
random fields for SEPA/wire transfers. And I believe that a single copy pasta of a bitcoin
address is a much better user experience after all.
I totally agree with this :)
Cheers,
TS
Best,
slush
On Tue, Aug 31, 2021 at 9:08 AM ts via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org
<mailto:bitcoin-dev@lists.linuxfoundation.org>> wrote:
Pieter, thanks for your comments. Here my thoughts:
Pieter Wuille wrote on 8/29/21 9:24 AM:
> On Saturday, August 28th, 2021 at 5:17 PM, ts via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org
<mailto:bitcoin-dev@lists.linuxfoundation.org>>
wrote:
>
>> Following up on my original proposal, I would like to get some more
feedback of the
community
>>
>> to see if this could be realized at some point. Also, any
recommendations as to who
to contact
>>
>> to get things rolling?
>
> I honestly don't understand the point of what you're suggesting.
It is about creating a simple technical assistance that makes it more user
friendly and
less
error prone to verify the entered address. For all types of users,
including those who are
less tech savvy.
> * If you're concerned about random typos, this is something already
automatically
protected against through the checksum (both base58check or bech32/bech32m).
I agree, but as mentioned in the original proposal, it is not about random
typos (although
this would help for other coins without integrated checksum of course), but
rather about
copy&paste errors (both technical or user caused).
> * If you're concerned about accidentally entering the wrong - but
honestly created -
address, comparing any few characters of the address is just as good as any
other. It
doesn't even require the presence of a checksum. Looking at the last N
characters, or
the middle N, or anything except the first few, will do, and is just as
good as an
"external" checksum added at the end. For randomly-generated addresses (as
honest ones
are), each of those has exactly as much entropy.
Correct. However, I believe that ADDITIONALLY to looking at N characters, a
quick check
of a 3
or 4 digit code in bigger font next to the address would make for a better
user experience.
This gives the user the reassurance that there is definitely no error. I
agree that most
users
with technical background including most of us here will routinely check
the first/last N
characters. I usually check the first 3 + last 3 characters. But I don't
think this is very
user friendly. More importantly, I once had the case that two addresses
were very
similar at
precisely those 6 characters, and only a more close and concentrated look
made me see the
difference. Moreover, some inexperienced users that are not aware of the
consequences of
entering a wrong address (much worse than entering the wrong bank account
in an online bank
transfer) might forget to look at the characters altogether.
> * If you're concerned about maliciously constructed addresses, which are
designed to
look similar in specific places, an attacker can just as easily make the
external
checksum collide (and having one might even worsen this, as now the
attacker can focus
on exactly that, rather than needing to focus on every other character).
Not so concerned about this case, since this is a very special case that
can only occur
under
certain circumstances. But taking this case also into consideration, this
is why the user
should use the verification code ADDITIONALLY to the normal way of
verifying, not
instead. If
the attacker only focuses on the verification code, he will only be
successful with
users that
ONLY look at this code. But if the attacker intends to be more successful,
he now needs to
create a valid address that is both similar in specific places AND produces
the same
verification code, which is way more difficult to achieve.
> Things would be different if you'd suggest a checksum in another medium
than text
(e.g. a visual/drawing/colorcoding one). But I don't see any added value
for an
additional text-based checksum when addresses are already text themselves.
Yes, a visual checksum could also work. Christopher Allen proposed to use
LifeHash as an
alternative. It would be a matter of balancing the more complex
implementation and need of
space in the app's layout with the usability and advantages of use. One
advantage of the
digit
verification code is that it can be spoken in a call or written in a
message.
> This is even disregarding the difficulty of getting the ecosystem to
adopt such changes.
No changes are needed, only an agreement or recommendation on which
algorithm for the code
generation should be used. Once this is done, it is up to the developers of
wallets and
exchanges to implement this feature as they see fit.
Greetings,
TS
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
<mailto:bitcoin-dev@lists.linuxfoundation.org>
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
<https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev