Hacker News new | past | comments | ask | show | jobs | submit login

It's a market with an artificial, centrally planned cap on supply. So pretty much the opposite of a free market.



You don't need a permission slip to write your own client with whatever rules you want. You do need to convince people to use if you want it adopted. What do you mean that it's centrally planned?


that's simply not how bitcoin works. the blocksize rule is part of the consensus protocol. you can mine a 2MB block, but no one on the network will accept it and you won't get your reward.

The protocol itself has to be upgraded, and majority has to agree before we can mine bigger blocks.


I'm not saying you don't need consensus. I'm saying anyone can write their own client but the burden is on them to drum up support and achieve consensus if it's going to be useful.

People talk as if there is a Bitcoin conspiracy where some central entity decides all things Bitcoin-- where blockstream is the equivalent of the illuminati. If someone thinks they can do a better job then go fork the source and convince everyone else why it's better.


> I'm saying anyone can write their own client but the burden is on them to drum up support and achieve consensus if it's going to be useful.

Consensus aside, this is a lot harder said than done. one of the reasons btcd is not widely adopted, even though it's purporting to be 100% compliant with core, is that there is no formal definition of what that even means. to be 100% compatible with the bitcoin protocol is to be 100% compatible with core - bugs and all. the community needs an RFC like paper describing in details what 100% compatible means. Then we can safely run other nodes without worrying that we'll get screwed by not having the same bug as core for example.

I'm not one to believe in conspiracies or even subscribe to the thinking of core==blockstream. But I don't think you'll disagree that what goes into the consensus protocol is under control of the 5 maintainers


I think the consensus protocol is absolutely not under control of 5 maintainers. Convince a few of the miners and exchanges (e.g., f2, ant, bitfury, coinbase, blockchain.info, bitstamp) to actually start running classic and we'll have 2MB blocks on the longest chain in no time. Conversely, suppose those 5 maintainers release a hard fork version of segwit tomorrow without a block size increase--nobody would upgrade.

The consensus protocol is dictated by exactly that, consensus, not this allegedly omnipotent cabal.


no one is saying they're omnipotent, or impossible to replace. however, you have to admit that replacing them/core or convincing all of these people/companies to adopt anything other than what is coming in core v-next is an uphill battle. I'm going to assume you've been watching this whole blocksize debate, the endless roundtables, conferences... and we're still on square 1. Actually, with classic I think we've at least moved one step forward and a lot of full-node adoption is underway.

Miners are a different story though; understandably, they're very reluctant to change (who would with so much money on the line). It is also unfortunate how miners switch back and forth between classic and core so quickly.


It's interesting to me that Bitcoin so rapidly ran into the same fundamental problem that exists with every single decentralized system that tries to function for a centralized purpose. Think about how many 'decentralized' protocols you deal with on a day-to-day basis that try to do this. E-mail, DNS, and the Internet itself via peering come to mind.

We can't do anything with those three examples, and Bitcoin, until a consensus agrees and actually does something due to our usage of them as centralized in practice. That's an immediate disincentive, and likely deal-breaker, to improve as has been demonstrated by literally five decades of history. E-mail is long due for some defenses against spam, but we literally cannot. The Internet is due for a rethink on its architecture, but we literally cannot. Spam, source filtering on network egress, DNS security, and IPv6 adoption are four examples of problems that we've had for multiple decades with the aforementioned protocols and cannot remotely begin to address because of the barrier of individual work within a decentralized protocol or system creating an economy of incentives. It takes the worst part of software deployment itself (outliers running old versions) and then makes it even worse (administrators need incentive and/or consensus to upgrade said outliers). Momentum is already a bitch to deal with in traditional software, and decentralization accidentally gives momentum a frightening amount of power.

Bitcoin is just demonstrating all of this on an accelerated timeframe, and it's worth thinking about when discussing the benefits of decentralized systems. The Bitcoin block size is simply its IPv6 moment, and look how long we've been in dire mode on IPv6. Yes, Bitcoin is decentralized (yay!) but everybody uses a centralized blockchain (well...) and just papers over that fact. Seriously, the very concept of a blockchain split undermines the description of Bitcoin as a decentralized protocol, because it requires out-of-band resolution. Who are the out-of-band resolvers? The centralization.

I watch all the improvements to these systems try, and fail, and I cannot help but wonder why people still try to make decentralized systems when usage patterns almost always make a system centralized (IRC: decentralized chat; networks: centralized. IP: decentralized routing decisions; Internet: centralized). Then the FLOSS crowd tries to decentralize big centralized systems (identi.ca, GNU social, "pure" XMPP and so forth, most of which amusingly have a "centralized" option) and wonder why nobody uses a system that starts with "step 1, become root," which is a slightly different issue but related.

Decentralizing a system is one of the worst decisions you can make if you expect the usage thereof to be centralized in nature. You're dooming yourself or, far more likely, those begrudgingly after you to supporting the choices you made in the first version for a long, long time (despite what you tell yourself while writing it), and you need to think about every single decision long and hard. And then you'll still get it wrong because you cannot predict the future. Don't get me wrong, I love the spirit of decentralized systems, but I've been sitting here since I started this comment trying to think of an example of it going right. Still trying.

Perhaps it's time to objectively look at decentralization itself. I might be wrong, but it seems to keep shooting us in the foot and making beds we have to sleep in, often against our will. Maybe there's a different means to accomplish the grand decentralized vision without the problems I've touched on here; I'm aware of the benefits of distributing authority, and I wish we could advance decentralization to a place where bummers like this don't happen, but I don't know how.

(Also, not trying to be negative, nor am I criticizing Bitcoin. Just stepping back and observing in general, and I did write this comment with the context of many things I mentioned succeeding despite the problems decentralization brings.)


Excellent observations across the board.

I'd take slight exception to this:

> Seriously, the very concept of a blockchain split undermines the description of Bitcoin as a decentralized protocol, because it requires out-of-band resolution. Who are the out-of-band resolvers? The centralization.

Well, in the original architecture as proposed, each individual user - or at least every fullnode operator - is also a miner. So there "should be" something like 5000-10,000 miners by now (based on current numbers of miners and fullnodes) none with much of a hashpower advantage over the others.

In that environment, conflict resolution would - could only - move forward in a "one man, one cpu, one vote" fashion, with "majority rule" controlling the blockchain.


Great examples and analysis. I think the IPv6 analogy is spot on--the fear of IPv4 exhaustion (block size limit), the disdain for NAT as an ugly hack (Segwit, LN).


IRC and email are federated systems, they have always been that way. The nature of the federation is different, email systems talk to each other, IRC systems don't. The issue with bitcoin is purely that it solves a problem no-one has, we don't need cryptographic gold. Consensus changes happen to DNS and email all the time, because they solve actual problems and have been made flexible enough to handle change.

The task is not to make a magic free-floating decentralised system, but one which is resistant to getting central points lopped off or controlled. For that look at bittorrent, or even DNS. Whenever the US government has flexed it's muscle, trying to assert control over DNS, other countries have threatened to make their own DNS root and the US has backed down. Anyone can run a DNS root, but that alone doesn't fix the problem, it takes people actually using that fact to prevent centralisation. Bitcoin is stuck in a place where the vast majority of users have to agree to a change before change can be made.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: