Post
Topic
Board Speculation
Re: btcd topic
by
davec
on 01/01/2015, 03:34:48 UTC
Oh boy, thats another can of worms.  You dont happen to work for conformal do you btw?

So (it a long story) but a) no one knows who's funding them; b) most of them seem to have ex-defence contractor profiles; c) no one knows why they are coding it; d) if there is one off by even a single bit interpretation bug in it it breaks consensus and forks bitcoin, which can likely be systematically abused, to create a massive accounting/double-spend mess that will be too expensive to repair as last time - that could create a mega fork worse than the leveldb bug, and kill bitcoin or force some really harsh choices to best effort cleanup where there are innocent losers; e) it apparently took a lot of effort by the core devs to persuade them that this was a problem; f) it still has that problem.

I think that about covers it.

Adam

Thanks for your response.  Yes, I'm the lead dev on btcd.

a and b) First, both of these are completely irrelevant.  No one knows who Satoshi was/is, yet that isn't a problem for Bitcoin Core.  So, even if every single contributor were unknown (they're not as you can find the names of every contributor on github), why would it be a problem for btcd when it isn't for Bitcoin Core?  Second, the defense bit is not true, but even if it were though, I'd venture to say with the number of contributors on Bitcoin Core, at least one or more have affiliations in one way or another with some organization that you, or somebody else, doesn't like.  The code is completely open for all to see, so it would be obvious to see if something nefarious were going on as you are implying.

c) It has been publicly stated many, many times that it is being coded because the ecosystem severely needs multiple diverse implementations if Bitcoin is ever going to truly flourish to the level we all want it to.  Thinking that a single implementation controlled by a handful of people is a good scheme for a system that is supposed to take over the World's monetary supply is just not very forward thinking.  This has been covered ad naseum.

d) This is a complete red herring and exists just as much with Bitcoin Core as it does with anything else.  The exact same thing can easily happen (and already has as you've noted) with Bitcoin Core.  This is a real problem with the technology that needs to be solved independent of the number of implementations on the network.  In fact, working toward solutions which address this fundamental issue is necessary for Bitcoin Core too since it means mistakes there don't lead to undesirable consequences either.  The current approach is "well let's just hope it doesn't happen!" and frankly, that just isn't good enough.

e) You've been misinformed.  Here is a blog post I made on the very first package we released back in May of 2013 which was only the wire protocol that clearly states "Here at Conformal, we are keenly aware of how important it is that any full-node implementations agree on the exact same set of rules for what blocks get included into the block chain as minor differences can lead to chain forks and double-spends." (https://blog.conformal.com/btcwire-the-bitcoin-wire-protocol-package-from-btcd/).  The Bitcoin Core devs weren't even aware we were working on the project at that point in time.  There was no "convincing" needed or involved.

f) This is referring to d and e, see those.