I am still trying to wrap my head around the details of how Ethereum will work. A transaction needs to be broadcast to the entire network so that it can be picked up by miners and included into a block. When the block propagates, you need to have a copy of the transactions in order to feed into contracts, run the scripts, and validate the the memory state reflected in the block. Any side effects of the transaction will need to be stored in the memory of the contract. Does this mean it is safe to delete transactions once they have confirmed deeply enough in the blockchain?