decentraland / proposals

Review of community proposals for Decentraland's art and applications
46 stars 16 forks source link

Proposal - Unclaimed Parcel Allocation Process #142

Open schaer-unibas opened 6 years ago

schaer-unibas commented 6 years ago

==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:

TronQuix0te commented 6 years ago

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 commented 6 years ago

Love it.

dafky2000 commented 6 years ago

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

schaer-unibas commented 6 years ago

DCL has already decided internally what they are doing.

@eordano is this true?

I'd appreciate any feedback on PR https://github.com/decentraland/proposals/pull/144

eordano commented 6 years ago

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 commented 6 years ago

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

garypalmerjr commented 6 years ago

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 commented 6 years ago

@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 commented 6 years ago

@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 commented 6 years ago

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. https://github.com/decentraland/proposals/pull/144

lulasky63 commented 6 years ago

I like Dutch auctions, less options for shananagins.

the-Turkey-hole commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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

omobaale commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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

0xferit commented 6 years ago

Any updates regarding unclaimed lands?

rushughes commented 6 years ago

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 https://github.com/decentraland/proposals/issues/156