Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can some explain how a block-chain scales? If every transactions needs to be stored on all market participants computers doesn't that blow up pretty quickly?


At present, as far as I know all of the scalability plans for Ethereum are theoretical. That said the plan thus far is:

Light Client Support allows for running a node that does not sync the full chain, but rather downloads and verifies only the small parts necessary to send transactions and read state.

Proof-of-Stake replaces Proof-of-Work which opens up options for things like parallelization.

Sharding is a plan to split the blockchain into many smaller chains that are all linked but operate largely independently, allowing for horizontal scaling of the network. Transactions within a shard are synchronous. Transactions across shards are asynchronous.


Think of it as an append-only database with 512 KB chunks. Once a chunk is written, it has a hash associated to it.

The next chunk will have the first line to the previous hash, showing data continuity.

Yeah, it's more complicated than that, but that's the raw essential basics.


The basic answer is that transactions are small and not everyone needs to store the whole chain. Even now storing the whole blockchain is slightly 'enthusiast'. I think it might go more in this direction in the future, but at the same time the cost of storing the entire blockchain on an SSD and the bandwidth to sync with the bitcoin blockchain are nearly trivial (the blockchain stands now at 75GB).

I think the likely evolution in the future is that most people won't store the blockchain, but that there will be multiple separate currencies and enthusiasts will store the blockchain for the ones they use or are interested in.


If you want a challenge and can contribute, some details are:

EIP 105 (Serenity): Binary sharding plus contract calling semantics

https://github.com/ethereum/EIPs/issues/53

Very technical open discussion here:

https://gitter.im/ethereum/research

I believe they also have weekly Google Hangout on Mondays.


There are a number of proposals. In bitcoin, sidechains (separate blockchains that get anchored to the main chain) are oft-touted, as is the lightning network. The idea is that only the most important / highest value transactions make it onto the main blockchain.

There are other approaches as well. Most actors don't need all past transactions- just the valid spendable outputs. Old txs could be pruned. You can also apply ideas from regular databases, like sharding.


It doesn't. That's why they're dumb and will never succeed. You can only hand wave it away while raking in the VC money for so long...


Where is the VC money coming from in a crazy we funded project?


Just keeping the storage requirement down is pretty easy, at least on Ethereum. One of the clients (the Rust version) already prunes old history.

A more difficult task is making it so nodes don't have to see all the ongoing transactions. Ethereum is attempting that with a sharding scheme.


70gb in 7 years.. including cryptographic witness which is soon going to be segreted..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: