masa-finance / masa-oracle

Masa Oracle: Decentralized Data Protocol 🌐
https://developers.masa.ai/docs/category/oracle-node
MIT License
16 stars 13 forks source link

Gate network validators #427

Open mudler opened 1 month ago

mudler commented 1 month ago

Is your feature request related to a problem? Please describe.

Currently anyone can become validator by setting the validator flag to true. This is quite problematic as this in the long term could be abused to gain the majority of the validators of the network and manipulate awards distribution or more generically, the network state.

Describe the solution you'd like

The validators should be or a trusted set of peer, or either based on a Proof of stake (stake weighted set).

A trusted set of peer would allow only a certain set of nodes to be the validators, and the nodes could be as well annotated in the ledger of the network and accepted by the majority of the network nodes - although it could be challenging and error-prone to maintain a set of keys both locally and on the ledger. Proof of stake would require instead a set of stake to start becoming a validator, which could limit the entry level.

This card is about having a mechanism to gate network validators, and first of all, research which one of the two options would make more sense.

Describe alternatives you've considered N/A

Additional context

EdgeVPN has a similar feature to guarantee a more enhanced security posture in case of token leaks. The feature is called Peerguardian: https://mudler.github.io/edgevpn/docs/concepts/overview/peerguardian/

It works by having a set of keys for the nodes which are considered "trusted" - these nodes only are allowed to write to the ledger. The keys are a set of asymmetric keys that can be generated beforeahead - in term of logic it's very much similar to the option described above as "trusted set of peers"

Acceptance criteria

jdutchak commented 1 month ago

Proof of Stake with Additional Safeguards

Stake Requirements:

Set a minimum stake amount to ensure only serious participants can become validators. Consider a dynamic staking requirement that adjusts based on network size and value.

Validator Rotation:

Implement a rotation mechanism to periodically change the set of active validators. Ensure that no single entity can control the majority of validators for extended periods. Slashing and Rewards:

Introduce slashing conditions for malicious behavior to deter attacks. Provide rewards proportional to the stake and performance of validators to incentivize good behavior.

Consensus Approach:

Combine PoS with a trusted set of peers for critical network operations. Allow the trusted peers to have veto power in case of emergencies or attacks.