No, that's what users that only post in the unbelievably censored r/bitcoin want, and what Blockstream wants. For those of us users that want bitcoin to work as intended, instead of being artificially crippled to push second layer solutions, Segwit is terrible.
I'm an external observer in all of this and I was reading some discussion about this earlier, could you explain your position to those like me who aren't very familiar with this issue?
From what I read segwit sounds like a reasonable solution to what seems like a very real practical issue with bitcoin today. So far all the people I've seen arguing against this change seem more interested in fueling conspiracy theories than actually explaining why it would be a bad move (and I get this vibe from your post as well).
So what's your position exactly? That the current issues with transfer fees and the long term usability of bitcoin are overstated? That they're real problems but it's too early for this push? That the solution is not the right one? But if not, which one?
But isn't that just a temporary workaround? And it doesn't address the other issues SegWit tries to solve, like allowing "instantaneous" transactions? How can Bitcoin ever hope to become a mainstream currency if you have to way dozens of minutes for your transaction to be validated?
I also see that some people worry that using bigger and bigger block sizes could end up "concentrating the mining power in the hands of a few miners" but since that already seems to be the case I'm not sure it's a very good counter argument.
Make it unlimited then, or grow dynamically based on historical block sizes, there's lots of options. The original limit was only added as an anti-spam measure back when anyone could mine blocks.
I would rather the core developers focus on the current capacity problems and deal with use cases like instant transactions at another time. Make bitcoin work as it's supposed to and let the community decide on adding features later - don't try to push them both together.
An unbounded block size would bring about a number of attacks. Denial of service attacks would be trivial. There's a reason Satoshi put a limit there in the first place.
I don't see how segwit helps here (how it does "instantaneous" stuff?), more like other way around: by ensuring small block side it grants perma-queue and therefore confirmation delays
Segwit as it is currently implemented removes the fixed block size, and replaces it with a variable block size which is 2-4x larger than current blocks. So it is very much the opposite of what you describe.
Bitcoin cannot survive without a permanent transaction backlog once the block reward subsidy is gone. Either we move to having inflation or there is a backlog.
A blocksize increase doesn't fix transaction malleability or quadratic hashing or fix covert asicboost or enable use of lightning network. Also IIRC greg maxwell has said the actual segwit code is like 2-3000 lines whereas the rest is testing.
That suggestion has been put forward a number of times since the limit was put in place. One problem with that is that it is a backwards incompatible change so there need to be some signalling mechanism in place to ensure the rule change takes place at the same block height for every node. The logic would need to have been put in years before it activates.
A more longer term problem is the governance problems it entails. Large economic interest will want to adjust that value to their liking, so it should preferrably be a little more non-arbitrary.
So a more flexible approach is necessary, preferrably one that is backwards compatible for old nodes. Extension blocks, and a special form of extension blocks called segregated witness, can do exactly that. They have other problems, but most are pretty well understood by now, and most developers see segregated witness blocks as a way to more than double block size whilst minimizing risks.
(It also brought along the possibility to fix other long standing problems with the transaction format, so in the end several other things such as script versioning, uxto defragmentation and non-malleability was stuffed in there.)
Well, "we" did. It just took longer than most people thought. Segwit was put in last year, it just hasn't activated yet.
Why did it take so long to develop? I think it's a combination. Many people wanted to get it right, a bad solution could be worse than no solution. There was also concern about miners blocking it, as many had been very skeptical about lowered fees.
Why does it take so long to active? Yeah, this is the tough one. It was deployed the same way as other soft forks. But this turned out to be quite contentious as it played right into an ongoing governance conflict. Worst case, the current deployment has to time out later this year and then it can be safely re-done.
* Realistically, can not be activated (95% support level required, way more than achievable). Means we'll stuck with current 1MB forever waiting for segwit
* Upon activation it does not add any benefits. Real increase in throughput will be achieved later, then all major players updated their client code, started crafting segwit transactions and moved coins to new segwit addresses. Means it delays throughput increase even more
* After full adoption, throughput will be increased from 1MB/10min up to ~1.7-2MB/10min while worst-case scenario (useless, specially crafted transactions) is 4MB - miners should be prepared for it. Means "2MB forever" and "hard to increase block size because miners should be prepared for 4x load"
There are other points as well, i'll stop here. Simple block size increase don't have such cons
* It can be activated through UASF or through BIP149 which supposedly (big supposedly here) has been agreed to by a majority of miners
* It fixes transaction malleability and quadratic hashing problem. Transaction malleability is definitely a benefit upon activation. Oh... and it's also a block size increase so there is that benefit. Oh... and lightning network is basically ready. Oh... and rootstock. If the network NEEDS NEEDS NEEDS more capacity so badly, then throughput increases should happen very very quickly, because why would people wait to upgrade if the need is so incredibly dire.
* Don't even know what you're arguing here but "2MB forever" is not grounded in any sort of reality except one that people have made up.
> Realistically, can not be activated (95% support level required, way more than achievable). Means we'll stuck with current 1MB forever waiting for segwit
This is not an argument against segwit, but against the method of it's activation. The rationale behind this high activation treshold is well summarized by greg maxwell [1]
> Upon activation it does not add any benefits. Real increase in throughput will be achieved later, then all major players updated their client code, started crafting segwit transactions and moved coins to new segwit addresses. Means it delays throughput increase even more
If only merchants or services who need to do lots transactions enable segwit, everyone benefits from the compressed output as there is more space on the chain for non-segwit wallets even if they don't upgrade or are aware of what segwit is
> After full adoption, throughput will be increased from 1MB/10min up to ~1.7-2MB/10min while worst-case scenario (useless, specially crafted transactions) is 4MB - miners should be prepared for it. Means "2MB forever" and "hard to increase block size because miners should be prepared for 4x load"
Miners should be prepared to give the service users want and pay for with fees. "Specially crafted transactions" included.
I'm an external observer also (with little knowledge about the BTC internals);
to me it sounds like Segwit is trying to #1 fix a problem and #2 add new features.
Wouldn't it be a lot faster and less risky to first fix the problem (#1) and wait with implementing new features (#2) until all the problems are solved?
> So what's your position exactly? That the current issues with transfer fees and the long term usability of bitcoin are overstated?
Oh definitely not that - it's a huge problem! Places that accepted bitcoin no longer do, and bitcoin's market share is plummeting - there's no reason it every should have happened. But instead of a simple fix to the problem (upping a temporary limit put in place in 2010 - that's eight year old tech), now Blockstream is trying to push a massively complex revamping. It won't even help with the scaling problem - it only discounts Segwit enabled transactions (since Litecoin enabled Segwit, almost nothing has used it). It's primary purpose to enable second layer solutions Blockstream can consult on.
Even if something like Segwit was a solution, FlexTrans is a much better way to go.
Even if Segwit activated tomorrow, there'd be little-to-no backlog relieft, and Bitcoin would be forever saddled with inescapable tech debt.
I don't read r/bitcoin regularly. I think we need both a block size increase and SegWit (or something like it)
It's pretty obvious to me that linearly scaling solutions like simply increasing the block size are not sufficient to achieve global mainstream adoption (at least without further centralizing mining), much less the sort of machine-to-machine / micropayment revolution that a scalable cryptocurrency could unlock.
> I think we need both a block size increase and SegWit (or something like it)
Yes - the former now (or last year!) to resolve the massive backlog as new adopters come in. We later need something to enable greater scale than blocksize alone, but not yet; other cryptos like Ethererum are able to handle a much higher transaction throughput. When the time comes when something like SegWit IS needed, FlexTrans is a much better solution.
To people entering this comment section: if you're not totally caught up on this debate and only have a passing interest in Bitcoin-- leave now, there's nothing for you here. This thread is going to be a lot of sound and fury from the two sides of the civil war, and little else.
I occasionally dip in to r/bitcoin and am repeatedly baffled by the whole debate; both in its inscrutability and the level of (let's say) "passion" exhibited. Still I have no real clue of the issues.
I'm guessing that many of the people who participate in these communities have a significant number of bitcoins to their names. Given the current trading price of BTCs many of them are probably virtual millionaires. All that could go poof if the coin were to collapse. Not really surprising that they would be very passionate about these issues.
That may be part of it, but if it were purely about wealth they could surely just sell some of those holdings right now and become actual millionaires.
meanwhile r/btc is calm and collected. I suspect r/bitcoin is targeted by certain entities seeking to instill doubt and divide the community. the network is going through its usual boring phase of doubling the block size by way of emerging consensus. around this time just before the block size jumps there's a lul in efficiency that translates into higher transaction fees. if you're a psycopathic pumper dumper it's a good time to scream that the sky is falling as loud as you can.
r/btc is calm and collected? Every single day I see a ridiculous tinfoil hat theory about how Segwit is just a plot by Blockstream (who they always mention is funded by BANKSTERS!!! and AXA!!!) to either stall scaling and destroy bitcoin OR (mutually incompatible) scale with lightning network which will somehow allow Blockstream to profit. Didn't have to look far to prove my point... front page when I looked for it:
There is a good number of early bitcoin enthusiasts who have found great solace in the supposed mathematical and technical "purity" that bitcoin offers. They perceive undesired changes to be almost sacrilege, destroying this one island of purity in a dark world.
They will often assert strongly that certain claims are undeniably true from a technical perspective, without stating the large number of assumptions inherent to the conceptual framework they use to make such claims.
Many would argue that their assumptions are not all obviously reasonable, yet rarely does the discussion even manage to broach these underlying aspects.
Oh boy another incoming Bitcoin proposal civil war in the comments section. I can't wait until nullc gets here. Why is it so hard to have a non-censored, rational discussion about this topic without it becoming some ridiculous flame war every time?
> Why is it so hard to have a non-censored, rational discussion about this topic without it becoming some ridiculous flame war every time?
Because each side thinks they are acting selflessly in the best interests of Bitcoin with sound technical reasoning, while the other side has sinister ulterior motives. Bitcoin scaling debates (like most political debates) are riddled with assumptions of bad faith.
What really makes it complicated is that, to some extent, both sides are right: there really are people on each side who stand to profit greatly from their proposal winning and thus have their finger on the scale. Of course, each side only notices these people when they belong to the other camp.
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.
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.
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.
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.
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.
> 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.
> 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.
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 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.
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.
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. :(
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.
Not completely on topic but...what would happen if one of these new features came out and somebody found a security flaw in it? For example a buffer overflow that you could use to crash miners? If all the clients are running the same client software and crashing them all can have serious financial implications I can't help but feel it's only a matter of time unless I'm missing something about how miners work.
This is why it's important that it's well tested. Segwit is activated on multiple coins already and is being tested in the real world as we speak.
Alternative options such as EC (which uses Xthin blocks) have already proven to have multiple vulnerabilities and there are many instances of large scale crashing of nodes. Of course the miners that are signaling for this option aren't actually using the software (it's not at all stable, they don't actually want EC and are just using it to stall for higher fees) so they were not affected by the crash, if they were 40% of the hashpower would have gone offline which is a pretty big deal.
I have no horse in this race. I don't own any BTC. What I find fascinating about Bitcoin is how completely unapproachable it is. All of this technical bullshit is too much for a layperson, let alone an uninterested developer. If you want normal people to use this as a meaningful currency, the currency has to just work.
So far Bitcoin has proven to me over and over again that it just doesn't work.
What the fuck is "Emergent Consensus" or "Segregated Witness" or any of this? From the perspective of a regular person, I just don't care. I don't see why anyone else should, either. Why is one Bitcoin worth more than thousands of units of the strongest currencies in the world?
this is the point where you leave the decision making up to those that fully understand. Just because you don't understand how something works doesn't mean its not useful. Do you know exactly how the internet works? probably not. Do most people understand exactly how dollars come into creation? no. Are these things valuable? yes.
As a lay person they shouldn't care unless it solves a problem they have. It is only too much for a layperson until bitcoin is a good answer for the problem they have. From women in Saudi Arabia who cannot own bank accounts, to the people of Argentina and Venezuela who are desperate to move their wealth into another asset, bitcoin still offers them an answer despite its great volatility.
One bitcoin is worth more than the current world reserve currency because the market demands it. Even if it is mostly speculators with cheap money that flows from all of the central banks printing it and offering negative interest rates.
reply