Pages:
Author

Topic: Preventing Pool Mining (Read 3478 times)

sr. member
Activity: 448
Merit: 250
It's Money 2.0| It’s gold for nerds | It's Bitcoin
June 23, 2014, 11:28:03 PM
#22
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?

You're missing the fact that the nonce and the merkle root are part of the header, so the pool manager cannot sign the header without counting over all nonces himself.

Ah, I see what you are suggesting now.  Unfortunately, it wouldn't stop pooled mining at all.  All it would do is create a financial barrier to entry for small miners.

All the pool needs to do is:

  • Require a deposit from every participating miner that is at least as large as the largest blockreward
  • Issue each miner their own private key that the pool knows about.

Then the pool can monitor the blockchain to see if any coinbase transactions go to any of the addresses that were issued by the pool.  If so, the miner will be expected to allow the pool to split the reward up among the participants.  If the miner tries to "steal" the reward, then they forfeit their deposit (which will be split up among the pool participants).
Even this would provide incentives to not mine on pools as the cost of entry would be very high. When pools get to be too big then it will be difficult for miners to move to smaller pools.

It would also potentially make it so miners would not mine at all, thus decreasing the security of the network.
sr. member
Activity: 360
Merit: 251
newbie
Activity: 14
Merit: 0
June 16, 2014, 12:12:45 AM
#20
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?

You're missing the fact that the nonce and the merkle root are part of the header, so the pool manager cannot sign the header without counting over all nonces himself.

Ah, I see what you are suggesting now.  Unfortunately, it wouldn't stop pooled mining at all.  All it would do is create a financial barrier to entry for small miners.

All the pool needs to do is:

  • Require a deposit from every participating miner that is at least as large as the largest blockreward
  • Issue each miner their own private key that the pool knows about.

Then the pool can monitor the blockchain to see if any coinbase transactions go to any of the addresses that were issued by the pool.  If so, the miner will be expected to allow the pool to split the reward up among the participants.  If the miner tries to "steal" the reward, then they forfeit their deposit (which will be split up among the pool participants).
You don't even need that. In order for the individual miner to prove the pool it is doing work, it may require it to proof that it is doing work in a form that each block it produced contain transaction to pay to the pool manager. If the miner tries to cheat the pool, it will not get the pool rewards.
Thanks for the comment - I think you're right. The pool manager can send the merkle root to the miners, and the miners shall prove they're doing work by finding a less difficult block (using their private key) whose header include the given Merkle Root. In the Merkle Tree corresponding to the given Merkle Root, there should be a transaction from another address of the miner to the pool manager (or all pool participants). This way, the pool manager can verfiy the miners are doing their work, and when one of them finds a block - he gets the full reward, and pays from another address to the pool.
newbie
Activity: 8
Merit: 0
June 15, 2014, 07:34:35 PM
#19
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?

You're missing the fact that the nonce and the merkle root are part of the header, so the pool manager cannot sign the header without counting over all nonces himself.

Ah, I see what you are suggesting now.  Unfortunately, it wouldn't stop pooled mining at all.  All it would do is create a financial barrier to entry for small miners.

All the pool needs to do is:

  • Require a deposit from every participating miner that is at least as large as the largest blockreward
  • Issue each miner their own private key that the pool knows about.

Then the pool can monitor the blockchain to see if any coinbase transactions go to any of the addresses that were issued by the pool.  If so, the miner will be expected to allow the pool to split the reward up among the participants.  If the miner tries to "steal" the reward, then they forfeit their deposit (which will be split up among the pool participants).
You don't even need that. In order for the individual miner to prove the pool it is doing work, it may require it to proof that it is doing work in a form that each block it produced contain transaction to pay to the pool manager. If the miner tries to cheat the pool, it will not get the pool rewards.
legendary
Activity: 3472
Merit: 4801
June 15, 2014, 02:38:13 PM
#18
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?

You're missing the fact that the nonce and the merkle root are part of the header, so the pool manager cannot sign the header without counting over all nonces himself.

Ah, I see what you are suggesting now.  Unfortunately, it wouldn't stop pooled mining at all.  All it would do is create a financial barrier to entry for small miners.

All the pool needs to do is:

  • Require a deposit from every participating miner that is at least as large as the largest blockreward
  • Issue each miner their own private key that the pool knows about.

Then the pool can monitor the blockchain to see if any coinbase transactions go to any of the addresses that were issued by the pool.  If so, the miner will be expected to allow the pool to split the reward up among the participants.  If the miner tries to "steal" the reward, then they forfeit their deposit (which will be split up among the pool participants).
legendary
Activity: 2053
Merit: 1356
aka tonikt
June 15, 2014, 12:41:01 PM
#17
Look, suppose a change in the protocol will be accepted by the bitcoin users. In such case, the miners opinion is not relevant
You obviously don't know how bitcoin works; how its protocol is protected and where its real value comes from.

