1
1
Technically speaking a full PoW solution is one whose hash value is below a certain threshold value say V. It is not equivalent to saying that the hash value must begin with say X number of zeros (unless the threshold value is a power of 2).
My question is what is the usual practice in mining pools where one needs to submit partial proof of work to give a proof that he has worked on finding the block honestly? Lets say in some 'round' the miners in a pool have got their best (the least) hash values as v= v1,v2,..v_n. Is there a function that takes in v as an input and computes the reward for each of the miners ? Are there are checkpoint sort of system where say if the submitted share has hash value lying in between some range then that miner is categorised in that range. Once all the members are categorised into groups (which would reflect how powerful mining rigs they have), they can then be paid for their service proportionately. Of course there is no need to categorise, like the way I mention but is it how it works in practice ? If so, how are the level checkpoints distributed ?
Quick question, what prevents a miner from creating duplicate accounts and submitting the same shares twice? For example, minerA computes a valid PoW solution to the difficulty target set by the pool. minerB somehow reads what minerA has submitted and resubmits the same shares without any actual work. I assume this is entirely dependent on the pool, but are there some standards to prevent this? Perhaps the PoW has some added hashes/values in the input script to differentiate a user? Maybe rejecting the same shares that are already submitted? Thanks :) – KappaDev – 2018-10-26T01:05:54.790
1There aren't really standards for anything involved in mining pool operation. However, since shares are really just blocks with potentially invalid PoWs, each share is unique. Furthermore, because pools issue work to miners with specific parameters, they can use some unique identifier to be included in the share so that the miner can be identified. Many pools use part of the extranonce in the coinbase transaction to do this. So if two miners submit the same share, the person who is identified by the extranonce is the one who gets credited with the work, and he is only credited once. – Andrew Chow – 2018-10-26T01:23:52.643
Thanks @AndrewChow for answering. For clarity, the exact algorithm defers from one payout system to another but the overall idea is to look at the shares submitted and its frequency to "figure out" a miner's hash rate. That is, lower the hash values and higher the frequencies of the submitted shares more this is hash rate. Is that correct ? 2nd question, is there any other way of submitting a partial proof of work ? One could for eg submit a picture of electric meter, but it can't be verified in a decentralised manner. Are there any alternate decentralised ideas for partial proof of work ? – Maharshi Ray – 2018-11-03T01:39:47.177
Actually, since the 2nd question seems a little off topic from the thread, i'll post it as a new question :) – Maharshi Ray – 2018-11-04T07:57:14.977