Hacker News new | ask | show | jobs
by hnews_account_1 2360 days ago
Every single crypto that has tried to pass that limitation has remained centralised in one way or another. You can either:

1) have centralisation

2) assume storage space will expand exponentially since the entire point of bitcoin is many many copies of its ledger

3) come up with a new method more secure than PoW but still decentralised

Good luck with (3). (1) and (2) are not good choices. So they moved it off the chain into lightning network.

4 comments

There is a solution (#3). Best known is to have the consensus layer prune data periodically, but check to see if the UTXO getting pruned are still spendable and charge fees for rebroadcasting them.

https://www.youtube.com/watch?v=agppUdX9YvI&feature=youtu.be...

An actual market-powered mechanism for data-pruning. As the price of new transactions rise, the amount paid by old (rebroadcast) transactions rise more. Network hits equilibrium where data in == data out.

I'm not sure what you mean by "assume storage space will expand exponentially", since there is only a limited number of potential active crypto-currency users, making a small number of daily transactions (ignoring things like High Frequency Trading), recorded in a blockchain that grows linearly over time.

Would you say that the credit card network, or PayPal, has exponentially increasing storage requirements? It's possible for Bitcoin (for example) to be decentralised and useful to the world and only require linearly increasing storage space.

Fortunately it seems that storage technology will continue to scale linearly over the coming years too:

https://images.anandtech.com/doci/15064/seagate-roadmap.png

I should've phrased that better. What I meant was to assume consumer affordable storage space will increase in size exponentially i.e. if we pay $0.01 / GB today, we should be paying fractions of that fraction in a year (because obviously "exponential" is loose term here).

> (ignoring things like High Frequency Trading)

HFT is not a blockchain transaction. They are off blockchain transactions entirely because they trade money between bitcoin / other cryptos and dollars.

> there is only a limited number of potential active crypto-currency users

My entire point is that this limits them from growing. If the blockchain is kept from exploding, it helps to onboard more users.

> Would you say that the credit card network, or PayPal, has exponentially increasing storage requirements?

Indeed not. But their user base is now standardised. So they have a predictable number of transactions every second. However, their storage requirements are still obviously industrial grade server farms. The point of bitcoin is that everyone should have a copy of every transaction (excluding lightning network transactions). You see the connection? Not all of us can have our own server farms. If we all wants to store every transaction in the way the parent of my previous comment alluded to (increase block size), each of us will need our own mini server farm i.e. exponential storage growth.

> It's possible for Bitcoin (for example) to be decentralised and useful to the world and only require linearly increasing storage space.

Yes. It'll level off at some point. But we are far, faaar away from that point. So it'll take quite a while before it levels off.

> The point of bitcoin is that everyone should have a copy of every transaction (excluding lightning network transactions).

Is that the point of bitcoin? Satoshi said:

> Long before the network gets anywhere near as large as that, it would be safe for users to use Simplified Payment Verification (section 8) to check for double spending, which only requires having the chain of block headers, or about 12KB per day. Only people trying to create new coins would need to run network nodes.

https://satoshi.nakamotoinstitute.org/emails/cryptography/2/

(He also didn't say anything about "lightning network transactions".)

> If we all wants to store every transaction in the way the parent of my previous comment alluded to (increase block size), each of us will need our own mini server farm i.e. exponential storage growth.

The BTC blockchain is currently 250 GB. If blocks had been 10 times bigger, the blockchain would still be less than 3 TB, and blocks would almost never be full, which would reduce transaction fees and help to onboard more users. I don't think that storing 3 TB of data requires a server farm.

> (He also didn't say anything about "lightning network transactions".)

Correct. I'm not going by what Satoshi said, but by what development the bitcoin core team is aiming to create now.

> If blocks had been 10 times bigger, the blockchain would still be less than 3 TB

Correct. The aim of the project is to keep it as small as possible. 3 TB may not seem prohibitive today, but that's because there's hardly been any usage of the network compared to what the real world looks like. If bitcoin truly competed with Visa / Mastercard, both of those numbers will start looking a lot bigger. If the compressed version was 3TB, the bigger blocks version now becomes 30TB - suddenly far out of consumer grade storage for a normal person.

So you admit that increasing the block size by 10x would solve the current congestion/fees problem without needing the complexity and changed incentive structure of the Lightning network, and that bitcoin doesn't compete with Visa/Mastercard yet so it doesn't need a 30 TB blockchain (which would fit on two hard drives, which many consumers have).

To give an analogy, it's like saying that there should be a law limiting people to only buying 5 books, because if there wasn't a limit then someone could buy a quadrillion books, which would require cutting down all the trees in the world. You're trying to prevent a problem that won't exist, by introducing a restriction that causes a very real problem instead.

> So you admit that increasing the block size by 10x would solve the current congestion/fees problem without needing the complexity and changed incentive structure of the Lightning network,

I don't think so. That also requires a faster cycling of transactions than the current 10 minute round. But yes, obv a larger number of transactions can fit into the block so throughput will increase.

> 30 TB blockchain (which would fit on two hard drives, which many consumers have)

1) I don't know if you understand who "consumers" are. 30 TB is far, faaaaaar away from what a normal consumer has. Most of us have a laptop at most and that limits us to 1 TB storage. I personally have a lot of cloud storage, but I'm not the average consumer. I'm highly tech savvy compared to the normal person. So go out and talk to people not in tech and see what their tech specs look like. If they can't match up to you, they still need to be able to process transactions.

2) I didn't say it doesn't need a 30TB blockchain. You're completely misunderstanding my point. I'm saying your glib observation of "oh it's 300GB now, it can scale up to 3TB if it's bigger" is highly ill informed. If you push it only 1 order of magnitude, you're going from 3TB to 30TB and it becomes untenable. Now instead if it was 10KB and scaled to 10MB, it obv makes no difference even with 3 orders of magnitude.

3) You're also not understanding the larger picture. If all transactions in history have to be stored in the blockchain, it requires scaling to become less than linear (or at max, linear) to keep up with consumer storage expectations. It doesn't matter what the size of the blockchain is now (as long as it's within say 1TB that the average consumer can access). It matters how big it gets when there are billions of transactions flowing through it every day. So by that account, even 250GB is a very big number because once we hit billions of transactions, unless the relationship is inverse exponential, we'll breach limits long before touching that point.

> You're trying to prevent a problem that won't exist

The problem that won't exist of billions of transactions passing through the blockchain? Possibly if we had off chain solutions, yes. Which we do in very early stages. If not, the problem is very very real.

>It doesn't matter what the size of the blockchain is now (as long as it's within say 1TB that the average consumer can access).

