Hacker News new | ask | show | jobs
by kbaker 3310 days ago
Warning for those who are not following this debate closely: This is an incredibly polarizing discussion. Approach all comments and articles posted about this subject carefully.

Though I'd like to try and provide a summary for people who don't know what's going on.

Bitcoin desperately needs to scale to handle higher transaction demand. It can take multiple hours for transactions to be confirmed, and due to the demand, fees are high ($2-3 per transaction for fast confirmation.) A technical approach (SegWit) was proposed and implemented by the Bitcoin developers in order to improve transaction capacity a couple years ago. This also brings along a number of innovations which can help implement what is termed 'Layer 2' solutions to happen inside Bitcoin, instead of using an altcoin like Litecoin or Ethereum. Think of this enabling a Visa-like entity to provide instant settlement services denominated in BTC, and secured by the Bitcoin blockchain.

However, this upgrade is very contentious with the miners who are entrusted with securing the blockchain against attackers. Bitcoin mining now is a professional enterprise where major players need to be located in places with cheap ASIC production and cheap electricity to have any hope of making a profit. In some cases, they see these new layer 2 solutions as reducing their transaction fees, which are becoming a large percentage of their profits. Instead, they have been proposing just a larger base block size limit, which will solve the transaction backlog and send the fees to the miners, but then not make progress moving forward with what users and developers want, which is increased innovation. In addition, the larger block size is seen as increasing centralization of mining since only larger providers will be able to deal with the extra data rates (since there is an advantage to having quick transfers of newly created blocks when mining.)

Since Bitcoin is decentralized, anyone can run any software. There are mechanisms in place for miners to 'vote' with their hashpower/mining rate to agree on software changes, then after enough support, the mechanism activates. This is the easiest way to make sure global upgrades happen smoothly and in a coordinated fashion. However, users are becoming desperate and are looking for other ways to make these innovations happen without needing support from the miners.

Unfortunately the Internet and echo chambers have destroyed the hope of meaningful discussion about this topic. Please, HN commenters, do not bring in Reddit-level comments here... Provide sources and a balanced view, and please be respectful.

8 comments

This is a very good summary of the situation, thank you for posting this.

However, one critical issue is omitted in the above: The suggested approach (SegWit), albeit probably more by coincidence than by intention, also corrects a shortcoming of the existing transaction protocol that lets you reuse parts of the computation when trying to find a suitable block, leading to a net gain of ~20% hash power over other miners if you exploit it.

Critically, said approach ("AsicBoost") is patented! Therefore, not all miners can use the approach, leading to a centralization of hash power in contrast to the original intention of Bitcoin.

Miners who currently benefit from this oversight in the protocol have no short-term interest in removing it via a change of protocol headers that SegWit entails, in addition to the other reason you mention, i.e., higher transaction fees if there is a backlog due to small blacks.

I didn't want to mention it since it is still not proven that this is happening, only strongly suggested.

Of course I support any efforts to get rid of shortcuts in the POW function ASAP, and by any means necessary. The whole reason behind a POW function is to ensure a fair competition.

kbaker has done a good job of laying out the facts, but since he seems to lean towards the SegWit side, let me make the argument from the perspective of their opponents, the "big blockers."

Satoshi Nakamoto himself believed that bitcoin block size would have to increase rapidly, and that on-chain scaling is good enough for nearly all transactions. He wrote that blocks could scale up from the current 1MB to over 700MB as bandwidth and disks got cheaper while Bitcoin got more popular. [1] He foresaw the day when a "full node" would not be someone's laptop, but rather something the size of a data center. There would only be maybe a hundred full nodes in the world, run by universities or major bitcoin stakeholders, and everyone else would use various kinds of thin clients to interact with the network.

Gavin Andresen, the developer that Satoshi hand-picked to lead Bitcoin after his departure, shared this vision. He believed that on-chain scaling via bigger blocks is technically simpler (and simple is good!), and the resulting loss in full node count is nothing to worry about.

I'd also like to point out that one of the most modern coins, Ethereum, actually has both. They let miners vote on block size (big blocks), and they support off-chain scaling (like SegWit). They have both, and Satoshi thought Bitcoin should someday have both.

So let's get both! =)

[1] http://satoshinakamoto.me/2008/11/02/re-bitcoin-p2p-e-cash-p...

