Live data from Hacker News

The Bitcoin Blocksize: A Summary

rusty.ozlabs.org

81–90 of 96 posts

Re: The Bitcoin Blocksize: A Summary

#81

What's really interesting for me about the Blocksize Debate is what it reveals about Bitcoin's governance. Most of the people involved agree that the blocksize limit should be increased (with the notable exception of Peter Todd) and the main disagreement seems to be about how (and how quickly) and the increase should happen. There also seems to be a hint of power struggle in the backlash against Gavin's push to incre…

Read up on the history of Mike Hearn, he has wanted to fork Bitcoin into his own governance for years, this is just an excuse. In 2011 he was proposing to Satoshi that he should take over the project[0], in 2013 he was trying to pitch the concept that development was stagnant and that a fork was needing to fix it[1][2], and now in 2015 it's again come about that he has found an excuse to attempt it (this time with so…

Oh dear, you have some serious anger issues, don't you?

I have not wanted to fork Bitcoin for years. I still don't - I have many better things to do, like working on Lighthouse or oh .... really anything else. Screwing about with gitian and gcc all day is right at the bottom of my list of "fun things to do on a sunny day".

But the fact that Bitcoin Core was heading for disaster was obvious for a long time now. It has been progressively abandoning things that the user community finds important: SPV wallets, unconfirmed transactions, now even the notion of growing the platform at all have all become "controversial" and therefore untouchable. Anyone who suggests that maybe these things are useful is immediately branded an idiot. Combine with a maintainer who hides any time a decision is needed and you have a recipe for deadlock.

You seem to think I hate Tor. I am actually the maintainer of a full blown Tor implementation (Orchid). I've done a lot of work on integrating it into bitcoinj and I'm basically the only guy who can actually move the needle on Tor/Bitcoin usage, by enabling the use of it by default in consumer wallets that have hundreds of thousands of installs. We're not there yet (it's still too slow) but we're a lot closer than before.

This doesn't change the fact that Tor is heavily abused. It can be useful but it's a frequent source of attacks of all kinds. So finding ways to get the good without the bad involves some tricky coding.

Below, you say "anyone can jam the network with just two IP addresses". Yes, that's unfortunate isn't it. I've been sounding the alarm about Bitcoin Core's poor DoS protection for years. Nobody listened, that's why I have now written a new anti-DoS system that can handle this sort of thing. It starts by clustering and deprioritising Tor because we've seen actual jamming attacks that came through Tor, and because using it is a lot safer and more convenient for an attacker than using your own IP addresses or using a botnet. But it absolutely should be extended to have more advanced heuristics. Instead of whinging that (gasp) loading a file from a web server is "insane", maybe you should be writing code instead.

Re: The Bitcoin Blocksize: A Summary

#82
post #18

Earlier quoted context omitted.

You could make mining more memory bound rather than compute bound, somewhat reducing electricity costs and requiring bigger upfront investments (in DRAM chips). This also vastly reduces the performance gap between commodity and custom mining hardware.

Why would that reduce costs? Miners would have to compete for memory & CPU then. Even altcoins that have tried this approach have seen custom hardware appearing if the coin grows popular enough. The approach just seems to be a desperate hope that home users will be able to mine profitably, but ultimately it still fails because those with more resources will win out.

It shifts, rather than reduces, costs.

No altcoin has used a PoW where memory latency dominates computation.

Home users will never be able to mine profitably (except by claiming their electricity is "free"), but the hope is they can do so within an order of magnitude loss of efficiency.

Re: The Bitcoin Blocksize: A Summary

#83
post #66

Earlier quoted context omitted.

Separate of the blocksize issue - fundamentally I don't think the network should run on the back of transaction fees. The benefit of a high hashrate (a secure network) isn't limited only to those actively transferring money. Anyone who holds Bitcoin has a stake in the network. Everyone also benefits from high scalability of transaction processing, so ideally transaction fees should stay low or zero. I don't accept th…

> It's impossible to maintain the massive amount of processing power spent on this solely through transaction fees. 0.00625 BTC in fees is enough to match the current block reward. That's to say the current security of the network would continue on if everybody paid $1.63 per transaction in fees. > You still have the problem of the chain becoming too great in size, but that's a problem with some pretty obvious answer…

$1.63 per transaction rules out the possibility of microtransactions. I personally don't think that anyone has the moral authority to deem a use-case "wrong" for a currency. You need to support transactions involving pocket change just as well as you support transactions in benjamins to see wide acceptance.

