Addressing the "dead land" problem

Proposal: Addressing the “dead land” problem so Decentraland remains vibrant over the long-term

Motivation: The “dead land” problem - sometimes called “abandoned land” or “deceased land” problem - is the following: a non-zero percentage of the LAND supply is currently “lost”/“dead”/not accessible by anyone. This means that whatever is on that LAND right now (either a deployed scene or nothing if nothing was ever deployed to it) is what will forever be on that LAND.

This can be due to a number of reasons: people die and don’t transfer their private keys, people lose access to their own private keys, people transfer the NFTs to a contract that can’t transfer it back, etc.

If not addressed, the number of dead land can only ever grow as more people lose their private keys. Non-metaverse societies have come up with solutions to this problem, and we must too otherwise Decentraland Genesis City will slowly turn into an ossified landscape of dead land.

“Lost private keys” is an obvious issue in crypto in general, but the consequence for Decentraland is that the world slowly dies.

The goal of this post is to describe previous solutions proposed, highlight concerns that have been raised, and discuss how to best bring this topic to a governance poll.

Background: this problem has been discussed on the DCL discord as far as I can remember. The common answer has typically been “we will figure it out eventually”, I’m writing this post because I think now is a good time to revisit this topic. If anything we will get a fresh perspective on pros and cons.

In March 2020, a proposal was put forward. The core idea was:

  • Every address gets a “timer" which gets reinitialized to 0 every time the address interacts on-chain with the LAND contract.
  • Once the timer reaches a certain amount of time, the LAND owned by the address gets put for auction and the proceeds of the auction go to:
    1 - The inactive address itself
    2 - The entire community via burn

How can we modify this proposal to address the concerns that were raised?

Summary of concerns raised:

Find verbatim concerns copy-pasted at the bottom of this post.

  1. transfer() on LAND contract is not sufficient, f.ex. in the case of district land in passthrough contracts or multi-sig.
    solution: add a no-op ping() method on the contract that does nothing but reset the timer. The operator/update manager/owner can all call that ping() method to reset timer.

  2. on-chain transfer() is not sufficient, any activity like signing into Decentraland or having onrelated on-chain activity should be enough to reset timer.
    solution: this is harder one because it’s impossible for an on-chain contract to know when someone signs into Decentraland, or to know whether they have non-Decentraland transaction like sending an ERC20 around. As far as I know, the only solution around this would be to introduce some kind of “oracle” that would effectively be able to communicate to the Decentraland on-chain contracts that something has happened offchain (like signing into Decentraland).
    then: the DAO could have a subcommittee with such a special “oracle” permissions. a merkle tree could be published every month and contain all addresses that the subcommittee has observed any activity (privacy concerns?)

  3. dead LAND could be made available to the community for lease/public use until the owner comes back
    solution: add a grace period where LAND goes into community pool, and if the owner comes back before grace period ends they can claim it back.
    however - we must keep in mind that the owner might be dead and might never come back.
    alternative solution: the LAND is never sold back to the market, and forever owned and controlled by the DAO

  4. what if the land is lost because someone sent their NFT to the wrong contract, or someone still being alive but losing their private key. should there be a “judiciary” process for those people to claim their LAND back?
    solution: while in grace period, a subcommittee of the DAO can veriy such claims, and submit a proposal to the DAO for LAND transfer.

  5. people should be notified by email
    solution: email is not an option since the smart contract has no idea what email correspond to what ethereum address. but there is a few new peer-to-peer technologies like chat.blockscan.com, EPNS & Lens protocol so there might be a community based notification option.

  6. people should have the option of adding a beneficiary in case of death
    solution: maybe this could be added, but I’m not sure whether this should be solved by Decentraland. seems like this is something that smart contract wallet should offer, then you simply transfer your LAND to that smart contract wallet.

How to bring forward for governance poll:
We should start with least controversial elements and slowly start probing governance for the more controversial ones. For example, we could start with a simple “yes/no” poll such as:

Should the Decentraland DAO address the “dead land” problem: lands for which access is forever lost. If the consensus is that the DAO should not address this problem at this point in time then we table the discussion for now.

Otherwise, we can poll on individual questions such as:

  1. Should there be an oracle mechanism to detect off-chain activity? (f.ex. signing into Decentraland, activity on other chains)
  2. Should “dead land” be sold back to the public, or forever controlled by the DAO and made available for public use?
  3. Should there be a judiciary for living people to claim back their LAND after they lost access?
  4. Should there be a grace period where LAND is transfered to the DAO, made available to LAND pool for community use, but still claimable by previously inactive address until grace period ends?
  5. What should the inactivity period be? Options: 1 year, 2 years, 3 years, 5 years, 10 years.
  6. What should the grace period be? Options: 1 year, 2 years, 3 years, 5 years, 10 years.
  7. Where should the proceeds of the auction go? Options: 70% inactive address/15% burn/15% DAO. 50% inactive address/25% burn/25% DAO, etc.