No users, nor developers, can do a change in the bitcoin protocol without the miners accepting it - that is the very principle on which the entire currency has been build upon.

Had you tried to enforce a change in the protocol, and convinced a majority of non-mining users to start using your new software - this will create a fork and you will be left with a huge minority of the hashing power. And then how exactly is it going to be different from your current worse nightmare; the 51% attack?
It won't be - except that you would have willingly joined the party that already has far less than 50%.

In other words: if you'd try doing such a thing without changing POW function, you will jump before the wheels of the very truck that your are trying to escape from now.

At the other hand, had you decided to change the POW function, then it will not be Bitcoin anymore.
You would simply create an alternative currency, with a predefined distribution of coins.
But the old bitcoin (its miners and its price) would not even pay attention to your pathetic project.
And trust me; soon you would abandon your freshly created alternative currency and came back to bitcoin and its POW - because bitcoin is a monster that nobody can kill, while your new currency, without all this hashing power that protects our bitcoins now, would be just a vulnerable little baby that nobody wants to buy anymore.
newbie
Activity: 14
Merit: 0
June 15, 2014, 12:28:02 PM
#16
I think there is a vast majority of bitcoin users who would much prefer a decentralized mining agents, over centralized mining agents.
And I think none of them are an actual miners, so bitcoin does not give a shit about this "vast majority" of yours.

Why people are so keen to put their nose in things that don't concern them? Are you bored, or what?
Had miners needed "a decentralized mining agents" (whatever such creatures are), they would have invented them.
Bit it seem that centralized minimizing polls don't bother them, since most of the blocks are mined through such.
Of course they don't bother them. Why would minimizing polls bother miners, if miners are free to change the pool anytime they like?
It's not like they sign 12-month contracts with mining pools - they just chose the one that suits them best, at a specific moment in time.
And how is it any of your business?

From what I see, the only people who have problems with mining pools are those who don't mine at all - that's really funny.
But the most entertaining part is that you cannot do anything about it - and it's just so much fun to see you sweating Smiley

If you want to change the world of mining, there is only one thing you can do: start mining yourself.
But since you don't want to start mining, please at least stop whining - for your own sake.

Look, suppose a change in the protocol will be accepted by the bitcoin users. In such case, the miners opinion is not relevant - they're just getting bitcoin in return to their service. I, and many others, can think that this service doesn't fit our need (due to centralization) and change the protocol accordingly. The protocol, and the value of bitcoin is determined by the users, not by the miners.
legendary
Activity: 2053
Merit: 1356
aka tonikt
June 15, 2014, 11:54:29 AM
#15
I think there is a vast majority of bitcoin users who would much prefer a decentralized mining agents, over centralized mining agents.
And I think none of them are an actual miners, so bitcoin does not give a shit about this "vast majority" of yours.

Why people are so keen to put their nose in things that don't concern them? Are you bored, or what?
Had miners needed "a decentralized mining agents" (whatever such creatures are), they would have invented them.
Bit it seem that centralized minimizing polls don't bother them, since most of the blocks are mined through such.
Of course they don't bother them. Why would minimizing polls bother miners, if miners are free to change the pool anytime they like?
It's not like they sign 12-month contracts with mining pools - they just chose the one that suits them best, at a specific moment in time.
And how is it any of your business?

From what I see, the only people who have problems with mining pools are those who don't mine at all - that's really funny.
But the most entertaining part is that you cannot do anything about it - and it's just so much fun to see you sweating Smiley

If you want to change the world of mining, there is only one thing you can do: start mining yourself.
But since you don't want to start mining, please at least stop whining - for your own sake.
newbie
Activity: 14
Merit: 0
June 15, 2014, 11:15:13 AM
#14
Looking at the recent mining poll paranoia, I cannot resist the feeling that studying bitcoin mining charts may be more dangerous to a human brain than any drug known to man.

Get a life people and stop fighting imaginary problems.

I think there is a vast majority of bitcoin users who would much prefer a decentralized mining agents, over centralized mining agents.
newbie
Activity: 14
Merit: 0
June 15, 2014, 10:59:09 AM
#13
The miner can include in the block payment transactions to the pool from another address. This does not prevent pools.
He can, but he has no incentive to do so, and the pool has no way, at least not any simple way, to make sure he does so.
newbie
Activity: 14
Merit: 0
June 15, 2014, 10:49:12 AM
#12
If you don't allow pool mining, the amount of power to secure the network will be lower, the number of actors lower as well because the variance would be too high for most small miners

