Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: cjp on September 27, 2012, 08:39:04 PM



Title: The political structure of Bitcoin
Post by: cjp on September 27, 2012, 08:39:04 PM
The recent discussion about the founding of the Bitcoin foundation made me think that we need more clarity in the discussion about power and decision-making within the Bitcoin ecosystem. In my view, Bitcoin, like any system of human interaction, allows people to exert some degree of power over each other, thereby reducing their liberty to some degree. This basically happens whenever the consequences for one person's life are not (just) the result of that person's own actions, but (also) the result of another person's actions. I tend to judge systems by their ability to continuously minimize this reduction of liberty.

So far, Bitcoin seems to do a very good job. However, even the best systems in history have shown to be vulnerable to decay into less liberal systems, and if the same is true for Bitcoin, we need good education and continuous vigilance to keep the system as good as it is now. Therefore, I'd like to explore how Bitcoin works politically, as opposed to its technological or economical functioning, which is discussed a lot in other threads.

To kick off the discussion, I'd like to draw an analogy between Bitcoin and a familiar political system, the representative democracy (https://en.wikipedia.org/wiki/Representative_democracy):

Bitcoinrepresentative democracy
minervoter
pool operatorrepresentative
hashing powernumber of votes
software developerspolicy writers
Bitcoin foundationlarge body of policy writers, receiving donations from industries and listening to the opinion of industries

These are some of the "policies", which are encoded in the software, and on which people vote:
  • How large is the block reward for a given block? (basically block reward = inflation = property tax)
  • Which transactions are accepted and which are rejected? (currently based only on input correctness and correct transaction balance, but could be based on anything, e.g. AML policies)

Now that we have some experience where the monetary policies of representative democracies can bring us, I think it's important to be aware of the similarities between that and Bitcoin, both in strength and weakness. What do we need to keep the Bitcoin system from decaying?


Title: Re: The political structure of Bitcoin
Post by: Rothgar on September 27, 2012, 08:43:15 PM
There is no vote on the block reward.  It's determined before the first hash.

The minors don't "vote" on which transactions to accept.  Each minor chooses to accept a transaction or not.  There is no need to have a majority. 


Title: Re: The political structure of Bitcoin
Post by: Atlas on September 27, 2012, 08:46:09 PM
It works as-is. We need no additions or power structures.


Title: Re: The political structure of Bitcoin
Post by: jgarzik on September 27, 2012, 08:46:22 PM
This is incorrect.

Bitcoin client users vote by accepting or rejecting P2P network transactions to relay and include in blocks.  Each bitcoin client validates the block chain independently.  This is why bitcoin is decentralized.

Miners have power to include or exclude transactions in blocks.  Thus, a super-powerful miner may DoS the network by excluding all transactions, but they cannot change the rules.

The collective will of the bitcoin clientbase dictates the rules for validating blocks and transactions.



Title: Re: The political structure of Bitcoin
Post by: hazek on September 27, 2012, 08:58:36 PM
I think drawing any analogies from our current political system to Bitcoin is a fallacy and allow me to show you how:

Bitcoinrepresentative democracy

Not true, a democracy is a system where the majority sets the rules everyone is forced to obey. No one is forced to obey Bitcoin's rules, you can simply change them and use your own on your own fork.
minervoter

Not true, a miner is a validator, just like any other user who runs a Bitcoin client. If miners were really voters than those who'd vote differently would be forced to follow the majority's rules and yet I just explained anyone is able to create a fork with their own rules they wish to validate.
pool operatorrepresentative

Not true, representatives' obligation is to represent their constituency, pool operators have no such obligation to anyone, they merely offer a service anyone is free to purchase or not.
hashing powernumber of votes

Not true, because as I explained mining isn't voting therefor hashing power isn't the number of votes.

software developerspolicy writers

Not true, policy is a rule enforced on all, software developers are merely writing software code anyone can chose to use therefor they do not write policy and cannot be policy writers.

