Live data from Hacker News

Bitcoin's ASICBOOST Problem Explained [pdf]

rubin.io

31–40 of 131 posts

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#31
post #20

Just to point out that SegWit is everything but "already adopted in the industry". It turns out that SegWit is the solution promoted by the developers of bitcoin core to allow for bigger blocks, and solve some issues like transactions maleability. It's more than 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways. Not to add that a company calle…

I want to say that I've been on the anti-censorship boat and the 'AXA money is sketchy' and the unlimited train for as long as I've heard of it. Just recently, someone in the ecosystem that I've known since the beginning of my time with Bitcoin came out in support of Blockstream and Segwit with a backing of other Canadian support. https://medium.com/@francispouliot/canadian-bitcoin-economic... I don't know what to ma…

[deleted]

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#32

Earlier quoted context omitted.

> It seems then that a good solution would be to force many different types of proof of work. This would create many more opportunities for finding shortcuts like ASCIBOOST. Some of them might be much worse.

Really? Suppose both a SHA256 and a SHA1 hash were needed. How could it be possible that it's easier to find a simultaneous weakness in both? I get that randomly throwing stuff together isn't favoured (like TLS's PRF SHA1+MD5 construction). But is there any actual work where requiring 2 separate full checks to be worse than just one? That is, needing to verify MD5 plus SHA1 independently.

First of all we aren't talking about weaknesses in hash functions. We are talking about ways to compute hashes faster.

> But is there any actual work where requiring 2 separate full checks to be worse than just one? That is, needing to verify MD5 plus SHA1 independently.

One could then use both SHA1 and MD5 shortcuts.

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#33
post #20

Just to point out that SegWit is everything but "already adopted in the industry". It turns out that SegWit is the solution promoted by the developers of bitcoin core to allow for bigger blocks, and solve some issues like transactions maleability. It's more than 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways. Not to add that a company calle…

^^^ Summary of /r/btc, for those wondering Sigh > 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways Most of those lines of code are tests. It would be nice for you to say why SegWit is controversial, beyond being proposed around the same time that fees got high. Bitcoin has had soft forks before. This one will do great many great things for tr…

^^^ Summary of /r/bitcoin, for those wondering.

Sigh

> Bitcoin has had soft forks before. This one will do great many great things for transaction throughput and privacy.

It's an inefficient hack. For example:

https://medium.com/the-publius-letters/segregated-witness-a-...

> Censorship is horrible, but do you have proof that Blockstream supports it?

All signs points towards it. Do the Blockstream people even speak out against the censorship on /r/bitcoin? No. Do they prefer to use channels censoring opposing opinions? Yes.

> If you're spouting FUD, then go back to /r/btc.

Exactly the narrative Core supporters push.

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#34
post #17
post #13

Earlier quoted context omitted.

The AsicBoost inventors also wrote a good technical explanation at https://arxiv.org/pdf/1604.00575v1

Notably, they don't include the optimal root generation algorithm, nor do they discuss segwit incompatibilities. Also, their 20% figure is unclear. The more collisions you can find, the more hash per second you should be able to gain.

> The more collisions you can find, the more hash per second you should be able to gain.

But the chance of finding three blocks with the necessary 4 byte collision is much more difficult. It's the same problem as finding 3 people with the same birthday. You need 87 people to have a 50/50 chance of three people having the same birthday vs. 23 for two people who share a birthday. That's nearly a 4x increase in required computation for a small increase in effective hash rate.

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#35
post #25
post #23

Earlier quoted context omitted.

> It's also clear that eliminating this class of problem is not in the interest of the miners, hence the opposition to SegWit Most miners have been supportive of SegWit for at least a year, see the HK agreement: https://medium.com/@bitcoinroundtable/bitcoin-roundtable-con... The agreement was that they'd support it if it came with a 2mb hardfork, and it never did. Sergio Lerner released segwit2mb recently, which the…

SegWit + HF does not eliminate this class of optimization. Most SegWit+HF proposals would reorganize the bitcoin header structure so as to be compatible with ASICBOOST-like optimizations.

I see what you're saying, but I don't think you read the agreement.

> We understand that SegWit continues to be developed actively as a soft-fork and is likely to proceed towards release over the next two months, as originally scheduled.

The key part here being that SegWit as a soft-fork is what was agreed to.

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#36
post #20

Just to point out that SegWit is everything but "already adopted in the industry". It turns out that SegWit is the solution promoted by the developers of bitcoin core to allow for bigger blocks, and solve some issues like transactions maleability. It's more than 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways. Not to add that a company calle…

I want to say that I've been on the anti-censorship boat and the 'AXA money is sketchy' and the unlimited train for as long as I've heard of it. Just recently, someone in the ecosystem that I've known since the beginning of my time with Bitcoin came out in support of Blockstream and Segwit with a backing of other Canadian support. https://medium.com/@francispouliot/canadian-bitcoin-economic... I don't know what to ma…

>because they stand to make $100,000,000/yearly from their (now not so secret) advantage.

If anyone is confused how the 30% advantage that ASICBOOST gives translates into this huge number, remember that the 30% boost applies to revenue, not profit.

The revenue of mining in the long run approaches the costs to mine (basically the cost of electricity), leaving extremely slim profit margins. Let's say the usual revenue from mining over some period of time is $1.02, and the cost is $1.00, giving a profit of 2 cents every time unit. A miner using ASICBOOST could have a revenue of $1.32 every time unit, giving a profit of 32 cents every time unit, which is at least an order of magnitude more profit than anyone else. This miner then has more resources to spend on buying hardware and scaling up.

(The above paragraph goes for any type of optimization and isn't necessarily nefarious. It can be a problem if one miner effectively keeps an optimization secret for too long, because they'll continue to grow in size and could get more than 50% of mining power, which is a specific point that causes huge problems with Bitcoin. But the real unique issues about ASICBOOST are about how it encourages empty blocks, and how it has been secretly incentivizing some groups to argue against any incompatible protocol change.)

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#37
post #20

Just to point out that SegWit is everything but "already adopted in the industry". It turns out that SegWit is the solution promoted by the developers of bitcoin core to allow for bigger blocks, and solve some issues like transactions maleability. It's more than 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways. Not to add that a company calle…

^^^ Summary of /r/btc, for those wondering Sigh > 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways Most of those lines of code are tests. It would be nice for you to say why SegWit is controversial, beyond being proposed around the same time that fees got high. Bitcoin has had soft forks before. This one will do great many great things for tr…

SegWit is controversial because it is a key part of Core's off-chain scaling roadmap, as opposed to alternative, on chain scaling. It's pure politics: If SegWit "wins", we go down a certain route of scaling and cement Core as being the only group that has control over Bitcoin's future. There are some technical arguments against SegWit but they are largely unrelated to what makes it so controversial.

> Blockstream employed 5(?) Core devs, some of them part-time.

If you omit the arguable "blockstream have paid", the rest of the sentence is correct: almost every developer of bitcoin core pushes Segwit without clear consensus from the community.

They define "consensus" as a consensus between those who reside in (and who have not been ejected from) their tightly controlled forums.

> Censorship is horrible, but do you have proof that Blockstream supports it?

Adam Back and Greg Maxwell (CEO and CTO) regularly participate in the forums that support the censorship, i.e. /r/bitcoin, and rarely post on /r/btc (for a starting overview of the censorship, see here: https://medium.com/@johnblocke/a-brief-and-incomplete-histor... )

Is the CEO and CTO choosing to participate often and primarily in a heavily censored community not "support"?

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#38
post #33

Earlier quoted context omitted.

^^^ Summary of /r/btc, for those wondering Sigh > 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways Most of those lines of code are tests. It would be nice for you to say why SegWit is controversial, beyond being proposed around the same time that fees got high. Bitcoin has had soft forks before. This one will do great many great things for tr…

^^^ Summary of /r/bitcoin, for those wondering. Sigh > Bitcoin has had soft forks before. This one will do great many great things for transaction throughput and privacy. It's an inefficient hack. For example: https://medium.com/the-publius-letters/segregated-witness-a-... > Censorship is horrible, but do you have proof that Blockstream supports it? All signs points towards it. Do the Blockstream people even speak ou…

> It's an inefficient hack

Sure. The creator of SegWit (Sipa) said in one of his first talks on the subject that if you could re-architect Bitcoin from scratch, then you would segregate the witness data. Nodes could potentially throw it away after witnesses were verified, to save disk space. The problem is that it would require a hard fork, which Core wants to avoid if at all possible.

SegWit hacks the coinbase and transaction structure in order to be implemented as a soft fork.

I'm not sure if it's inefficient or not, but it is a hack.

Does the fact that it's a hack mean that it's bad for Bitcoin?

That article talks about all sorts of developer troubles and losing coins without ever mentioning the testnet, which exists to allow you to lose worthless coins. If a company is pushing major updates to wallet software without conducting proper testing, then bad on them. Plenty of bitcoin has been lost to the current complexities of the transaction format. Remember those 100 BTC fee transactions?

The article's conclusion bemoans the plight of the miners without mentioning the actual users of Bitcoin, other than a hand-wave at "community consensus." I'm not convinced.

> Do the Blockstream people even speak out against the censorship on /r/bitcoin? No. Do they prefer to use channels censoring opposing opinions? Yes.

Ok, so let's assume the whole lot is rotten and loves censorship. Does that change the nature of the code that exists in the Bitcoin codebase? Censorship sucks, but Bitcoin is what really matters.

>> If you're spouting FUD, then go back to /r/btc.

>Exactly the narrative Core supporters push.

Anyone who tries the path of moderation and reason within /r/btc is downvoted into oblivion, resulting in de facto censorship of that sub.

Edit:

> Summary of /r/bitcoin, for those wondering.

You forgot the roller coaster price gifs :-)

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#39

Earlier quoted context omitted.

^^^ Summary of /r/btc, for those wondering Sigh > 10 000 lines of code highly controversial because they require... A soft fork, and will change bitcoin in a fundamental ways Most of those lines of code are tests. It would be nice for you to say why SegWit is controversial, beyond being proposed around the same time that fees got high. Bitcoin has had soft forks before. This one will do great many great things for tr…

SegWit is controversial because it is a key part of Core's off-chain scaling roadmap, as opposed to alternative, on chain scaling. It's pure politics: If SegWit "wins", we go down a certain route of scaling and cement Core as being the only group that has control over Bitcoin's future. There are some technical arguments against SegWit but they are largely unrelated to what makes it so controversial. > Blockstream emp…

Yep, it basically looks like core devs have this plan to:

-Keep bitcoin broken so fees go sky-high

-Push people towards their sketchy off-chain transactions

Bitcoin then becomes "bank coin", where large providers handle all the micro transactions and "settle up" with huge 1000+ btc chunks.

It's a scam and while I have my own reservations about bitcoin unlimited and making miners "too powerful" at least their plan is 100% on-chain.

Core dev's plan is suicide for bitcoin, major investors have been jumping ship to etherium driven by their insanity.

Re: Bitcoin's ASICBOOST Problem Explained [pdf]

#40
Besides the technical issues involved here, there's been a lot of political quarrels as well. Here's my run down of them. Note that I was heavily involved in the Bitcoin community a few years ago, but have been on the side lines recently. As with all things political, take my interpretations with a grain of salt:

1) The Bitcoin network began experiencing congestion due to rise in popularity driving large numbers of transactions. This resulted in slower transaction verification and higher transaction fees.

2) Users started asking for larger blocks, so that the network would have higher transaction bandwidth. The defacto Bitcoin developers at the time pushed back. Increasing block size is simple in terms of code change, but requires a risky hard fork. It's also only a temporary fix. Bitcoin will grow and require another increase, and thus another hard fork. They wanted a better, long term solution.

3) After a lot of discussion the developers came back with Segregated Witness. It's a soft modification to Bitcoin which meant no hard fork. It doesn't explicitly allow larger blocks. It does, however, upgrade Bitcoin to allow side chains. The argument is that faster, more abundant transactions can be implemented in a side chain system. A sort of second layer on top of Bitcoin. Much like how HTTP is implemented on top of the underlying TCP/IP protocol.

It should be noted that, while this enablement of side chains is the biggest feature of SegWit, there were a few smaller improvements. It _does_ increase effective block size slightly; ~2x. And it fixes a few minor annoyances in the Bitcoin protocol (e.g. malleability).

4) The community was disappointed by the lack of larger blocks. While developers were busy putting together their idea and specification for SegWit, the congestion issues on the network continued to grow worse.

5) Eventually the debate became "on-chain" versus "off-chain". Some of the community argued that they wanted to keep all transaction on the Bitcoin blockchain. In other words, they still wanted bigger and bigger blocks. I believe the root of this argument is that Bitcoin has served us well for many years, so why try to build another, potentially weaker system on top of it?

