Quote from: gavinandresen on November 07, 2010, 02:14:29 AM
Actually… prioritizing free transactions based on both amount and their “age” should make this attack toothless.
Sorting pending free transactions so that larger-value transactions and free transactions with inputs deep in the block chain (“old money”) are given priority would let normal transactions go through.
Prioritizing larger value transactions doesn’t really solve the problem because it’s perfectly possible to spam by sending large amounts of bitcoin from one of your addresses to another ad infinitum.
If you prioritize older transactions, people would be incentivised to split their bitcoin holdings in such a fashion as to ensure that they do not generate significant amounts of change when they buy things with bitcoins. If you hold your bitcoins in powers of 2 * 0.01 then you can pay for anything you can aford with no change and the least fragmentation. Of course after spending the money you have to rebalance your holdings as soon as possible. The best way to do this is not immediately obvious to me. Possibly under certain circumstances it might be advantageous to generate change as long as you could specify how you wanted it split up. Possibly powers of 3 might be best for multiple purchases. Anyway, the end effect would be that transactions would have more ins and outs. Probably the average number of ins and outs would be some very small multiple (or large fraction) of the log of the number of bitcoin pennies in the transaction. I estimate that this might increase the average transactions size by over 10 times.
ByteCoin