No, miners do not need the entire block chain to be accessible. Technically, they don't even need it at all. The blocks themself are only needed for rescanning wallets, reorganisations, and serving blocks to other nodes. That is why pruning them away will likely become viable in the future.
What you need for validating blocks and transactions (a fundamental demand from miners), is the database of unspent transaction outputs. 0.8+ clients maintain this database explicitly in a compact form (around 200 MB now, as of May 2013).
In addition to that, a miner needs to maintain a memory pool: a set of transactions that are validated against the current best chain, to choose transactions for the next candidate block from.
Would you explain it elaborately. I am very new to mining and I would like to know how to mine without downloading blockchain. Also what are 0.8+ clients that you mentioned? It would be really helpful to name a few! – Ashutosh Dave – 2013-05-23T17:31:37.747
1I was talking hypothetically. No client exists that effectively does block pruning today, so you will need all blocks. It's just a fact that this is not necessary in theory. By 0.8+ clients I refer to the reference client bitcoind/Bitcoin-Qt version 0.8 and above. – Pieter Wuille – 2013-05-23T17:48:13.177
Ok I got it. But if I want to just start mining rather than wait for entire blockchain to download, how should I do it? – Ashutosh Dave – 2013-05-23T18:03:13.113
2You can't, and pruning won't change that. As a miner you're required to validate the block chain, which can't happen well... without validating it. Of course you can donate your hashing power to another instance (a pool) and be paid for it, but then you're not mining yourself. – Pieter Wuille – 2013-05-23T18:07:20.987
Just to be clear: I answered your question with a clear no, as it is not necessary that miners hold entire blocks in memory (or even on disk); that doesn't mean they don't need to validate it. Pruning generally refers to downloading + fully verifying the entire chain, but not keeping all historic blocks around after they are validated. – Pieter Wuille – 2013-05-23T23:20:42.243