The other parts of the community were in favor of SegWit and off-chain transactions. Side chains would allow for faster transactions and significantly more of them, and they would consume far less disk space (a growing concern in the community is the disk space required to run a Bitcoin node). Side chains achieve this by compromising on some of the strengths of Bitcoin, either by reducing security or requiring more centralization.

6) Eventually the debate in the community shifted from just on-chain versus off-chain to SegWit versus bigger blocks. Now, to be clear, SegWit doesn't preclude the possibility of larger blocks. Obviously larger blocks can be added regardless of SegWit. But, for whatever reason, the dialog shifted.

7) When SegWit was finally released as part of the Bitcoin Core client (the defacto standard for Bitcoin clients/wallets) a sort of battle amongst the community began. Mining operations that ran the SegWit enabled clients started getting attacked; DDOS, etc. There was a lot of strife, hate, and fear. The way SegWit is implemented in the code, it requires a large majority of miners to support it before it officially activates and can be used. This is by design, to ensure the community agrees with the feature and to ensure almost all miners are able to understand the new blocks and not get left behind after activation. Because of this majority requirement, the battle in the community and between miners was very important. If half the miners didn't agree with SegWit, it would never activate.

8) This "battle" went on for a long time and is, currently, still on-going. Bitcoin continues to remain congested. Transaction fees have continued to rise. SegWit is still not activated. During this time a couple factions of the anti-SegWit community split off in attempts to fork Bitcoin. They modified versions of the Bitcoin client to enable larger blocks. So far, none of those forks have been successful, in terms of taking away any majority of users from the main Bitcoin network.

