Back when the kids dicking around some github repository improperly named Bitcoin something or the other staunchly refused to specify and prototype, opting instead for a braindamaged "the code is the spec" line for the very transparent yet unstated reason that "code we can at least hope to hold hostage to our personal interest, specs not so much" I figured that well... on one hand they're too fucking stupid to actually manage either specification or prototyping anyway. Uncharacteristically of stupid people they actually know this, and so instead of starting a task they lack the intellectual resources to complete they wisely opt to merely steward an idea much greater than their mediocre selves in the hopes that as time goes by much better people will finally take an interest and take it places. You know, much like the beta male that doesn't dare propose to the hot chick all through highschool but instead spends his time and lunch money grooming her so she may better serve a better man later on.
Coherent with these expectations they went on to do all sorts of pointless posturing (such as), got themselves involved with the Bitcoin Foundation scami and generally wasted their time. Which isn't so bad as it all sounds, considering the one time they tried to do something substantial, ie replace the ancient BDB for some spiffy new Google product they caused an insta-hardfork of the entire network, something that might as well have never healed and probably won't, next time it happens. Let's reminisce a little
This matter was apparently for the first time discussed here, which is in itself ridiculously late, but the recent events illustrate the need of having the various issues much more clearly delineated.
Recently Bitcoin came close to unmitigated disaster, in the following way: Gavin diplomatically suggested that miners increase their block size, from the previous magic number of "250k" to something they themselves pick. This approach is flawed: the solution to the problem of having a magic number in the code is not passing the responsibility of choosing it to a larger group. It may work politically, in the sense that where large, vague groups are responsible for a bad move nobody will ever be hung. It does not work practically.
This point does not begin to get sufficient emphasis: stop thinking politically, stick to thinking practically. The political importance, usefulness or competence of a dev is nil. This is not your job, and more importantly this is one of the things you suck at the most. A casual skim through the -dev sessions is ample proof for this, more ridiculous dickwad posturing and knowshitism has never before been seen (outside of the mailing lists of some meanwhile failed open source projects). Snap out of it. Stick to writing code.
But we digress: as a result of a number of miners implementing their own version of a magic miner, a number of large blocks were created and mined by them, as long as they ran 0.8. Miners running 0.7 failed to mine these same blocks, and a fork developed.
The reason is that Bitcoin code sucks. It's not that "the blocksize", it's not that "the database", it's not that "nobody could have foreseen their using a plane like a rocket". That shit does not belong in this discussion, passing the buck is not and cannot be accepted in Bitcoin. The reason is that Bitcoin code sucks, and Bitcoin code sucks because people want to be Bitcoin devs, people want to call each other Bitcoin devs, people want to participate in idle irc chatter as if they in fact were Bitcoin devs, but those same people do not have either the ability or intellectual resources to write dependable, usable, good, clean code.
This is a problem, and this problem needs to be resolved, preferably by the people who are causing it. You know yourselves, I won't name and shame. Fix your heads. You won't be getting much more warning.
Today will go down in history as the day when Bitcoin nearly died, and its fate depended on BTC-Guild staying online. Stop and think for a minute. What are you doing here? Why are you here, really?
That final question controls the matter. What are these people doing here ? Why are they here, really ? As I was saying, I originally thought Gavin is here by accident, pretty much, and he's here to try and keep things sort-of not going anywhere so thus they can't go anywhere bad, while the rest of the idiots - not really distinct enough to merit individual nomination - are just there in the hopes that some cool may rub off the project and ennoble their otherwise unbearbly marginal, pointless lives. You know, like Taaki.
However, it seems I was sorely mistaken. Consider the latest from Gavin :
Thumbnail sketch: Two-factor (Yubikey or Google Authenticator) protected wallets
Hardware:
Computer. Shared-secret authenticator (Yubikey/Google Authenticator/etc). Server (possibly shared with millions of other users).
Motivating use case setup:
User creates a split (2-of-2 multisig) wallet on the computer and server. Keys must be securely backed up to protect against lost. GUI to be determined, but there will be some type of "Use Authenticator" checkbox specified at setup.
User also arranges for the server to know the shared secret with the shared-secret authenticator.
Motivating use case, usage:
Coins are sent into the wallet via P2SH 2-of-2 address(es).
On spend, user is prompted for authenticator one-time-password (OTP). If it is correct, second signature is created and payment is made immediately, with no further interaction required(*). If incorrect, no payment made (server should inform user of the invalid payment attempt).
(*) server might offer to further validate high-value transactions via SMS or DNA sample submission or some other authentication method. And server might enforce rules to limit BTC sent per 24-hours or have other protections.
As you can imagine, I'm outraged.
It's quite plain to anyone with a clue that 2FA/GA/whatever is roughly speaking the equivalent of the Windows antivirus, or more classically of the "spray some holy water on it". Originally it was devised to patch a fundamentally broken security systemii and it works about as well as you'd expect a patch to a fundamentally broken security system to work. It doesn't do anything for security, but it does a lot for security theater, and so it's incredibly popular among the fetishistic mass, which feels a lot safer if it has something to physically clutch. Win-win, right ?
Under the guise of this nonsense, which offers no value, no utility and no benefit, Gavin artfully inserts the proposal of utterly breaking Bitcoin. Having a server allow your transactions is simply taking Bitcoin and turning it back into PayPal. Does your government want a way to block Bitcoin transactions, Gavin ? Does all this come as part of the deal to let fatass fractional banker Karpeles outside of the pen once twice a week ? Is it because you're the cumrag of that Foundation thingee them scammers got going that you "have to" do this ? Has your misplaced pride of not calling me boss put you in this position where you don't have to call anyone boss just as long as you, to quote,
'I betrayed you,' she said baldly.
'I betrayed you,' he said.
She gave him another quick look of dislike.
'Sometimes,' she said, 'they threaten you with something -- something you can't stand up to, can't even think about. And then you say, "Don't do it to me, do it to somebody else, do it to So-and-so." And perhaps you might pretend, afterwards, that it was only a trick and that you just said it to make them stop and didn't really mean it. But that isn't true. At the time when it happens you do mean it. You think there's no other way of saving yourself, and you're quite ready to save yourself that way. You want it to happen to the other person. You don't give a damn what they suffer. All you care about is yourself.'
'All you care about is yourself,' he echoed.
You're a heel, Gavin. I had not this idea about you, originally, but you're a heel, and you're despicable.
And we're no longer friends. Fuck you.
PS. Obviously you my dear reader have little reason to care about how I feel. However, if you care at all about your Bitcoin and what all that means, the idea is to pick an older client and stick to that. Never upgrade, ever. 4.x should be reasonably safe. If you mine, use deepbit, they don't upgrade either. I used to think this is a little silly, but I see the guy understood more than me much before me. And finally, if you're one of those better guys, even should you read this a decade or a century after I'm dead, please, specify the damned thing.
———- This thing is still a pretend NGO that takes donations from the public but never showed anyone any accounts, let alone publish them. It still enjoys a chairman that's also its treasurer and also the unsuccessful half-brain behind a number of failed ventures, a guy that uses the donated Bitcoin to prop up that crap and what's worse - with no visible benefit whatsoever. To cherry the cake, the recent SEC lawsuit in Texas clearly shows they've failed utterly in their only stated goal, as they've clearly not been educating anyone worth a shit. [↩]
- The "website login", or in other words an attempt of making stateful connections over a stateless protocol. What can I say, it works good enough for the original use case, which was something to do with blogs cca 1995, ie back when nobody read them or cared. [↩]