Explore the Future of Web3: Shardeum's Whitepaper Released!

Archive Nodes on Shardeum

In Web3 (and everywhere else!), data is the key to unlocking the world’s secrets. Blockchain technology has revolutionized how we store and exchange data, and archive nodes are the gatekeepers to this vast digital realm. As the keepers of the blockchain’s entire transaction history, archive nodes play a vital role in maintaining the integrity and transparency of the network. Let’s first look at the salient features of archive nodes on blockchains followed by what role archive nodes play on Shardeum.

What are Archive Nodes?

Archive nodes, typically, are a type of node in a blockchain network that stores every transaction that has ever occurred on the chain. They are crucial to the integrity and transparency of the network as they provide an immutable record of all transactions. This allows anyone to verify the authenticity and ownership of assets on the blockchain. 

Unlike other blockchain nodes, archive nodes require significant storage and computational resources to maintain a complete copy of the blockchain’s history. However, their role is vital for ensuring the trustworthiness of the blockchain network and its applications and are usually compensated with rewards like network coins/tokens. Note, archive nodes are often referred to as “the immune system in blockchain technology.”

Full Nodes vs Archive Nodes

It is important to distinguish between a full node and archive nodes in a typical blockchain setup. In blockchains, full nodes have a complete copy of the blockchain, but they need to replay transactions from the beginning to a specific point in time to answer historical queries. Their primary use case, though, is to tell you the current or most recent details sufficient enough to facilitate most regular operations in the network. Archive nodes, on the other hand, store a complete snapshot of the blockchain state at every block or cycle (in the case of Shardeum), which allows them to answer historical queries immediately.

Think of the blockchain like a book of transactions. Full nodes have the entire book, so they know every transaction that’s ever happened. But if you ask them about the details of an account or contract at a specific time in the past, their response would depend on their setup by the blockchain protocol – they might either not have the information or they’d need to “re-read” or replay transactions from the beginning to that specific point to provide the answer. On the other hand, Archive nodes possess comprehensive version of that book. They not only know every transaction, but they’ve also made notes on each page about the details of every account and contract at any given time. So, if you ask them about an account’s details from any specific time in the past, they can tell you exactly without needing to replay anything.

Examples of full node include Bitcoin Core, and Ethereum Geth. Examples of Archive node include OpenEthereum, and Nethermind. But note that, full nodes can transition to archive nodes, and vice-versa, by adjusting their data retention and configuration settings.

What are the Use Cases of Archive Nodes?

Here are some of the use cases for archive nodes in blockchain networks:

  • Validators of blockchain networks can verify the validity of past transactions by referencing the historical data stored in the blockchain by archive nodes
  • Archive nodes are often used for in-depth analysis of blockchain data. Researchers, analysts, and developers can query the complete history of transactions and examine patterns, trends, and anomalies within the blockchain
  • Archive nodes can assist organizations in meeting regulatory obligations by providing a visual and immutable record of transactions
  • Archive nodes play a crucial role in verifying the execution and outcome of smart contracts. By accessing historical data, developers and auditors can confirm that a smart contract functioned as intended, trace the flow of transactions, and identify potential vulnerabilities or bugs in the contract code
  • Archive nodes allow developers to replay past transactions on a blockchain. This capability is valuable for testing and debugging purposes
  • They provide access to comprehensive historical data, facilitating studies on blockchain scalability, consensus algorithms, network behavior, and other research and educational topics
  • Legal contracts and other forms of intellectual property may be archived on the blockchains and made available to their rightful owners with the help of nodes designated as “archives.”
  • With the help of archive nodes, investors and regulators will have access to a verifiable record of all financial transactions.
  • Archive nodes can use blockchain to safely and immutably record an individual’s identity and credentials

How do Archive Nodes Work?

Archive nodes maintain a complete copy of the blockchain’s transaction history. Whenever a new block is added to the blockchain, archive nodes receive a copy of the block and store it locally. This process repeats for every block in the chain, ensuring that archive nodes have a complete and up-to-date record of all transactions. When a new block or a group of transactions (in the case of Shardeum) is proposed, validators can check the previous transactions stored in the archive node to ensure that they comply with the blockchain’s rules and consensus mechanisms.

Archive nodes, further, enable the replaying of past transactions. Although it is not needed in most cases when you have archive nodes, this feature is still a bonus. This capability can be helpful in testing and simulating different scenarios, including arbitrary transactions. Validators and developers can use the historical data from the archive node to recreate the state of the blockchain at a specific point in time and simulate the execution of arbitrary transactions. This aids in understanding the impact of such transactions and evaluating their validity and consequences.

Because archive nodes store every transaction on the blockchain, they require significant storage resources. However, the value they are adding results in an immutable and tamper-proof record of the blockchain’s history, making it an essential component for ensuring the trustworthiness and transparency of blockchain networks. 