For the record I support the "COOP" compromise. SegWit activation during the UASF timeline so that doesn't screw things up, with a locked-in HF to 2MB blocks.

I agree that bigger blocks are needed to ease even non-witness/standard transaction backlogs, and to ease up on wallet and other providers that want a faster network in-place without needing updates that work in concert SegWit like the Lightning Network. The 1 MB was originally an anti-spam limit. In a dream world, we would have a dynamic anti-spam block size. But I don't see consensus happening any time soon. :(

> It can take multiple hours for transactions to be confirmed, and due to the demand, fees are high ($2-3 per transaction for fast confirmation.)

The idea that Bitcoin's high transaction demand makes transactions slow is a serious misconception.

Bitcoin transaction fees are a supply and demand system, and each transaction you send is a bid for the limited supply of blockchain space. If you place a sufficiently high bid, you'll get into the next block almost every time. The price of that bid is getting a lot higher than it used to be, but that's a case of Bitcoin becoming expensive to use, not unreliable.

OTOH, let's suppose you're bid is lower. I think where part of the misconception comes from is that both supply and demand are variable, the latter because of fluctuations in how many transactions people send, and the former because blocks are found randomly in a Poisson process. So if you want, you might get lucky and pay a lower price. But that's the same with any commodity with a free market - you wouldn't complain about gas becoming unreliable because you have to wait a few days for the price to dip, you'd still say it was becoming expensive. And like gas, as you lower your bid you very quickly find yourself waiting forever.

The other root cause of this misconception, is many of the people pushing the "Bitcoin is becoming unreliable" meme have business interests where they want Bitcoin to be a payment system first and foremost. That demands low fees. Unfortunately for them, Bitcoin's underlying technology is fundamentally ill-suited to that need and always will be - you need layers on top of Bitcoin such as Lightning to suit those needs.

Even worse, for some of those people they want Bitcoin to be a transparent payment system, with every payment easily visible, e.g. due to promises made to government regulators, or because their very business model is to deanonymise Bitcoin transactions. That subset's needs are very incompatible with scaling Bitcoin, as every scalability improvement will inevitably improve privacy against some attackers when compared to the current "everything public" Bitcoin protocol. For example, even Paypal offers improved privacy for myself in Canada, against the government of Iran snooping on my payments. Equally, a common complaint in the fintech world is the poor privacy properties of blockchains...

I guess I was meaning more work has to be done on the wallet software side to make sure fees get adjusted correctly and that this is explained clearly. With new users this can be a point of confusion, sometimes for a new user it is hard to connect the dots between checking the "low fee!" box where your transaction may not happen for hours or days. Or users collecting a lot of dust transactions from a faucet or something then having no way to move them.

But I definitely agree that it is working 'as designed' at the moment, and actually handling the situation of high demand reasonably well. And I can't wait for new technologies to become available on top of BTC for innovation at a global scale.

BTW thanks for all the work you have done with Bitcoin, I hope you have been able to stay above the fray on this issue for the most part.

The saddest part of this whole thing to me is how it has destroyed the bitcoin community. Just a few years ago, we were close-knit and friendly. We loved "to the mooon!" memes every time the price rose. Every new business accepting bitcoin was an excuse to throw a party. We organized meetups and talked tech and wrote wild essays about what it would take to replace government-backed currencies across the world. We were nerds and dreamers and it was fun.

Over the last 6 months, all that has been replaced with suspicion and hate. Both sides now have their own heavily-moderated forums that mostly don't tolerate dissent from the party line. There are elaborate theories getting posted about why those who disagree with you are really all part of some huge conspiracy or astroturfing campaign. Naturally, there is not a shred of evidence for any of this.

I miss the old days.

I find the various communities to be sharply divided, yes, but only some of them are heavily moderated. On the other side, you just get downvoted into oblivion if you disagree - but at least your comment isn't hidden from those who seek it out. I agree that it takes the fun out of things.
You're very right, and it still sucks. I wish we had a bitcoin community that was less like reddit and more like HN: well-reasoned submissions and replies and moon jokes (we are bitcoiners after all) from everyone are welcome, trolling and flamewars heavily moderated.
If you ever find that community, please let me know :-)
Since May 5th the number of unconfirmed transactions have soared to unprecedented heights [0], and the fees are completely out of control.

