Do you think having multiple tiers like that could create new sniping vectors? Like if everyone knows that Day 0-10 it goes down $200/hr and then it significantly and sharply levels off, do you think multiple people may try to grab the name right at that moment?
Hmm… Don’t think so since it’s just the rate of decay
full support, lets implement asap
Full support, quite useful update.
Whatever linear or non-linear model one may deploy, bots will likely be coded to find the most optimal flipping mechanism. Yes, a non-linear stratified model will surely be better than the linear decay model at present but it won’t be the most efficient one since knowledge of a deterministic model is enough of a giveaway. What you want is a non-linear + randomised model (Metaplex studios have a somewhat relatable version of the ideal randomisation deployed in their ‘Fair Mint Protocol’). When the thread opens on the model issue, I’ll drop by. Hopefully I won’t miss out.
Compiling some stuff together here since the EP5 proposal is now live on Snapshot:
There was a lot of discussion about this on Twitter as well, my most recent thoughts on this are here:
Also see this response that I put to a related question earlier today here on the forums:
In short, I didn’t “get it” at first until Nick graciously explained everything. It’s very easy to look at this proposal on the surface and make kneejerk assumptions. Nick also put this thread out on Twitter as an explainer, that I recommend reading:
Hey Nick, this long term plan does not sound that hard to implement unless I misunderstand something. Why not go with this instead of first going through a stop-gap solution of a fixed $100k premium?
If you can come up with a well-unit-tested fixed-point implementation of an exponentially decaying premium in the next 5 days, I’ll happily vote for it!
I don’t want to rush anything through either, but at the same time, if we are able to improve this proposal with a non-linear decay that would be amazing.
I shared this proposal with the /r/ethfinance group and got some excellent feedback from /u/interweaver that I wanted to pass along here for discussion:
I’m actually not sure I’m in favor of this. On paper it makes sense, because certainly many names are worth more than $2k. However, as we saw with the old Ethereum gas price, this will require people to pay the maximum they are willing and able to pay for the name, rather than slightly more than what the next-highest bidder is willing to pay . I.e., people will be forced to significantly overpay, because they don’t know what that next lowest bidder will be willing to spend. Currently, at least the maximum someone would lose over what they would have needed to spend is $2k, if nobody else happened to want the name but they really wanted it. If multiple parties want it at $2k, then it goes to whoever can get the tx in first, which is somewhat annoying, like an NFT mint, but at least also somewhat fair. If that price is raised to $100k, then people might be losing tens of thousands of dollars in overpayment. Good for ENS’s treasury perhaps, but bad for users.
A better mechanism would be to openly solicit bids prior to the 90 day grace period expiring (perhaps during the whole grace period, or up to a day beforehand, with 10-minute extensions like on OS so you wouldn’t have a sniping issue), and then just hand it to the highest bidder at that time. Yes, implementing this would be more work than just raising a number in a system that already exists. But if they really want to improve the system so that it finds the highest bidder without overbidding, they need something like this.
Edit: Just my opinion of course. A vote in favor would also make sense in several ways. Cast it as you see fit, and thanks as always, Phiz, for canvassing your constituents for thoughts!
Just for the sake of a clean discussion, if you wish to respond to me or the ENS community, it would be fine to respond here, if you wish to exchange ideas with /u/interweaver it might be best to meet him where he is.
This isn’t quite accurate - people will estimate what they think the next highest bidder is willing to pay, and bid somewhere between that and their own maximum. But yes, a Dutch auction is not game-theoretically optimal.
This completely ignores MEV; in a situation where names routinely go for more than the maximum premium, people will still have to employ a similar bidding strategy, but with the majority of the cost going to miners via tips.
Increasing the premium now does not preclude a new system later - but given that the problem exists today, it makes sense to at least adjust the parameters on the current system so it can go back to serving its intended purpose, before starting work on a replacement.
I’m personally not of the opinion that an English auction as described is a good idea; aside from adding a lot of complexity to the code, it also imposes significant gas costs on users, who have to submit multiple bid transactions, and lose their money regardless of whether they win the name orn ot.
Thanks for your response Nick. My biggest takeaway from this is that a solution that works now doesn’t preclude a more advanced solution in the future.
Why the 5 days rush?
Just a thought— wouldn’t it be much easier if:
At the time of expiration; ENS Immediately assumes custody of the expired domain.
Immediately at the time of expiration; a 168 hour timer (7 full calendar days) begins allowing the previous registrant to extend the registration time of the expired domain to remain registered in his or her name. Standard registrant prices per length of time to be registered will still apply with a 30% tax of the registering fee to be added in the total to reclaim the domain.
From the start of the 168 hour post expiration time period; for each hour that passes 2% of previous registrant total (registration fee Including the 30% then 2% of that total is added for every hour that passes without receiving payment from previous registrant)
regFee = baseFee(regTime) regFee(0.30) numHours=Total number of hour passed since expiration totalDue=regFee(0.30)[1+(0.02/numHours)]^(24•7)
totalDue=Amount you must pay to reclaim expired domain if completed within seven days from the expiration.
during this 7 day period:
A sealed auction takes place. Bidders may place bids on the expired domain that the previous registrant so far has failed to re-register, but previous registrant still has the seven days or 168 hours to complete the registration extension of said expired domain. Only the bidder during this time period / sealed auction is able to see their bid amount and their bid only. If the previous owner fails to re-register the expired domain the seven days , bids will become public in the order and time and amount will be displayed in a table that shows clear and concise values and the highest bidder will assume the lead bid and is obligated to purchase the domain by staking the amount into the contract. if no other bids are placed until the auction is complete after 30 days from the day of expiration, the high bidder will assume custody and control over the registered name. If you so happen to change your mind about acquiring the domain that you have the placed your staked bid into the payment contract, you may withdraw your bid with a 25% fee of your max bid plus gas fee. When a bid exceeds the previously placed bid amount, that amount is immediately staked and bound for payment unless a newly placed bid occurs exceeding the max bid. The previous max bid is then released from its staked payment contract back to the bidder. The new max bid becomes the new amount that is staked and bound for the payment contract by the new high bidder.
Implementing this method will provide the community a fair and reasonable opportunity to assume custody and control of expired ENS Domains. For I see this as a snatch and grab bought proof implementation that is inclusive for all community members and or those who are attempting to acquire a ENS domain for the first time. @nick.eth I see what you’re going for and don’t get me wrong I think it’s a good idea but I believe that that will Exclude a huge amount of people from the competition of acquiring these domains. Now if we were to implement what you are Suggesting it would only enable the ENS community to be inclusive to those of which and only to those who know how to program and code bots, this again creating an adverse and unfair advantage.
This right now is pinnacle moment in time where this has got to be done right. This literally could be a make or break the project for ENS domains. I know that if I were trying to include myself into a community and that community already had an unfair at bandage over me trying to be a part of the community then I wouldn’t wanna be a part of that community at all. especially a community that runs on the decisions of delegates and the use of a DAO.
Why would anyone want to take part in a community where my ability to participate fairly was taken away from me before even having the opportunity to be a part of the community.
I’m in favor of this being a temporary solution and an improvement over the current situation.
I have doubts on whether the Dutch auction format will be the right long term solution, but at the same time I see problems in other proposals such as the English auction or sealed bids as well.
I am leaning towards the view that very specific second level ENS names being a nice to have and favoring whatever action that minimizes value ended up being in the hands of bots, squatters and miners.
Maybe broader adaptations of subdomains and / or other TLDs play a bigger part for ENS down the line.
Because this is being exploited right now, and I’d like to start a vote to update the premium immediately if this vote passes, which will give us plenty of time to deploy a longer-term solution.
I think this idea posted to Twitter is pretty cool: https://twitter.com/avsa/status/1480309719910731782
Reading this thread it’s clear that people are reading this as “you have to pay 100k to renew” and not “expired domains go through a Dutch auction”. Maybe the starting price should be set at 2^128 dollars, so that it’s basically at infinite.
If the start price was the Ethereum market cap, and the end price is $0.50, the decay rate is about 4% per hour (~60% per day), which is much less than I expected.
Working backwards, 50% decay per day seems a reasonable starting point; if we wanted the end price to be $5 (same as a year’s registration), the start price would be 1.3 billion dollars. It’d hit 10 million after 7 days.
Also gets rid of the “i’m priced out” argument, as everyone would be. I think that suggestion has the better story to it than upping the price to the proposed 100k.
@jalil Thanks for sharing this.
I believe this could be a working longer term solution. The current proposal is a “stop-gap”.
Though I’m in favor of the current proposal and have voted for it, my hesitation was also “how does this look to others?”. While helping out with ENS Discord, I’ve heard more than one user complain, “oh great now the name I want is expired and I need to pay $2000”. I’m thinking “wait til you see it at $100k.” (I didn’t say that though )
I understand the delegation process, that most users won’t have been following, understanding, or keeping up with ENS, so they delegate their voting power to those who resonate with how they might vote. Informed voting is important!
With that said, it looks like the proposal is going to pass. However, there’s nothing stopping us from immediately making another proposal to up the starting price to 2^128. This may have the intended effect to help people realize the starting price isn’t “ENS selling names at $100K now”. They will realize, “Oh it starts out of reach, and goes down. I’ll wait until day X of 28 days to try and buy it for a price I (or my company) thinks it’s worth.”
I agree, and that’s a good long-term plan. However, we need to fix the immediate problem first and implement a longer-term fix later.