Know Your Nodes (Part I)
*Write-up first shared in the Cubist Collective DAO on March 12, 2022. Learn more at https://cubistcollective.com/ *
— — — — — — — — — — — — — — —
I’ll admit I’ve been a bit quiet lately. And that’s because I spent quite some time researching, learning, and comparing a few different RPC nodes in the Solana NFT space and writing up my insights to share with my feellow cubists!
With the recent slump in the NFT market, you might’ve noticed a growing buzz around these newer “node” projects that speak of botting, validators, and more. So, I decided to do a deep dive into this topic as a two part series. However, before I do any node comparisons, we need to first understand a few important parts of how Solana works…
Solana uses “RPC servers”, which are basically a gateway between the blockchain and things that end-users like us use on a daily basis (e.g. dApps, phantom wallet, etc.). Every Solana transaction uses RPCs. And yes, Solana can get congested, which is one reason why we ocassionally have those painfully slow transactions. Having your own private RPC server (i.e. a “node”) is basically like having your own personal highway when driving, so that you never get stuck in rush hour traffic.
But first, let’s be clear on 4 main factors that affect transaction speed:
1) Tools: This includes websites, dApps, browser extensions (like phantom) and so on. For the most part, the devs have control over this factor. Going with the car analogy, this is like a local side street that you use to get on the highway.
2) Your device: This is where you use the tools. It can be a phone, computer, or even a “virtual machine”. This is like the vehicle you drive (racecar, slow car, motorbike , unicorn, etc)
3) RPC server: This is the “highway” that finally lets you interact directly with the blockchain!
4) Overall Solana congestion: If millions of people and bots are spamming billions of transactions at the same time, your transactions could be slow or fail.
Okay, I get RPCs now but what about “validators”? How do they relate to RPCs?
Validators are basically the ones who do the actual recording of “blocks” onto the blockchain and generally keep the Solana network running. For a pizza delivery driver, the validator is like a security guard outside the apartment that acts as the final barrier before the pizza (i.e., a “block”) can make it to the customer.
In short, all validators have an RPC component but not all RPC nodes are part of a validator. Before a validator can write onto the blockchain, other validators must also agree and confirm. Performance rankings of the top Solana validators can be seen at https://stakeview.app/
But with Solana, there’s a little more nuance to how validators record the final transactions onto the blockchain…
You see, there’s something special called leader nodes in Solana. Leader nodes are RPCs from the validators in charge of writing the next block onto the Solana blockchain. Due to their track record of success (reflected by their total amount of staked SOL), they can be granted leader node slots. This means that all “non-leader” validators will ultimately pass through a leader node before making it on the blockchain.
Although validators take turns for leader node status (e.g. a validator may only have leader node status 1% of the time), that status is still extremely valuable 100% of the time because the Solana network also prioritizes sharing transactions with other validators. This means that transactions will be prioritized despite not being a leader node 100% of the time.
So, if you’re using the RPC server within the leader node validator, then your transactions will be lightning fast because all other validators (including other leader nodes) are looking up to you for reliability and need to pass through a leader node regardless.
In summary, the ideal way to speed up your transactions is by having access to both your own private highway (RPC servers) and the keys that help bypass the security guard (leader nodes).
Ah, I get it now! So, what do I need to keep in mind when looking at all these NFT node projects?
One thing is to determine whether they have a validator as opposed to being a “stake-less” RPC. A stake-less RPC has no SOL staked, so they cannot be a validator and will therefore never be selected as a leader node. These stakeless RPCs will always be catching up to validators and leader nodes.
If you buy one of these stakeless nodes you’ll constantly be competing against others with a validator node and have a hard time… especially during periods of Solana congestion.
Another important factor to ask about is the redundancy of the network. Redundancy is basically how many parts of the network have been duplicated. More redundancy is better because there are more channels for information to travel along. For example, running the validator network on one ISP versus 10 different ISPs is like driving on a one-lane highway versus a 10 lane highway. The one with 10 lanes will be faster since it can fit more cars.
Rental features is another consideration. If you can rent it out to others, you can earn passive income for providing something that’s genuinely valuable to all of Solana. Unless Solana goes away, there will likely be ongoing demand for fast RPCs ( e.g. live auctions, arbitrage traders, payment terminals, etc).
These RPC nodes are used every time that blocks of information are written (or viewed) on the Solana blockchain. If you plan to use a node for botting, that’s fine . But the scope of RPC nodes is MUCH larger than mere botting. EVERY single transaction ultimately passes through an RPC server at some point and I don’t see the demand for this going away. The RPC node is one factor that affects transaction speeds and having leader node status will typically be the fastest.
A specific comparison of existing nodes is coming in Part II. But for now, I hope this guide provides some timeless knowledge that will help you choose excellent investments as more RPC node projects launch in the upcoming future! 🙂
P.S. A huge thank you to Wagg#8829 from the Node Monkey team for answering my Qs and for the below node monkey article that helped me understand things well enough to write it!
To be the first to see writeups like this in the future, subscribe by joining Cubist Collective DAO on discord or sending me a DM on discord (cryptolink#6763) or Twitter