Proposal: Community Stakers Identification Framework
This post is an extended version of the Identified Community Stakers (ICS) framework post published previously, with the addition of proposed parameter values for each framework category described below.
The Community Staking Module (CSM) Early Adoption mechanics have proven immensely effective, ushering in the onboarding of 340 Node Operators (NOs) to the Lido NO Set, with a relatively low amount of Sybils (single entities/people running multiple NO accounts) making it through. Since becoming fully permissionless, CSM has seen high demand from larger node operators, leaving less room for independent stakers to join CSM and get their validators deposited to.
In CSM v2, this is meant to be addressed through the implementation of Node Operator Types. This new feature will allow for the assignment of differentiated usage parameters to different operator types, including a set of benefits for Identified Community Stakers (ICS). These benefits include access to a priority queue for a limited number of validators, allowing Identified Community Stakers to start their CSM validation journey quicker than permissionless (non-identified) operators. The general set of parameters that can be assigned to different types of operators is described in a separate document.
As a reminder, before going further, CSM v2 will remain fully permissionless for anyone who wants to use it with the default parameters. This framework is solely related to showcasing one way for a subset of node operators to apply to opt-in to a special node operator type.
Introduction to the Framework
While a technical solution for implementing these benefits has been described, the question of who qualifies for this special NO type (Identified Community Staker) and how this qualification is assessed remains open. This framework aims to introduce a possible assessment system that increases the number of independent stakers using the Lido Protocol by providing a straightforward and robust way for them to identify themselves.
Requirements for the Framework
The framework should be designed in alignment with the following principles:
- The framework should be resistant to Sybilling and abuse. Though 100% Sybil prevention cannot be achieved, even with a KYC system, the identification framework should be sufficiently resistant to minimize the possibility of abuse.
- The framework should be transparent to the community. Transparency is a key principle in the Lido community. The assessment methodology as well as addresses provided by applicants should be publicly available for the sake of framework transparency.
- People who wish to be included in the list should indicate their interest. Interested individuals must opt in voluntarily by submitting an application, ensuring that inclusion and any associated benefits are granted only to those who actively seek them.
- The framework should be easy to understand. The mechanisms for Sybil resistance and transparency should not be so complex as to significantly hinder onboarding of interested persons.
- The framework should allow for the inclusion of persons who wish to retain pseudo-anonymity. Privacy is one of Ethereum’s core principles, and the framework should align with it. This means there must be at least one viable path for applicants to join the list without full KYC.
- The framework should support the inclusion of people just starting out with Ethereum validation. There should be a pathway for individuals with no Ethereum mainnet experience to get on the list, as one of CSM’s goals is to bring net-new home stakers to Ethereum.
- The framework should respect people’s past achievements in the broader Ethereum ecosystem. Those who have contributed to Ethereum staking in various ways should have that engagement recognized, reinforcing Lido DAO’s alignment with Ethereum.
- The framework should incentivize engagement in the Lido Ecosystem. As it is primarily used for Lido CSM, active engagement in the ecosystem should be acknowledged and carry weight in the overall score.
High-Level Design of the Framework
The proposed framework is based on a scoring system, where the score acts as the entry gate to the Identified Community Stakers List. Points can be earned by providing addresses that contain proofs across various categories that represent different aspects of experience, engagement, and identity (see “Categories of score sources”).
To be included in the list, applicants must obtain a sufficient score in each category.
Addresses that contain proofs, as well as contact information, can be submitted via an application form. Applications can be submitted at any time during the period of Identified Community Stakers onboarding, while updates to the Identified Community Stakers List occur in waves—e.g., monthly—via a governance process.
Lido DAO can pause or stop the onboarding period for Identified Community Stakers at any time by decision being made by the LDO token holders through a Snapshot vote.
Sources of Score
The required score can only be obtained by combining proofs across different areas. This makes it difficult to abuse or Sybil the system, while still allowing the average crypto user interested in home staking and curious about the Lido Protocol to achieve a sufficient combined score without much effort.
Categories of Score Sources
Proof-of-Experience
This group of proofs reflects a user’s experience with Ethereum validation.
Valid sources in this group should:
- Contain address lists with historical performance data.
- Be maintained by an entity with a recognized reputation in the Ethereum community.
Sources to be used:
All of these sources must be analyzed collectively to reduce the likelihood of inclusion of Sybils or professional node operators.
To obtain points in the Proof-of-Experience category, an applicant must specify in the application an Ethereum address that either is present in one of the lists described above, or was previously used to operate validators on the CSM mainnet or testnet.
Proof-of-Engagement
This type of proof can be divided into categories that represent different forms of engagement.
Lido-centric engagement sources:
This group represents user engagement within the Lido ecosystem. Sources to be used:
- Participation in Lido Snapshot votes (Governance)
- Participation in Lido on-chain votes (Governance)
- Lido Galxe score (Community events and interactions)
- Lido High Signal score (Governance and community interactions)
Ethereum contribution sources:
This group represents user contributions to public goods and applications related to Ethereum validation. Though the audience may be niche, it ensures alignment with the Ethereum ecosystem by awarding highly skilled contributors. GitPOAPs reflecting GitHub contributions are suggested for this purpose.
Examples of trackable projects:
- Wagyu key generation tool
- eth-docker
- CoinCashew
- Stereum
- etc.
Applicants must specify their Ethereum addresses that interacted with Lido governance, have a sufficient score in the Lido Galxe space, or have GitPOAPs of the projects listed. Galxe points are based on a user’s completion of a variety of activities in the Lido Galxe space, most notably:
- Collecting OATs from Node Operator Community Calls
- Collecting OATs from attending in-person Lido community gatherings
High Signal is a system that assesses participation in public community fora (forums, Discord, etc.) and calculates a user’s score based on the quality and humane-ness of their interactions.
Proof-of-Humanity
Humanity sources:
This group of proofs allows users to earn a score by being verified by third-party platforms that apply their own rules for identifying real individuals.
Two sources are proposed to be used:
- Human Passport
- Circles (a permissioned group using the Circles protocol to add individuals who have been confirmed by a set of group administrators to be real humans and involved in staking activities (including educational workshops); no minting of CRC tokens by the group members is needed and CRC tokens do not need to be associated with the group for participation)
Contact sources:
Users can obtain a score by providing some contact information (pseudonymous-friendly usernames) for troubleshooting purposes.
Two types of accounts can be submitted:
- Discord account
- X (Twitter) account
The accounts provided in the application must belong to the applicant and should not be newly created. The activity of the accounts could be analyzed to determine whether it is bot or AI-driven, which if determined would render the application ineligible.
The Score System Summary
Summing up, each applicant should obtain a sufficient score in each category, as well as a sufficient overall score (sum of the scores from all the categories). Each source can bring participants a certain amount of points as described in the table below:
Sources Breakdown
Name of the source |
Score |
Criteria for assigning a score |
EthStaker solo-staker list |
6 |
Submitted address is present in the latest EthStaker Solo Stakers list as a deposit address, and not excluded following the a Sybil analysis of the list |
StakeCat solo-staker list |
6 |
Submitted address is present in the latest StakeCat Solo Stakers list (Gnosischain-Solo-Stakers or Solo-Stakers-B), and not excluded following a Sybil analysis of the list |
Obol Techne |
4-6 |
Submitted address has the Obol Techne credential assigned - 4 points for Base Credential - 5 points for Bronze Credential - 6 points for Silver Credential |
SSV Verified Operators |
7 |
Submitted address is present in the SSV Verified Operators list and does not belong to a professional operator |
CSM testnet participation |
4-5 |
4 points are assigned in case: - Submitted address belongs to a Node Operator that has been active on CSM Testnet for at least 60 days - Performance for the Node Operator is above the Performance threshold in several of the latest performance oracle reports. 5 points are assigned in case all the requirements from above are met, and the application contains an address that has Circles verification |
CSM mainnet participation |
6 |
- Submitted address belongs to a Node Operator that has been active on CSM Mainnet for at least 30 days - Performance for the Node Operator is above the Performance threshold in the latest performance oracle report |
SDVTM testnet participation |
5 |
- Participated in and completed the entire duration of a Simple DVT testnet with Obol, SSV, or Safestake as a home or community staker |
SDVTM mainnet participation |
7 |
- Actively participating as a home or community staker in the Lido Simple DVT Module on mainnet at the time of application submission |
Human Passport |
3-8 |
Submitted address has the corresponding score according to a Lido customized scoring system on Human Passport (max 8 points) |
Circles Verification |
4 |
Submitted address is verified via a dedicated Lido group on Circles |
Discord account |
2 |
- Submitted account is registered no less than 1 year ago - A unique message with the address applying to be included in the list is published from this account to prove ownership |
X account |
1 |
- Submitted account is registered no less than 1 year ago - A unique message with the address applying to be included in the list is published from this account to prove ownership |
Lido Snapshot Vote Participation |
1 |
Submitted address has voted at least three times with more than 100 LDO |
Lido Aragon Votes Participation |
2 |
Submitted address has voted at least twice with more than 100 LDO |
Lido Galxe Score |
4-5 |
Submitted address has a score on the Lido Galxe space: - 4 points if 4 ≤ Lido Galxe score ≤ 10 - 5 points if Lido Galxe score > 10 |
Lido High Signal Score |
2-5 |
Submitted address has a score on the Lido High Signal space: - 2 points if 30 ≤ High Signal score ≤ 40 - 3 points if 40 < High Signal score ≤ 60 - 4 points if 60 < High Signal score ≤ 80 - 5 points if High Signal score > 80 |
GitPOAPs |
2 |
Submitted address has at least one GitPOAP for contribution to the staking-related public good applications selected by CSM Committee |
Flow of application, evaluation, and claiming the ICS operator type
Step #1: Application
People interested in being included in the Identified Community Staker list must:
- Go to the application form on the CSM Widget.
- Connect the address for which they want to obtain the “Identified Community Staker” operator type, and sign a message to prove ownership.
- Fill in the required data:
- Up to 5 additional addresses that contain different types of proofs (OPTIONAL)
- Contact info (OPTIONAL)
- Prove ownership:
- For addresses: sign a message and provide the signature hash
- For contact info: publish a message from the submitted contact (provide a link) or sign in using the provided accounts
- Submit the application
Step #2: Validation
Once submitted, the application goes through the following checks:
- All signature hashes are valid and messages include the expected content (i.e. correct addresses, usernames, etc. are specified)
- Contact information is valid and meets account age requirements and passes bot checks
- None of the addresses submitted is/are related to/associated with the addresses previously used in other non-rejected applications
- None of the addresses submitted is/are related to/associated with the excluded addresses (professional operators, VaaS, etc.)
- Contact information hasn’t been used in other non-rejected applications
- Minimum score in each category, as well as the total required score have been achieved
If all checks are successful:
- The application is recorded and marked as Approved
- The status is displayed as Approved with an approximate date for the next Identified Community Stakers List update
If any check fails:
- The application is marked as Rejected
- The form notifies the user with an error and provides a reason or recommendation for correction
These checks will be carried out in a semi-automated manner, with some human review by Lido contributors and the CSM Committee members.
Step #3: On-Chain Update of the List
The Identified Community Stakers List will be stored as a Merkle tree. It is proposed that the CSM Committee execute on-chain updates of the List via the Easy Track governance mechanism.
Required steps:
- Convert the list into a Merkle tree and generate the root (Lido contributors)
- Upload the tree and root to GitHub and IPFS (Lido contributors)
- Submit a transaction from the CSM Committee multisig to initiate an Easy Track motion to update the on-chain root (CSM Committee)
Step #4: Claiming the NO Type
- New node operators: The Identified Community Staker type will be assigned during operator creation. In this case, the applicant should wait for the application approval and the ICS List update, and then create a new Node Operator in CSM with the address specified in the application. Alternatively, if a new Node Operator wants to supply their bond and get keys in the default queue before the application is processed, they can do so and, if their ICS application is approved, claim the NO type later.
- Existing node operators: The operator type must be claimed via the CSM UI.
Framework Maintenance
In order to keep the framework flexible and to streamline the governance process around it, it is proposed that the CSM Committee will be responsible for:
- Adjusting the ICS framework and the scores within the framework
- Adding or removing the sources for the score from the framework
- Creating and executing Easy Tack motions for the ICS list to be updated
- Pause or stop application intake and update of the ICS list
Tokenholders may at any time vote to rescind or reassign these responsibilities to another group, entity, individual, and may vote to modify, extend, or remove them entirely.
Additional Security Layer
Additional measures may be introduced later to protect the system at the discretion of the CSM Committee, to be proposed to the community and optimistically introduced if there is no indication of disagreement by tokenholders. These measures would aim to detect multiple ICS operators operated by the same entity/person/team and could be based on heuristics or other analysis. Node Operators possibly identified to be in violation could be entailed to some form of tobe determined arbitration mechanism for dispute resolution.
Next steps
By publishing this proposal, we want to encourage LDO token holders and the community members to provide feedback on the framework proposed.
The remaining steps required for implementation of the framework are:
- A DAO Snapshot vote to approve the framework and accompanying mechanisms (based on this post)
- Development, audit, and deployment of the Easy Track for the governance process of updating the ICS list
- Development and deployment of an interface for application submissions.