Bitcoin Forum
May 07, 2024, 06:37:22 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Pooled mining question  (Read 789 times)
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
September 21, 2016, 04:28:46 AM
 #1

How the pool server Works?
How i solving a low diff hash helps the server to find the nonce?
1715063842
Hero Member
*
Offline Offline

Posts: 1715063842

View Profile Personal Message (Offline)

Ignore
1715063842
Reply with quote  #2

1715063842
Report to moderator
1715063842
Hero Member
*
Offline Offline

Posts: 1715063842

View Profile Personal Message (Offline)

Ignore
1715063842
Reply with quote  #2

1715063842
Report to moderator
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
September 21, 2016, 07:47:32 AM
 #2

How the pool server Works?

The pool server listens to the bitcoin network to find transactions that need to be confirmed and to learn about blocks that have been solved by other miners. It then uses that information to build blocks for pool participants to work on.  It gives each miner their own unique block and tracks how much effort each participant puts into solving blocks.  If anyone in the pool solves a block, the pool server handles keeping track of how much each participant should get paid for their effort.

How i solving a low diff hash helps the server to find the nonce?

Each participant is looking for a nonce solution to the block they are working on.  Therefore, everyone that is participating in the pool is helping to find a nonce.  Since finding a successful solution is going to be unlikely for most of the participants, the low diff hash is just a way to prove to the pool server that you are actually trying.  That way the server will know how much effort the participant has put in, and can share the appropriate amount of the block reward with them when someone finally finds a solution.



FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
September 21, 2016, 11:50:23 PM
 #3

but how i will find the right nonce if im looking for my low diff block?
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6595


Just writing some code


View Profile WWW
September 22, 2016, 12:06:12 AM
 #4

but how i will find the right nonce if im looking for my low diff block?
Any block that is valid for the normal diff will be valid for the low diff. Because the hashes are random, someone will eventually hit a valid block.

DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
September 22, 2016, 03:34:22 AM
 #5

but how i will find the right nonce if im looking for my low diff block?

When you are mining, you are trying ALL nonces and seeing if the result is good enough to "win".

If you find a result that is only good enough for the low diff, then you report that and the pool keeps track of the fact that you are trying.  If the result is good enough for the high diff blockchain, then you report that and the pool broadcasts the block to the network and keeps track of how much it needs to pay everyone that tried. If the result isn't good enough for the blockchain or the low diff, then you don't bother reporting it.  The pool already knows that you are trying from all the low diff results that you report, so it doesn't need you to waste time reporting all the other losing blocks.
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
September 23, 2016, 12:36:34 AM
 #6

and when I found the solution of my low diff block and send it to the server , I get another. what is the difference of this new block?
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6595


Just writing some code


View Profile WWW
September 23, 2016, 12:51:52 AM
 #7

and when I found the solution of my low diff block and send it to the server , I get another. what is the difference of this new block?
Usually it's different transactions or a different extranonce in the coinbase transaction.

DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
September 23, 2016, 03:03:45 AM
 #8

and when I found the solution of my low diff block and send it to the server , I get another. what is the difference of this new block?

The 80 byte block header consists of 6 items:
  • Version
  • The double SHA256 hash value of the previous block
  • The Merkle root built from the list of transactions in the block
  • A timestamp
  • The current block difficulty
  • The nonce

It's these 80 bytes that you are hashing when "mining".  The version, hash of the previous block, and current difficulty can't be changed without the block becoming invalid.  The nonce is the easy thing for the miner to change as they search for a block solution.  So, the two things the pool server can change to give you a new block is the timestamp and the Merkle root.

The Merkle root changes if you change ANYTHING about the transactions in the block.  Add 1 more transaction to the block, and a new Merkle root needs to be calculated (which will be different than the one you had).  Remove 1 transaction from the block, and a new Merkle root needs to be calculated (which will be different than the one you had).  Change the order of the transactions in the block, and a new Merkle root needs to be calculated (which will be different than the one you had).  Change the input value (also known as the extraNonce) in the coinbase transaction, and a new Merkle root needs to be calculated (which will be different than the one you had).

The point is that the main difference in the new block header that you receive from the pool is typically going to be the Merkle root.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!