What if we could imagine systems to “fairly” and trustlessly recognise and punish squatters that is independent from the rent / lockup of ETH model or at least doesn’t complicate the experience for 99% of users who are not squatters.
this post proposes initial ideas, trying to separate rent and squatter detection
While writing I was seeing many problems and missing pieces , but still wanted to get it out there.
is someone who buys large quantities of domains
with the intention of later reselling them and making a profit.
and potentially is ready to keep them for a long time
can also be someone who buys even just one high-prized domain or few domains from legitimate owners, with the intention to make a profit, probably taking advantage of their early adopter conditions
is someone who buys a domain so others won’t be able to use it (therefore they don’t want to sell it and make a profit, nor gift it for free) but doesn’t use it themselves.
is someone who buys or has bought large quantities of domains with the (declared/alleged) intention of giving it, for free or at a cost, to the right organisation or people, and are moved in good faith as anti pro-squatters to “protect” the interest of these 3rd party organisations who don’t know about ENS yet.
Often some domains they bought are also done with the speculative-squatter mindset of later reselling them at a profit.
Ideally solutions should tackle all the first 3 kinds of squatters, but admittedly the pro-squatter is the priority. and having a fair system to disincentivise squatters will probably avoid the need for the fourth kind.
1- in normal DNS world you would recognise a squatter (or an abandoned domain) through one of those systems
- the domain is not used or it clearly shows a for sale indicator or advertising
- if you check the whois you would see that they’ve owned it for a long time
the assumption here is that these 2 parameters (is the domain used? and for how long has it been held by the owner?) can be used to determine wither the user is a squatter or not.
This is possibly hard to tell and an incomplete criteria for the blockchain (especially around how to determine if a domain is truly used) but I won’t go into these details right now
Idea for a mixed-chain Squatter Oracle
the idea proposes a mixed on-chain / off-chain process to
- “fairly” determine if a domain has been squatted (hence if an owner is a squatter of some kind)
- return the domain to the market if it has been squatted
- discourage squatters, through economical and functional incentives
- encourage anti-squatters through economic and functional incentives
it is a system that can have it’s own governance and falls in the sphere of dispute resolution, so it could use an ENS specific mechanism or a 3rd party governance solution
What if after 1 year from registration (because people some times buy domains to make something with them but never end up doing it, like highlighted here )
anyone can start a request on a domain that it’s not “being used” (I know this is difficult and thorny concept to define but bear with me )
and submit a claim by staking some ETH
*adding off-chain some information or data proving that the domain has not been used or is owned by a squatter (maybe submitting on chain a hash of the content of the claim)
when a claim is submitted the smart contract selects at random (probably using block number) some users from the pool of ENS validators (that any user can signup/signal to join)
each validator stakes some ETH to signal they will participate in the validation. Validation can be started only after a threshold TBD is attained
If the validation is started, each participating validator analyses the data provided by the claimer
validators then stake more ETH to signal their vote (Yes domain is squatted, No domain not sqatted, maybe a 3rd option: Not enough information)
if they attest like the majority they will get the reward split from those that are slashed and probably a % from the rent (maybe they can convert this payout in registration time for their own domains)
I’m intentionally skipping a lot of details here as I just want to give the general gist, but I’m aware that there are a lot of details to solve
if the domain is flagged as “squatted”, the current owner has some time to submit the counter argument / proof of any usage prior to the claim that demonstrate the usage (got some ideas about this but will post it another time)
validators (some obligated, some optionally) perform another round of analysis and a vote on the claimants data
the claim rewards a few things:
1- a % of the stake slashed from other validators
2- a % or the rent / locked ETH of that domain (if any)
3- returns the domain to the market and gives the ability to bid again for the domain, along with anybody else, including the current owner
4- a vote of preference in case the claimers bid is tied with another as the highest bid (remote possibility)
Downsides / Problems:
the system needs to be sybil resistant otherwise a squatter can create thousands of validators to increase the chances of squatting out someone from their domains, although the randomness of the selection can partially mitigate this
the system requires that there is a way to communicate with validators and notify them about their human task to be done.
The system needs to discourage claiming-trolls that as much as squatters can claim the domain, and make the legitimate user loose a lot of time by having to submit proofs.
the system would require a way to detect if a domain is used, ie submitting a hashed event each time a domain is requested to the resolver or to the registry (the owner of the domain can unhash and reveal those transactions or through a zksnarks mechanisms only provide the proof that these TXs have happened, without revealing which ones…complicated)
Possible Improvements or Variations
- the claim is first submitted in a way that doesn’t reveal the domain being claimed upon, in such a way that the owner, potentially the squatter, can’t know wither his domain is being verified upon and can’t set up decoys or usage simulators
INTERESTING UPSIDES / EMERGENT MECHANICS
One succesful claim = waterfall of claims:
- if a squatter is recognized as such through one claim, it is possible that automatically many other claims will be raised over other potentially squatted domains,
- and there can be an emergent property for which the squatter doesn’t loose just one domain and deposit, but all/most of them, creating a strong economic disincentive to become a squatter in the first place
- and creating a strong economic incentive instead to become a “squatter hunter”: once recognized one squatter it’s probably easy to get successful claims on other domains they own and hence gain a % of their locked ETH / rent payed.