Bitcoin Forum
May 10, 2024, 12:07:30 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Does workers at a pool need to know the Tx set?  (Read 772 times)
CounterEntropy (OP)
Full Member
***
Offline Offline

Activity: 214
Merit: 278


View Profile
January 15, 2017, 06:03:53 PM
 #1

If not, why?
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715342850
Hero Member
*
Offline Offline

Posts: 1715342850

View Profile Personal Message (Offline)

Ignore
1715342850
Reply with quote  #2

1715342850
Report to moderator
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
January 15, 2017, 07:12:47 PM
 #2

no.
why should they?
ArcCsch
Full Member
***
Offline Offline

Activity: 224
Merit: 117


▲ Portable backup power source for mining.


View Profile
January 16, 2017, 03:30:05 AM
Merited by ABCbits (2)
 #3

The block header, whose hash must be small for it to be valid, consists of the previous block hash (PBH), the Merkle root of the transactions (including the coinbase, with its nonce), some assorted metadata (difficulty, time, block hight), and the 32 bit nonce.
Pools can, in theory, only send the block header (without the nonce), but this would have to be updated so frequently it would put a strain on the network. Instead, they can send all the fields circumscribed in my (very poorly drawn) diagram:

Note that the bulk of the transaction data is omitted, but the miner can tweak part of the coinbase nonce to change the Merkle root (part of it is usually set by the pool to sign their blocks).

If you don't have sole and complete control over the private keys, you don't have any bitcoin!  Signature campaigns are OK, zero tolorance for spam!
1JGYXhfhPrkiHcpYkiuCoKpdycPhGCuswa
Decoded
Legendary
*
Offline Offline

Activity: 1232
Merit: 1030


give me your cryptos


View Profile
January 17, 2017, 01:55:05 AM
 #4

The block header, whose hash must be small for it to be valid, consists of the previous block hash (PBH), the Merkle root of the transactions (including the coinbase, with its nonce), some assorted metadata (difficulty, time, block hight), and the 32 bit nonce.
Pools can, in theory, only send the block header (without the nonce), but this would have to be updated so frequently it would put a strain on the network. Instead, they can send all the fields circumscribed in my (very poorly drawn) diagram:

Note that the bulk of the transaction data is omitted, but the miner can tweak part of the coinbase nonce to change the Merkle root (part of it is usually set by the pool to sign their blocks).

Simplifying that down, you don't need to actually need to link your block to the previous transactions. You just have to link your block to the previous block header, which builds on top of all the transactions.

A pool operator will usually generate the block header, and then broadcast it to all the miners. So no, they don't have to know the transactions because the pool operator has already done the respective part of the work.

looking for a signature campaign, dm me for that
CounterEntropy (OP)
Full Member
***
Offline Offline

Activity: 214
Merit: 278


View Profile
January 19, 2017, 03:17:46 PM
 #5

Simplifying that down, you don't need to actually need to link your block to the previous transactions. You just have to link your block to the previous block header, which builds on top of all the transactions.

A pool operator will usually generate the block header, and then broadcast it to all the miners. So no, they don't have to know the transactions because the pool operator has already done the respective part of the work.
What I understand, pool operators provide the Merkle root of the transactions (including the coinbase, with its nonce), instead of the Tx set. Is it possible for the workers to re-create the Tx set from this or other provided info?

Moreover, when a block is found, does pool operator need to broadcast the Tx set or the hashMerkleRoot is enough?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
January 19, 2017, 03:37:13 PM
 #6

What I understand, pool operators provide the Merkle root of the transactions (including the coinbase, with its nonce), instead of the Tx set.
Is it possible for the workers to re-create the Tx set from this or other provided info?
what for? nobody is interested in this information.
in fact the workers even are not connected to bitcoin-network itself

Quote
Moreover, when a block is found, does pool operator need to broadcast the Tx set or the hashMerkleRoot is enough?
there are several ways to broadcast new block
first, original, classic way is broadcasting the whole block - header and all transactions in it
there are also modern ways in last clients - compact broadcasting

in general the block header and merkle root is not enough.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
January 19, 2017, 04:11:07 PM
Last edit: January 19, 2017, 04:54:22 PM by DannyHamilton
 #7

Is it possible for the workers to re-create the Tx set from this or other provided info?

No.  While it might sometimes be possible for a worker to listen to the bitcoin network and terate through all the transactions they know about and generate a merkle root for each iteration until they find a matching merkle root if they wanted to. They won't reliably always have heard the necessary transactions, and won't typically be able to find a matching merkle root in a reasonable amount of time.

Moreover, when a block is found, does pool operator need to broadcast the Tx set

He can (the original, classic way), but he doesn't necessarily need to (modern full nodes).

or the hashMerkleRoot is enough?

The hashMerkleRoot is not enough.
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!