Such high transaction fees effectively make the currency indivisible to a substantial degree. Sure you can send someone a penny, but if it costs $1.63 most people won't. So that sets a very high minimum floor before people will consider using it in a transaction. Note that this is different from transaction service fees - yes, some places have minimums for CCs, but it doesn't cost me anything to hand you a penny, or even to send you a check for a penny.

The answer to blockchain size is - sidechains, actually. What I have a problem with is meta-currency - the idea that you must necessarily transfer to a separate currency or trust a third party to perform day-to-day transactions. That creates independent currencies with their own security risks, and divides the hashrate into individual pools which are more easily attacked.

Instead what I want are sidechains that compress a series of transactions. You never actually trade on a sidechain, but at some trigger event or time interval a series of transactions is brought onto a sidechain and reduced to a net-sum of inputs and outputs, then instantly reattached to the main blockchain as a single net transaction. You can call this checkpointing or whatever you like, but it doesn't need to be (and shouldn't be) all of the transactions on the blockchain, or even the most recent transactions that are sidechained. In fact I think it makes the most sense for it to be the oldest, say the oldest week of transactions (targeted) within a rolling 28 day window. Long enough to make attacks difficult, short enough it's not too large on disk.

You essentially rebase the blockchain onto a new squashed changeset. This transaction also includes the original hash of the transaction that used to be there, so the chain still validates properly, and the hash of the last confirmed regular block, so it can be strictly sequenced. Everyone validates the squashblock to be sure that it tallies properly and hashes correctly, and if it doesn't reach consensus it's not accepted. If accepted, the next regular/squashblock must include the hash of the squashblock to indicate acceptance.

Still doesn't solve the problem of dust taking up space, but it solves most of the problem. Or maybe sweeping dust is part of the reward for the squashblock somehow. I do like the idea that if you don't sweep your ha'pennies they fall into the couch cushion. Maybe you'd implement that like "any dust that hasn't moved in a block before the squashblock is confirmed may be arbitrarily moved", so dust older than a month (average) is swept.

Re: The Bitcoin Blocksize: A Summary

#84

Earlier quoted context omitted.

> Bitcoin's only real-world use case is illicit goods. You have a lot to learn; I recommend starting here: https://medium.com/@lopp/the-multifaceted-nature-of-bitcoin-... A deeper dive here: https://www.youtube.com/watch?v=IgETC2JMUBI

I know all the blogpost ones. To list a few problems: * Bitcoin is not better for any of the consumer uses than existing financial systems, and is significantly worse for most. * the only real-world use that we see happening is illicit goods (and, as noted in imglorp's comment here, the blockchain's utility as prosecution futures makes it not a great idea for that either). * real-world consumers, who are at the power…

Your claims are the same that were made regarding "real-world consumers" at the dawn of the Internet. It takes time to build up a network effect and improve ease-of-use for revolutionary new systems.

shrugs

I spent quite a few hours developing aforementioned blog post and the presentation to my alumni Computer Science department - specifically to save me the time of typing it all out to every individual who wants to learn about it.

Re: The Bitcoin Blocksize: A Summary

#85
post #46

Earlier quoted context omitted.

Classic tragedy of the commons: for everyone as a whole, it's better to process transactions as fast as possible. But with the way incentives are currently structured, it's better for any individual miner to produce an empty block that propagates faster. Or in other words, to process transactions as slowly as possible. There's two ways you can fix the incentives. One would be to kill the block reward. You don't proce…

If you required each block to be at least 75% full, what's to stop miners padding out the blocks with trivial transactions?

I don't like this 75% full idea because the miners would virtually be REQUIRED to pad out blocks with trivial transactions if they don't have enough on their own. To not do so would leave hashing power idle.

A simpler solution would be to require that blocks are always 1 MB (or whatever) in size, and that they must be padded out with 0xDEADBEEF or whatever if the block can't be filled with transactions. This way all blocks will take the same amount of time to transmit, and there's no incentive not to include a transaction of any fee if what it's replacing would just be bad data.

I'm not saying I'm in favor of this proposal necessarily, but it works better.

Re: The Bitcoin Blocksize: A Summary

#86
post #7

An important thing to consider is that, while there probably is an ideal block size for the current set of conditions (risk of centralization, average Bitcoin network latency, rate of transactions), there's no a priori reason that it should be 1 MB. It may well be less than 1 MB, or it may well be more. 1 MB is arbitrary. My best guess is that the optimal current block size is somewhat larger than 1 MB.