You're right that in the current system, pool mining is necessary. This is why I wrote that I think the variance problem can be solved by changing the block frequency to 1 sec, instead of 10 minutes.
legendary
Activity: 2053
Merit: 1356
aka tonikt
June 15, 2014, 09:45:22 AM
#11
Looking at the recent mining poll paranoia, I cannot resist the feeling that studying bitcoin mining charts may be more dangerous to a human brain than any drug known to man.

Get a life people and stop fighting imaginary problems.
legendary
Activity: 1918
Merit: 1018
June 15, 2014, 09:08:39 AM
#10
If you don't allow pool mining, the amount of power to secure the network will be lower, the number of actors lower as well because the variance would be too high for most small miners
newbie
Activity: 8
Merit: 0
June 15, 2014, 06:04:47 AM
#9
The miner can include in the block payment transactions to the pool from another address. This does not prevent pools.
newbie
Activity: 14
Merit: 0
June 15, 2014, 04:26:01 AM
#8
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?

You're missing the fact that the nonce and the merkle root are part of the header, so the pool manager cannot sign the header without counting over all nonces himself.
legendary
Activity: 3472
Merit: 4801
June 15, 2014, 01:17:28 AM
#7
I don't understand how your proposal would prevent pool mining.

The pool creates the header, puts their address in there, and sign it.  Then they send it out to the "miners" to search for the hash.

When a "miner" solves the block, the pool broadcasts the block and gets paid.  Then in a later block, they split up the payment among all the participants.

What am I missing?  Is there something implied in your description that I didn't notice?
full member
Activity: 169
Merit: 100
June 15, 2014, 12:32:10 AM
#6
Preventing pool mining would open a can of worms for everyone that hashes that doesn't have the newest and priciest hardware. Imagine all those BFL Cubes and USB sticks going to waste! Oh noes! Smiley
newbie
Activity: 14
Merit: 0
June 14, 2014, 11:56:14 PM
#5
One known way to prevent an incentive for a malicious 51% attack is to introduce a PoS innovation to the mining algorithm.  In other words, the more BTC you own, the less hashing you need to do.  Thus, miners would need to be stakeholders in BTC and thus creating network disruptions would be clearly against their interests.  They have 'skin in the game'.
-bm

Why do you think that in a PoS/PoW hybrid system mining pools won't be created? I don't think anyone would want to rely on the fact that a pool with 51% of the PoW/PoS power would have "no incentive" to attack the system, though all of the power to do so.


in a hybrid PoS scenario, the miner would need to be holding BTC.  Thus, why would they want to damage the network?  pretty straightforward really.  It doesnt outright ban pools and I don't think this approach is going to work at all.

-bm


The pool could still have thousands of people holding both mining hardware and BTCs. The pool operator incentives are not so clear.
Anyway, please stick to the original subject. I don't want this discussion to be on PoS systems.
sr. member
Activity: 280
Merit: 257
bluemeanie
June 14, 2014, 11:49:17 PM
#4
One known way to prevent an incentive for a malicious 51% attack is to introduce a PoS innovation to the mining algorithm.  In other words, the more BTC you own, the less hashing you need to do.  Thus, miners would need to be stakeholders in BTC and thus creating network disruptions would be clearly against their interests.  They have 'skin in the game'.
-bm

Why do you think that in a PoS/PoW hybrid system mining pools won't be created? I don't think anyone would want to rely on the fact that a pool with 51% of the PoW/PoS power would have "no incentive" to attack the system, though all of the power to do so.


in a hybrid PoS scenario, the miner would need to be holding BTC.  Thus, why would they want to damage the network?  pretty straightforward really.  It doesnt outright ban pools and I don't think this approach is going to work at all.

-bm
newbie
Activity: 14
Merit: 0
June 14, 2014, 11:45:51 PM
#3
One known way to prevent an incentive for a malicious 51% attack is to introduce a PoS innovation to the mining algorithm.  In other words, the more BTC you own, the less hashing you need to do.  Thus, miners would need to be stakeholders in BTC and thus creating network disruptions would be clearly against their interests.  They have 'skin in the game'.
-bm

Why do you think that in a PoS/PoW hybrid system mining pools won't be created? I don't think anyone would want to rely on the fact that a pool with 51% of the PoW/PoS power would have "no incentive" to attack the system, though all of the power to do so.

Anyway, I prefer not to discuss PoS systems in this topic. Please comment on my suggestion.
Pages:
Jump to: