Subject: Re: [bitcoin-dev] [Bitcoin-development] BIP for Proof of Payment

From: Kalle Rosenbaum <[email-masked]>
Date: Sun, 26 Jul 2015 23:13:49 +0200

(Resending to the new bitcoin-dev list after sending to the old list)

2015-07-25 21:34 GMT+02:00 Jorge Timón <[email-masked]>:
> Then why do you assume they have a policy limit that not even bitcoin core
> itself maintains (the default limit was moved from 42 to 83 [counting the
> op_return and pushes])?
>
> The policy check is not a consensus rule. Other implementations may have
> another default or not have a limit at all.

Thank you for pointing this out.

That's right. Bitcoin core now support 80 bytes data by default. And
yes, I was wrong in assuming 40 bytes policy in all implementations,
even if 40 bytes was the limit in bitcoin core at the time of writing
the BIP.

If there's a need to increase the size of the nonce, for example to
128 bits instead of the 48 bits as designed in BIP 120, then we can of
course do that, either now or in a subsequent version of PoP.

As noted before though, a longer nonce also means bigger QR codes
generated from the BIP 121 URIs. So I think that 48 bits is a good
tradeoff right now. And as stated in BIP120, a server generating PoP
requests should try to detect brute force attacks, or at least delay
the response (containing the nonce) by some 100 ms or so.

Do you think we need a bigger nonce? In that case, why?

If PoP later becomes an extension of BIP70, then there is no such size
constraint on the nonce, since it will be part of some kind of (e.g.)
PopRequest message and not contained in a QR encoded URI.

/Kalle