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

Cost staging #139

Open
orthecreedence opened this issue Apr 6, 2022 · 1 comment
Open

Cost staging #139

orthecreedence opened this issue Apr 6, 2022 · 1 comment
Labels
layer:core Regarding the core protocol (cost tracking, transactional fabric, etc) project:paper tag:economics Regarding economics: dynamics, costs, incentives, etc type:discussion Discussion or ideas for future direction, input welcome (don't be shy)
Milestone

Comments

@orthecreedence
Copy link
Member

When a worker performs labor, they don't get paid immediately. Rather, this cost must be staged as a sort of owed value. Similarly, when a mining company mines ore, they don't immediately get to pay themselves the resource-cost of that ore. Instead it's realized once the ore is ordered.

It seems to make sense to have some kind of staging area for costs that are yet to be paid to workers. In the case of labor, it would be paid via a bloc-defined trigger but in the case of resources it would be a protocol-defined trigger.

I'm not sure entirely how this looks yet but I need to get it out of my head and into the paper.

@orthecreedence orthecreedence added project:paper tag:economics Regarding economics: dynamics, costs, incentives, etc type:discussion Discussion or ideas for future direction, input welcome (don't be shy) layer:core Regarding the core protocol (cost tracking, transactional fabric, etc) labels Apr 6, 2022
@orthecreedence orthecreedence added this to the v3 milestone Apr 6, 2022
@orthecreedence
Copy link
Member Author

If I track 50kg of coal, 50kg of coal gets added to the staged costs for the bloc. If someone orders 10kg coal from us, and coal is priced at 1₡ per kg, 10kg is deducted from the 50kg staged, and 10₡ goes into the bloc's pending credit payments. Then if someone orders 100kg coal, the system subtracts the staged costs from that, or 40kg coal, and 40₡ goes into the pending credit payments.

With labor, I think we have two options here. Labor can go the same route as resources/processes: stage it and it gets repaid when some product with that labor content is ordered, or labor can be paid directly out of the bloc's costs/allocation. With the second option, we might want some kind of per-user labor staging so issues with labor tracking can be ironed out before credits are printed. Maybe labor costs are marked as and only get paid once approved? This removes the need for some kind of extra staging area just for labor. I think this is the way to go for labor, whether it's paid via order reimbursement or direct payment from costs.

Regarding the pending credits, this is a new development (although it falls under the umbrella of cost staging). I think it's important that we don't try to algorithm this at all, but let the bloc decide how it's dispursed to the workers. Ultimately it should be up to them to decide how it's divvied up.

Questions/notes:

  • Does it matter if the coal that got staged is that SAME coal that got ordered? In other words if we mine 50kg coal, and order 50kg coal at the same time (from someone else) does the system need to know which coal is which to reimburse? Likely not, but good to think about.
  • If labor is disputed (ie, I logged 50 hours when I was only observed doing 10 hours), what does this mean for the process the labor cost when into? Maybe all events must be approved before costs can be moved/assigned?
  • Does the bloc have all the information it needs to divy up the pending credits? Perhaps instead of some kind of big singular pending credits bucket, each printing of credits has to refer back to an order or a work record. This creates a much easier audit trail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
layer:core Regarding the core protocol (cost tracking, transactional fabric, etc) project:paper tag:economics Regarding economics: dynamics, costs, incentives, etc type:discussion Discussion or ideas for future direction, input welcome (don't be shy)
Projects
None yet
Development

No branches or pull requests

1 participant