The block chain file is getting rather large, ~500MB. Is there a way to trim it or clean up, or maybe configure it to be limited in the future? I am using the stock Bitcoin client on Ubuntu.
For portable devices there are variants of the Bitcoin client often dubbed "selfish clients" in that they do not download any portion of the block chain other than what pertains to their own specific addresses and transactions. To my knowledge, none of these variants has been fully developed into a desktop client, but it is likely that such projects are underway. Unless your system is literally lacking the hardware to accommodate these files, however, it is recommended that you use a non-selfish client version. The lightweight versions are called "selfish" for a reason - by only holding block chain data which pertains to your own transactions, you cannot pass anything but that data to other nodes and as such your client is of minimal (if any) use to the network.
If you want to use the standard client, currently there is no way to prune the blockchain data. However, you can try using a lightweight client (like MultiBit or Electrum), which offers similar security to the standard client (wallet.dat is stored on your computer), or an eWallet (like StrongCoin, or even using MtGox if you don't need too much functionality), but then you have to trust that service.
The first two would reduce the disk space on your machine, but you'd still need to synchronize with the network; the second two would make you store nothing on computer and you would not need to synchronize.
There is work being done on a "Stratum client", which might offer the speed and minimal disk requirements of an eWallet with security of a lightweight client.
You can read more about various levels of security provided by different types of clients here.
The short answer is: No.
The Bitcoin client requires the entire block chain in order to validate transactions, and the block chain is currently around 500MB. It will continue to get larger and larger over time.
NOTE: Do not use this solution. It is no longer relevant for current clients. See other answers for suggestions on how to use incomplete blockchain representations.
The current version of the client doesn't offer much in the way of optimizing space, and does some caching that may cause bloat, but here are some ideas for manual ways that could help.
- Copy the wallet.dat file out of the data directory, then remove the data directory. Restart the client have it build the data directory again and download the block chain. Stop the client replace the wallet.dat file with your backup. Restart the client with the -rescan option.
- Backup your entire data directory and remove it. Start the client again creating a new data directory, and block chain download. Copy an address from the client. Close the client, backup the new data directory as a different backup. Restore the old directory. Start the client and transfer all of your coins to the new address. You can then restore the number 2 backup of the data directory, and discard the old directory. In this scenario you do not need to restart the client with the -rescan option.
However, be very careful with these steps, and keep all the backups until you are sure you are successful. And remember that if you are expecting payments on the old wallet.dat file then you shouldn't use option two unless you can easily update the payment address to your new wallet.
You can use the -prune command when you execute the core. This will strip down the blocks your client maintains to only the essential. For me it has pared down the size of the btc Blocks folder by a third.
Add -prune to the end of your command line when you go to run the bitcoincore executable
All command-line options (except for -conf) may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
You can also add -prune to end (outside the quotes) of the Target text in the properties of the bitcoincore GUI shortcut.
I don't believe you can, actually, which is one of Bitcoin's wee little problems, along with a too-long-gap between difficulty computations.
In order for Bitcoin to take over from the dollar, you'd have to have the entire economy of the USA on everyone's computer. That can't happen.
In order to fix that, we will have to modify the block chain system and that is DAMN DANGEROUS, because in spite of all the scandals around Bitcoin, Bitcoin itself is immutable, nothing has ever been found wrong with it's actual data structure itself.