Bitcoin foundationlarge body of policy writers, receiving donations from industries and listening to the opinion of industries

Not true, since there are no policy writers, there can be no large body of policy writers. However it is an organization - a layer on top of the code that is the core Bitcoin protocol - and offers a service this community is free take advantage off or not.


One more time, no one is forced to do anything in Bitcoin which is basically why you can't draw a single valid analogy with a system that at it's core does exactly that.


Title: Re: The political structure of Bitcoin
Post by: FreeMoney on September 27, 2012, 08:59:26 PM
Merchants decide what they value. Miners can create whatever non-Bitcoin blocks they want but merchants won't want them at all. Miners are employees not voters if you need an analogy.


Title: Re: The political structure of Bitcoin
Post by: Stephen Gornick on September 27, 2012, 09:08:43 PM
Bitcoinrepresentative democracy
minervoter
pool operatorrepresentative
hashing powernumber of votes
software developerspolicy writers
Bitcoin foundationlarge body of policy writers, receiving donations from industries and listening to the opinion of industries


That does not include the absolutely most important entity -- the entity which gives a bitcoin any value whatsoever.  

Which entity is this?   The party that is willing to give up something of value in exchange for a bitcoin.

Only through consensus from the economic majority do any of the others matter.

In other words, the miners, pool operators, majority of hashing strength, software developers and the Bitcoin Foundation can do whatever they want.  But if "their" blocks are rejected by the economic majority, they have no power.   Period.

So the economic majority comes from those who have bids on the exchanges.  And also the merchants willing to trade goods and services for bitcoins.  And the over-the-counter traders and investors willing to exchange their cash for coins.  etc.



Title: Re: The political structure of Bitcoin
Post by: fellowtraveler on September 27, 2012, 09:23:28 PM
Bastiat wrote:

Life, liberty, and property do not exist because men have made laws. On the contrary, it was the fact that life, liberty, and property existed beforehand that caused men to make laws in the first place.

What, then, is law? It is the collective organization of the individual right to lawful defense.

Each of us has a natural right — from God — to defend his person, his liberty, and his property. These are the three basic requirements of life, and the preservation of any one of them is completely dependent upon the preservation of the other two. If every person has the right to defend even by force — his person, his liberty, and his property, then it follows that a group of men have the right to organize and support a common force to protect these rights constantly. Thus the principle of collective right — its reason for existing, its lawfulness — is based on individual right. And the common force that protects this collective right cannot logically have any other purpose or any other mission than that for which it acts as a substitute. Thus, since an individual cannot lawfully use force against the person, liberty, or property of another individual, then the common force — for the same reason — cannot lawfully be used to destroy the person, liberty, or property of individuals or groups.

Such a perversion of force would be, in both cases, contrary to our premise. Force has been given to us to defend our own individual rights. Who will dare to say that force has been given to us to destroy the equal rights of our brothers? Since no individual acting separately can lawfully use force to destroy the rights of others, does it not logically follow that the same principle also applies to the common force that is nothing more than the organized combination of the individual forces?

If this is true, then nothing can be more evident than this: The law is the organization of the natural right of lawful defense. It is the substitution of a common force for individual forces. And this common force is to do only what the individual forces have a natural and lawful right to do: to protect persons, liberties, and properties; to maintain the right of each, and to cause justice to reign over us all.

A Just and Enduring Government

If a nation were founded on this basis, it seems to me that order would prevail among the people, in thought as well as in deed. It seems to me that such a nation would have the most simple, easy to accept, economical, limited, nonoppressive, just, and enduring government imaginable — whatever its political form might be.


Title: Re: The political structure of Bitcoin
Post by: cjp on September 27, 2012, 09:33:54 PM
It works as-is. We need no additions or power structures.

I definitely don't suggest to deliberately add power structures, I just want to identify power structures that are already present, and maybe identify power structures that could emerge in the future if we aren't careful. I want to introduce some critical thinking against the religious belief that Bitcoin is perfect and will always be what it is now even if we don't guard is carefully.

