Miner Centralization

Glad you think so! I could see the penalty curve being implemented as something like the .costs contract today – it’s a snippet of Clarity code with a well-defined interface that gets evaluated to determine the penalty, but whose implementation can be voted on and changed at a later date. I think this significantly de-risks the possibility of picking a curve that doesn’t work well in practice.

If you wanted, you could probably model out various window sizes with the mining data today. For example, one way to assess the quality of one memory function (or one curve choice) versus another would be to measure the relative reduction in mining power for the largest 2-3 miners.

1 Like

Preventing big miners from pricing out smaller miners is not the goal. It’s not even important. The goal is maximizing the total number of miners. Right now, miners are not joining because it is not profitable without stacking a significant amount in addition to being a miner. More $$$ (collateral) = more decision making power is fine, it’s actually how PoW works anyways.

Ideally the collateral is BTC, that way people don’t need to acquire STX to buy in.

I’m all ears - please let me know how to increase the number of miners without preventing big miners from pricing out smaller miners.

2 Likes

I like this idea.

You could have a function where your “mining points” are the square root of your bid size.

Unfortunately this would:

  1. Increase the transaction fees paid, thus decreasing the stacking yield
  2. Make it harder to tell which miner is which as they spread bids across smaller transactions

But a benefit is it would level the playing field and there would be an optimal bid size found based on the Bitcoin fees and the square root function.

Another thing one could do is the following:

You can have any bid size you want but it can be no greater than 10x the Bitcoin fee that you paid.

This would increase transaction fees as well but it would address the miner size advantage problem and it wouldn’t encourage miners to place multiple bids.

The “floating cap based on a multiple of the transaction fee paid” would also work in both bear markets when TX fees are a couple dollars and in bull markets when TX fees can be up to around $60.

The more that I think about this the more that this method might be the best combination of simplicity and addressing the issue.

Make mining profitable.

What would you suggest to accomplish this?

Also, how many miners is “enough” miners?

Lol. Mining already is profitable. It’s just only profitable for large miners. Why? You gotta do root cause analysis.

The way mining is structured, the largest miners get to set the price. They can effectively bid down the required profit margin on mining, because the larger a miner is the smaller profit margin they need to cover their fixed costs (fixed costs smaller cost margin for larger miners).

Without any stacking involved, large miners can afford to mine at breakeven or a less longer than other miners - forcing them out, as @shea256 experienced and first posted about.

With stacking, this problem becomes even worse - the deepest pocket miners can acquire STX and stack it which is effectively a discount to their mining costs. For example, if a miner owns 10% of total stacked STX, they effectively get a 10% discount on their BTC bids for mining. This, inevitably, will result in a select few very large miners, mining at an overall total loss in pure BTC vs STX arbitrage, though they are still profitable by means of their size of BTC they can afford to bid, and the size of STX they can afford to stack.

No new entrants can mine profitably, without being a very large, very deep pocketed miner - thus you get no new miners, so you see very few miners in total.

This is incorrect. The root cause of why there are so few miners is the dynamic above. Solve the root problem of big miners being able to price out smaller miners, and you will have more miners.

Two possible ways to explicitly do this so far discussed have been the suggestion by @GM-Chung and my suggestion. I’m open to additional ways.

1 Like

Why do you think this is true? Imagine a 1% owner of STX. They can choose to mine or choose not to. If they don’t stack they get the same amount of BTC. If they do Stack, they force others to reduce their BTC commitments and thus the 1% owner receives the same amount of BTC anyway. So once a new equilibrium is found, the 1% stacks owner gets 0% discount.

1 Like

I’d add this solution I mentioned above:

The tx fee multiple one is interesting for leveling the playing field and it probably wouldn’t need to be adjusted much after a hypothetical implementation.

10x seems better than say 100x because the largest miners are operating at 40x rn and anything higher would break stacks :grin:

1 Like

Think of it on an aggregate level - if current miners, in total, are stacking 25% of STX, they are effectively getting a 25% rebate on their aggregate BTC bids. In other words, they can be bidding up to what would be a 20% loss for any other miner, while still doing so profitably.

My point is that this further exacerbates the root issue of large miners being able to crowd out everyone else. I’m not saying a new equilibrium won’t be reached and that miners still aren’t competing towards 0% total net profit. What I’m saying is that equilibrium is set by large miners, and factoring in stacking, it’s set even more out of the range where other miners can profitably compete.

In other words, the equilibrium is not necessarily reached at a profit margin >0%, but can be set at a <0% profit margin! Hence - very few miners.

3 Likes

This is interesting - it’s conceptually a way to implement a hard cap like @gmchung proposed, but in a fashion that dynamically floats with market dynamics vs requiring governance intervention.

Implications are when BTC is congested, and I need to increase my fees to win blocks, I could also bid higher (but wouldn’t want to since I’ll probably have a higher chance of winning just by increasing BTC tx fee if other miners’ txs are not getting through due to congestion).

Conversely, if BTC gets less congested, where I can pay less tx fee to still settle each block, this may force me to either reduce my bid, and/or conceptually overpay for tx fee more than I need to. If miners are colluding, they would all reduce their tx fees, and bids, though competition would incentivize one to overpay on fees in order to bid higher if others reduce their bids.

