Hacker News new | ask | show | jobs
by wildbunny 3296 days ago
He misses the point that the developers do not control bitcoin; the miners control bitcoin. The developers suggest improvements which will only be adopted if the miners support those improvements.

The miner's interests are purely profit based, so they will not adopt changes which reduce their chance of profit.

6 comments

>miners control bitcoin

Incorrect, I can sign or construct any type of cryptographic payment I wish. Miners trade their Proof of work to prevent double spends in exchange for coinbase (currency issuance) that the market values. If miners chose to mine on a chain that no one wants, no one will trade for their coinbase.

The game theory nuance is, how do you organize an economy around changes to blockchain consensus? The only guaranteed way to ensure that that happens (from a game theory perspective) is to have miners lead the change. If user wish to lead the change, they still can but they take a risk in that no one will join them on the new consensus chain ("hey you guys said you'd construct payments like this and now no one is!"). There are more improved ways of rolling out these changes.

At worst miners can execute a denial of service for new transactions entering into the UTXO or attempt to double spend funds, or release blocks in a manner that negatively affects the profitability of other miners but they have _no control_ over how users handle their UTXO.

Bitcoin is anti fragile, each time it goes through a market challenger it gets better at handling it, not weaker.

If miners chose to mine on a chain that no-one wants, then everybody has to grudgingly go along with it, or cease to transact.

The longest chain is always the most valuable.

>If miners chose to mine on a chain that no-one wants, then everybody has to grudgingly go along with it

No, if the miners mine on a chain that doesn't meet consensus rules, users will not follow it. If miners decide that the coinbase issuance schedule isn't to their liking, and decide to revert it back to 50 bitcoins per block, users will reject those blocks. This is a fundamental governance property of a blockchain.

Kinda sorta.

Yes, users can reject Hard Forks.

But the problem is that soft forks can do basically anything. Yes, even increase the block reward, in a roundabout way, (by using added extension blocks that have special rules, and then requiring all transactions to go through the extension blocks.)

Although from the perspective of a non-conforming Node, this would just look like a DDOS style mining empty blocks attack.

At this point the only thing that users can do is change the Proof of Work algorithm. .... But, if the big players in mining have a bunch of GPUs on standby... well, it is not even guaranteed that this will work.

You're also referring to a major weakness in the distributed consensus of bitcoin: the longest-chain-preferred mechanism is almost certainly a vector of attack on the chain.
Wouldn't you need to have a majority of the hash power to fork the chain and generate a longer one anyway? I think it's well understood that anybody managing to go above 50% of the hash capacity effectively "rules" the currency.
This is a common response to this but I don't think it's true in every case. I think if your goal is strictly to disrupt the Bitcoin service you can accomplish that by disrupting and attacking individual nodes in parallel and letting the resulting chaos from these cheaper attacks widen the scope of your disruption, stepwise.
On the contrary, this is the major strength of the system.
If by strength you mean, "A clear methodology from which a sufficiently large ec2 buy can rapidly fragment the Bitcoin consensus" then yes, I suppose that's fantastic.

From the perspective of people transacting on Bitcoin's infrastructure I suspect they'd call it "an attack."

>a sufficiently large ec2 buy can rapidly fragment the Bitcoin consensus

You grossly underestimate the hashing capacity of the bitcoin network. The hashing capacity, at time of posting, is approximately 5,000,000,000 Gigahashes/second[1]. Spot measurement of the hashing capacity of an EC2 instance is 0.4 Gigahashes/second[2]. You would need 12 BILLION EC2 instances to 51% attack the bitcoin network.[3] Using EC2 to attack the network is impractical and inefficient.

[1] https://bitcoinwisdom.com/bitcoin/difficulty

[2] https://www.reddit.com/r/Bitcoin/comments/1btgl1/i_was_curio...

[3] x/(5e18+x)=.51 y=x/.4e8

> The longest chain is always the most valuable.

Only the longest chain that users consider legitimate. If users reach consensus on using rules that have lower transaction costs, it won't matter how long miners mine their higher transaction cost chain.

