News for hackers. Stuff that matters.
Re:Btcd: Not your mom's Bitcoin daemon by bengotow on Saturday October 05, 2013 @12:46PM (#6501181)
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.

Re:Btcd: Not your mom's Bitcoin daemon by tlrobinson on Saturday October 05, 2013 @01:39PM (#6501370)
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)

Re:Btcd: Not your mom's Bitcoin daemon by pudquick on Saturday October 05, 2013 @04:25PM (#6501936)
The original announcement page lists some of what they claim to be the advantages of the port to Go:

https://blog.conformal.com/btcd-a-bitcoind-alternative-writt...

* integrated test infrastructure

* no active memory management

* standard formatting

* platform independent code

* simpler parallelism

* virtually crash-proof

* built-in profiling and documentation facilities

From a development standpoint, I appreciate it from the concept of a clean refactor implementing current bitcoind features (vs. layered on over time), seemingly well-written and commented code, and introducing a heterogeneity to the bitcoin daemon world - making it a bit more resilient (potentially) against future attacks against the infrastructure.

Re:Btcd: Not your mom's Bitcoin daemon by wmf on Saturday October 05, 2013 @01:35PM (#6501364)
Bugs in the Bitcoin protocol cannot be fixed while remaining compatible; that's why they have to duplicate them. They're not trying to preserve implementation bugs.
Re:Btcd: Not your mom's Bitcoin daemon by conformal on Saturday October 05, 2013 @04:47PM (#6502004)
it is worth considering that bitcoind itself, as a single project, has created a nasty fork and may very well do so again in the future.

better code that is actually readable and commented means a lower likelihood of a bitcoin daemon forking against itself. it also means that it is quicker to maintain existing code and extend it to add new features.

Re:Btcd: Not your mom's Bitcoin daemon by glomph on Saturday October 05, 2013 @01:28PM (#6501342)
Forks are a pretty big deal especially if they require action on behalf of all the people mining.
Re:Btcd: Not your mom's Bitcoin daemon by jimwise on Saturday October 05, 2013 @03:24PM (#6501729)
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.)

Re:Btcd: Not your mom's Bitcoin daemon by conformal on Saturday October 05, 2013 @04:34PM (#6501970)
actually, we chose the title because it made us giggle a bit more than "your dad's". the phrase "not your mom's" is relatively common and normally applied to stuff like sandwiches, jeans, or some other somewhat-sexist object.

my mom coded cobol for harris bank for many moons :)

Re:Btcd: Not your mom's Bitcoin daemon by Tichy on Saturday October 05, 2013 @05:32PM (#6502155)
Still, few moms are likely to be computer experts.
Re:Btcd: Not your mom's Bitcoin daemon by petercooper on Saturday October 05, 2013 @05:43PM (#6502193)
Few people are computer experts, period ;-)
Re:Btcd: Not your mom's Bitcoin daemon by nwh on Saturday October 05, 2013 @10:44AM (#6500786)
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.

Re:Btcd: Not your mom's Bitcoin daemon by VMG on Saturday October 05, 2013 @11:05AM (#6500861)
I have the opposite reaction for the same reason. This helps formalizing the behavior of the original client and is an excellent thing for the network in the long run.
Re:Btcd: Not your mom's Bitcoin daemon by ErsatzVerkehr on Saturday October 05, 2013 @11:03AM (#6500845)
Being uncomfortable about alternate implementations makes me uncomfortable.
Re:Btcd: Not your mom's Bitcoin daemon by nwh on Saturday October 05, 2013 @11:10AM (#6500882)
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.
Re:Btcd: Not your mom's Bitcoin daemon by javert on Saturday October 05, 2013 @12:38PM (#6501152)
> 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

Re:Btcd: Not your mom's Bitcoin daemon by nwh on Saturday October 05, 2013 @09:24PM (#6502723)
Alright, it's at odds with the developers I've spoken to about it. GMaxwell cautions most developers when they attempt it, for example.
Re:Btcd: Not your mom's Bitcoin daemon by makomk on Saturday October 05, 2013 @11:18AM (#6500902)
The trouble is, because the exact behaviour isn't documented and depends on subtle implementation quirks, the original implementation already has enough differences in behaviour between different versions to fork the chain with catastrophic network-wide consequences.
Re:Btcd: Not your mom's Bitcoin daemon by nwh on Saturday October 05, 2013 @11:42AM (#6500986)
Exactly. In the case of the most recent fork, it was a completely unexpected implementation bug that meant that the underlying database ran out of locks, different to the more recent builds that didn't. That was caused just by differences in underlying databases, let alone a whole new verification system as we see here.
Re:Btcd: Not your mom's Bitcoin daemon by ErsatzVerkehr on Saturday October 05, 2013 @12:10PM (#6501084)
Obviously this is not a desirable property of the system. If it's going to be robust against malicious attacks, it must be robust against well-meaning reimplementations.
Re:Btcd: Not your mom's Bitcoin daemon by nullc on Saturday October 05, 2013 @06:04PM (#6502252)
Malicious attacks are not the same as consensus failure.

Consensus requires agreement, malicious attacks are orthogonal, unless you're hypothesizing a malicious party introducing an intentionally incompatible node and a significant fraction of users switching to it.

Re:Btcd: Not your mom's Bitcoin daemon by betterunix on Saturday October 05, 2013 @12:54PM (#6501208)
What does it even mean for Bitcoin to be robust against malicious attacks? Bitcoin has no security definition, just a vague notion of what its users should not be able to do.
Re:Btcd: Not your mom's Bitcoin daemon by jedunnigan on Saturday October 05, 2013 @12:42PM (#6501169)
Yea, this is one of those things where that argument gets tricky.

On the flip side one could argue that diversification of implementations is key to the long-term success of Bitcoin. If, let's say, there is a serious issue with bitcoind that shows up somewhere down the road that causes a fork and it is the only implementation everyone is using, there will be a network-wide problem. If there are a number of implementations in the wild, the fork would be contained to a smaller subset of users, and managed accordingly.

Getting to this point of diversification safely is difficult, however, which is why I imagine some of the core devs might be against it. I remember Amir Taaki got a lot of flack when he came out with libbitcoin.

Re:Btcd: Not your mom's Bitcoin daemon by VMG on Saturday October 05, 2013 @11:21AM (#6500913)
Both implementations should run in parallel, differences in behavior will show bugs in either implementation.
Re:Btcd: Not your mom's Bitcoin daemon by gcb1 on Saturday October 05, 2013 @03:52PM (#6501816)
you can detect bugs with one running alone as well. but so what.

if i run one without the bug and accept a payment, you and millions with the bug will just say "meh. this one does not match. will just drop it" and my transaction goes out of the main block.

Re:Btcd: Not your mom's Bitcoin daemon by VMG on Saturday October 05, 2013 @06:13PM (#6502282)
Some poorly-defined edge cases can only be found with alternative implementations. These are the edge cases that will cause trouble in a network with only one implementation.
Re:Btcd: Not your mom's Bitcoin daemon by haakon on Saturday October 05, 2013 @11:01AM (#6500832)
I had the same reaction, but it's pretty cool that the "official" bitcoind regression test suite works on this implementation.
Re:Btcd: Not your mom's Bitcoin daemon by gaunab on Saturday October 05, 2013 @10:56AM (#6500819)
Yeah, as if there weren't any nerd moms. Stop the headline sexism already.
Re:Btcd: Not your mom's Bitcoin daemon by vectorpush on Saturday October 05, 2013 @02:00PM (#6501432)
Check out this thread from two years ago where people argue that the opposite phrase is sexist. I guess they figure "not your daddy's VCS" is sexist because it excludes women from the set of individuals who might have a need for a VCS.

https://news.ycombinator.com/item?id=3931048

In summary, any allusion to gender with regard to tech is inevitably interpreted as sexist by someone.

Re:Btcd: Not your mom's Bitcoin daemon by huxley on Saturday October 05, 2013 @04:48PM (#6502014)
The phrases have different connotations, so they aren't actually true opposites.

Take a different example, say you described Git as:

* a man's version control system

or let's say you described it as:

* a woman's version control system

The male/female "binary" doesn't make them opposite and using one doesn't cancel out the sexism in the other, they just are sexist in different ways.

Re:Btcd: Not your mom's Bitcoin daemon by vectorpush on Saturday October 05, 2013 @06:34PM (#6502331)
Your example is not the same because your phrasing carries the implicit assumption that the version control system has qualities that make it explicitly suited for use by a specific gender. The two HN headlines are each describing parents; a group who are stereotypically characterized as being out of sync with the latest and greatest trends and advances. The reader has to take the extra step to interpret the headline as a subtly sexist chide, because there is nothing sexist about VCS and there is nothing sexist about the implication that your mother or father uses an outdated version of VCS software.

The male/female "binary" doesn't make them opposite

Yes, you're the best kind of correct, but let's not get caught up in semantics, the binary you so aptly point out is exactly what I'm taking about, 0 is the opposite of 1, and mom is the opposite of dad.

and using one doesn't cancel out the sexism in the other, they just are sexist in different ways.

This is only true if the use of feminine and masculine descriptions when discussing tech is inherently sexist, otherwise I don't see what either headline has to do with sex. Take your logic a little bit further and you might as well label gendered pronouns as sexist since they imply the sex of the subject.

Re:Btcd: Not your mom's Bitcoin daemon by huxley on Sunday October 06, 2013 @08:16AM (#6503846)
I can't even begin to parse what you're saying here.

Mom is not the opposite of dad, they are just paired ideas. This isn't semantics, this is plain simple reality. We sometimes think of them as binaries but they aren't actually so.

The opposite of a Mom is a not-Mom, a concept which can include Dad but can also include a woman who hasn't had children.

"This is only true if the use of feminine and masculine descriptions when discussing tech is inherently sexist"

I wasn't arguing about anything being inherently sexist, I was arguing that it was contextually sexist. If you don't understand that words have connotations, people's reactions to sexism will always seem mysterious and arbitrary to you.

"Take your logic a little bit further and you might as well label gendered pronouns as sexist since they imply the sex of the subject"

You obviously don't understand my logic and are arguing about something completely different.

Re:Btcd: Not your mom's Bitcoin daemon by meric on Saturday October 05, 2013 @06:34PM (#6502330)
It can also be sexist in different ways depending on the context in which the phrase is said.

A radical feminist programmer saying "Now THAT is a woman's version control system."

A brogrammer saying "Pshh. That's a woman's version control system."

Re:Btcd: Not your mom's Bitcoin daemon by sp332 on Saturday October 05, 2013 @11:07AM (#6500867)
Isn't it just ageist? After all, it implies that your mom already has a bitcoin daemon but your new one is better.
Re:Btcd: Not your mom's Bitcoin daemon by waterlesscloud on Saturday October 05, 2013 @11:24AM (#6500919)
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. ;-)

Re:Btcd: Not your mom's Bitcoin daemon by mkmkmmmmm on Saturday October 05, 2013 @11:58AM (#6501044)
no it obviously implies your mom is using an outdated bitcoind because she is a woman and knows nothing about computers; your father isn't clueless about tech. Sexist!
Re:Btcd: Not your mom's Bitcoin daemon by neals on Saturday October 05, 2013 @11:02AM (#6500837)
While your mom is not using this wallet, you cannot complain about sexism in this title.
Re:Btcd: Not your mom's Bitcoin daemon by DanBC on Saturday October 05, 2013 @11:06AM (#6500866)
The stupid choice of strapline means this product will always have this kind of comment whenever it's discussed. Rightly so, IMO. It's the 21st century and someone would have to be a fucking idiot to not realise that this strapline is going to cause comment.
Re:Btcd: Not your mom's Bitcoin daemon by nitrogen on Saturday October 05, 2013 @07:23PM (#6502456)
Are you also offended by the saying, "Not your father's NASA?"
Re:Btcd: Not your mom's Bitcoin daemon by DanBC on Monday October 07, 2013 @05:51AM (#6507266)
I was wrong to be offended. It was a knee-jerk reaction.

The phrase is a common American form of wording. "Not your mother's romance"; "Not your father's oldsmobile"; and so on.

So in this example my mother does have a bitcoin wallet but this new wallet is a bobby-dazzler.