Compared to hard cap approach, it also makes it slightly easier (but not necessarily less expensive) to attack STX by purposefully overpaying on mining, since there’d be no need to run multiple mining instances. Don’t think there’s much of a difference in security implications in practice though.

2 Likes

One shouldn’t need to run multiple mining instances. It’d be really easy to modify the miner code so that your miner can send transactions under multiple addresses and have a single node behind it. There is no proposal currently out there that would force miners to run multiple instances and I don’t actually think this is even possible.

1 Like

Yes, either way it levels the playing field between large miners and small miners and it scales with both the stacks price and the Bitcoin transaction fees.

We’re on the same page here.

This is not the root cause.

The root cause is as you stated it above, new miners can not be profitable. This is very different than having large miners crowd out smaller ones. The two things need not be related.

There can be many different systems where large miners can crowd out smaller ones, but to different degrees. One system can have an equilibrium at 1000x the number of miners compared to another one.

In fact, there is a positive feedback loop to this system. If we can increase the miners to 1000, the value of STX should go up because it is more decentralized and secure, which would raise the equilibrium even higher. This feedback loop is broken under the current system.

Therefore, we need not design a perfect system where large miners can not crowd out smaller ones, merely a system where it is easier for new entrants to be profitable up to a higher miner equilibrium. I believe after many iterations the system proposed by @shea256 would lead to a much higher equilibrium.

In fact, I would argue that a system designed to completely prevent large miners from crowding out small miners at all would lead to a lower level of overall security.

Bitcoin had thousands of miners before mining pools were needed to make it more economical for smaller miners. We currently have 5 miners and already need mining pools for any chance of this being decentralized. 1 Mining Pool Participant =/= 1 Miner.

1 Like

I am very confused by this response. It sounds like you are agreeing new miners can not be profitable, and agree this is directly because existing larger miners set the equilibrium point, and can afford to set it near or below 0% profit margin.

And then in the next breath you seem to conclude that large miners being able to set the equilibrium point is not actually a problem after all.

To get to 1,000 miners from this point definitionally requires allowing smaller miners to be competitive, ie large miners can not be able to set the equilibrium point of profit margin and crowd out smaller miners to the degree they are able to do so today. If you just increase overall profit margins to aggregate mining, they will accrue exclusively to large miners the same way they do now - the core problem is not that mining is unprofitable, it’s that the profits are consumed, by design, only by a handful of miners.

For more miners, reduce the proportional consumption by a handful of miners.

I’ll wait to respond further until hopefully a third party can see where we are talking past each other. Maybe you’re just drawing a distinction between the fact that it’s not a binary thing of punish large miners or not, vs a continuous spectrum? Or a semantics thing about “crowd out”?

2 Likes

I think he’s making the simpler point that anyone can go on https://app.onstacks.com/ and see very clearly that if they join mining it will make everyone unprofitable - large and small alike.

That does actually seem like a distinct problem to the problem of returns-to-scale for large miners. As you mentioned in a previous comment, unlike bitcoin there is no way to differentiate yourself with more efficient hardware or cheaper energy. Your sats are just as good as anyone elses.

The reason why mining is unprofitable for any new entrants is because the large, established miners are able to set the equilibrium of profit margin. In other words, I would say they can crowd out smaller miners. Maybe there is some kind of confusion or disagreement on the semantics of “crowd out.” Regardless, the “why” behind the problem you stated is that profit margin equilibrium has been set by large miners near or less than 0%.

I’m not sure what you mean by “the problem of returns-to-scale for large miners”, but my point is not that larger miners are even disproportionately profiting - it’s that they are exclusively profiting. Mining is unprofitable for everyone else because of the absolute dominance of established large miners. Mining being unprofitable for new entrants, and the small number of existing miners are not at all separate factors! It is not coincidental or accidental that mining has evolved this way, it’s how the incentives are hard coded into the protocol.

The longer you can bid at 0% profit, eventually you will exhaust your competition of resources, at which point they have no choice but to drop out, and you make a profit. When profit margins are extremely high, miner competition is expected - but this very act reduces profit margins for everyone, and as profit margins approach 0, game theory suggests the dominant strategy in the current mining design is for tacit collusion between a few, extremely well capitalized miners to arise (especially in this perfectly digital, algorithmic pricing context of PoX).

In PoX’s current design, there are only benefits to being a very, very large miner, no disadvantages - and all it takes is pure capital. This is unlike PoW, where mining at a very, very large scale requires much more capital yes, but also better/more infrastructure, logistics, maintenance, scarce hardware, physical space, and legal/regulatory permitting if a business. Yes, all these are attainable with more capital, but they introduce additional challenges and complexities beyond just purely holding more capital.

What’s easier to buy, Bitcoin to mine via PoX? Or electricity, wiring, internet bandwidth, cooling, hardware, physical space, permits, and labor to mine via PoW? Obviously buying Bitcoin to mine via PoX is vastly simpler - thus you would expect a narrower distribution of miners in PoX that is more correlated with capital resources than in PoW.

IMO, until PoX incorporates some function to emulate the real world constraints of PoW to reduce the cost efficiencies for large miners, you will continue to see very few miners, and mining that is unprofitable to join. These are two symptoms of the same root cause: that large miners unequivocally get to set the equilibrium profit margin, and can do so at or below 0% for longer than anyone else (and this is further exacerbated by stacking rebates).

2 Likes