Why does this need to be implemented via a dApp?
From an administrative standpoint, using the portal would entail significant effort for cheaters. For honest users, however, this poses no problem since they already use the portal to claim their rewards. The tech-savvy cheaters will attempt to retrieve rewards via scripts. However, if they were required to have an active VePass, they would need to log into VeBetterDAO each week, which would be extremely cumbersome with, say, 1,800 wallets. Additionally, if users had to solve a random task during their first weekly login (such as “What is the name of the dApp where you photograph coffee?” or a captcha), it would further complicate script-based automation.
The fundamental issue is that honest users are being significantly restricted.
Therefore, my primary approach is to intensify the use of the blacklist from the outset. If it is already active, the foundation should be prepared to set a precedent and block all major farmers. If these individuals receive their payouts in the current round, they will have not only recouped the costs spent on Carboneers but also made a substantial profit.
Moreover, we should revisit a question I posed earlier: Why can VeBetterDAO be accessed via scripts? The user base consists of simply users. I understand the concept of decentralization, but fraud is technically facilitated precisely because of this. Since every normal user has to use VeBetterDAO, the question arises as to why this is not considered in the case of VePass.
If we apply your score system, the logic could be formulated as follows:
# Point system for activating the VePass
# Initialize variables
score = 0
vepass = "Not Activated"
# Number of actions performed
number_of_actions = ... # Replace '...' with the actual number of actions
# Check if at least 3 actions have been performed
if number_of_actions >= 3:
# Points for actions (each action gives 50 points)
score += number_of_actions * 50
# Age of the wallet in months
wallet_age_months = ... # Replace '...' with the actual age of the wallet
# Points based on the wallet's age
if wallet_age_months >= 3:
score += 150 # Wallet is older than 3 months
else:
score -= 150 # Wallet is younger than 3 months
# Voting method
voting_method = ... # Possible values: "Portal", "VeDelegate", "Script"
if voting_method in ["Portal", "VeDelegate"]:
score += 350 # Positive points for voting via Portal or VeDelegate
elif voting_method == "Script":
score -= 175 # Negative points for voting via script
# Claiming method
claiming_method = ... # Possible values: "Portal", "VeDelegate", "Script"
if claiming_method in ["Portal", "VeDelegate"]:
score += 350 # Positive points for claiming via Portal or VeDelegate
elif claiming_method == "Script":
score -= 175 # Negative points for claiming via script
# Login method
login_method = ... # Possible values: "Portal_Captcha", "VeDelegate_Captcha", "Script"
if login_method in ["Portal_Captcha", "VeDelegate_Captcha"]:
score += 150 # Positive points for login with captcha
elif login_method == "Script":
score -= 175 # Negative points for login via script
# Check if tokens were withdrawn after claiming
tokens_withdrawn_after_claiming = ... # True or False
if tokens_withdrawn_after_claiming:
score -= 1000 # High penalty for withdrawing tokens
else:
score += 150 # Bonus for keeping tokens in the wallet
# Check if VOT3 was received from another wallet
vot3_received_from_other_wallet = ... # True or False
if vot3_received_from_other_wallet:
score -= 500 # Penalty for receiving VOT3 from another wallet
# Check if B3TR was received from another wallet
b3tr_received_from_other_wallet = ... # True or False
if b3tr_received_from_other_wallet:
score -= 150 # Penalty for receiving B3TR from another wallet
# Check if tokens were accumulated through rewards and dApps
tokens_accumulated_through_rewards_or_dapps = ... # True or False
if tokens_accumulated_through_rewards_or_dapps:
score += 50 # Bonus for accumulating tokens
# Check if the score threshold is reached
if score >= 1000:
vepass = "Activated"
else:
vepass = "Not Activated"
else:
# Fewer than 3 actions performed
vepass = "Not Activated"
On this basis, honest users could be protected through simple means. A farmer would have to perform a significant number of actions or make purchases to achieve the required score.
Furthermore, they could not simply withdraw their funds, as they would immediately receive a substantial negative score.