What are the Types of Nodes on Shardeum?

1. Validator Nodes (also known as Validators)

These nodes validate the transactions on Shardeum by participating in the consensus. They will have to stake SHM to be able to participate. Shardeum will reward honest validators with SHM for participating in transaction validation and consensus. Network rewards will come from predefined SHM emissions, and the transaction fees earned among other factors. Validator nodes don’t store the whole history and in fact they only store the state of accounts they handle, and so they will be lightweight. The active validator network size grows and shrinks based on transactions pending that need validation consensus from validators.

2. Standby Nodes

These are validator nodes standing by in the network and not currently participating in consensus. Standby nodes help scale the Shardeum network quicker when more transactions are pending. At the end of every cycle, the oldest active validators in the network are rotated out for standby validators for optimum security.

3. Archive Nodes

Archive nodes will maintain the the blockchain’s historical data/states. Archive nodes may or may not have to stake the network coin, SHM, but they will earn a portion of the network reward as an incentive to store historical data. Again, the decision on staking requirements for archive nodes will be made available closer to mainnet.

Archive Nodes on Shardeum

As you can now imagine, archive nodes are critical for a blockchain network to function properly. However, with respect to Shardeum, the criticality cannot be overemphasized as a result of its linear scalability. 

Shardeum is a layer 1 blockchain network with an EVM based smart contract platform that scales linearly to maintain low transaction fees forever, along with high decentralization and security. Transactions are ordered in a time based way on Shardeum (first come first serve basis) to maintain chronological consistency. Transaction verification and consensus are done individually i.e. they are done at the transaction level instead of block level as you see with typical blockchain networks. Shardeum uses a unique/combined consensus mechanism – Proof of Quorum and Proof of Stake – to reach majority consensus on transactions before considering to process them.

Processed transactions are grouped together and passed onto archive nodes on the network who are responsible for storing historical data. Validator nodes will only store the state of accounts they are involved in across shards, allowing average users to operate a node on Shardeum with minimum hardware requirements. And this is crucial for the network to scale horizontally and maintain low gas fees permanently. If Shardeum validators have to perform consensus using powerful machines and computations, then it will end up scaling vertically like the vast majority of blockchain networks today resulting in unpredictable and rising gas fees during traffic spikes asides from performance issues. 

Since Shardeum uses the most advanced type of sharding called dynamic state sharding, it implements a 3-dimensional sharding approach by sharding State, Network, and Transaction on top of dynamically autoscaling the network capacity up or down relative to the current and historical states of the blockchain. This allows for parallel transaction execution on the network while maintaining atomic and cross-shard composability. Every node added to the network will increase its throughput proportionally. And because archive nodes take up the burden of the entire transaction history of the network, Shardeum can scale limitlessly.

How Do You Run an Archive Node on Shardeum?

As mentioned, running an archive node requires significant storage resources, as it involves storing a complete copy of the blockchain’s transaction history. Note, the details of running an honest archive node on Shardeum will be made available towards the launch of mainnet slated for Q1 of 2024. However, we will see how you can run an archive node at a high level.

  1. Install the necessary software to run a node similar to how you install the software for operating validator node on betanet currently
  2. Allocate sufficient storage space to store the blockchain’s complete transaction history. Requirements (estimate) for running an Archiver would look like this: 32 core, 256GB RAM, 4TB SSD
  3. Link to the network and begin downloading the blockchain’s transaction history.
  4. Ensure that the node stays connected to the network to receive new batch of transactions after they are added/confirmed on the network
  5. Periodically update the software and maintain the hardware to ensure smooth operation.

FAQs Related to Nodes on Ethereum

1. What is the Difference between the Archive Node and the Full Node in Geth?

Both archive nodes and full nodes in Geth store a complete copy of the Ethereum blockchain. Regardless, the primary distinction between the two is that archive nodes store every historical state of the blockchain including all transactions, smart contract state changes, and even deleted data, while full nodes store the complete transaction history up to the most recent blocks and a copy of the latest state data sufficient enough to facilitate most regular operations in the network.

Archive nodes are useful for applications that require access to the history of the blockchain, such as auditing and compliance, while full nodes are sufficient for most other use cases.

2. What are the Various Types of Nodes in Ethereum?

Nodes in Ethereum are computers that participate in the Ethereum network by maintaining a copy of the blockchain’s transaction history. There are various types of nodes in Ethereum, such as full nodes, light nodes, and archive nodes. 

Full nodes store a copy of the entire blockchain, including the transaction history up to the most recent blocks sufficient enough to facilitate most regular operations in the network.

Light nodes only store block headers for mobile and low-power devices. 

Archive nodes store every historical state of the blockchain and are used for applications that require access to the full transaction history right from genesis block. All nodes in Ethereum communicate with each other to ensure that the blockchain is consistent and accurate.

1