The big question is: can users achieve such consensus politically, or in practice do the miners lead the users because they need less organization to do so?

If miners chose to mine on a chain that no-one wants, they'll run into losses. Users will probably move to some other chain. As an example: Bitcoin users might wanna switch to Litecoin. And guess what miners will do then ?
Thank you for pointing out that the users of bitcoin (and other cryptocurrencies) have effectively no say in the design of the system they have to trust. This will ultimately limit the very trust needed to keep it alive IMHO.
I would say that this is exactly why Proof of Stake seems to be in higher regard than Proof of Work for new currencies as well as Ether's eventual transition later this year. Among other reasons, of course.
Is it generally accepted that this is inevitable? Or is it going to be a SegWit/Unlimited sort of situation?
It won't be like SegWit/Unlimited. The politics are very different and the technology is very different.

1. Politics. Ethereum has a leadership team which functions very differently from Bitcoin Core. For one, the creator of Ethereum is well known and outspoken. He and the other members of the Ethereum Foundation made it clear that their intention was always to move to Proof of Stake. Though there are some who may not support this move, the general community bought into the project knowing that this was the plan from the beginning. And there's a lot of trust of Vitalik.

2. Technology. Ethereum adapts much more quickly to mining difficulty than Bitcoin. Bitcoin can't survive with 90% of the hash power on one chain and 10% of the hash power on another chain. The smaller chain would take 10 hours to mine a single block and months to readjust the difficulty. It would be unusable. Ethereum has already shown its resiliency to a split during the DAO hard fork. The smaller chain adjusted quickly and survived. What this might mean is that with the change to PoS, there could be a dissenting faction that remains on PoW, and both chains will survive. This will allow the PoS chain to go ahead and push through with a split easily even without 100% support.

PoS seems to be definitely happening for Ether.
Could you expand on that any? What's your basis for that belief?
Ethereum has a difficulty bomb (mining becomes more difficult with time). This is a form of control from developers over blockchain. If miners refuse to cooperate, they are left with the blockchain which is more difficult to mine with time (and eventually unusable).

https://themerkle.com/what-is-the-ethereum-difficulty-bomb/

Sorry, that was my conclusion from seeing tweets and commends made by Vitalik and his team.

Besides the other response you received, there also seems to be a shift to PoS simply because PoW mining wastes a lot of electricity.

> users of bitcoin (and other cryptocurrencies) have effectively no say in the design of the system they have to trust.

how is that any different to the existing currency system like credit cards and banking?

And users _do_ have a say in bitcoins. Namely, they can vote with their wallet (literally and figuratively).

> how is that any different to the existing currency system

Fiat currency is governed by central banks, which are arms of government, and are accountable to the public in the same way as the issuing government. Obviously, the degree of accountability varies from government to government.

That is a pretty loose definition of accountability. If your bank screws around, are you going fix it by voting for a different candidate in the next election? I would say that my ability to purchase and run mining hardware, at a loss if necessary, gives me more control over my altcoins than my citizenship gives me over my bank.
> I would say that my ability to purchase and run mining hardware, at a loss if necessary, gives me more control over my altcoins than my citizenship gives me over my bank.

It's roughly similar to buying shares in a publicly-traded bank, which you can do as well as electing candidates for public office to whom the central bank, which is the entity making monetary policy decisions, is accountable.

So it gives you more relative power with altcoins only to the extent that those with more wealth are relatively uninterested in the altcoins in question compared to traditional banking; were a digital currency to succeed beyond a small niche, that would change and you would find yourself as drowned out by moneyed interests as you are in traditional banking on that avenue of leverage, and without the other avenues of accountability that exist with the governance of fiat currencies.

> It's roughly similar to buying shares in a publicly-traded bank

i dont believe that even owning a bank could you directly control monetary policy or procedures that the gov't legislates. You'd have to own either the majority of all banks, or own the gov't yourself (i.e., dictatorship), and even then, it's a hardsell.

Except for the Eurozone where the ECB doesn't appear to really act as an arm of anyone's government.
ECB is an arm of the EU (a government, but not a nation-state) accountable, as I understand it, through the European Parliament primarily and secondarily through the Council; and it is also accountable to the people of Eurozone countries through the accountability processes of their individual central banks, since the national central bank chiefs are governors of the ECB.
Brexit demonstrates an available route to expressing disapproval of the ECB's actions.
The UK wasn't in the Eurozone - and I've been reading Yanis Varoufakis's books about his time as the finance minister of Greece and I've been fairly shocked at how fundamentally undemocratic (not to say unreasonable) a lot of EU institutions and the likes of the IMF are.

And I say that as someone who voted Remain in the Brexit referendum (note that Varoufakis actually campaigned on the Remain side in the UK).

Banks are regulated by democratic governments.
Depends on how you define 'users'. Miners don't just make money out of thin air; they actually help maintain the ledger and provide value to the 'users'. Nobody is stopping you from start doing it yourself, too.
This is an excessively simplistic first-order explanation of the mining incentive system.

Consider that miners also lose money if the thing they are mining loses value. Therefore, if enough economic actors (besides miners) switch to version B that has some new feature, everyone will want to use version B instead of version A. The miners who are stuck mining version A lose money because the currency they're mining is no longer as valuable.

Realistically, the economics of cryptocurrency features work out quite nicely. You can't just say "oh, the miners make the blocks, so they have absolute control".

I don't see how this is a good thing? If what you are describing is true, it ends in those rich enough to buy the majority of nodes in the network, being able to control the entire blockchain. Pay-for-power doesn't seem like a good solution for governance.
>in particular, so-called mining pools, headed by a handful of individuals, are very influential.

He mentioned that.

> the miners control bitcoin.

Incorrect. Nodes enforce consensus in bitcoin, not miners. It is thus. It has always been thus.

Plain 'nodes' weren't even a thing back in the early days of bitcoin. The original design envisaged all participants to be miners. It was only when mining became out of reach of ordinary computers that people started running nodes. They do very little, just sending and receiving bitcoin transactions, a task which the miners could do just as well by themselves.

Nodes have no say in consensus, the miners can ignore them and decide which transactions they want to include. All a node can do about it is complain to itself.

> Satoshi from the Bitcoin white-paper chapter 12 'Conclusion' : The network is robust in its unstructured simplicity. Nodes work all at once with little coordination. They do not need to be identified, since messages are not routed to any particular place and only need to be delivered on a best effort basis. Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.

First, you have to understand what 'consensus' actually means :

> https://en.wikipedia.org/wiki/Consensus_%28computer_science%...

> A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database (or, for example, committing blocks to a blockchain), agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The real world applications include clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs, load balancing and others.

Nodes are the agents in a multi-agent system enforcing consensus.

Nodes accept incoming transactions and validate them. Miners don't. Nodes replicate transactions to other nodes. Miners don't. Miners take transactions from nodes, and order them in a block, and perform a hashing function on them (the only thing they do). Miners pass the new block to the node. The node validates the transactions in the block. Miners don't. The node validates the block. Miners don't. The node replicates the block to other nodes. Miners don't.

There is only one function that miners do. They take transactions, put them in a block, and hash them. As soon as a miner produces a block that any node determines does not obey consensus rules, it is rejected. It doesn't even matter if another node has already accepted, because consensus is aligned with all nodes. Any node that replicates non-consensus blocks or transactions is itself rejected.

So nodes accept the transactions, validate the transactions, replicate the transactions, maintain the mempools, validate the blocks, replicate the blocks, serve the blockchain, and store the blockchain. Nodes even define the PoW algorithm that miners have to employ.

Nodes maintain the protocol, not miners. It is thus. It has always been thus.

See for yourself. Download it.

https://bitcoin.org/en/download

It's currently at 0.14.2

https://bitcoin.org/en/full-node

> A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.

You should probably question how such a fundamental misunderstanding of how bitcoin works comes about. Is there a source for your opinion?