Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

disincentivize small space ATX #4219

Open
countvonzero opened this issue Mar 28, 2023 · 2 comments
Open

disincentivize small space ATX #4219

countvonzero opened this issue Mar 28, 2023 · 2 comments

Comments

@countvonzero
Copy link
Contributor

countvonzero commented Mar 28, 2023

Description

when striking a balance between minimizing PoW and user-friendliness, we have the following considerations

  1. re-initializing storage has to be more expensive than storing data
  2. reasonable initialization time for smeshers to join
  3. doesn't cause creating many small identities

below is a proposal from @tal-m that attempts to disincentivize creating many small-unit identities.
this is proposed with the context that we cannot implement proper ATX incentives before genesis.

======================================================
Right now, IIRC, we have

ballot_weight = ATX_weight / num_ballots
proposal_reward = total_layer_reward * ballot_weight / total_layer_weight

The idea is to do this instead:

ballot_weight = ATX_weight / num_ballots
ballot_gas_cost = ATX_size * storage_gas_cost / num_ballots
proposal_reward = max(0, total_layer_reward * ballot_weight / total_layer_weight - ballot_gas_cost * ballot_gas_price)

The open questions are:

  • how to set ballot_gas_price. (If we make it the same as the layer's gas price, then we might have some weird incentives -- but I haven't thought about it too deeply)
  • whether/how to burn and/or distribute the storage costs for ATXs. One way to do it is to simply redistribute in the same layer:
final_proposal_reward = total_layer_reward * proposal_reward / sum_of_proposal_rewards

======================================================

@countvonzero countvonzero changed the title disincentivize small spaceunit ATX disincentivize small space ATX Apr 24, 2023
@countvonzero
Copy link
Contributor Author

ready for implementation per spec'ed in https://community.spacemesh.io/t/increase-rewards-for-large-space-atx/355/4

@pigmej

@kdonthi
Copy link

kdonthi commented Mar 18, 2024

For your point about "weird incentives" are you referring to an idea where people don't participate in PoST for a layer if they feel that there are too many people participating and too many nodes to split the cake with?

Maybe a solution could be force people to stake some tokens at the beginning of a PoET round before they know how many people are going to participate?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📋 Backlog
Development

No branches or pull requests

3 participants