4

The EVM is single-threaded because we cannot allow concurrent state-updates in an uncontrolled way.

In contrast, the Solana-chain uses the "SeaLevel" smart contract engine: https://medium.com/solana-labs/sealevel-parallel-processing-thousands-of-smart-contracts-d814b378192.

SeaLevel allows for parallel execution by declaring ahead of time which "accounts" are being written to. This enables static optimizations that would not be possible otherwise.

So my question is why Ethereum-devs have not implemented such optimizations. Perhaps a Solidity-transaction could declare ahead of time which "accounts" might be called via non-view-functions. Is it just a lack of time or interest from the Ethereum-devs?

2 Answers 2

3

It has not been implemented because the backwards incompatibility change would break all the existing smart contracts. Also, it does not solve state growth problem which is the largest problem at the moment.

More about EVM scaling, and few points exactly about SeaLevel here.

7
  • If this is implemented, then I guess that a new Solidity-version is needed. But old contracts could continue to run as usual.
    – Mike76
    Aug 19, 2021 at 10:24
  • I also believe that the total state size is more problematic than the local execution speed of smart contracts. Perhaps SeaLevel is optimizing a problem that is not really important right now?
    – Mike76
    Aug 19, 2021 at 16:10
  • 1
    Thanks, so it seems that Solana is doing lots of low-level-optimizations to speedup nodes, but those optimizations are not worth much unless they find a way to solve the state-size-problem?
    – Mike76
    Aug 19, 2021 at 18:04
  • 1
    Yes. I have spoken with Solana devs. They understand this, but they do not think state growth is a growing concern (pun intended) at the moment. Aug 20, 2021 at 8:01
  • 1
    One more note about parallel execution: Solana can execute some contracts in parallel, but still needs the full state on every node? So it cannot run node-to-node-parallel, but only parallel with respect to local CPU-cores?
    – Mike76
    Aug 23, 2021 at 8:06
0

ethereum dev is working on sharding. There will be shard chains. the ethereum network will be split across a number of different blockchains (shard chains. I think 64 shards is proposed for the beginning). this will allow computation to run in parallel. Each individual shard chain will handle its own computations. Sharding will solve Vitalik's Scalability Trilemma.

Currently, Ethereum is only one lane road but with the sharding, it will be like 64 lanes road. (Vitalik said Ethereum can shard up to 1024 shards)

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.