9) Recently it became public that a large mining operation may have been using a technology called ASICBOOST during this time. It allows mining chips to be more efficient, which means those chips make more Bitcoins for less money. Obviously an advantage. This technology has been known about for awhile now, but as far as the community knew no one was using it. It was covered by patents, and there's a sort of gentleman's agreement in the community not to use it as a result of the patent and potential ill effects on the network. (The patent means not all miners would be able to use it, so it presents an unfair playing field).

ASICBOOST, the way this mining operation has supposedly been using it, is not compatible with SegWit. That's explained in the OP.

The accused mining operation was also involved in a lot of the anti-SegWit activity in the community; promoting the alternative forks of Bitcoin. They had been accused in the past of using sock puppets to drive anti-SegWit agendas, drive character assassinations, etc.

They are in control of a large percentage of the total Bitcoin mining power.

The public revelation of them using ASICBOOST painted a dark, but enlightening picture.

As I mentioned before, SegWit ultimately has nothing to do with the on-chain versus off-chain debate. It merely _enables_ off-chain possibilities. It doesn't force them. So it was odd to see the discussion shift from on-chain versus off-chain to SegWit versus Bigger Blocks. The theory now, given the accusations against this large mining operation, is that they are responsible for the majority of the anti-SegWit movement. Because the activation of SegWit would force them to stop using ASICBOOST the way they've been using it, it was in their financial interest to prevent SegWit from activating.

That's basically my summary of events.

I think that theory, that this mining operation has been basically using anti-SegWit propaganda and other attacks to prevent SegWit from activating, so they can keep using their secret version of ASICBOOST and profit (to the tune of $100 million a year), makes a lot of sense. Why else would anyone oppose SegWit? I've read through the SegWit specs. It enables a lot of really cool tech for Bitcoin. Side chains are not just about trying to get more, faster transactions into the Bitcoin network. They're also about allowing other technologies like smart contracts to tie themselves in Bitcoin.

You know all those cool features that various alt coins are testing out? SegWit enables those features to become side chains so that you can gain all the security that Bitcoin offers. Side chain versus altcoin is like browser addon versus a whole new browser.

At the end of the day, people in favor of bigger blocks could still campaign for bigger blocks. SegWit doesn't prevent that. A mining operation being financially incentivized to block SegWit is the simplest explanation I've heard yet for why there would be significant opposition to it.

Post reply on HN