Maybe my idea about "voting on policies" becomes more clear if you try to imagine what would happen if some disagreement on these policies emerges within the Bitcoin community. As a simple example, let's imagine that
  • a part of the community thinks the block reward should never be halved
  • this fraction of the community implements their opinion in a patched version of the Bitcoin software
  • they connect to the Bitcoin P2P network and start mining with their own software
  • If I understand correctly, this will create a block chain fork
  • Depending on which fraction has the hashing power majority, one of the chains becomes longer (in terms of total difficulty)

Now I'm not sure whether the Bitcoin software always selects the longest chain, or whether it selects the longest chain which it considers to be valid (only contains valid transactions & so on). Of course, different clients could behave differently even on this point. The first system would give a "winner takes all", just like traditional democratic government systems, while the second system would "fork the currency"; being roughly equivalent to a country splitting into two smaller countries whenever there is a major disagreement.

@ Hazek 08:58:36 PM:
Please scan your post for all occurrences of "force", "enforce" and similar words. It sounds a bit contradictory to me, but maybe I don't understand. If "a miner is an enforcer", then what does he enforce, and upon who?

Like most analogies, mine is not perfect, but I still think there are many similarities. To clarify it a bit further:
If a piece of Bitcoin software is computer-encoded policy, then pool operators can vote for or against that policy by using or not using that piece of software. Non-pooled mining is like a direct democracy, where miners vote directly for / against policy (here, policy is whatever software the miners themselves decide to use). Pooled mining is like a representative democracy, where the pool operator is the representative, and miners vote for him by joining the pool. I don't know the exact details of how pools typically operate, and this may be different for different pools, but I can imagine that some decisions are made by the pool operator and some are made by the individual miners.

About the decision on the economical value of Bitcoin: I think this is not different from any other economic item. In that sense it's not different from dollars, euro's, gold, chickens, computer memory, or even from non-scarce items, such as copies of publicly available information. I think value is subjective, and is a matter of individual belief and/or trade-off; nobody can force you to value something in a certain way.  Of course it might be possible in a non-free market that somebody forces you to perform a transaction that goes against your belief of the value of the exchanged items. If you think such forced transactions are possible in the Bitcoin system, that can be part of the discussion in this thread.


Title: Re: The political structure of Bitcoin
Post by: cjp on September 27, 2012, 10:06:40 PM
I think I have more or less clear what the "Bitcoin monetary policy" decides: it decides the distribution of purchasing power within the Bitcoin community. For instance:
  • Block rewards increase the fraction of bitcoins "owned" by the miners who received them, thereby increasing their purchasing power and reducing others' purchasing power
  • if all of someone's transactions are being blocked by miners, the blocked person effectively has no purchasing power. Currently this happens based on whether you can create the "scriptsig" for an unspent transaction output, but any criterium could be used in theory.
  • If the block chain forks because of a disagreement, "old coins" give their owners purchasing power in both new communities, while "new coins" might only give purchasing power in one of the communities
  • When more people join the Bitcoin community, the total productivity of the Bitcoin community grows. The consequence of this is that an equal fraction of the Bitcoin purchasing power corresponds to an increasingly large value in terms of other items

I think the current policy is quite reasonable, although in my opinion the block reward should not be reduced to zero(*). I think it is possible to change this policy into nearly anything in the future, if there is consensus about it: look e.g. at the introduction of P2SH. The question is: which parties need to work together in order to create a policy change?

(*) since I'm afraid that it will bring mining difficulty, and hence security of bitcoins, to zero as well. I consider it fair to have a small "property tax" to give to those who protect your property. Anyway, that's another discussion; please consider this to be a small clarification of my personal opinion; discussing it further in this thread would be off-topic.


Title: Re: The political structure of Bitcoin
Post by: jgarzik on September 27, 2012, 11:01:17 PM

