Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.

Proposal - Unclaimed Parcel Allocation Process #142

Open
schaer-unibas opened this issue Dec 30, 2017 · 21 comments
Open

Proposal - Unclaimed Parcel Allocation Process #142

schaer-unibas opened this issue Dec 30, 2017 · 21 comments

Comments

@schaer-unibas
Copy link
Contributor

==Abstract==

Around 30,000 parcels did not sell during the Terraform auction. Originally, unclaimed parcels were to be sold for 1,000 mana each. However, this process could have undesirable consequences. Given recent prices, it can be assumed that we would see a race in which very few people would profit immensely. This proposal describes an alternative process for allocating unclaimed parcels.

==Specification==

Unclaimed parcels are auctioned off via a Dutch auction. At the start of the auction, the price of all unclaimed parcels will be set to x. The prices then linearly decrease over time until a price of 0 is reached. More formally, the price mechanism can be expressed by the following equation:

P_t = max[0, x - t * x / T], where P_t is the price for period t, T is the duration of the auction, and t is a given time period.

Each parcel will be treated as a separate offer. Offers run in parallel. The person who first accepts an offer for a particular parcel, i. e. creates a transaction including at least the current price in mana, receives that parcel. If two transactions for the same parcel are processed with the same block, the transaction with the higher bid will be given priority.

Advantages:

  • Efficient allocation considering highest willingness to pay.
  • Process reflects the parcel's non-fungible nature.
  • Offers refer to specific parcel. The buyer knows what he or she is getting.
  • Auction ends after T.
@TronQuix0te
Copy link

I am interested in coming up with a solution.

Do we know how many participants there were? I guess there is no way to truly know that but having a rough idea of the user base might help determine options.

@silkwebware
Copy link

Love it.

@dafky2000
Copy link

Guys don't waste your time, DCL has already decided internally what they are doing.

@schaer-unibas
Copy link
Contributor Author

DCL has already decided internally what they are doing.

@eordano is this true?

I'd appreciate any feedback on PR #144

@eordano
Copy link
Member

eordano commented Jan 3, 2018

This is great. I think it needs a little more work, specially to do this on-chain and avoid snipping of bids.

  1. Some discussion of potential values for T. Should it be one day? One week? One month?
  2. I'd add that bids on parcels need to be on blocks. I should be able to buy 10, 20 parcels at the time on one single bid
  3. Establishing a hash commitment scheme. In order for a bid to be considered, the user must send a transaction n blocks before (some value of n around 35~100, to be resistent to block reorgs). This transaction needs to lock in some MANA into the contract, overshooting the actual bid value by a large enough factor so that others can't guess how many parcels is the user going to buy, and include a random value to prevent people from rainbow attacking what are the parcels that the user wants to buy.
    This has the following form, in a first-pass pseudo-solidity mostly-draft-please-dont-use code:
