Ethereum runs atop a peer-to-peer network. All nodes rerun all transactions for all time every time a new block is added to the blockchain. How can this possibly scale?

For anything but the most trivial compute operations this will quickly grind to a halt under the weight of all those computations. What am I missing here?

1 Answer 1


You're right. This is exactly why scaling is such a big topic right now.

Sharding is exactly what you're hinting at. It's essentially having separate chains with their consensus running on the main chain, and transactions can send ether from one shard to the main chain and vice-versa. This makes it so a node on shard 49 only has to run a full node on shard 49, as well as a light client on the main chain.

Edit: I'd also like to add that a node doesn't have to run all transactions. If you run a light client, you can trustlessly rely on any other node to supply data from the blockchain.

  • So, is the challenge when partitioning - sharding - the main chain into child chains that the consensus trust algorithm is still maintained?
    – dugla
    Commented Feb 1, 2018 at 0:32
  • 1
    The challenge is that you don't want the segmented consensus to mean segmented security. A naive approach to sharding is just to have different chains - that is, just have people use bitcoin, ethereum, and litecoin separately to scale. The issue with that is that you don't get shared security, you get segmented security. With sharding, you get shared security. Since the consensus of the child chain is done on the mainchain, you can also do swaps between chains fairly easily.
    – natewelch_
    Commented Feb 1, 2018 at 0:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.