How to update state between shards

cross-shard
state-execution-separation

#1

Hi, i’m new with ethereum sharding, I’m confused with state update during shards, please correct me if i’m wrong and any advice would be appreciated.

According to Ethereum Sharding General Introduction :

Validators submit collation header to the root chain

Does this mean root chain only has collation header? if so, what if A spend 1 eth (let’s say A only has 1 eth) on shard M and spend same 1 eth on shard N? (double spend). Does shard N knows A’s state?


#2

Each unit of ETH (and each object more generally) only exists on one shard at any particular time.


#3

Hi buterin, thanks for replying.

Does this mean this is more like a side-chain?

Object only exists on one chain, if he wants to switch to other chain, it must settlement account on current chain, and then register to other chain.


#4

For an object to be transferred to another chain, you need a cross-shard transaction. This should take a few minutes to process.


#5

Any documents or resources about cross-shard transaction?


#6

I think i found related docs.
Merge blocks and synchronous cross-shard state execution


#7

Also Sharding FAQ and several approaches/discussions posts with “cross-shard” tag.


#8

Thanks hwwang.:grinning: