Skip to main content
3 votes
Accepted

What are touched accounts?

touched == accessed (per tx) meaning read, write or executed (during the same tx only), including: tx sender (tx.origin) coinbase address (block.coinbase) address accessed via balance opcode (address(...
high_byte's user avatar
  • 313
3 votes
Accepted

Is sharding already working in Ethereum?

Currently sharding is not implemented in Ethereum None of the current production nodes have any sharding support There is no clear technical plan how to implement sharding Blockchains that support ...
Mikko Ohtamaa's user avatar
3 votes

Which client holds the state of the chain?

Nodes in the Ethereum network, by default, communicate using 30303 port. But nodes are also free to listen on some other port numbers. The --datadir option is used to specify where to store the ...
Gonzalo Cugiani's user avatar
3 votes
Accepted

How can callable contracts have an empty account state?

Possibly a kind soul will chime in with more details. At a high level, a "pre-compile" has a specific meaning. It is not contract code that has been compiled and deployed in advance as one ...
Rob Hitchens's user avatar
  • 55.4k
3 votes
Accepted

Do miners have to store the whole blockchain?

There are two ways to have a "full" blockchain: a full node and an archive node. A full node is what 99% of miners use since it uses a lot less space and is easier. Full does basically all ...
Lauri Peltonen's user avatar
2 votes
Accepted

Does blockchain state information take up space?

The question is, does all this new data take up space or it simply rewrites data in each block leaving the chain data size unchanged? There are two normal operating modes for Ethereum nodes: full ...
Mikko Ohtamaa's user avatar
2 votes
Accepted

Efficient struct ordering for less gas

If you are refering to struct stored in storage then yes, the very same rules apply as described in the documentation : The first item in a storage slot is stored lower-order aligned. Value types ...
hroussille's user avatar
  • 7,751
2 votes
Accepted

Is Nonce Stored in State?

I'm almost certain the nonce is stored in state and not determined dynamically every time it's needed. (I can't immediately see a way for this to be easily determined, given the layout of the other ...
Richard Horrocks's user avatar
2 votes
Accepted

Why can't the EVM access old blocks and transactions during execution?

To minimize requirements for nodes, the EVM was designed to not access history. Nodes can choose to prune history. In https://hackmd.io/@vbuterin/state_size_management that the question references it ...
eth's user avatar
  • 86.1k
2 votes

Smart Contract States

Unlike other forms of software in which the data is (generally) external to the software that manages it, contract data is stored within a namespace (a key/value store) that is logically "inside" the ...
Rob Hitchens's user avatar
  • 55.4k
2 votes

Is sharding already working in Ethereum?

No, sharding has not been implemented in Ethereum resources: Ethereum's official website: https://ethereum.org This website will provide you an introduction to Ethereum 2.0, including details on ...
Naveed Ali's user avatar
2 votes

What are touched accounts?

I've never seen the term defined properly either but i would assume this refers to a non-empty account. To be a bit more specific, an account is defined by its address and four parameters : its nonce, ...
Foxxxey's user avatar
  • 4,337
1 vote
Accepted

Do new clients necessarily need to connect to archive nodes?

It seems what you're fundamentally asking is: Does a new Ethereum client/node need to connect to an archive node to become an archive node? or Given a new Ethereum client can become a full node by ...
MShakeG's user avatar
  • 1,733
1 vote

Are nodes in Merkle Patricia Tree ever deleted?

After lots of research, here is my understanding: In general, when information is updated (like the accounts balance, or contracts variable states values), a key/value database (which implements ...
Hackndo's user avatar
  • 121
1 vote
Accepted

If a low-level call fails, are the state changes applied?

No, the state changes won't apply. Take the following code: // SPDX-License-Identifier: UNLICENSED pragma solidity >=0.8.13; contract Foo { uint256 public counter; function bumpCounter() ...
Paul Razvan Berg's user avatar
1 vote
Accepted

Which client holds the state of the chain?

Which client holds the state of the chain? No single client holds the state of the chain. For example, consensus layer rewards accrue in the validator's balance on the beacon chain, while transaction ...
eth's user avatar
  • 86.1k
1 vote

How are BeaconBlocks and BeaconStates interconnected?

The BeaconState is a single object that is maintained by the consensus client. It contains everything that needs to be persisted in order to run the proof of stake protocol, such as information about ...
benjaminion's user avatar
  • 9,297
1 vote

get final changed state of a transacion

you can execute an "eth_call" and get all the state changes due to it using the stateDiff option of the trace_call method. You can access this method using Alchemy's trace_call endpoint: ...
Sahil Aujla's user avatar
1 vote

How does a node rollback?

There are multiple possible implementations. One option since the ethereum world state is modeled as a patricia trie is to keep all state around. The changes between states are small so they won't ...
Ismael's user avatar
  • 30.5k
1 vote
Accepted

What is the difference between blockchain state and the Ethereum singleton?

The "internal state" here refers to the state of the storage for a given Ethereum account. It is included in the state of Ethereum. Remember that Ethereum's state contains all accounts, ...
KonyTech's user avatar
1 vote
Accepted

How does ethereum network keep consistent

The short answer is they're not synchronizing the state. They're synchronizing transactions. The Ethereum Virtual Machine is modelled as a state machine. A state machine has one definite state and one ...
Rob Hitchens's user avatar
  • 55.4k
1 vote

How does ethereum network keep consistent

As you describe, there are minor consensus failures all the time and they change the "tip of the chain." Minor blockchain reorganisations happen: Some blocks disappear, new one appear with ...
Mikko Ohtamaa's user avatar
1 vote

Does verification of a world state require downloading the whole ethereum blockchain?

In Ethereum 1.0 each block has the root of the state. If the state built at block N matches the root stored in the block the state is good. Validating the block's chain to the genesis should make sure ...
Ismael's user avatar
  • 30.5k
1 vote

Are NFTs (technically, the smart contracts) stateless or stateful?

I think there's a distinction to be made. As Lauri Peltonen pointed out ERC-721 contracts usually store ownership info in a mapping (tokenId -> ownerAddress), so they surely have state. But you ...
Diego Ferri's user avatar
1 vote
Accepted

Are NFTs (technically, the smart contracts) stateless or stateful?

You are correct in thinking what is stateful and what is not. A contract is stateless if it doesn't do any state changes, such as changing storage variable values. But NFT contracts aren't stateless. ...
Lauri Peltonen's user avatar
1 vote

State only node

Most Ethereum nodes already operate by having only the current state. This is also known as a full node. Full nodes may or may not include "logs" or Solidity event history, needed e.g. to ...
Mikko Ohtamaa's user avatar
1 vote

Smart Contract States

The definition of “state” is the position the smart contract has in the space described by its permanent variables. In the case the smart contract has one bool variable and nothing more, it can ...
Rick Park's user avatar
  • 3,194

Only top scored, non community-wiki answers of a minimum length are eligible