Do mining pools eliminate the need to store blockchain?

0

Suppose I want to design generic crypto currency miner starting from scratch . By generic I mean it can be configured to support a large number of available crypto currencies.

This generic miner must be able to connect to mining pools for the coins it supports in addition to being able to mine solo. In the case that it is configured to connect to mining pool , it does not need to store the blockchain on the PC on which miner is running? In this case the blockchain is stored on the server running mining pool? In this case the miner PC only has the current block?

The answers to above questions do not depend on wether the miner is configured to use CPU or GPU or both?

user61766

Posted 2018-01-21T07:16:59.590

Reputation: 101

Answers

1

A mining pool does need to store the entire blockchain, however that doesn't mean that every participant of the mining pool needs to store it. Someone in the pool needs it, but not everyone.

Individuals in a pool can just be sent block headers and perform the proof-of-work without ever verifying the transactions themselves. This does not require the full blockchain. However, someone should have already verified the transactions ahead of time, and this node does need the blockchain.

Jestin

Posted 2018-01-21T07:16:59.590

Reputation: 8 339

1You don't need the blockchain at all to validate transactions. You need the UTXO set defined by all previous transactions in the chain, but there is no need to keep the actual chain around. A pruned node is sufficient.Pieter Wuille 2018-03-27T03:14:08.157

0

Yes, participants of the mining pool don't have to store anything certainly not the whole blockchain. What they need is the hash of the transaction included in the next block and the hash of the previous block.

The other part that has to be done but it’s the mining server that does it is validating transactions which can be a done by a pruned node minimizing the amount of data that has to be stored.

Yitzchok

Posted 2018-01-21T07:16:59.590

Reputation: 121

They don't need the current block either... They just need some pieces of the header, and a Merkle branch for the generation transaction.Meni Rosenfeld 2018-02-20T20:03:14.107

Is this better?Yitzchok 2018-02-21T02:35:43.703

I think it's not quite there yet. What they need is not a transaction - quite the opposite, they make up the transaction themselves. They need the Merkle branch that complements the transaction; and also the address to credit the pool. This is assuming that each work unit consists of multiple extraNonces; otherwise they don't need that, they are given the Merkle root and just use nonce and nTime rolling. If that's too complicated, you can just say that they need the header, it's not far from accurate.Meni Rosenfeld 2018-02-21T23:00:27.847