Adding new features or policies can and does happen.  See, e.g. BIP 34 (https://en.bitcoin.it/wiki/BIP_0034), which adds the block height to the coinbase transaction found in each block.

Minor feature changes that do not cause a hard fork are feasible.  Anything that requires a hard fork requires major software upgrades and major community consent.  An intentionally high barrier.



Title: Re: The political structure of Bitcoin
Post by: misterbigg on September 28, 2012, 04:29:25 AM
A lot of good responses in this thread especially from Hazek, fellowtraveler, and S. Gornick.

But people are totally missing the point here. The problem is not with the software or the protocol, the existing workflow and approval process already works spectacularly well. Thanks to all the developers and testers who have been working away on that!

The problem comes when a small group of people take it upon themselves to be the "face of Bitcoin" and start speaking for the rest of the community. Do they speak out against Silk Road? Do they condemn political extortion attempts? Do they comment on the thefts and fraud? Do their answers reflect on everyone's opinion? These are the real issues.


Title: Re: The political structure of Bitcoin
Post by: BkkCoins on September 28, 2012, 07:16:22 AM
I think today like many of us the OP is trying to figure just where the power flows thru Bitcoin - an attempt to assess just what the Foundation means and where it is vulnerable to abuse. I wholly agree with trying to get this out in the open so we all know what can cause what and with who's consent.


Title: Re: The political structure of Bitcoin
Post by: unclescrooge on September 28, 2012, 08:02:44 AM
Representative democracy, you mean that thing that works so well right now?

No, thank god bitcoin is not a democracy.


Title: Re: The political structure of Bitcoin
Post by: hazek on September 28, 2012, 08:43:34 AM
The problem comes when a small group of people take it upon themselves to be the "face of Bitcoin" and start speaking for the rest of the community. Do they speak out against Silk Road? Do they condemn political extortion attempts? Do they comment on the thefts and fraud? Do their answers reflect on everyone's opinion? These are the real issues.


Why would that be a problem? This small group of people has decided to offer a service, we are not forced to pay. We can pay, or we can pay their competitor or we can keep our money therefor we, each of us, have the power.

I think, although I dislike how the foundation is governed (corporate + founders = always majority), I still think it's ok for them to offer this service. As long as the code remains open source, as long as miners remain independent and as long as users pay attention and stay vigilant before downloading any new version of the Satoshi client, Bitcoin Foundation can only benefit Bitcoin.


Title: Re: The political structure of Bitcoin
Post by: The_Duke on September 28, 2012, 08:47:54 AM


As long as the code remains open source, as long as miners remain independent and as long as users pay attention and stay vigilant before downloading any new version of the Satoshi client, Bitcoin Foundation can only benefit Bitcoin.

Wow, that is quite some conditions, some of which I feel are guaranteed not to be met. (Especially the ones relying on users).


Title: Re: The political structure of Bitcoin
Post by: hazek on September 28, 2012, 08:50:49 AM


As long as the code remains open source, as long as miners remain independent and as long as users pay attention and stay vigilant before downloading any new version of the Satoshi client, Bitcoin Foundation can only benefit Bitcoin.

Wow, that is quite some conditions, some of which I feel are guaranteed not to be met. (Especially the ones relying on users).

I'm sorry to break it to you but there is no system that will fight and protect your personal sovereignty for you. You have to do it yourself.


Title: Re: The political structure of Bitcoin
Post by: benjamindees on September 28, 2012, 09:29:45 AM
The Inflatacoin trolls will never give up.


Title: Re: The political structure of Bitcoin
Post by: The_Duke on September 28, 2012, 11:18:14 AM


As long as the code remains open source, as long as miners remain independent and as long as users pay attention and stay vigilant before downloading any new version of the Satoshi client, Bitcoin Foundation can only benefit Bitcoin.

Wow, that is quite some conditions, some of which I feel are guaranteed not to be met. (Especially the ones relying on users).

I'm sorry to break it to you but there is no system that will fight and protect your personal sovereignty for you. You have to do it yourself.

Ok, thanks for that total irrelevant comment, I'll log it away.

Basically what you are saying is that the only way this bitcoin foundation can benefit bitcoin is if all bitcoin users pay good attention and guard themselves against abuse by the foundation of its "powers".
Sounds like a great start for the foundation!  :-\


Title: Re: The political structure of Bitcoin
Post by: Technomage on September 28, 2012, 12:09:24 PM
This is incorrect.

Bitcoin client users vote by accepting or rejecting P2P network transactions to relay and include in blocks.  Each bitcoin client validates the block chain independently.  This is why bitcoin is decentralized.

Miners have power to include or exclude transactions in blocks.  Thus, a super-powerful miner may DoS the network by excluding all transactions, but they cannot change the rules.

The collective will of the bitcoin clientbase dictates the rules for validating blocks and transactions.

+100

The OP is stupid and ignores the user completely. The userbase is, in fact, in total control over Bitcoin. This will apply even after the "Bitcoin Foundation". The users can simply start Bitcoin 2.0 with a different structure if they wish, at any time.


Title: Re: The political structure of Bitcoin
Post by: Technomage on September 28, 2012, 12:11:32 PM
Why would that be a problem? This small group of people has decided to offer a service, we are not forced to pay. We can pay, or we can pay their competitor or we can keep our money therefor we, each of us, have the power.

I think, although I dislike how the foundation is governed (corporate + founders = always majority), I still think it's ok for them to offer this service. As long as the code remains open source, as long as miners remain independent and as long as users pay attention and stay vigilant before downloading any new version of the Satoshi client, Bitcoin Foundation can only benefit Bitcoin.

+1

This is why I'm only joining the Foundation for 1 year. They have to earn any money I send to them after the first year. Bitcoin users and the community can always found new foundations and even dump the whole dev team if they feel like it, users need to be reminded that ultimately they are in power and everyone else is serving them.


Title: Re: The political structure of Bitcoin
Post by: cedivad on September 28, 2012, 12:39:04 PM
Thank god that this thread hasn't evolved into an "yes, here are my shares of votes and I want this and this" excalation.


Title: Re: The political structure of Bitcoin
Post by: misterbigg on September 28, 2012, 02:10:26 PM
Why would that be a problem? This small group of people has decided to offer a service, we are not forced to pay.

Q: "Who is developing the Bitcoin software?
A: "The Bitcoin Foundation manages the central repository for the official Bitcoin client, as well as the alert key."

Q: "There have been many hacks resulting in the loss of Bitcoin, what are you doing about that?"
A: "The Bitcoin Foundation suggests using only certified vendors, like Bitinstant."

Q: "Who certifies a Bitcoin business?"
A: "The Bitcoin Foundation provides certifies to validate that Bitcoin businesses are following our 'best practices.'"

Q: "Waiting to download over 2 gigabytes just to get started seems to be an obstacle for non-technical users."
A: "The Bitcoin Foundation recommends that you use a hosted wallet, like Coinbase."

"A Bitcoin Foundation" will in essence become the de-facto "go-to" group when anyone in the press or media wants to cover Bitcoin or ask a Bitcoin related question. I agree that developers need to be paid, and I don't think that "A Bitcoin Foundation" poses any threat to the development of the protocol itself (the existing workflow functions well), but there is the potential here to centralize a great deal of power. The name itself is a power grab.

This reeks.


Title: Re: The political structure of Bitcoin
Post by: jgarzik on September 28, 2012, 04:20:28 PM
Q: "Who is developing the Bitcoin software?
A: "The Bitcoin Foundation manages the central repository for the official Bitcoin client, as well as the alert key."

Q: "There have been many hacks resulting in the loss of Bitcoin, what are you doing about that?"
A: "The Bitcoin Foundation suggests using only certified vendors, like Bitinstant."

Q: "Who certifies a Bitcoin business?"
A: "The Bitcoin Foundation provides certifies to validate that Bitcoin businesses are following our 'best practices.'"

Q: "Waiting to download over 2 gigabytes just to get started seems to be an obstacle for non-technical users."
A: "The Bitcoin Foundation recommends that you use a hosted wallet, like Coinbase."

Sorry, none of this has been suggested or wanted.

Any Bitcoin Foundation that I am a member of had better suggest decentralized solutions to merchants and users.

One idea has been a turnkey open source kit for merchants, where bitcoind + paypal-like HTTP API is provided as software the merchant runs at their own location, 100% within their own control.



Title: Re: The political structure of Bitcoin
Post by: johnyj on September 28, 2012, 06:43:40 PM

The OP is stupid and ignores the user completely. The userbase is, in fact, in total control over Bitcoin. This will apply even after the "Bitcoin Foundation". The users can simply start Bitcoin 2.0 with a different structure if they wish, at any time.

This is not true, especially when the protocol and client has been modified many times and becomes very difficult to read, no one can easily start a Bitcoin 2.0

In GIT world, it is essentially a Hierachy, where senior programmer sitting on top and make decisions. Bitcoin fundation obviously know this political situation very well and took control of the core dev team


Title: Re: The political structure of Bitcoin
Post by: shad0wbitz on September 28, 2012, 06:50:54 PM
It works as-is. We need no additions or power structures.

+1. Bitcoin is anarchic by design. If you want structures, go to something else.


Title: Re: The political structure of Bitcoin
Post by: kjj on September 28, 2012, 07:03:18 PM

The OP is stupid and ignores the user completely. The userbase is, in fact, in total control over Bitcoin. This will apply even after the "Bitcoin Foundation". The users can simply start Bitcoin 2.0 with a different structure if they wish, at any time.

This is not true, especially when the protocol and client has been modified many times and becomes very difficult to read, no one can easily start a Bitcoin 2.0

In GIT world, it is essentially a Hierachy, where senior programmer sitting on top and make decisions. Bitcoin fundation obviously know this political situation very well and took control of the core dev team

First, the original client is written in C++.  It was already hard to read on day one.

Second, git is not a tree (hierarchy), it is a mesh of trees.  You can fork any public repo that you want, at any point in the past.  You can then even take new changes and incorporate them into your old tree.  It may take some work, if the changes depend on the change that you didn't like, but it can be done, and actually is done quite often.

The "official" repository is only official in the sense that the main devs use it to stage and integrate their work.  You are welcome to make your own if you want, and you can even have the entire history of the project to peruse.  Well, since it switched to git at least, you might have to dig a bit to find older versions.


Title: Re: The political structure of Bitcoin
Post by: johnyj on September 28, 2012, 07:45:26 PM

The OP is stupid and ignores the user completely. The userbase is, in fact, in total control over Bitcoin. This will apply even after the "Bitcoin Foundation". The users can simply start Bitcoin 2.0 with a different structure if they wish, at any time.

This is not true, especially when the protocol and client has been modified many times and becomes very difficult to read, no one can easily start a Bitcoin 2.0

In GIT world, it is essentially a Hierachy, where senior programmer sitting on top and make decisions. Bitcoin fundation obviously know this political situation very well and took control of the core dev team

First, the original client is written in C++.  It was already hard to read on day one.

Second, git is not a tree (hierarchy), it is a mesh of trees.  You can fork any public repo that you want, at any point in the past.  You can then even take new changes and incorporate them into your old tree.  It may take some work, if the changes depend on the change that you didn't like, but it can be done, and actually is done quite often.

The "official" repository is only official in the sense that the main devs use it to stage and integrate their work.  You are welcome to make your own if you want, and you can even have the entire history of the project to peruse.  Well, since it switched to git at least, you might have to dig a bit to find older versions.

This is the "Hierachy" I mentioned: In principal, I can fork to any other repo and make a BTC 2.0, but how many people will use it? Where is most of the people's trust laid on? --- Senior programmers, since they are the one that know how to "get the things done", they have the dominant power when it comes to programming for BTC, so any others code will be ignored if not brought into main by senior programmer

In principle, everyone can make their own computer, he just need lots of transistors and lots of wire, but these days, there are many things require huge amount of knowledge that if someone has not followed the whole history in time, he will be dropped out due to "Unable to Understand the whole process"

Of course this is still better than those non-programmer dominant the decision making, but anyway when one entity has gained dominance power over the system, then a warning flag will raise: How will the system ensure the power will not be abused by this power user or anyone that close to him? Purely dependant on his wisdom, or some mechanism? The establishment of this fundation just showed how vulnerable the senior programmer is to politics, at least they are showing the interest of gaining more politic influence






Title: Re: The political structure of Bitcoin
Post by: kjj on September 28, 2012, 08:10:09 PM
This is the "Hierachy" I mentioned: In principal, I can fork to any other repo and make a BTC 2.0, but how many people will use it? Where is most of the people's trust laid on? --- Senior programmers, since they are the one that know how to "get the things done", they have the dominant power when it comes to programming for BTC, so any others code will be ignored if not brought into main by senior programmer

In principle, everyone can make their own computer, he just need lots of transistors and lots of wire, but these days, there are many things require huge amount of knowledge that if someone has not followed the whole history in time, he will be dropped out due to "Unable to Understand the whole process"

Of course this is still better than those non-programmer dominant the decision making, but anyway when one entity has gained dominance power over the system, then a warning flag will raise: How will the system ensure the power will not be abused by this power user or anyone that close to him? Purely dependant on his wisdom, or some mechanism? The establishment of this fundation just showed how vulnerable the senior programmer is to politics, at least they are showing the interest of gaining more politic influence

What do you propose to address this inequality of programming ability?  Slavery?


Title: Re: The political structure of Bitcoin
Post by: johnyj on September 29, 2012, 08:51:33 AM

What do you propose to address this inequality of programming ability?  Slavery?

Currently there is no such mechanism, so Gates, Jobs, Linus rule them all, and that is the reason the IT industry is still in a primitive monarchy era


Title: Re: The political structure of Bitcoin
Post by: Insu Dra on September 29, 2012, 11:20:08 AM
minervoter

Not true, a miner is a validator, just like any other user who runs a Bitcoin client. If miners were really voters than those who'd vote differently would be forced to follow the majority's rules and yet I just explained anyone is able to create a fork with their own rules they wish to validate.
pool operatorrepresentative

Not true, representatives' obligation is to represent their constituency, pool operators have no such obligation to anyone, they merely offer a service anyone is free to purchase or not.


If miners don't vote, plz explain the following page to me ?
http://blockchain.info/P2SH
https://en.bitcoin.it/wiki/BIP_0016

I agree that the votes are not binding and that the system needs some work. But miners and pool operators do vote and have the prower to enforce there vote by refusing to accept updates that go against them.


Title: Re: The political structure of Bitcoin
Post by: cjp on October 10, 2012, 08:20:38 PM
About the power of miners and miner software:
This is incorrect.

Bitcoin client users vote by accepting or rejecting P2P network transactions to relay and include in blocks.  Each bitcoin client validates the block chain independently.  This is why bitcoin is decentralized.

I think I underestimated the importance of this.

So, even if a group of miners had 99% of the hashing power, they could not use that to change the rules. They could perform a DoS by not including any transactions, or perform the infamous 51% attack which allows them to revert their own transactions, but they can not e.g. change the block reward, or accept transactions that would otherwise not be accepted. If they did those things, their very own super-high-difficulty branch of the block chain would be ignored by the community, which would instead use the branch created by the honest 1% of the miners.

It would still be possible for them to perform a "partial DoS", equivalent to a financial blockade, by following these rules top-to-bottom:
Code:
if transaction is invalid then reject
else if some payees are not in list of registered addresses then reject
else if some payers are not in list of registered addresses then reject # optional rule, will typically be introduced later
else if some payers or payees are on blacklist then reject
else accept
where "list of registered addresses" and "blacklist" would be defined by some central authority.

No end user/merchant-side verification could stop them from doing this, and this can already be done with 51% hash power (so it's another type of 51% attack). Of course, once it becomes known that frequently-used Bitcoin software includes behavior like this, many individual miners would object and switch to other software or other pool operators. But ignorance among miners could be a problem in this scenario.

About the power of end users' software:
I'm afraid it's essential that the ignorant majority of end users / miners does not end up running compromised Bitcoin software. I realize now that miners (and hence their software) have limited power (though still a bit scary), but the power of end user software could be even more: hidden code in the software could silently move control over transactions from the block chain to a centralized model. If this happens to all people simultaneously (because they use the same software) they wouldn't notice it until it's too late. This power is limited by market share of independently developed clients. Unfortunately, the Bitcoin client ecosystem isn't very diverse at the moment, and nearly all clients are derived from a single implementation.

About the core Bitcoin developers and the Bitcoin foundation:
Luckily, that single implementation is open source, which should make it easier to detect compromised code before it is deployed globally. On the other hand the code is enormously complex and chaotic: I consider myself to be a competent C++ programmer, but I'd have to spend weeks to get a thorough understanding of the Bitcoin source. In practice, I think we now depend on the integrity of the core Bitcoin developers (the elite group of people who do have a thorough understanding of the source code). This is where the Bitcoin foundation kicks in.

If I understand correctly, Gavin will be paid by the foundation. This will naturally give the foundation some power over development of the software: Gavin decides what is and what is not included in official releases. However, this power exists irrespective of who is paying Gavin; at least it is now exercised in a relatively transparent way. E.g. do you know who paid Gavin's salary a year ago? And three years ago? So, on this aspect, I think the foundation is a small improvement. Besides, Gavin can easily be put under pressure by other parties as well, e.g. the government of his country of residence (unlike Satoshi, Gavin is definitely not anonymous).

About the foundation acting as a centralized PR point:
this is a difficult issue. Some thoughts:
  • They just exercise their free speech right. It's up to others to judge the quality of their speech.
  • This could affect the "Bitcoin" trademark, positively or negatively.
  • We should have a simple way of quickly setting up a new foundation / forking the foundation, in case the foundation starts saying things that aren't supported by a part of the community.
  • If the foundation is smart, it won't say/suggest things that are incorrect. E.g. speaking out against silk road without explaining that the foundation cannot stop silk road would be stupid, because people will find out automatically that the foundation does not have that power. Why show your own weakness in such a way?
  • Having a central PR point could be very beneficial, even if you don't always agree with that central PR point. Look for instance at the poor PR of Palestinian suicide bombers: unlike Israel, they don't have a high-profile PR center that can explain their point of view to the press.


Title: Re: The political structure of Bitcoin
Post by: kjj on October 10, 2012, 08:36:21 PM
About the power of end users' software:
I'm afraid it's essential that the ignorant majority of end users / miners does not end up running compromised Bitcoin software. I realize now that miners (and hence their software) have limited power (though still a bit scary), but the power of end user software could be even more: hidden code in the software could silently move control over transactions from the block chain to a centralized model. If this happens to all people simultaneously (because they use the same software) they wouldn't notice it until it's too late. This power is limited by market share of independently developed clients. Unfortunately, the Bitcoin client ecosystem isn't very diverse at the moment, and nearly all clients are derived from a single implementation.

I can't really think of any evil code that could be slipped into the software to change mathematics.

Transactions are redeemed by proving that you know a secret number in a way that the whole world can verify.  Adding a second path to that function to return true for any other reason would be laughably obvious, and embarrassingly visible to the few dozen people that actually read all of the pull requests, and the millions that could check them later.

A variety of bitcoin clients is good for having a healthy ecosystem around the network, but the paranoia around the foundation and potential insider threats to the system are unfounded.