Last weekend I found out I had a handful of old mBTCs lying around, and while transferring them I made the mistake of only paying a $.35 fee instead of the currently recommended $2. The transaction [1] still hasn't gone through and I expect it will stay in limbo for at least several weeks.

Considering what Bitcoin was supposed to be, this a pretty big step back and the situation doesn't compare very favorably to the big payment networks, to say the least. No matter which side of the User Activated Soft Fork divide you are on, I think everyone already agrees that something needs to be done real soon. If the SegWit switch doesn't go as planned and the community fails to reach consensus once again, things are going to look pretty bleak.

[0] https://blockchain.info/charts/mempool-size?timespan=60days [1] https://blockchain.info/tx/e2456f994910fb40d938d5ebe39b40df6...

Also add that the largest manufacturer and user of ASICs is most likely covertly using something called AsicBoost [1], a patented [2] chip optimization for Bitcoin's proof of work. They (Jihan Wu/Bitmain/Antpool) have stated that the capability is manufactured into their chips but they are currently not using it [3] for the greater good of Bitcoin, though this would cost them millions in mining profits.

Activating Segwit as a soft fork would prevent the ability to use AsicBoost and therefore a lot of people suspect that most of this debate is actually just a delay tactic by Bitmain to maintain their mining dominance with covert AsicBoost. They likely have no intention to support Bitcoin Unlimited (they don't seem to be running the software).

Segwit recently activated on Litecoin only after the threat of a User Activated Soft Fork (much easier to execute on Litecoin). The Segwit activation threshold on Litecoin was 75% of the hashpower (compared to 95% on Bitcoin). At one point Segwit had achieved 75% of the hashpower until suddenly 3 mining pools increased their hashpower by about 300% in 1 day to block Segwit (the same day that Jihan Wu, CEO of Bitmain declared that the Litecoin miners to be shipped needed "additional firmware testing"). These pools were Antpool, LTC.top, and LTC1BTC [4], all of which controlled a much smaller fraction pre-segwit. For this reason, it's likely that Jihan Wu controls both Antpool and BTC.top and therefore about 30% of the hashpower on Bitcoin.

[1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=+CVE-2017-923... [2] https://bitcoinmagazine.com/articles/bitmain-may-be-infringi... [3] https://blog.bitmain.com/en/tag/asicboost/ [4] https://www.litecoinpool.org/pools

An additional wrench thrown into the mix is the fact that the Ethereum and Ripple developers/owners have a lot to gain by trying to make sure Bitcoin is unable to scale. It doesn't take much effort (since the miners are already hesitant about agreeing to some update) to sabotage the whole situation.

It's quite possible that they're funding both sides of the debate to make sure none of them generates a super-majority.

It's also quite possible that Bitcoin developers who were once heavily invested in Bitcoin have already switched to Ethereum, and now are actively sabotaging it.

See, these are exactly the kind of poisonous claims that make this an impossible debate.

In short: extraordinary claims require extraordinary evidence.

If you want to claim an altcoin conspiracy to destroy Bitcoin, prove it. Otherwise take your baseless gossip elsewhere, please.

Perceived 'crypto economic incentives' will taint any controversial decision in most public chains. Those incentives must be tested to prove that they work. If they fail, we rebuild chains with better incentives; this is how bitcoin became anti-fragile.
This is quite the unsubstantiated claim.
> However, this upgrade is very contentious with the miners who are entrusted with securing the blockchain against attackers

The whole value proposition of mining is that rewards would shift over time from newly-issued coins to transaction fees. Any solution which offers an alternative for transaction settlement and reduces the demand for normal on-chain transactions and the fees from them is, then, an attack on the basic value proposition of Bitcoin mining.

Depending on what you see as the value proposition for Bitcoin. Long term settlements = transaction fees for miners. Short term = Lightning or other providers.

Personally, I think that mining only should not be a for-profit enterprise. Only parties that have goals aligned with the long-term economic future of Bitcoin should be involved in mining, like major exchanges, merchant providers, etc. The value proposition was only ever to secure the network and get some financial help with doing so.

Otherwise, you have to have constant innovation and investment otherwise you are pointlessly fighting the difficulty level adjustment.