function reserve(uint256 mana, bytes32 hashMessage) {
  require(!sender[hashMessage]);
  manaContract.transferFrom(msg.sender, mana);
  reserveReceivedAt[hashMessage] = block.height;
  shadowAmount[hashMessage] = mana;
  sender[hashMessage] = msg.sender;
}
function claim(bytes32 hashMessage, uint[] x, uint[] y, bytes salt) {
  uint parcelsBought = x.length;
  uint price = parcelsBought * currentPrice;
  require(shadowAmount[hashMessage] > price);
  require(block.height > reserveReceivedAt[hashMessage] + gracePeriod());
  require(sender[hashMessage] == msg.sender);
  require(hashMessage == concatenateAndHash(x, y, salt);
  assignParcels(x, y, msg.sender);
  manaContract.transfer(msg.sender, shadowAmount[hashMessage] - price);
}

@arimeilich
Copy link

Great work, @chainomics. Please follow up with @eordano, but we're on the right track!

@garypalmerjr
Copy link

Doesn't the whole map need to expand in the four x/y directions, to account and add the land for both Aetherian & Vegas Cities?

Question: Will the excess land (extending in the four directions) make "more land available", which will add (in addition to the 30,000 parcels), which did not sell during the Terraform auction?

@schaer-unibas
Copy link
Contributor Author

@eordano @arimeilich Thanks. Ill try to incorporate your feedback asap.
@garypalmerjr Good point. However, I think we should look at the two issues separately. I'd like to focus on unclaimed parcels in this proposal.

@garypalmerjr
Copy link

@chainomics, these issues are related; maybe you do not understand how the land was divided.

@eordano @arimeilich Question: Will the excess land (extending in the four directions) make "more land available", which will add (in addition to the 30,000 parcels), which did not sell during the Terraform auction?

@schaer-unibas
Copy link
Contributor Author

I have updated the proposal. It includes some clarifications, fixes, parameter suggestions and an extended section on the hash and reveal scheme. The 30,000 parcels which I have mentioned in my original proposal are incorrect. It should be 9,331.
#144

@lulasky63
Copy link

I like Dutch auctions, less options for shananagins.

@the-Turkey-hole
Copy link

the-Turkey-hole commented Jan 4, 2018

Interesting proposal. Before I begin, I'm likely not going to go in guns blazing on this auction cycle. I've got my land, and I don't think I'm going to hunt for any more, unless it falls into my lap. So take all of what I'm going to write with the fact that I'm prioritizing what I think will be fair for everyone. That all said, I'm not against it, but I think it's a little too expedient. It leaves a lot more room for people getting left out in the cold without the ability to respond. Not to throw stones, but if the current auction site is the best the team can do when it comes to responsive web applications, I think it's really naive to assume that they'll be able to make a system people are happy with. Honestly, I think the 30 hour extension was a really smart idea, it's been taken to an extreme here, but allowing people plenty of time to respond when outbid allows for people to feel as though they were beaten by a person when they're bid out, as opposed to feeling like they were screwed by the system when their request to the application was a half a second behind someone else's.

My additions to the proposal would be:

  1. to define what T is in practical terms, is T minutes, hours, seconds?
  2. consider using the initial bid on the property as the starting plot for the land
    ----2a. institute a maximum number of bids per land (encouraging more weight to be thrown around, as ----opposed to betting the minimum for weeks, as we've seen here) of 20 or so bids, and
    ----2b. extend the time by 5 hours each bid instead of 30.

The main idea here is that it'll allow people to really think about what they want and strategize, as opposed to clicking at the exact instant and finding out minutes later that they were bid out. Like I said, I don't think the web app is responsive enough to pin the success of the auction to.

@lulasky63
Copy link

I agree with 2a. if the Dutch auction style wasn't going ahead of @the-Turkey-hole proposal but 2b. would leave out tons of people across the world since there are 24 hours worth and a 5 hour window is less than people even sleep let alone work, eat, etc.

@the-Turkey-hole
Copy link

I think that's fair. Honestly, I'd be okay with 30 or 24. Everyone just seems so concerned about it. But you're right, it does preclude sleeping. Maybe 12? Something that allows someone to sleep and stuff and still respond.

@omobaale
Copy link

omobaale commented Jan 4, 2018

Hi, maybe for the unclaimed land, people can submit proposals and based on the value-add of the proposal (what hasn't been thought of/proposed, what will be useful, what will enhance decentraland etc) either decided by the admins or general voting, those people are given priority to buy unclaimed land?

@the-Turkey-hole
Copy link

@omobaale I think that goes against the spirit of things. We had a chance for that with districts, but that's passed.

@omobaale
Copy link

omobaale commented Jan 4, 2018

@the-Turkey-hole i understand and not to screw anyone or be unfair just thinking out loud that as this thing is firming up i'm sure people are coming up with ideas. but then again one can/should use the land (if enough) the have

@Bitcoinipie
Copy link

like Dutch auctions. It is quick (no extentions). It make the maximum burn value. You bidders need to come back 1 time only after placing their bids. And I think crypto kitty already use so it can be coded and it is proved to be successful as I have not heard 1 complain even though I visited their sub multiple times.

@the-Turkey-hole
Copy link

@Bitcoinipie That was borderline incoherent, my dude. Could you rewrite and try to make more sense for the rest of us?

@0xferit
Copy link

0xferit commented Mar 19, 2018

Any updates regarding unclaimed lands?

@rushughes
Copy link

Id like to make an alternative suggestion for the unbought land and that is make it in to green belt areas to make decentraland a more pleasant place #156

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests