There is clearly a demand for public nodes and not enough supply. Those service providers bear the costs of bandwidth, compute, and resource management.
At least, the current set of operators capable of supplying the service aren’t jumping at the opportunity to be altruistic.
In my situation, it would cost me an additional ~$25/month to host a public node, but I’m not receiving any sort of compensation.
Today, I propose an incentive model that introduces a new dynamic in our current delegation order. Those who embrace this incentive will likely rise to the top 30 pillars while the others could lose weight, especially as we onboard new aliens in the ecosystem.
I’ve PoC’d* a websocket proxy in Golang that can intercept Zenon client RPC requests and selectively return data based on any criteria. Service providers can choose which RPC calls they want to allow or deny.
Examples of aforementioned criteria:
- Return data only for addresses that have delegated X amount to a specific pillar for Y days
- Return data based on an arbitrary allow-list
- only for your small Discord community
- only paying subscribers
- only orchestrators or other node operators can use it
- Drop data based on request type or source address
We can productize this solution to simplify the criteria selection process for less technical pillars.
They can reduce the rewards they share in order to offset the cost for this service.
For example, if a non-delegator makes a request to query their account balance in Syrius, they will see a spinning wheel. Only delegators would have unrestricted access to all RPC calls.
Pillars can get creative with their offerings.
Non-pillars could potentially adopt this by finding other ways to receive compensation for their service.
Eventually, we could have a page like this one, displaying node capabilities, current status, etc.
* the PoC is rough but could be worth pursuing if the community supports the idea.
inb4 Trust. Don’t Verify.
Until we have a process to validate which nodes are acting honestly, the community will have to trust the nodes they connect to. Given pillars are incentivized to maintain a good relationship with their delegators, they will likely provide truthful data.
We can also work towards the goal of node validation. There are some objective sources of truth that we can leverage, minimizing the amount of trust required to use them. Eventually, we’ll solve this problem too.
Some scenarios
- Service providers bear all the costs
- Not scalable – little participation to date
- Not sustainable for anyone that isn’t generating income for this service
- Public nodes are subsidized by AZ
- Not scalable to many service providers
- May not be sustainable or a good use of funds
- Freemium model
- A subset of functionality is free or rate-limited
- Criteria is defined for “paying” subscribers
- These could be delegators
- Premium access is less/not limited
- Public nodes as a premium service
- Privately-funded, dedicated infrastructure for subscribers
- Scalable and sustainable