> My best guess is that the optimal current block size is somewhat larger than 1 MB. The optimal current block size is without a doubt smaller than 1MB. The two most important metrics for block size limit are node count and miner validation. Node count has been continually dropping for years despite heroic efforts to improve performance in bitcoin core. Miners have been found to be blindly mining blocks in an attempt…

Do you really think that the number of full nodes has been dropping because of the 1 MB block limit though? Not for other reasons? Is it really so onerous to run a full node now that the average computer cannot handle it?

Re: The Bitcoin Blocksize: A Summary

#87

Earlier quoted context omitted.

Read up on the history of Mike Hearn, he has wanted to fork Bitcoin into his own governance for years, this is just an excuse. In 2011 he was proposing to Satoshi that he should take over the project[0], in 2013 he was trying to pitch the concept that development was stagnant and that a fork was needing to fix it[1][2], and now in 2015 it's again come about that he has found an excuse to attempt it (this time with so…

Oh dear, you have some serious anger issues, don't you? I have not wanted to fork Bitcoin for years. I still don't - I have many better things to do, like working on Lighthouse or oh .... really anything else. Screwing about with gitian and gcc all day is right at the bottom of my list of "fun things to do on a sunny day". But the fact that Bitcoin Core was heading for disaster was obvious for a long time now. It has…

I'm not angry, I'm saddened that you are going to destroy the only functioning distributed consensus because you can't see that the ecosystem is already bleeding under the weight.

Re: The Bitcoin Blocksize: A Summary

#88

For people who are not familiar with the whole blocksize debate which has been raging in the bitcoin community for around three months now, even leading to outright censorship by theymos, perhaps asked to do so by "someone", the author of the post is highly biased and the article is biased too. It refers for example to an attack by Ghash, and then dismisses their explanation that it was an employee without providing…

> It refers for example to an attack by Ghash, and then dismisses their explanation that it was an employee without providing much evidence and without pointing that his dismissal of their explanation was simply speculation.

I did not dismiss it, how did you read that?

> Moreover, it suggests that Ghash gained 50% of hashing power and nothing happened. In fact a lot happened, so much so that Ghash currently has around 2% of the hashing power.

That doesn't seem to be related: they were close to 50% 4 months after the theft incident, and again 10 months after. Someone else queried that, and I did some digging to ensure that my memory of event order was correct. See: https://www.reddit.com/r/Bitcoin/comments/3fxvbr/blocksize_a...

> And to suggest that Gavin, or even Satoshi himself, is myopic, seeing only the "user" ui point of view

"only"? In my final paragraph I tried to draw the distinction between the priorities of the different views.

You seem to have read things in my article which aren't intended :(

Re: The Bitcoin Blocksize: A Summary

#89

What's really interesting for me about the Blocksize Debate is what it reveals about Bitcoin's governance. Most of the people involved agree that the blocksize limit should be increased (with the notable exception of Peter Todd) and the main disagreement seems to be about how (and how quickly) and the increase should happen. There also seems to be a hint of power struggle in the backlash against Gavin's push to incre…

Read up on the history of Mike Hearn, he has wanted to fork Bitcoin into his own governance for years, this is just an excuse. In 2011 he was proposing to Satoshi that he should take over the project[0], in 2013 he was trying to pitch the concept that development was stagnant and that a fork was needing to fix it[1][2], and now in 2015 it's again come about that he has found an excuse to attempt it (this time with so…

And Mike's a nice guy whose done a lot for bitcoin adoption. He's also passionate and persuasive.

Not all his ideas are good, but he's earned the right to be listened to in the bitcoin space.

Re: The Bitcoin Blocksize: A Summary

#90
I have a question, why not to solve the bitcoin issues another way: by decreasing the amount of transactions by changing the way of paying with bitcoins. I suggest using bitcoin wallets as a cash banknotes and send bitcoin private keys (i.e. the wallet itself) instead of paying from the wallet to transfer money. So everyone should have a set of bitcoin wallets with different bitcoin amounts instead of using one bitcoin wallet. This method has some advantages: instant transactions, zero fees and anonymity. The disadvantage that I can see is the necessity of development the mechanisms of having “the change”, probably specialized bitcoin fork, or it can be solved by using hybrid method: usual transaction + bitcoin wallet private keys sending. “The change” is not necessary for some types of payments: like gifts, balance replenish, or periodic payments which bitcoin has lack of support now. It’ll definitely help to decrease amount of transactions here.
Post reply on HN