Pros and Cons of Running Your Own Node
Written by Alchemy
Reviewed by Brady Werkheiser
Running a node means installing “client” software on a machine, which will download, verify, and propagate new blocks across a blockchain network.
There are currently two types of node client software: execution clients and consensus clients. Execution layer clients are responsible for managing the overall state of the blockchain and completing transactions, and consensus layer clients are responsible for verifying transactions.
To propagate transactions across the network, nodes use a series of P2P networking protocols to discover new nodes, establish secure connections, and synchronize state, blocks, and pooled transactions.
What is an Ethereum Node?
An Ethereum node is a node that operates on the Ethereum blockchain, and is one of three main types: light nodes, full nodes, and archive nodes.
1. Full Node
A full node client verifies all transactions in each new block, helps ensure that the network is secure, and that the transaction data is valid.
2. Light Node
A light node stores block header data, such as the preceding block's hash and a timestamp, rather than the complete block data like a full node does.
Light nodes send on-demand requests to full nodes, validating only the parts of the state that their user's require.
3. Archive Node
An archive node holds all of the same data as a complete node, as well as the full blockchain's history state data dating back to the Genesis Block (i.e. the first block).
Why run an Ethereum RPC node?
Web3 developers may choose to run an Ethereum RPC node to read and write data to the blockchain. Some developers choose to run their own nodes to customize the node configuration, increase security, and make system-level optimizations that are not possible using shared or dedicated nodes with a RPC provider.
What are the benefits of running your own Ethereum node?
There are four main benefits of running an Ethereum node: privacy and security, censorship resistance, decentralization, and sovereignty.
1. Privacy and Security
When using shared nodes, your transactions are sharing the same hardware as other companies, which may be a compliance or security risk for your specific product.
Some teams will prefer dedicated nodes, by running their own nodes to ensure complete isolation and autonomy, or using a node provider that offers dedicated nodes.
2. Censorship Resistance
Maintaining your own node enables you to have guaranteed broadcasted transactions to the rest of the network at any time. If you use third-party nodes, providers could potentially block transactions from your specific IP address or block transactions to specific smart contract addresses.
3. Decentralization
Running your own node means you are not rely on a centralized infrastructure provider to run your node. However, there are additional centralization vectors to consider such as the cloud provider you choose (e.g. AWS, GCP, etc.), or if you’re running a bare metal configuration, the server location (e.g. Virginia, Germany, etc.).
In the event there is an outage in your data center or with your cloud provider, web3 developers managing their own nodes should evaluate their providers, built a fault-tolerant setup, and document a business continuity plan.
4. Sovereignty
Developers running their own nodes provides them with full control to choose their preferred node software clients, how those node clients are configured, the amount and make of their hardware, and other hardware-specific decisions.
This level of flexibility can mean better performance for specific web3 application use cases where an RPC node provider can not offer the same granular choices about hardware and software configurations.
What are some trade offs of running your own node?
There are three main trade-offs with running a node on your own compared to using an RPC node provider, including maintenance, time, and reliability costs.
1. Maintenance Costs
Running your own full node requires dedicated hardware (e.g. RAM, storage, etc.) to download, validate, and store transaction information. Maintaining hardware to support changing levels of product usage is important to balance capacity and fault tolerance for your customers without overspending.
The maintenance costs of running a node will be highly dependent on whether you use a provider like Amazon Web Services, run a bare-metal server, engineering time, and the amount of hardware and bandwidth resources you need for your specific application.
2. Time Costs
Running and maintaining blockchain nodes can involve lots of technical issues, which can be difficult and time-consuming for beginners.
For web3 startups with limited funding and engineering time, dedicating a non-trivial amount of engineering resources to managing their own infrastructure comes at the cost of not focusing on building out the core functionality of their product.
Additionally, as your web3 product scales, your engineering resources will also need to scale to maintain a fleet of reliable self-managed nodes to guarantee uptime and capacity to support additional users.
3. Reliability Costs
Startups considering running their own node face numerous reliability issues such as bugs in software updates, CPU spikes, memory leaks, disk issues, inconsistent peering, and data accuracy across a fleet of nodes.
Unreliable nodes not only take time away from engineers that could be building core functionality of their product, but it directly impacts the user experience.
When nodes go down, users can not use your product, which has many potential downstream implications such as users churning to alternative products.
4 Ways Alchemy Helps Web3 Developers with Node Infrastructure
Alchemy is the leading web3 developer platform powering the top decentralized applications on chains such as Ethereum, Polygon, Optimism, Arbitrum, and more.
Below is a list of tools that Alchemy built to ensure devs have access to reliable node infrastructure and best-in-class developer tooling.
Alchemy Supernode
Alchemy Supernode is our web3 engine that replaces self-hosted blockchain nodes, with a fleet of nodes that developers interact with as if it was a single super node.
Supernode has unparalleled advantages:
99.9% reliability
Dynamic scalability
Data correctness
No setup or sync times
Testnets
Enhanced APIs
Alchemy Build
Alchemy also provides an in-house suite of developer tools to catch errors and ship faster than ever. With Alchemy Build, devs can instantly search through millions of requests, view real-time mempool transactions, make JSON-RPC calls directly from their browser, and more.
Alchemy Build’s suite of developer tools includes:
Composer - test out API calls in real-time from a simple online interface
Explorer - search through historical requests to debug transactions
Mempool Visualizer - see the real-time state of transactions in the mempool
Alchemy Monitor
Alchemy helps monitor the health of your applications with a robust command center to instantly check response times, usage analytics, insights, and alerts alongside daily reports so that you never lose touch.
Alchemy’s monitoring tool provides devs with:
Application monitoring and alerts
Dashboard with app-level details
Geographic visualizations to know where your users are located
Usage measurement to understand how your app is being used
Alchemy Support
Alchemy has expert, hands-on support, and manages the Alchemy Status Page to keep users updated about the status of our APIs.
98% Customer Satisfaction (CSAT) Score
Access to Customer Product Engineers
Connections to other people in the industry
For urgent requests, send a support ticket to support@alchemy.com!
Related overviews
Learn About The Tokenization Initiatives and Why Banking Institutions are Tokenizing Their Assets
Learn About Enterprise Grade Blockchain Infrastructure to Support Your Businesses Specific Needs
Learn About The Advantages, Disadvantages, and Use Cases of Private and Public Blockchains