The current protocol design dictates that if two users match, their previous like payments are pooled into a shared multi-sig wallet for future dates. However, this setup introduces a scenario where one user may have significantly more ETH locked in the protocol than the other.
For example, consider Bob, who has previously liked 10 users, and Alice, who has only liked 2 users. Bob has contributed 10 ETH, while Alice has only contributed 2 ETH. When they match, the multi-sig wallet is created holding 12 ETH. Since all transactions from this wallet require both users’ approval, a griefing attack can occur if Alice refuses to approve any transactions purely out of malice. This would result in Bob’s funds being effectively locked indefinitely, causing a significant financial loss.
Locked Funds: The user who contributed significantly more ETH is at risk of losing access to their funds if the other party refuses to approve transactions.
Encourages Malicious Behavior: A user with minimal financial stake can intentionally grief the other party without any personal loss.
Deters Participation: Users may be hesitant to participate due to the risk of being locked out of their funds by a bad actor.
A slashBudget
function can be introduced to measure if a user has contributed significantly more ETH than the other. If the imbalance surpasses a certain threshold, the higher contributor should be able to reclaim the excess amount to maintain balance within the pool.
This ensures that any extreme imbalance can be mitigated by refunding excess funds to the higher contributor.
Timeout-Based Exit Mechanism
Introduce a mechanism where, if no transactions occur within a certain timeframe, either user can propose a forced withdrawal of their contributions. The counterparty must respond within a set period, or the initiator is refunded their locked funds.
Arbitration System
An off-chain arbitration mechanism can be established where disputes regarding locked funds are reviewed, and funds are fairly redistributed based on initial contributions.
By implementing safeguards such as the slashBudget
function, timeout-based exits, and arbitration mechanisms, the protocol can mitigate the risk of griefing attacks and ensure a fairer experience for users contributing significantly more ETH to the shared multi-sig wallet.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.