Closed code423n4 closed 1 year ago
With a single proposer able to delegate their voting power to several accounts, those with high voting power could control the decision-making process.
The above quote is not true as the delegator's voting power is removed for the each delegatee that the votes are delegated for.
Invalid assumption.
0xSorryNotSorry marked the issue as low quality report
gzeon-c4 marked the issue as unsatisfactory: Invalid
Lines of code
https://github.com/nounsDAO/nouns-monorepo/blob/718211e063d511eeda1084710f6a682955e80dcb/packages/nouns-contracts/contracts/governance/NounsDAOV3Proposals.sol#L160-L164
Vulnerability details
Impact
Within the NounsDAOV3Proposals' propose() function, a proposer is only permitted to have one active proposal at a time. Despite this, a proposer has the capability to delegate to various accounts, enabling these accounts to propose on their behalf.
Proof of Concept
The function checkNoActiveProp() ensures that the proposer does not have an ongoing proposal.
Additionally, a proposer can delegate their voting power to other accounts by invoking the delegate() function.
However, this capability could potentially lead to the concentration of power. With a single proposer able to delegate their voting power to several accounts, those with high voting power could control the decision-making process. This scenario can be problematic, particularly if the most powerful parties have conflicting interests or objectives divergent from the DAO's goals.
Moreover, the capability to delegate in this manner could lead to proposals being made without adequate consideration or discourse, as delegated accounts might not share the proposer's level of insight or interest in the proposal. Consequently, decisions might be made that do not reflect the DAO members' best interests.
In conclusion, although delegation can enhance DAO participation and engagement, it must be applied judiciously, with sufficient controls to prevent potential adverse outcomes, such as the excessive concentration of power.
Output:
Tools Used
Manual
Recommended Mitigation Steps
To address the potential issue with delegation in the DAO, some recommendations are include:
Limiting the number of delegates that a proposer can appoint to prevent the concentration of power in the hands of a few.
Calculating the vote power based on a specified block number. Currently it's using the previous block of current block.
By implementing these recommendations, the DAO can help to ensure that vote delegation is used in a responsible and effective manner, while minimizing the potential risks associated with concentration of power and uninformed decision-making.
Assessed type
Governance