Why does it have to fit on a laptop? Only miners influence which tx get into a block, not people on laptops.

>The problem that won't exist of billions of transactions?

Visa does 1 trillion tx/yr. Bitcoin tx is ~500 bytes That's just 500 TB/year. Miners with today's hardware can store that easily. A pruned observer node could run with just a few hundred dollars of hard drives even at Visa scale!

The bottom line is that Satoshi and others thought about this and no one saw it as a problem until Blockstream and other VC funded startups began pushing sidechains that they could profit from.

Except SPV as Satoshi described doesn't work, so the trade-off becomes "can users simply trust miners" to which the answer from experience is a resounding "no".
For context, this is one of the main devs of the lightning network, who's furthering the propaganda that "miners cannot be trusted". Which is a pretty dumb thing to say, since it's the core security assumption for Bitcoin to work at all.
So 10 times (the current) 7 transactions per second = 70tps.

And it needs 3TB?? Cmon, that's not lot of gain for a lot of loss of control by the average.

No, the idea is to not force everyone to have a complete copy of the blockchain. This is already the case as most use light wallets or SPV wallets.

"Decentralization" is a means to an end. Not everyone have to run a full node, as long as there's enough.

It's amusing that LN is touted as a solution, since decentralized routing is an unsolved problem, meaning that LN will be more centralized than what it's supposed to solve.

4) An abridged chain. I wish I could find the link for this or remember what it was called, but there's a lot of research towards making a compressed chain that's still verifiable and would be small enough to have on your phone. I believe their thesis stated they should be able to get it down to 2mb if my memory serves correct.
I think you're thinking of Wimblemimble and ZK-snarks. They use cryptographic techniques where the signatures need to "add up" to what they should in order to be valid -- demonstrating that no new tokens have been added in the course of the new block.

Quite cool approaches. The problem is that you can't attach data to transactions, so only useful for a subset of applications, those unlikely to create much bloat in the first place.

No neither of those are it, I'm familiar with those. I believe this would still be the same old Bitcoin, but there will clients that use these proofs to run a lightweight full node without relying on external sources or resorting to a lite wallet model.
Sounds interesting -- if you remember the details pls post.
Coda uses ZK-snarks -- not suitable for affixing data to transactions.