2

Is it possible for the network clients to just keep the latest network state (without keeping track of the past transactions) while not harming the network security? That is, is it really needed to keep the whole transaction history? I am aware that then it would not be possible to reconstruct the blockchain from the genesis block but is it really a big issue?

Thank you

1
  • Would tearing out a money registry pages a good idea to keep track of money transfers ? Commented Aug 22, 2021 at 5:13

1 Answer 1

1

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 show your past transactions in a wallet. By default, this history is disabled by GoEthereum node software and not available from many free RPC providers.

What you are describing is called an Archive node. A node launched normally keeps only the current state. For example, you cannot query past balances of Ethereum addresses. Archive node allows you to query the full transaction history.

2
  • Ok, thanks for answering. However what I meant to ask is whether it would be an issue if the transaction history was forgotten. That is, there would be no more archive nodes in existence. Thanks
    – Jan Beneš
    Commented Jun 14, 2020 at 8:19
  • Full nodes and archive nodes download the same dataset. However, full nodes discard all data on disk and memory that is irrelevant for the current state so it does not take 3 GB. Archive nodes build various indices to query this data. So full nodes have themselves the backlog of transactions, but they do not have the backlog of historical states per block. Commented Jun 14, 2020 at 8:49

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.