
Btcd: Not your mom's Bitcoin daemon - conformal
https://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon/
======
bengotow
I haven't been following Bitcoin very closely. This looks great, but I'm
confused why the authors went to so much trouble to duplicate the existing
daemon down to every last bug. It sounds like their architecture improves on
the design of the original implementation quite a bit, which is awesome. But
if they don't want to cause a fork in the Bitcoin community (by adding
features, fixing bugs, etc.), what's the point of having a well written one
over the poorly written one? Isn't the thing more or less a "locked" piece of
software?

* I don't participate in the Bitcoin community, so I'm sorry in advance if this is an ignorant question! Congratulations to the authors - I think this is a pretty significant accomplishment regardless.

~~~
tlrobinson
A "fork" of the blockchain is devastating. If you are unaware you have forked
from the main chain you risk double spend attacks on all of your transactions
(and mined block rewards become worthless). Thus any implementation needs to
follow the exact same rules (including "bugs") for determining which
transactions are valid.

That doesn't mean _every_ bug needs to be implemented. It's possible there are
DOS or remote code execution bugs in one implementation but not another.
Diversity between clients is a good thing. If such a bug is discovered in one
client it won't take down the entire network (except currently the vast
majority of full nodes use the original bitcoind implementation)

Various different architectures may have benefits too (e.x. I like how btcd is
splitting the blockchain and wallet pieces into separate processes)

------
jimwise
Hmm. My Mom was a trained engineer. She's no longer with us, but if she'd
lived long enough to select a Bitcoin wallet, I have no reason to believe
she'd have picked a poor one...

(And yes, I get the irony that they probably picked this headline out of fear
that "not your dad's..." was sexist.)

~~~
Tichy
Still, few moms are likely to be computer experts.

~~~
petercooper
Few people are computer experts, period ;-)

------
nwh
Alternate implementations make me uncomfortable. The original client is not
documented much at all, and there's very little room for error.

I salute the amount of effort that's gone into this though.

~~~
ErsatzVerkehr
Being uncomfortable about alternate implementations makes me uncomfortable.

~~~
nwh
It's a system completely designed around gaining a consensus. Any slightly
differentiation in behaviour means a fork in the chain with catastrophic
network-wide consequences. Both the original creator and the current
developers are typically against re-implementations, with good reason.

~~~
javert
> Both the original creator and the current developers are typically against
> re-implementations, with good reason.

That is not true. Gavin Andressen supports alternate implementations. Take the
following quote [1]:

"Diversity is a good thing. Diverse, inter-operating implementations of the
Bitcoin protocol make the network more robust against software bugs, denial-
of-service attacks, and vulnerabilities. There are several projects re-
implementing Bitcoin; if you are a Java or Go or Python or C programmer who
wants to see Bitcoin succeed, you should consider helping them out by
reviewing, testing, or contributing patches."

He then goes on to list several alternatives, including btcd.

[1]
[https://bitcoinfoundation.org/blog/?p=204](https://bitcoinfoundation.org/blog/?p=204)

~~~
nwh
Alright, it's at odds with the developers I've spoken to about it. GMaxwell
cautions most developers when they attempt it, for example.

------
gaunab
Yeah, as if there weren't any nerd moms. Stop the headline sexism already.

~~~
sp332
Isn't it just ageist? After all, it implies that your mom already has a
bitcoin daemon but your new one is better.

~~~
waterlesscloud
Indeed. It pretty clearly implies your mom does have a bitcoin daemon, thus
making her a nerdy mom.

Having said that, the article would get more upvotes here if the headline
mentioned it was written in Go. ;-)

------
petercooper
Not my dad's either.

~~~
smoyer
Neither of my parents have a bitcoin wallet.

~~~
clamprecht
Sounds like a great thing to do over thanksgiving! (or some other upcoming
holiday, if you're not in the states)

~~~
seabrookmx
We have thanksgiving in Canada too!

It's earlier though (next weekend).

------
madsushi
I think we need a version of Bitcoin that _is_ designed for my mom if
widespread adoption is the goal.

------
bachback
very cool stuff. Could some subcomponents be used for the JS implementation?
([https://github.com/bitcoinjs/bitcoinjs-
server](https://github.com/bitcoinjs/bitcoinjs-server)).

