0

I recently got back into mining on the ethereum network and experimented with a couple of mining pools in the process.

One thing I immediately noticed when taking a look at the log from the mining software (Phoenixminer), is that the amount of "new jobs"/ "new work" received from the mining pool has drastically increased since I stopped mining back in 2017.

The new work package from the pool (requested by "eth_getWork" or pushed from the pool) contains the current block header pow-hash (AKA "work") that is used by the miner to find a valid solution.

I don't understand why this hash would change more frequent, than the average time it takes, that a new block is found on a network-wide scale... I remember receiving much fewer new jobs from the pool back in 2017. I have not done an in-depth analysis of the current status, but just looking at the terminal, it seems I'm getting a new job more than once per second. With an average block-time of ~13 seconds this seems way too fast.

Follow-up question: Would this high rate of "job-switching" not increase the amount of stale shares submitted on a higher latency connection (especially on rental platforms)?

1

Looking the the daily transactions https://etherscan.io/chart/tx the average for the last 9 months is like the December 2017 peak. There are a lots of transactions in the pending pool, it is above 100k constantly.

For miners it is better to choose transactions with the highest fees I'd assume the frequent change of jobs is due to new transactions arriving with higher fees. Most mining pools are businesses so I'd guess they do that frequent change because it is convenient for them.

2
  • Ok, that makes sense. But this behaviour is probably already implemented by the various ethereum clients (geth for example)? So it might not actually be a deliberate choice by the pool operator, but rather the client implementation itself chooses to update the current work more frequently depending on the txpool? – watson Apr 4 at 14:32
  • @watson It appears to be so. Looking at the code github.com/ethereum/go-ethereum/blob/master/miner/…, there's a timer that appears to do that. – Ismael Apr 4 at 23:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.