Developers Forum for XinFin XDC Network

Discussion on: XDC Network Protocol Upgrade Proposal: Fully Proof-of-Stake (PoS) Network

walterblueu profile image
Jon McBee • Edited on

Here is my feedback on the proposal, after having taken more time to read and digest it.

You simply cannot cast a vote on the current proposal because there is not enough explicit information in the proposal for you to be able to understand what you are voting for. The proposal should be broken up into, at a minimum, three separate proposals.

  • Change the number of validating masternodes from 108 to 130-150. This proposal should also speak to standby nodes; if they will continue to exist, how many of them there will be. Standby nodes are completely subsidized by the ecosystem dev fund, and this proposal should also go into the tokenomics of increasing the burn from that fund.

  • Change the staking requirements for all nodes by removing the max and min stake requirements. We are all aware that current staking requirements are 10M XDC for both validating and standby nodes. The existing proposal includes removing that requirement so that anyone can stake any amount. I believe the intent was for people with less than 10M XDC to be able to stake in a node, but I believe that without greatly increasing the number of standby nodes the removal of a minimum stake won't accomplish this goal. What removing staking requirements will do is cause node owners to compete with each other to earn their way into the validator pool so that they an earn the maximum reward. I don't think this is a bad thing for the network as it would encourage larger amounts of XDC to get locked up in the masternode smart contract.

That last statement is only true up to a point because eventually it becomes disadvantageous to lock up large amounts of XDC with a fixed 10% return. As far as I can tell the existing proposal retains the 10% of 10M XDC reward for validating nodes regardless of if they have staked 10M XDC or 100M XDC. Eventually an equilibrium would be found that maximizes the return on the staked XDC. That said, I do believe that existing validating node owners would end up getting mostly pushed out in favor of the entities who have access to larger amounts of XDC. I think that the proposal must be updated to state that validating nodes will earn 10% of 10M XDC regardless of stake (or not if the founders intended otherwise) so that we can know exactly what we are voting on.

I think that we need to understand the mechanism that node operators would use to approve consensus updates. I think a worst case scenario would be for exchanges, banks, or other large entities to take ownership of all validating masternodes and have complete control over what consensus updates can and cannot be pushed. It would be possible for those entities to work with their own protocol teams and compete against the network as we currently know it for protocol updates.

  • Change from XDPoS to Full PoS. There is no concrete technical information in the current proposal explaining why this needs to happen. I don't believe that this update should be coupled to the previous two above. I think that before casting a vote we need to understand why the founders are proposing this change, how this change fits with the XDPoS 2.0 work already underway, and how this change relates to the masternode updates.

That said, I believe that the founders main intent was to open staking up to people who don't have access to 10M+ XDC. I have gotten to know the founders through my work at the XDC Foundation and I truly believe that they always operate with the best interest of the network and network participants in mind.

With that goal in mind I propose that we replace proposals 1 and 2 above with the following:

  • Keep 108 validating masternodes that earn 10% of 10M XDC required minimum stake. Shift to 100 standby nodes who earn 8% of 10M XDC required minimum stake (we are currently at 99 standby nodes so that would leave one more available at 8% with required 10M XDC stake). As we currently have a maximum node pool of 300, 108 validating nodes + 100 standby nodes = 208 nodes, and 300 max node pool - 208 = 92 nodes that have been planned for. Those 92 nodes are built into the tokenomics of the ecosystem dev fund with a planned burn of 800,000 XDC * 92 nodes = 73,600,000 XDC per year. So let's play with that pool of 73,600,000 XDC and see if we can open it up as rewards for lower staking amounts.

What if instead of 92 more standby nodes with 10M XDC staked earning 8%, we changed it to 1,472 more nodes with a 100,000 XDC mimimum stake requirement, where each node earned 4%? That would work out to a monthly reward of 100,000 staked XDC * 0.04 = 4,000 XDC per year, or 333.333 XDC per month.

There is a problem with this proposal, and that problem is hosting costs for the node. At current prices the rewards would just cover the hosting costs (and that may be too ambitious of a statement). But we can take this general concept and tweak numbers to make it work. My goal is to make as many lower cost nodes available as possible.

This proposal wouldn't change the tokenomics at all, but would make many more nodes available to many more people.

I welcome feedback on these thoughts.

rory_federico_ca0a2a45829 profile image
Rory Federico

I like this idea of 1472 more nodes with a minimum of 100k XDC for staking. This goal is very achievable for a lot of interested people that would not have had the opportunity under the current plan.

riteshkakkad profile image
Ritesh kakkad Author

great feedback. Validators node tested upto 150nodes only (not sure for 1.5k+ nodes) but we can provide flexibility for standby/backup node.