Is running a full node (mining) bandwidth heavy or is it hardware (GPU) heavy?
You might have a misconception here:
- running a full node does not require mining and is only supporting the network without you getting any (monetary) reward. It has no high bandwidth requirements (runs on my private internet access and I can still stream movies etc) and almost no CPU or GPU requirements (unless you sync from scratch then it takes a bit of CPU power and bandwidth for the initial sync). You can run a node perfectly well on a Raspberry Pi or other micro computer: http://ethembedded.com/
- mining is GPU intensive (not worth trying on CPU as you will not get meaningful financial rewards for it) but does not have much more bandwidth requirements than a full node. If you consider mining: keep in mind that Ethereum will change to proof of stake and mining will not be requierd anymore at some point (nobody knows exactly when, but it might be in half a year or a year or so), so your return-of-investment should not be longer than that.
Pool mining doesn't require a full node. Mining is a computational heavy processes and its highly taxating on the GPU. Solo mining requires a full node, but you need to own a large hashpower to see a steady income stream from it. As of today, you need at least 5 modern GPUs to mine an ether a day.
If you join a mining pool, then mining doesn't necessarily requires a full node. The mining pool runs a full node, or multiple for redundancy, and each time it receives a block it sends its header as a work package to its miners.
This system is not trust-less: miners within a pool have to trust the pool to provide a verified, authentic block. But there is a mutualistic economic relationship between pool and miners: if a pool doesn't provide authentic blocks, its miners will lose the reward and they will likely leave the pool, which will then lose the fees miners pay to stay within the pool. This is true as long as a pool has substantially less than 51% of the overall network hashrate.
Solo mining does require a full node for now, since it's on top the last block that you start mining: i.e, the hash of the last block header is an input of the mining process. Potentially, when light client support will come around, you will be able to mine on a light client.
The mining process is GPU intensive, and you can find more information on it's algorithm Ethash, here.