[bitcoin-dev] Alternative chain support for payment protocol

Luke Dashjr luke at dashjr.org
Mon Aug 10 18:40:58 UTC 2015


On Monday, August 10, 2015 6:32:10 PM Ross Nicoll wrote:
> BTW, did you mean to take this off-list?

No, accidental. I'll re-CC it on this email.

> On 10/08/2015 00:46, Luke Dashjr wrote:
> > On Sunday, August 09, 2015 2:12:24 PM Ross Nicoll via bitcoin-dev wrote:
> >> BIP 70 currently lists two networks, main and test (inferred as
> >> testnet3) for payment protocol requests. This means that different
> >> testnets cannot be supported trivially, and the protocol cannot be used
> >> for alternative coins (or, lacks context to indicate which coin the
> >> request applies to, which is particularly dangerous in cases where coins
> >> share address prefixes).
> > 
> > I don't see how address prefixes are relevant - the payment protocol
> > doesn't use addresses at all...
> 
> Good point, trying to hard to preempt questions.
> 
> >> I propose adding a new optional "genesis" field as a 16 byte sequence
> >> containing the SHA-256 hash of the genesis block of the network the
> >> request belongs to, uniquely identifying chains without any requirement
> >> for a central registry.
> > 
> > Genesis blocks are not necessarily unique. For example, Litecoin and
> > Feathercoin share the same one.
> 
> Had missed that, and there's no easy alternatives. BIP 44 chain IDs
> don't identify different testnets, and do not cover regtest at all.

Regtest isn't really a network at all, just a testing mode of Bitcoin Core...

> Most recent block hash could be used and also provides fork
> detection, but in doing so advertises if a merchant is on the wrong
> fork. Will think about it.

Is that a bad thing?

> > I'd appreciate initial feedback on the idea, and if there's no major
> > objections I'll raise this as a BIP.
>
> I don't see how this is related to improving Bitcoin...
> 
> Well, mostly I'm trying not to avoid the situation where any accidental
> mixing of files is dangerous (funds can easily be sent on the wrong
> blockchain), nor with multiple standards (which is where we are at the
> moment). It improves things in avoiding future problems, rather than in
> the immediate term.

Sorry, I meant to stress that BIPs are for *Bitcoin* improvements 
specifically. Things which only improve altcoins, while a perfectly fine thing 
to standardise, are outside the scope of what belongs in a BIP.

Perhaps, however, this could be made to kill 2 birds with one stone, by 
ensuring it addresses the need for payments made of bitcoins on a sidechain?
For this, a merchant who wants a sidechain payment would presumably be able to 
provide a script from the main chain already, but an extension allowing 
payment directly on the sidechain (at the customer's choice) avoids the need 
to round-trip it...

Luke


More information about the bitcoin-dev mailing list