In this article, we'll explore the concept of the Master Node Senate within XDCDAO and walk through the steps needed to register on the DAO for those who hold a Master Node.
I'm assuming that everyone in this article has high-level understanding of XDCDAO. if not please check the previous articles that we've gone over those topics: Link
Master Node Senate refers to the XDC node operators, both Validator and Standby nodes, who are responsible for governing the XDC network's security by validating and proposing blocks. XDCDAO requires Master Nodes to delegate their voting rights to another wallet address, which can be managed by the master node itself or a trusted person (perhaps even AI in the future!). This delegation approach allows the master node address to interact with XDCDAO once and then disconnect, adding a layer of security since that address is involved in XDC's consensus.
The diagram above simply illustrates how that process look like through one transaction to XDCDAO smart contracts.
A crucial point to note: XDCDAO operates using a concept called the Proposal Window or Proposal Session. For more details, please refer to this article.
According to the figure above, A master node should be registered once(One-time registration) at the time of orange boxes.
Master Nodes cannot delegate their address during the Proposal Window. Therefore, XDCDAO only expects transactions from Master Nodes to update or join outside of this window.
The current structure of XDC's DPOS consensus system is like this:
// This is how DPOS works
Alice(MN Owner) -> Bob(Coinbase) ✅
As side note, what the Master Nodes should consider is all the delegate addresses from all Master Nodes are unique from each other, for instance:
1- Alice(MN Owner) -> Bob(D) ✅
2- John(MN Owner) -> Rose(D) ✅
2- Mike(MN Owner) -> Rose(D) ✖️
// MN cannot register an address which is already register by another MN.
Moreover, the delegate must not be a master node itself:
Alice(MN Owner) , Bob(MN Owner)
2- Alice(MN Owner) -> Bob(MN Owner) ✖️
Alice can not delegate Bob
You might wonder what happens if a Master Node resigns from XDCValidator. How does XDCDAO handle this? An off-chain scheduler service addresses this scenario by tracking changes in the XDC Validator set and applying updates as needed.
Security Note 1: A concern may arise regarding who can remove a Master Node if it is no longer an XDCValidator. The answer is that anyone can perform this operation, as the contract's logic is straightforward using the function syncWithXDCValidator().
Security Note 2: Another potential issue is if a Master Node joins before the Proposal Window, votes during the voting period, and then resigns from the XDCValidator contract within the voting period. Does this affect the voting result? The answer is no. XDCDAO ensures that no changes to Master Node states occur during the Proposal Window. This means that during each Proposal Window, all voters are locked, focusing solely on voting. This approach acts as a snapshot of voters but with a different strategy.
Beyond discussing the terms and processes, let's guide you through the steps to register your master node address on XDCDAO:
How-to
1- head to Master Node Senate page
2- connect your wallet that the Master Node address is there by clicking on "Connect Wallet" button:
3- Once your wallet gets connected, the "Delegate Member" will be activated.
4- Click on "Delegate Member", you'll see the below modal where you should paste your delegate address and send the actual transaction by clicking "Delegate" button:
5- Once you sign the transaction, after final confirmation on-chain, I'd say congrats welcome to the party!
Conclusion
By understanding how to register and delegate your voting rights as a Master Node, you can effectively participate in the decision-making process while maintaining the security of your node.
The process involves careful timing, particularly around the Proposal Windows, to ensure compliance with governance protocols. The unique approach of delegating voting rights allows for enhanced security and flexibility, ensuring that the network can remain robust and decentralized.
By adhering to these guidelines, Master Nodes can contribute to the XDC network's growth and stability. As we continue to evolve and integrate new technologies, the role of Master Nodes will become even more pivotal in shaping the future of blockchain governance.
For those who are new or considering joining the XDCDAO ecosystem, following these steps and understanding the intricacies of the system will ensure that you are well-prepared to make impactful contributions. As always, stay updated with our articles and community discussions to make the most of your involvement with XDCDAO.
Discussion (5)
So an masternode owner needs to sign with their private key, then delegate an address where they will perform a simple transaction on behalf of the ownership?
Is this the right action to become a part of the senate of XDCDAO?
Yes, that's correct. Once you delegate your designated address, you can disconnect your masternode address from the XDCDAO site, even remove it from MetaMask if you feel the need for it, and then connect to XDCDAO with your newly delegated address, removing exposure to your node address.
How is the weight of votes calculated? Meaning, if a person or entity owns more than one node, are their votes counted with the same weight of another person or entity with one or less nodes?
It’s based on number of nodes that a MN owner has.
MN-1 has 1 node, each vote equals to 1.
MN-2 has 5 nodes, each vote equals to 5.
Thank you for responding! That makes sense.