Verbatim of concerns raised

Maybe making it available for a public park type of build, and then if the owner comes back they can decide to scrap that build and build their own thing, or keep the “greenspace build.” If there were permissions given for a group of people that build on abandoned lots, for the communities benefit, that could be very coool.

this is a recurring theme. first transferring LAND for public use during grace period is one way to address this

And it would be very easy to set up a timer contract to do a land swap to and from another wallet that would run on its own, defeating this solution as solving anything.

in any case I don’t think we’ll ever get away from people fully automating the timer reset with onchain or offchain actions. everything can be automated. the only way would be to give the DAO full recapture power which is out of scope for now.

Also, we really should develop a judiciary that can review cases where a person has lost a wallet, but has some strong evidence that the land was theirs and nobody else advances a claim. for a fee, and after sufficient passage of time, a judiciary should be able to accept the applicant’s request to have the land “auctioned” to them for a low price to a new wallet. Thought needs to be given to safeguards.

something like this would be nice and complementary

I think you have to look at the activity of the owning address of the LAND, rather than the LAND contract itself. If someone is actively doing anything at all, be that swapping coins, playing another game, anything that would indicate active use of the addresss then the parcel should be left alone. If there is no activity on the address in one year or more, the keys are almost certainly lost.

the Decentraland smart contract cannot know if someone is swapping coins on another contract. the only way something like this would be possible is by adding an all-powerful “oracle” to the system

I know people would not like it, but the other suggestion could be a land tax as low as 1 usd every 6 months. (just a random guess)

I would personally be in favor of property tax but I doubt we’ll get consensus on this. also, a ping() method is the same as land tax of 0 USD

The mere act of buying sunglasses, logging into Decentraland, signing a transaction. Anything that demonstrates any form for output from the address that can only be sparked off by the owner should suffice to have the so-called land timer reset.

can’t be done without some kind of oracle. the chain doesn’t know when people log into Decentraland

Another issue not addressed well enough in the original proposal is how this would apply to district land which would typically be either still in the passthrough lockup contract, which cannot trade land, or in a multisig wallet that would likely not be doing land transactions.

Also, there needs to be a notice mechanism with adequate time. In the comparison with property taxes there are notices, appeals, etc.

agree on plenty of time (many years) for inactivity and for grace period. notice can only be done with chain-based mechanisms like chat.blockscan.com, EPNS or Lens protocol

If the owner does not answer after x times, the owners “Will” will be activated and it provides one or more email addresses and public keys for the “Beneficiaries” and backup “Beneficiaries” who will be notified by email, and asked if they wish to get the land for development, leasing, or selling.
counterpoint:

response: smart contract can’t send emails. idea of beneficiary is good but can it not be done at smart contract wallet?

“Abandonment” based on the transfer of land ownership alone seems short sighted. An easy work around would be to transfer the land rights to an alternative address… (same owner).
Activity should come into play here, as in what kinds of txns this address is doing and how frequent… why isn’t the deployment of content on land not considered in the equation? How could land be abandoned if content is still being published on it by the owner?

the chain doesn’t know when someone deploys a scene. something like this could be done with an oracle

The DAO should rent out vacant land on behalf of owners. Land should not be appropriated.

renting the vacant land could be done during a grace period, but at some point, if the person is dead and lost the private key, the DAO should be appropriating the land.

3 Likes

how hard would it be to compute the number of such dead land right now? would gladly sponsor a small bounty for an analysis on this

2 Likes

Giving a small group of people power to forcefully transfer assets is a very dangerous slope, even if done in the best of intentions.

About districts, they are all out (or at least can all be transfered out) of passthrough, and multisig could call the ping function, so there is no issues for districts.

Not hard, I’ll give it a go

2 Likes

This was the best way i could think of…

If the dao buys back dead land at floor price then the mana is as good as burned…

1 Like

Using only LANDs, no Estate, I get 1146 inactive addresses (since Ethereum block 12M, March 8th 2021), accounting for 5257 LANDs (5.6% of all LANDs)

1 Like

A thoughtful post. I think starting with a poll, and then going from there makes sense.

How easy to check estates too? Obviously a large multiple of that is held in estates…

Including estates:
Inactive Users: 1307
Parcels owned by inactive users: 14937

Those numbers is not 100% sure, it’s just numbers I found playing around for a couple hours.

