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

Current daily budget ~= 360K including witness pay? #569

Closed
abitmore opened this issue Feb 12, 2016 · 3 comments
Closed

Current daily budget ~= 360K including witness pay? #569

abitmore opened this issue Feb 12, 2016 · 3 comments

Comments

@abitmore
Copy link
Contributor

Current hourly budget ~= 1BB * 3600 * 17 / 2^32, related code is here.

Why is that?

I remember it's said that we have 400K budget for workers every day.

@theoreticalbts
Copy link
Contributor

Yes, that's correct.

The original motivation was to set an upper bound on dilution per second to approximately the same as a full slate of 100% witnesses in BTS 0.x. The initial float and dilution rate are inherited from BTS 0.x, the denominator 2**32 is chosen as it's a nice round binary value for bitshifting, and the single free parameter (the numerator 17) is actually function of the other parameters.

1.25 billion * 17 / 2**32 = 4.948

which is the number of BTS per second. 17 is simply the largest integer value which results in LHS is less than 5.

I don't remember whether we used 1.2 or 1.25 billion for the initial float when we did this calculation, (the infographic says 1.2), but I do remember that 18 gave something over 5 BTS per second, so we went with 17.

The actual genesis ended up having 1.07 billion, so everything is less; maybe that 17 should have been 20 based on the actual genesis. But raising it at this point is going to generate a political discussion I don't want to get into.

>>> get_object 2.13.2912
[{
    "id": "2.13.2912",
    "time": "2016-02-12T00:00:00",
    "record": {
      "time_since_last_budget": 3600,
      "from_initial_reserve": "105939578948024",
      "from_accumulated_fees": 18325207,
      "from_unused_witness_budget": 450000,
      "requested_witness_budget": 180000000,
      "total_budget": 1509558266,
      "witness_budget": 180000000,
      "worker_budget": 1329558266,
      "leftover_worker_funds": 0,
      "supply_delta": 1490783059
    }
  }
]

The amounts are all in satoshis, so this means total_budget is 15096 per hour or about 362,304 per day. I'm not sure where you get 400K; it's probably just rounding (362,304 turns into 400,000 when rounded to a single digit of precision) or giving a loose upper bound (even if witness pay is 0, the most workers would be able to get is less than 400K per day).

This nifty infographic was created from my whiteboard drawing of this back when we were designing Graphene.

@pmconrad
Copy link

I think the number 5 BTS/second is typically quoted as the "dilution" rate of BitShares. That gives a total of 432,000 BTS/day.
What people are missing with that quote is that the rate reduces over time, because it is defined as a percentage of the reserves. (I have to admit that I was surprised that it is already 15% below its original value.)

@abitmore
Copy link
Contributor Author

Thanks for the clarification.

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

No branches or pull requests

3 participants