Author: Eric Voskuil Date: To: Monarch, bitcoin-dev, libbitcoin Subject: Re: [Libbitcoin] [bitcoin-dev] Your Gmaxwell exchange
On 09/01/2015 09:51 AM, Monarch via bitcoin-dev wrote: > On 2015-09-01 15:59, Dave Collins via bitcoin-dev wrote:
>> I'd be interested to know about these supposed btcd mainnet forks that
>> have occurred due to a consensus failure since it came out of alpha.
>> I'll go ahead and save you some research time - there hasn't been one.
>> I'm not claiming there will never be one as that would be just as
>> foolish as claiming Bitcoin Core won't have any more either.
>
> For the purposes of the conversation this was only brought up to re-
> enforce my claim that this is outrageously difficult software
> development, irrespective of the quality of the code being produced in
> alternate implementations. Sorry if that came across as an attack
> against your software in particular, it wasn't intended.
Whether intended or otherwise this is an attack on the idea of
decentralized bitcoin development. The option to fork or roll your own
is open source, not decentralization. Decentralization requires
*actually doing so*. One step down that path, even for a fork, is a
major commitment.
Common consensus check code is now available in several bitcoin
implementations. The claim that this is outrageously difficult is
misleading. It's just engineering work that needs to get done if Bitcoin
is to survive.
>> On the other hand, Bitcoin Core has had actual forks on mainnet during
>> the same period. I'm not casting stones at Bitcoin Core here, because
>> as I've said many times, none of us are perfect. No matter how careful
>> everyone is, it is bound to happen from time to time.
>
> The point I was trying to make is that this is simply a hard
> development situation to be working in, we don't know what behavior is
> inferred by the use of CPP and even more so OpenSSL (as the DER
> encoding consensus failure made abundantly clear). There's almost
> certainly more problems lying around given how generally dusty a lot
> of the transaction environment is, it's very easy to get off the
> beaten track with Bitcoin script.
These are issues that affect the satoshi client as much as other
implementations, and therefore don't support your premise.