- How does blockchain.info track IP numbers? And why do they track IP numbers = really bad for anonymity!
Blockchain.info reports the IP address of the peer that relayed the information to them, not the IP address of the peer that created the information. If you don't want your IP address to be associated with the information that you relay, then you need to use an IP obscuring service such as a VPN or TOR.
- The block chain is getting spammed with tiny transactions of < 1 BTC by services like SatoshiDice etc. these are REALLY bad for the network,
There is nothing in the protocol to prevent such use. In theory, a competitor could create something similar and use internal accounting. This internal accounting could reduce costs for the competitor since they wouldn't have to pay as much in fees. This competitor could then use these reduced costs to offer better odds and attract customers away from Satoshi Dice eventually forcing Satoshi Dice to either begin their own internal accounting or go out of business.
To do this, the competitor would need a reliable way to prove that their system is fair. Satoshi Dice uses the blockchain as a public record of all bets so that anybody can confirm that everything internally operates exactly as advertised. As soon as someone comes up with a method as reliable as the blockchain, we can probably expect that Satoshi Dice will see some significant competition.
why don't they have internal accounting?!
Because they don't need to.
Ah, can somebody explain how transaction fees work? I understand you can add fees if you wan't the network to process the transaction with high priority right? So that means IF there was a shitload of transactions you would get ahead...
But it's always optional right?
As far as the protocol is concerned, fees are always optional. However:
Bitcoin is a voluntary system. It is not "required" that you include a fee. You are welcome to attempt to broadcast a transaction with no fee (some wallets prevent this under certain circumstances, others will allow you to do so regardless of the circumstances).
However, peers are not "required" to relay your transaction. They are welcome to refuse to relay it for any reason they like. Most peers will be running the "reference client" called Bitcoin-Qt. In that case they will relay most all transactions, but if the transaction appears "spammy" or like it could potentially be part of a denial-of-service attack on the network, then they may refuse to relay the transaction if it doesn't include a sufficient fee.
Additionally, miners are not "required" to include your transaction in a block. They are welcome to refuse to include it if they feel they can increase their profits by including some other transaction that has a fee instead of your "free" transaction.
This all being said, most all "free" transactions where all outputs are greater than 0.01 BTC and the total size of the transaction is less than 10 kilobytes, will be relayed and will eventually be included in a block by a miner. Miners see a long term benefit to maintaining a system that is cheap and easy to use. The miners are currently subsidized by the minting of new bitcoins, and they get enough revenue from that subsidy that they are generally willing to include a reasonable number of "free" transactions in each block they mine.
Note that if any one or more of the following are true the transaction may not be relayed by most peers and may not be included in a block by most miners:
- The transaction is larger than 10 kilobytes
- Any one or more outputs of the transaction are less then 0.01 BTC
- The transaction is considered "low priority"
Priority is determined by the following formula:
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
where base units is Satoshis, and input age is number of confirmations on the input. Any priority less than or equal to 57,600,000 is considered "low priority".