1 Like


All parcels in red are owned by addresses who didn’t send or received any lands or estates in the last 18 months

3 Likes

How hard would it be to check the owners of the red parcels to see if they’ve had any wallet activity whatsoever? Obvious the owners of the red parcels aren’t active in the DCL land market, but perhaps they’re still around.

To be clear, I’m asking if you have the means to iterate through the addresses and see their last transactions via etherscan, for example.

thank you so much @HPrivakos for putting this together - very insightful.

Including estates:
Inactive Users: 1307
Parcels owned by inactive users: 14937

it’s obviously an upper bound - the true number of dead land has to be lower that, but it helps to get an idea of scope of issue.

Giving a small group of people power to forcefully transfer assets is a very dangerous slope, even if done in the best of intentions.

Yes, that was the “judiciary” idea raised in the previous thread. I’m not in favor of bringing that idea in this current proposal since it adds too much complexity and too much risk. It could be added at some point if it becomes necessary. One big issue here is: how do you handle theft? Are those people going to need to assess the rightful owner? If anything, something like that could be added through a wrapper contract, that owns the actual NFT and can have transaction reversable. Wouldn’t need to be Decentraland specific

I think the scope of this proposal should remain as unambiguous as possible: clearly “dead land” as in, no one can access them or do anything with them.

To be clear, I’m asking if you have the means to iterate through the addresses and see their last transactions via etherscan, for example.

will research what this would take. that would still be considered off-chain data… just like signing into Decentraland. since the smart contract can’t know if someone used their private key for anything else than methods on the contract itself. BUT adding an oracle with very limited power to the proposal could solve this.

1 Like

regarding the oracle subsystem - what I have in mind is that a smart contract is able to submit “proof-of-aliveness” which is then used along with on-chain activity to identify which LAND is truly dead.

that proof could be a merkle tree of all ethereum addresses that own LAND and have submitted any outgoing transactions on ethereum in the last X years (1 year, 2 years, 3 years - to be decided later).

then either the logic changes to: “land is dead if owner timer is 0 and owner NOT IN proof-of-aliveness” or the proof-of-aliveness can be used to reset the timer, or a mix of both

in practice, the oracle would be managed by the DAO, and even if abused, the only power it would have would be to make it so that LAND is not recycled, it wouldn’t be able to do the opposite (force recyling of LAND even if owner is still active).

in other words - the worst case scenario is the oracle submits a proof with all existing ethereum addresses and then we no LAND is ever considered dead

1 Like

Couldn’t it NOT submit proof on purpose to get a LAND “recycled”? (If the owner doesn’t ping the LAND smartcontract but do other txs)

1 Like

Some great ideas in here. I would suggest as follows:

-Land to be marked as inactive via @HPrivakos method plus DAO-approved extra scrubbing via research / scraping for addresses otherwise active.
-3 year countdown to take down inactive existing on lands. This is to remove “outdated” clutter content. Land is reduced to default grass. I would not allow the DAO or anyone else to use this land as it creates a misalignment of incentives. The goal of the “dead land” program is to get the land in the hands of the public paying community.*
-2 year grace period before land is then auctioned off (total 5 years until land is re-sold). The could be handled by the DAO by simply listing the land at a high default price (say, 25k per lands > 2 distance from Plaza. and 50k for lands two distance, 100k for no distance to plaza) and relisting at 10% less per month. This should sell any land within 2 more years without artificially suppressing the floor price.
-Alternatively, a new “auction” module could be created to handle this separately from the marketplace (think of liquidation auctions on platforms like MakerDAO). This module should also have an easy way to submit an on-contract transaction to “refresh” land as well as a countdown timer for number of days left.
-It could be voted on, but I’d propose 80% of the auction proceeds be sent to the land owner in ETH, the remaining 20% liquidation fee penalty goes to the DAO treasury.
-This all leaves a 5 year window to reset the timer - beyond the length of a crypto cycle, which is plenty of time for a single refresh transaction, is reasonable, and as described in the whitepaper, not leaving any excuse here or being too soon to suppress the land market. This also adds some “inflation” to the land market without increasing supply, plus income for the DAO, a triple “win”, imo.

*Obviously, savvy users could workaround this system by setting up smart contract automation. However, I would not sell these lands as setting up something like this shows long-term intent to hold. Taking down builds on this “stale” land should still apply, however.

2 Likes

Edit: Suggesting in MANA, 25k >2 distance from Plaza, 50k for 1-2 distance, and 100k for 0 distance starting bid.

Estates should NOT be broken up, but sold whole, for the health of the platform, important to maintain and support existing estates, as they are quite difficult to build once broken up - the equilibrium is delicate here.

