Subject: Re: [bitcoin-dev] Uniquely identifying forked chains

From: Matt Whitlock <[email-masked]>
Date: Fri, 28 Aug 2015 16:15:40 -0400

Why would you use a hash of hashes? Wouldn't it be simpler and just as effective to use either:

1) the genesis block hash, or
2) the block hash of the first block in a fork?

Every block hash in a chain implicitly subsumes the genesis block hash of that chain, so there's no need to incorporate the genesis block hash again.

On Saturday, 29 August 2015, at 1:27 am, gladoscc via bitcoin-dev wrote:
> There has been discussion of using the genesis block hash to identify
> chains in BIP 21 (bitcoin:// URI scheme). However, this does not allow
> identification between blockchain forks building upon the same genesis
> block. While many see this as undesirable, I think it is inevitable that
> this will eventually happen at some point, and think it is best to build
> systems redundantly.
> 
> I propose identifying blockchains for BIP 21 and any other relevant needs
> through:
> 
> 1) the genesis block hash for a new chain, or
> 2) a hash of the genesis block hash,  concatenated with block hash(es) of
> fork point(s) for a fork chain
> 
> This would support forks, forks of forks, forks of forks of forks, etc
> while preserving a fixed length chain identifier.
> 
> If a user wants to specify "whatever chain is the longest with PoW", they
> would use (1). In times where multiple chains are coexisting and being
> actively mined, a user can use (2) to specifically identify a chain.
> 
> Thoughts?