Skip to content

[burnchain] cap the upside of discount-mining  #3095

Open
@jcnelson

Description

@jcnelson

Discount mining is when a miner stacks their STX and leverages the fact that when their reward slots come up for PoX payout, they can pay as much BTC into them as they want (knowing they'll get it back) while also boosting their sortiton win probability. This permits unbound upside to discount-mining -- the only cost to doing so is the BTC transaction fee.

For 2.1, we can cap the upside by (a) measuring the distribution of BTC burns in the prepare phase, and (b) using some threshold function of that distribution to require that all miners burn BTC if they spend above the threshold on mining. This caps the upside of discount-mining, because then the discount miner must pay a proportionate amount of BTC to considerably boost their win probability.

A simple way to do this could be to take T = min(mean(winner_burns), median(winner_burns)) as the threshold, where winner_burns is the list of BTC burns for each winning sortition in the prepare phase, and require that if a miner spends B > k * T BTC on a block-commit (for some protocol-defined k), then B - k * T BTC must be burnt via the OP_RETURN output. We'd choose k so that it's highly unlikely that honest miners would be forced to burn BTC. We can infer it from historical prepare phases -- i.e. pick k so that k * T is higher than any block-commit ever seen for any prepare phase.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Status: 🆕 New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions