In terms of increasing the effective users, there are two directions: One is to expand the number of new users, and the other is to improve the retention rate of existing users.
Currently, there are 176,484 (698,743 - 522,259) existing users who are no longer considered effective users due to the expiration of the ENS they hold. This group of users for approximately 25% of all users.
I’m a fan of discounts for longer renewals, because they also favor users over speculators. A name with a long expiration date is unlikely to attract a significant premium on the secondary market, so speculators will typically register for shorter periods, meaning a discount on longer renewals benefits long-term holders of names almost exclusively.
I just wrote up a simple proof of concept for the following:
Prices are discounted after 1 year
Each year the entire price of the ENS name is discounted
The percentage can be adjusted, but currently is hardcoded at 5% per year and capped at 10 disyears
Max discount is 50%, but anything above also gets 50%
Thoughts on such a technical implementation:
It isn’t a progressive discount, so there isn’t much point in registering for just under 1 year, because you will actually end up paying more for 364 days rather than 365. This could be fixed with a progressive discount with a similar discount scheme that is more aggressive that does not allow this to happen.
E.g. after 1 year the second year gets discounted by 10% rather than 5%. So exactly 2 years would also yield an average of 5% discount across the whole name. At 3 years, if you wanted to average a 10% discount, then the 3rd year would need to be discounted by 15% to give an average 10% discount. At 4 years it would need to give 20% etc etc. The scheme is slightly more complicated though so may not be worth adding.
I maxed it out at 50%, but this could continue going up, although it seems we should definitely cap it somewhere
General thoughts of the concept
I’m not sure increasing registration length necessarily would increase the effective number of ENS users. Just because a user actually has an ENS name doesn’t mean they’re really using it. However I think such a scheme doesn’t punish real users, and it doesn’t really help squatters if priced in the correct way, so I don’t think it really harms real users that are maintaining their name for the long term, and could help them.
It could also help real users, if the DAO decides to increase the price of an ENS name to keep up with inflation or for some other reason
I think this change is meaningful, and the main reason is that it can benefit real users to a certain extent.
It is similar to the charging scheme when we purchase various network services. For example, when renewing DNS or some cloud services, longer renewal time will get more discounts.
Since the verification and collection of fees are carried out on the chain, I think the discount scheme should be kept as simple as possible, and only the discount that can be given for the current renewal should be calculated. for example:
var list_price = annual_fee * duration
var years = Math.floor(duration / 1_year)
var discount_price = list_price * (1 - 5% * (years > 10 ? 10 : (years - 1)))
Also, I haven’t seen a discussion about the referral mechanism recently. I think the referral system is also important for ENS, and may also involve contract-level upgrades, so maybe these two things can be done at the same time.