Hey, just a few
questions that I cant find a satisfactory answer to from the wiki or anywhere else on the internet
1. When almost all bitcoins have been mined, is the only incentive for people to continue mining operations, to gain transaction fees? Would this be enough?
Simple version: It likely will be enough. The larger Bitcoin becomes the smaller the per transaction cost can be to support a given network size. The transaction fee rules will need to be changed to create a functional transaction fee "economy" though. http://bitcoin.stackexchange.com/questions/876/how-much-will-transaction-fees-eventually-be
2. As the bitcoin network grows exponentially, wouldn't there come a point where there are so many transactions etc going on that the network finds it hard to cope and it begins to take ages to do simple transfers? This may be completely wrong, I just get the impression from when synchronizing more recent block chain blocks are so much larger and take longer to download than early ones.
No it won't increase the time of transactions however the computational load on network nodes will continue to increase. Currently the node "duties" are trivial (except block hashing) because transaction volume is very low <1tps. If transaction volume grew to Paypal sized volume (100tps) or VISA scale volume (4000 tps) the requirements of nodes will likely be soo high (in terms of bandwidth, disk, memory, and cpu/gpu power) that most users won't use full nodes. They will run lite nodes (connecting to secure block-chain servers), eWallets, and other alternative systems. It is also possible that Bitcoin will form a the low level high value network (think bank ACH) and higher level daily transaction type networks and services will grow on top of it.http://bitcoin.stackexchange.com/questions/1708/capabilities-of-bitcoins-and-their-place-in-the-future
3. (I have read about this question on the wiki but am still not entirely sure) Your 'wallet' is just a private alphanumeric string with which all the bitcoins that belong to you are associated, or something more in that .dat file? And receiving addresses are simply public addresses for your wallet for people to send bitcoins to?
No. An address is a hash of the public key. The private key controls funds for a given public key/addresss. So the wallet.dat is a simply a collection of address & key pairs. There are no actual "bitcoins" the blockchain records the VALUE of each address.
(i.e. address ABC has a value of 1 BTC, address xyz has a value of 999 BTC). The value of your entire wallet is the sum of the values of all addresses of which you have a private key for. The wallet "knows" the value of your wallet by comparing the value the block chain says each address has with the addresses you "own".
4. If tonnes of nodes went offline for whatever reason, so the bitcoin network shrunk to a fraction of its size, even if only temporarily, what impact would this have on the vulnerability of the network to an attack and the average transaction speed?
It depends on how much a "ton" is, how long they are offline, and how rapidly they decline.
With current hashing power one block is solved every 10 minutes. If hashing power declined say 20% then average block time would rise to 12 minutes. Every 2016 blocks the network re-adjusts itself (by changing difficulty of finding a block) so average time is 10 minutes. The one issue is that is a massive amount of the hashing power went dark and stayed dark (say 90% of the network turned off) it may take a very long time until the next adjustment. As long as the changing is hashing power is small or gradual the network can compensate without any significant change in transaction processing time.
As far as vulnerability. Attacking the network is possible but very expensive. Even if half the nodes went offline that dynamic wouldn't change. There are methods being discussed (but far from being implemented) to provicde further protection to the network beyond the brute force aspect of the sheer network size.