i) What are the advantages of being a node? Is there any reward? Or just a feeling that you've contributed to the community?
ii) Why is it necessary for nodes to have the entire transaction history? What use do the earliest transactions still serve?
I would have thought you'd only need the latest ones.
i. If you want to solo-mine - you need[1] to be a node in order to be able to verify the transactions you include in the block you want to solve. When in a pool it does that for you.
ii. I will skip block 0, as it is special, but the reward for
block 1 is also still 'unspent', so:
It is very useful to know where everything has come from and went to.. It is needed to ensure the blockchain is correct. If I sent you 1 btc 3 years ago, you never sent it anywhere and it wiped out the blockchain after a year how could anyone prove you have any BTC? It would be gone.
To be able to spend (or to confirm it wasn't spent yet) the reward from
block 1 - you need to have the entire history back to that block[2]
-----------------------------------------------------
[1] it might be possible to solo-mine by using a network of 'full nodes' as a backend, but that's more of exception from the rule.
[2] at some point in time it might be necessary to 'shrink' the database and a list of 'unspent outputs only' may be used as a seed for the future transactions, but this is not yet the case.