Also, Instead of auction proceeds in ETH, I’d suggest they go in MANA. This way dead holders are still “long Decentraland” even if liquidated and in a better win/win for all.

2 Likes

I personally have had a parcel of land that I won in the 2019 creator contest sent to a Binance wallet instead of my Metamask wallet. I was new to crypto, excited I won, and had never interacted with ERC-721 tokens before. I can see my parcel on this map. I would love to have it back… but I also think that this is the price I pay for being new and not handling my crypto well. In this case, I’d almost rather prefer that I can “tag” this land as being inaccessible to me, and I’d rather it gets used by someone else than sits vacant forever. But…how would you confirm that it’s “me” telling you this parcel is lost… that would leave a loophole for bad actors to step in and start acting with malicious intent.

That being said, I left 21 parcels for 2 years without touching them, knowing they’d be safe when I return. I can’t tell you the rage I’d feel if I came back and found them transferred to another user. This would absolutely positively decimate any form of trust in this ecosystem. We cannnnottttt sacrifice this for the sake of putting scenes on land!

The map above also doesn’t do justice to what’s actually being built on land. Look at the Festival Land -64, 89 which shows it hasn’t been transferred within 18 months. But we were all there last week for the Metaverse Festival. Not transferring wallets does not equal inactivity. Compare that to a similar sized estate at -73, -84 which does not show up as red, because it was transferred from Digital Currency Group to Metakovan last year, but it remains one of the largest undeveloped areas in Decentraland (Let’s hope Metakovan puts his Beeple NFT there eventually like he planned to). So this metric does not effectively show what’s being built on the land.

If we start modifying the land contracts, WHERE DO WE STOP? Where do we draw the line? No no no no no, we can’t go this route. We need to get more creative with how we build the land…this is not the way. Let’s focus on ways to build the land that already is in users hands (plazas, districts, etc) rather than compromising the very foundation DCL was built on.

Full transparency, I also want a timer created that I have to click every month or my scene goes to a default scene that I’ve created, so that when I die, my land can be cremated with me on my special Ledger, and the scene in DCL will remain the way I choose forever. I’m that personally in love with my Decentraland. (Now you know I’m the weirdo in the room)

3 Likes

Good catch, yes the two degenerate cases are

  1. Submits proof with all existing addresses → no LAND can ever be recycled
  2. Submits proof with no address at all → defaults back to on-chain timer only

The second rogue case is worst. I wonder if it couldn’t be alleviate by some mechanism while the LAND is in grace period, where anyone can point to any past historical merkle trees and then recover the LAND from grace by pointing to at least 1 valid tree. In a way that only if the oracle stays rogue for the entire grace periods (say 2 years) would it lead to a bad outcome.

I’d leave out final parameter tweaking to governance - but + or - 10%, I agree with the parameters of your post.

5 years in total (3 years countdown + 2 years grace period) seems on the safe side. If your Ethereum address has not made any outgoing transactions in 5 years, and you didn’t bother to follow what’s going on in Decentraland during 5 years… then your LAND is sold, you get 80% of the $$$ into your account. imo it has to be done by auction - otherwise you end up with gas price auction for super-desired LAND anyways. auction maximizes how much MANA the inactive address and the DAO gets too.

1 Like

Good observations - it would be interesting to see if those 2 zones you circled are owned by Ethereum addresses that had any outgoing transactions on Ethereum recently.

The “oracle” subsytem we are discussing can see if you make any Ethereum transactions (if you are still active on Ethereum) and if you are, ensures your LAND cannot be recycled.

That being said, I left 21 parcels for 2 years without touching them, knowing they’d be safe when I return. I can’t tell you the rage I’d feel if I came back and found them transferred to another user. This would absolutely positively decimate any form of trust in this ecosystem. We cannnnottttt sacrifice this for the sake of putting scenes on land!

I think everyone shares that feeling. I don’t think any proposal could pass governance that would have taken away your LAND in this situation. imo the total period should be closer to 5 years (not 2 years…) and if you make Ethereum transactions of any sort with that address then your address is then considered active.

Did you make any Ethereum transactions during those 2 years?

I didn’t make any ethereum transactions from my metamask, since it was only used for land here in DCL. The big estate in the south is owned by MetaKovan… who is one of the top owners of land in DCL… He owns 546 parcels. Honestly another option to pursue is just incentivizing a few large land holders to let users build on their land. Here’s his address:
0x0ba6a24246ab3cfc9d843373d76d8fd7fd7a3430

Here is the address for the Festival Land:
0xa89473630bc2d2724279d1002ebdcfb000ad708c