As discussed with @fluidvoice and @psq and all, the was a question about discounted mining for bitcoin miners and the long-term effect.
Especially, if bitcoin fees go up, bitcoin miners that participate in PoX mining have an advantage because they don’t pay the fees (they can include their PoX transactions in the block without paying fees), therefore, they can participate in PoX mining with lower costs.
Is it intended that bitcoin miners will take over PoX mining? Are there still opportunities for normal PoX miners that don’t miner bitcoin?
Heres something beyond what we discussed, but a logical conclusion to describe a possible worst case scenario:
- assuming the BTC fee for a commit tx is less than the STX reward
- BTC miner ignores all other STX miners tx from the mempool (there should be plenty of other tx candidates in the mempool that the miner will not lose a significant amount of fees
- BTC creates its own commit tx (the fee does not matter as the miner gets it back from the coinbase if the miner wins the block, nothing spent if the miner does not win the block), minimum amount sent to stackers
- being the single commit tx in the block guarantees the BTC miner wins the sortition
Now, this may not be a free win for the miner. As all the ignored commit tx are likely to go into the next block this would create a fork on the Stacks chain when the next block gets mined. Depending on what happens with the next blocks, if no one builds on top of that Stacks block created by the rogue BTC miner, that reward will not be earned by the BTC miner.
There are plenty of tricks a miner could use to make its rogue commit tx appear more legit, making it harder to detect to bury its fork, and still be more profitable than regular miners sending their commit tx and paying the regular fee.
Thanks for doc’ing this topic guys for further discussion. You took the concern(s) further than I had initially thought about which was mostly what if any impact could this have on miner decentralization.
Is it intended that bitcoin miners will take over PoX mining?
Not intended, but this is a degenerate outcome of the system that could happen if every Bitcoin miner decided to (1) participate in PoX mining and (2) decided to block everyone else’s block-commits besides their own. This degenerate outcome would be equivalent to running the Stacks blockchain as a 100% merge-mined chain (so, the system would keep working and would be backed by Bitcoin’s hashpower, but transaction-inclusion would be executed only by Bitcoin miners). PoX would continue to work – if Bitcoin miners did nothing else besides the above behavior, then they would still be obliged to pay BTC to reward addresses.
“Discount mining” is a phenomenon whereby Stacks miners decide to stack their STX, and in doing so, “pay themselves” with PoX. This is IMHO much more of an immediate problem than Bitcoin miners taking an interested in Stacks, because discount miners can effectively monopolize the chain over time through significantly lower mining costs. This is why PoX is not a permanent fixture of the Stacks consensus protocol (it phases out over 10 years), and why Stackers have the option to disable PoX in favor of proof-of-burn on a reward-cycle-by-reward-cycle basis (in order to threaten miners into not discount-mining).
Are there still opportunities for normal PoX miners that don’t miner bitcoin?
If the Stacks chain gets monopolized by Bitcoin miners, but if Bitcoin miners are economically rational, then it would still be possible for non-Bitcoin miners to mine – they’d pay a Bitcoin transaction fee on their block-commit that is equal to the expected STX coinbase. While this would suck, it would mean that non-Bitcoin-miners would still have a say in what goes into blocks.
Economically rational non-Bitcoin miners would not do that, would they? Their chances to win the sortition would be too small.
Thanks for the reply @jude
all else aside, this does mean BTC miners have an advantage over nodes doing only STX mining, right? Isn’t this also a kind of discount mining? or I’m not understanding something here.
while that’s not a completely horrible outcome near-term, I hope eventually enough miners participate outside China/Asia, and in USA once it’s allowed, so we have more geographic and national/gov decentralization.
If a Bitcoin miner participates in PoX, then it can guarantee that it will win sortition 100% of the time simply by omitting every other competing block-commit transaction. While a Bitcoin miner would participate in PoX insofar as they would send BTC to the addresses in the PoX reward set, the miner could safely make these BTC values as small as possible – e.g. as low as the dust limit, or 5500 satoshis – because it is the only competitor. They would also charge themselves zero transaction fees.
To the Bitcoin miner that does this, a Bitcoin block is now effectively worth the Bitcoin block reward, plus the Stacks block reward, minus the minimal PoX commit value. If someone creates a block-commit transaction and sends it to the mempool, and attaches a Bitcoin transaction fee that is worth at least the expected Stacks block reward plus the minimal PoX commit value, then the Bitcoin miner would include this competing block-commit and set its PoX commit value to the minimal value. This is because win or lose, the Bitcoin miner earns a block reward equal to what they would have won had they been the sole sortition participant.
I’m not sure yet how this plays out if there are N competing block-commits. It could be that rational miners will accept block-commits with BTC transactions fees that are as low as the block-commit’s expected value (i.e. Stacks block reward, multiplied by the probability of winning). Would need to think more about this game.
Bitcoin miners pay less than non-Bitcoin miners insofar as Bitcoin miners don’t pay transaction fees, but historically, we’d used the phrase “discount mining” to refer to Stacks miners who Stack their STX and pay themselves the block-commit BTC (i.e. they can send lots and lots and lots of BTC in the block-commit because they know they’ll get it back, and in doing so, vastly increase their likelihood of winning sortition). There’s a mitigation for this particular form of discount mining described here: https://github.com/blockstack/stacks-blockchain/issues/1315.
What should we call this pathological mining behavior when it’s Bitcoin miners participating in PoX? “Bitcoin miner discount mining” sounds too long
What about “burn chain driven mining”?
Does it mean that PoX potentially drives Bitcoin transaction fees higher up? Also, the hight of transaction fee of the stx mine transactions are an indicator about how much BTC hash power is used for the stx chain directly?
Good to see answers that we most of us have and thanks to @jude & @friedger
@jude what if any potential dangers exist if there is little PoX mining participation outside of bitcoin miners? Possible motives aside, would it be possible for a single BTC+PoX miner, or colluding miners, to fork the underlying bitcoin chain? Do we need a fair amount of decentralized PoX miners running their own bitcoin full nodes to verify Stacks is mining on the correct bitcoin chain?