I need to pause before posting.

Re:Btcd: Not your mom's Bitcoin daemon by mkr-hn on Saturday October 05, 2013 @02:36PM (#6501539)
People eventually have to communicate, and someone is going to take offense no matter what. I think it's reasonable to expect people to start somewhere away from the worst possible interpretation.
Re:Btcd: Not your mom's Bitcoin daemon by conformal on Saturday October 05, 2013 @04:40PM (#6501989)
i think it's a pretty good line - got all of you talking, didn't it? =)
Re:Btcd: Not your mom's Bitcoin daemon by maxerickson on Saturday October 05, 2013 @11:13AM (#6500890)
No, the intended meaning is clearly not the pedantic one you are claiming should be used.
Re:Btcd: Not your mom's Bitcoin daemon by betterunix on Saturday October 05, 2013 @01:06PM (#6501257)
The intended meaning is that your parents are less technically capable than you are; which parent is specifically chosen is simply not relevant. Would you have preferred, "Not your Dad's bitcoin wallet?" This is not sexist, it is ageist.
Re:Btcd: Not your mom's Bitcoin daemon by Karunamon on Saturday October 05, 2013 @01:51PM (#6501409)
Oh for fuck's sake. Do we really, absolutely need to drag political correctness into every god damned issue?
Re:Btcd: Not your mom's Bitcoin daemon by rmrfrmrf on Sunday October 06, 2013 @03:20AM (#6503428)
The best way to get people to stop talking about political correctness is to be politically correct. Pragmatically speaking, it makes sense to make a good effort to not offend people in your writing, since it detracts from the core message.
Re:Btcd: Not your mom's Bitcoin daemon by Karunamon on Monday October 07, 2013 @10:04AM (#6508267)
At some point there exists a line where you stop caring if people on the other side of it are offended, because they are nothing but a loud, vocal minority looking for a reason to complain.

I think that making an "ism" out of this headline applies. I don't know about you, but I'm not about to make language grey and boring just because certain people choose to take offense at anything and everything.

Yes, I'm well aware this is hyperbole. Deal.

Re:Btcd: Not your mom's Bitcoin daemon by anologwintermut on Sunday October 06, 2013 @01:45AM (#6503279)
It's not ageist. It merely implies technology get's better with time. I can say "Not my dad's computer" and the implication isn't that my dad sucked at computers, its that computers sucked when my dad first got one.
Re:Btcd: Not your mom's Bitcoin daemon by mkr-hn on Saturday October 05, 2013 @02:31PM (#6501527)
What aspect of the headline is sexist?
Re:Btcd: Not your mom's Bitcoin daemon by Dewie on Saturday October 05, 2013 @11:57AM (#6501039)
Some similar expression is "not your dad's rock music", implying that your dad listens to rock music. In this case, the headline implies that your mom uses some kind of Bitcoin daemon, ergo she is a nerdy mom.
Re:Btcd: Not your mom's Bitcoin daemon by petercooper on Saturday October 05, 2013 @10:51AM (#6500802)
Not my dad's either.
Re:Btcd: Not your mom's Bitcoin daemon by smoyer on Saturday October 05, 2013 @10:54AM (#6500814)
Neither of my parents have a bitcoin wallet.
Re:Btcd: Not your mom's Bitcoin daemon by clamprecht on Saturday October 05, 2013 @12:55PM (#6501211)
Sounds like a great thing to do over thanksgiving! (or some other upcoming holiday, if you're not in the states)
Re:Btcd: Not your mom's Bitcoin daemon by seabrookmx on Saturday October 05, 2013 @07:11PM (#6502421)
We have thanksgiving in Canada too!

It's earlier though (next weekend).

Re:Btcd: Not your mom's Bitcoin daemon by madsushi on Saturday October 05, 2013 @06:04PM (#6502251)
I think we need a version of Bitcoin that is designed for my mom if widespread adoption is the goal.
Re:Btcd: Not your mom's Bitcoin daemon by bachback on Saturday October 05, 2013 @02:54PM (#6501608)
very cool stuff. Could some subcomponents be used for the JS implementation? (https://github.com/bitcoinjs/bitcoinjs-server).