A computer-implemented method for blockchain data storage executed at a first blockchain node of a blockchain network that comprises a phosphor and a plurality of shards, wherein the phosphor of the blockchain includes blockchain nodes that are configured to serve blockchain nodes in the plurality of the shards of the blockchain network, wherein blockchain nodes in one of the shards of the blockchain network only communicate with blockchain nodes in another of the shards of the blockchain network through blockchain nodes in the phosphor, the method comprising: sending i) a marker message from the first blockchain node in a first shard of the blockchain network and ii) other messages from blockchain nodes in the first shard and a second shard of the blockchain network to blockchain nodes in the phosphor of the blockchain network, wherein the other messages are received by the blockchain nodes in the phosphor before and after the marker message and the marker message is sent by the first blockchain node to the phosphor to mark a time point for taking a snapshot of current state information associated with a contract account, wherein the blockchain nodes of the phosphor run a consensus of the marker message and the other messages to generate phosphor blocks to be appended to the blockchain associated with the phosphor; receiving, at blockchain nodes of the first shard, phosphor blocks including a marker block broadcast by blockchain nodes of the phosphor of the blockchain network during a consensus of a blockchain block, wherein the marker block is associated with the phosphor and includes the marker message, wherein the blockchain nodes of the first shard run the consensus on the phosphor blocks to create new shard blocks corresponding to the first shard, wherein a new shard block includes one or more phosphor blocks received at the first shard; creating a first shard block associated with the first shard that includes a phosphor block immediately preceding the marker block in the blockchain of the phosphor; creating a second shard block associated with the first shard that includes the marker block, wherein the first shard block immediately precedes the second shard block; generating, during the creation of the second shard block associated with the first shard, a snapshot of a current state tree corresponding to the first shard block as the newest block associated with the first shard; and storing the snapshot of the state information. sending i) a marker message from the first blockchain node in a first shard of the blockchain network and ii) other messages from blockchain nodes in the first shard and a second shard of the blockchain network to blockchain nodes in the phosphor of the blockchain network, wherein the other messages are received by the blockchain nodes in the phosphor before and after the marker message and the marker message is sent by the first blockchain node to the phosphor to mark a time point for taking a snapshot of current state information associated with a contract account, wherein the blockchain nodes of the phosphor run a consensus of the marker message and the other messages to generate phosphor blocks to be appended to the blockchain associated with the phosphor; receiving, at blockchain nodes of the first shard, phosphor blocks including a marker block broadcast by blockchain nodes of the phosphor of the blockchain network during a consensus of a blockchain block, wherein the marker block is associated with the phosphor and includes the marker message, wherein the blockchain nodes of the first shard run the consensus on the phosphor blocks to create new shard blocks corresponding to the first shard, wherein a new shard block includes one or more phosphor blocks received at the first shard; creating a first shard block associated with the first shard that includes a phosphor block immediately preceding the marker block in the blockchain of the phosphor; creating a second shard block associated with the first shard that includes the marker block, wherein the first shard block immediately precedes the second shard block; generating, during the creation of the second shard block associated with the first shard, a snapshot of a current state tree corresponding to the first shard block as the newest block associated with the first shard; and storing the snapshot of the state information.