Pages:
Author

Topic: In re Bitcoin Devs are idiots (Read 25374 times)

hero member
Activity: 644
Merit: 500
April 09, 2013, 09:46:04 PM
jgarzik
Quote
In an unfunded open source project, arguing all day about the lack of full-engineering-team rigor is entirely wasted energy.  Blame the dev team if that is your favorite target, that will not magically create extra time in the day or extra manpower to accomplish these extra tasks being demanded by non-contributors.

Is this what is supporting bitcoin? What happens when they all decide they want to work on some other project? I know I am not fully understanding bit coin but someone who like driving a bus and wants to drive a bus better be driving the bus.

I'm amazed it has gotten this far to be honest.

anyways you all can go back to ignoring the noob.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
March 18, 2013, 05:31:59 AM
The risk is that v0.7 nodes would be vulnerable to attacks by double spends, 51% attacks and accepting newly generated coins from the incompatible v0.7 generation blocks.

Actually this is incorrect.  The Satoshi client goes into safe mode when it notices that a branch it believes is invalid has become the longest one by more than 6 blocks.  This actually happened to the 0.7 clients, which is what Pieter Wuille is talking about here in the original fork announcement:

If you're on 0.7 or older, the client will likely tell you that you need to upgrade.

Some more details and links to the code are here if you are interested.
hero member
Activity: 756
Merit: 522
March 15, 2013, 03:33:14 PM
What does this even mean? "independent devs doing it". Dependent on what/whom? If you'd had 100 variants of the original Satoshi client all being developed and bug fixed separately and 100 variants of the mining software all being developed and bug fixed separately then we'd have had many more hardforks by now, with no-one really knowing anymore which is the true bitcoin. Do you go by the first version of the client which allowed anyone to give themselves a billion (well, a lot) bitcoins? Or some arbitrary version someone developed based on that? It simply wouldn't work. Bitcoin needs a majority client in order to not hard fork, and therefore in this sense, it can never be decentralised. The developers of this majority client will always have the power and can make decisions to change what bitcoin is whenever they like. For example, let's say they decide to increase the blocksize from 1MB to 10MB. Who's going to stop them? The users downloading bitcoin-qt? I suspect not. Most people just download it and use it without caring what changes are going on. Yes, we were supposed to be able to vote with our feet, but the people who actually do that are usually in the minority and so will lose.

Considered, yes. One problem is the centralization issue stemming from that approach. The one correct way to handle Bitcoin development is exactly as designed: independent devs doing it. The problem is that instead of doing it they spend their time opining on things that utterly ain't their business.

I don't hold myself responsible for your endless string of presupositions. You think they're true, that's fine, I don't happen to care and it doesn't happen to matter.

I don't argue a given horse.
I argue that if someone volunteers to do programming for a whole community you should give them some respect. The more because you do not or cannot do this work. This whole community, including you, voluntarily uses the fruits of their labour mostly without compensating them.
 Calling them idiots and slaves like you did is just pretty fucking disrespectfull.

I am giving them *some* respect.

Rehashing a defeated (and mostly nonsensical) argument in new terms doesn't lead it more credence.
hero member
Activity: 840
Merit: 1000
March 15, 2013, 08:39:33 AM
Noone is actually forcing you to talk about this stuff. Using bitcoin is entirely your own choice and your own risk.
Unless you actually contribute you're nothing but a joke when you bitch about stuff not being fixed.
Fix it yourself or STFU and GTFO...

Nobody needs you.
Let me rephrase this:
The bitcoin community does not need you or your bitching.
In fact, i bet this community will be better off without narcissistical personalities like yours that see idiots everywhere except in the mirror.

I thought we got past the "gift horse in the mouth" argument a while back.

Attacking me doesn't make idiots less idiotic.

I don't argue a given horse.
I argue that if someone volunteers to do programming for a whole community you should give them some respect. The more because you do not or cannot do this work. This whole community, including you, voluntarily uses the fruits of their labour mostly without compensating them.
 Calling them idiots and slaves like you did is just pretty fucking disrespectfull.
newbie
Activity: 26
Merit: 9
March 15, 2013, 08:10:07 AM
What does this even mean? "independent devs doing it". Dependent on what/whom? If you'd had 100 variants of the original Satoshi client all being developed and bug fixed separately and 100 variants of the mining software all being developed and bug fixed separately then we'd have had many more hardforks by now, with no-one really knowing anymore which is the true bitcoin. Do you go by the first version of the client which allowed anyone to give themselves a billion (well, a lot) bitcoins? Or some arbitrary version someone developed based on that? It simply wouldn't work. Bitcoin needs a majority client in order to not hard fork, and therefore in this sense, it can never be decentralised. The developers of this majority client will always have the power and can make decisions to change what bitcoin is whenever they like. For example, let's say they decide to increase the blocksize from 1MB to 10MB. Who's going to stop them? The users downloading bitcoin-qt? I suspect not. Most people just download it and use it without caring what changes are going on. Yes, we were supposed to be able to vote with our feet, but the people who actually do that are usually in the minority and so will lose.

Considered, yes. One problem is the centralization issue stemming from that approach. The one correct way to handle Bitcoin development is exactly as designed: independent devs doing it. The problem is that instead of doing it they spend their time opining on things that utterly ain't their business.
hero member
Activity: 756
Merit: 522
March 14, 2013, 01:39:27 PM
Noone is actually forcing you to talk about this stuff. Using bitcoin is entirely your own choice and your own risk.
Unless you actually contribute you're nothing but a joke when you bitch about stuff not being fixed.
Fix it yourself or STFU and GTFO...

Nobody needs you.
Let me rephrase this:
The bitcoin community does not need you or your bitching.
In fact, i bet this community will be better off without narcissistical personalities like yours that see idiots everywhere except in the mirror.

I thought we got past the "gift horse in the mouth" argument a while back.

Attacking me doesn't make idiots less idiotic.
hero member
Activity: 840
Merit: 1000
March 14, 2013, 07:14:10 AM

By the time I have to talk about Bitcoin coding issues the ball has been dropped so far by so many people so many times it's not even funny anymore. So let's have a simple fix: PEOPLE QUIT BEING IDIOTS and I'll be happy to never have to post in this subsection of the forum ever again.


Noone is actually forcing you to talk about this stuff. Using bitcoin is entirely your own choice and your own risk.
Unless you actually contribute you're nothing but a joke when you bitch about stuff not being fixed.
Fix it yourself or STFU and GTFO...

Nobody needs you.
Let me rephrase this:
The bitcoin community does not need you or your bitching.
In fact, i bet this community will be better off without narcissistical personalities like yours that see idiots everywhere except in the mirror.
hero member
Activity: 756
Merit: 522
March 14, 2013, 06:52:42 AM
Holy fuck!  I'm talking WAY, WAY, WAY, WAY beyond my area of expertise.  I hope that I don't get humiliated by like 90 guys that actually understand what I'm talking about.

Shit.  You all beat me to it.

Smartass, this thread is actually earlier than the devteam announcement. Stopped to think about that for a second?

@MPOE-PR
What about making the reference some text sticking to RFC rules? I really think this is not easy but worth the effort.
You even could go for support of the BF to do this.

That's kinda the plan, roughly speaking.
newbie
Activity: 37
Merit: 0
March 14, 2013, 03:55:48 AM
@MPOE-PR
What about making the reference some text sticking to RFC rules? I really think this is not easy but worth the effort.
You even could go for support of the BF to do this.
sr. member
Activity: 369
Merit: 250
March 14, 2013, 02:26:01 AM
Another way to state the real problem: There is no Bitcoin Protocol Spec, most semantics buried in the hairball of the C++ reference implementation

That would be correct. It's a huge issue.

hero member
Activity: 756
Merit: 522
March 13, 2013, 06:17:48 PM
Just an FYI, "the real" to-spec-or-not-to-spec discussion has probably moved back into its newly re-activated "canonical" BPS Thread

Here https://bitcointalksearch.org/topic/m.1621672

Cheers ...

Due to the recent changes implemented by theymos I would not trust to post in a thread I've not started. Sorry.
full member
Activity: 209
Merit: 100
March 13, 2013, 06:08:00 PM
Just an FYI, "the real" to-spec-or-not-to-spec discussion has probably moved back into its newly re-activated "canonical" BPS Thread

Here https://bitcointalksearch.org/topic/m.1621672

Cheers ...
hero member
Activity: 756
Merit: 522
March 13, 2013, 05:52:50 PM
Pieter is wrong. Point blank. It would be the implementation, not the specification, that is broken.

But the collective software rules are always the final specification, by definition.  That is what bitcoin does, achieve consensus.

This is a red herring. In a heterogenous environment your statement would stand. In a broken single-implementation that you folks have by now become painfully unable to maintain, this is not at all true. Currently, the "rules" is what you manage to con irresponsible pool operators into implementing (and they ARE irresponsible, and mining power should not be concentrated with the sort of clueless noobs either, but that is a different discussion).

Again, the fact that you happen to be buddy-buddy with Tammany Hall Guild does NOT lend your mistaken, misguided and ultimately idiotic pseudosolutions the veneer of some sort of democratic or distributed process. Claiming otherwise is at the very best naive, but even then it's awfully selfinterested naiveté.

Stop claiming that the broken code you people keep spewing is "solving" anything. It is not, and especially not lofty things such as the dcp. So far you have trouble configuring the world's simplest, cheapest and most widely deployed database system.

And when that failure of yours comes to bite you in the ass the response is that BDB was buggy? At this level one could hire a better dev team just by trolling general ubuntu support forums and teaming up all the douches with unanswered support questions.

Forget the delusions of grandeur. See a and b above, #71.

Okay, so, requirements specification:

1) Without producing zero-day exploits,

2) The network achieves consensus as to which blockchain fork is the "correct" one,

3) By means of ...

-MarkM-

...by means of having a specification that is independently implemented so that broken implementations such as each and every version so far produced of this so called "reference" client fail to cause the massive problems that they have so far caused on each and every release.

I'm not sure this is getting through the fog of their own farts, but the group of power rangers has so far:

1. Not produced one single brilliant solution to any actual problem.
2. Stepped in a majority of the holes, landmines and caltrops available.

1 is of particular concern, especially because it is so easily disprovable.
legendary
Activity: 2940
Merit: 1090
March 13, 2013, 05:28:10 PM
Okay, so, requirements specification:

1) Without producing zero-day exploits,

2) The network achieves consensus as to which blockchain fork is the "correct" one,

3) By means of ...

-MarkM-
legendary
Activity: 1596
Merit: 1091
March 13, 2013, 05:19:43 PM
(copied from misterbigg's thread)

As Pieter wrote on bitcoin-development list,

Quote
The protocol is whatever the network enforces - and that is some mix of versions of the reference client right now, but doesn't need to remain that way.

I would very much like to have a text book of rules that is authorative, and every client that follows it would be correct. Unfortunately, that is not how a consensus system works. All (full) clients validate all rules, and all must independently come to the same solution. Consensus is of utmost importance, more than some theoretical "correctness". If we'd have a specification document, and it was discovered that a lot of nodes on the network were doing something different than the document, those nodes would be buggy, but it would be the specification that is wrong.

Or restated:  The fundamental problem being solved by bitcoin at a technical level, on a daily basis, is the distributed consensus problem (link).

We fully support the writing of specifications and documentation, which you can see here
    https://en.bitcoin.it/wiki/Protocol_specification

And changes to the existing protocol are formally documented here,
    https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals

Ultimately the operational definition of consensus comes from what the network accepts/expects, not a theoretical paper.  Specification practices are healthy as a manual, human-based method of achieving consensus on network protocol rules.  Alternate client implementations (c.f. heterogeneous environment) are another good practice.

But the collective software rules are always the final specification, by definition.  That is what bitcoin does, achieve consensus.

A few other observations:

Gnutella had a business and project environment with co-motivated individuals working on a few key codebases.  The reference codebase in bitcoin, in contrast, has one paid developer (Gavin@BF) and a few part time unpaid volunteers.

All the big bitcoin businesses seem to either (a) contribute to BF, (b) use bitcoind without contributing back any testing/dev/specification resources, or (c) do their own thing entirely, not contributing back any testing/dev/specification resources.

Bitcoin is a thing, an invention, not a funded project with a built-in set of professionals paid to ensure full spec/dev/test engineering effort.  If you want something, DO IT.  You cannot expect the engineering resources to do X to magically appear, just because you complained on an Internet forum.

In an unfunded open source project, arguing all day about the lack of full-engineering-team rigor is entirely wasted energy.  Blame the dev team if that is your favorite target, that will not magically create extra time in the day or extra manpower to accomplish these extra tasks being demanded by non-contributors.

The time spent whining about what an unfunded effort fails to do could be better spent, say, creating a test network of full nodes running all known bitcoind versions, 0.3 through present.  And test, test, test changes through that.

hero member
Activity: 756
Merit: 522
March 13, 2013, 05:02:24 PM
In fact, if you were a malicious mining pool operator you could do that now with a pre-0.8 version and fork the chain the same as 0.8.

Probably not, because all the pre-.8 clients would uniformly reject that block, which includes most of the miners since they've downgraded. A lock-blocking block could be manufactured just fine, but it would not likely end up as anything more than a 1 block deep orphan.
hero member
Activity: 840
Merit: 1000
March 13, 2013, 06:51:05 AM
Instead you resort to taunts, name-calling, arrogance, and general pompous asshat dickery.


LOOOOOOOL
General pompous asshat dickery is EXACTLY what i have against MPOE-PR!

Generally the pompousness is dripping off of the OP in a peculiarly dickery matter.

And once such a tone is set you can expect people to pick up on it.
So if you want to address general pompous asshat dickery you may very well want to start at the root of the problem, the OP.
legendary
Activity: 2940
Merit: 1090
March 13, 2013, 05:05:28 AM
There is a max number of inputs and/or outputs a block of a specified size could possibly contain, so that, plus the number of transactions it itself contains, bounds the number of transactions it could possibly touch. Double that to account for needing to process two blocks at the same time when doing a re-org. Then add some fudge factor, or double again or something, to account for any margin of error you think your calculations might have.

Hopefully the configuration even lets you specify the page size you want BDB to use, so that you don't have to know the block size of the underlying block-device in order to do these calculations.

As to being arsed, it is only an experiment and only involves less than a billion dollars or so so yeah, time enough for that when the experiment has determined whether there is any point in building a real implementation of something along the lines of what the experiment is attempting. Smiley Cheesy

-MarkM-
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
March 13, 2013, 04:50:50 AM
Yes, but, the max lock limit impacts the size of blocks you can handle, because larger blocks are able to touch more transactions thus need more locks.

So presumably the size of blocks to allow miners to create should, if your theory of predictability holds water, be computable from the number of locks, in which case the -blockmaxsize RPC call ought not to have allowed miners to specify a block max size large enough need more locks than the BDB had been configured to permit.

-MarkM-


I think that size of the block (total size of all tx) and number of locks required is only loosely correlated ... so raising the block size limit made it more likely that the default lock limit would be hit, but not predictably.

If you constructed a block just so, i.e. it has more than 5000 locks required, it will predictably recreate a defective block.

In fact, if you were a malicious mining pool operator you could do that now with a pre-0.8 version and fork the chain the same as 0.8.

Bitcoin is vulnerable in the current state ... security through obscurity it seems, because someone would need to be arsed to figure out how these lock limits work so they can attack the chain.

I could go on but I think I might be saying too much already.
legendary
Activity: 1470
Merit: 1005
Bringing Legendary Har® to you since 1952
March 13, 2013, 04:48:35 AM
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.

(...) blah blah blah (...)

(...) some bullshit (...)

From the posts of yours i would rather say that you are an idiot, not the devs. And a troll.

This is an open source project for a reason. Use the source, luke.
If you don't like the default Bitcoin client, make a better one yourself. Or pay for the features you want.

(Or you could just shut up & die).
Pages:
Jump to: