localhost
|
|
November 18, 2011, 10:43:14 AM |
|
This is not a big problem with bitcoins, because Bitcoin has a lot of honest transactions that use up the 4kb in the block, so these spammy low priorties transactions will take forever to get included in a block. So a similar attack on bitcoin is pointless. Since Litecoin is a new chain with not that many honest transactions, it's silly that we are forced to grow at 2.3mb/day by this Litecoin-hater.
I will need to think of a way to combat this. The first thing that comes to mind is to just reduce the 4k exemption for free transactions per day to something much smaller. Maybe instead of allowing 13 of these transactions, we only allow a few to get included in a block. I can reduce the 4k exemption to 1k. This would reduce the chain size increase from 2.3mb/day to 575kb/day. The downside of course is that free transactions might take longer to get written into blocks. I would have to double check, but I don't think the client will let you create transactions without enough fees. So this only applies to people that modify their client to do 0 fees. Let me know what you guys think. I guess you could do that and then when honest transactions become more numerous increase the exemption again.
|
-
|
|
|
Kumala
|
|
November 18, 2011, 10:44:30 AM |
|
2MB/day, thats less than 1GB per year, nothing I personally worry about. I'm sure he'll loose interest soon.
|
Hacked Account! Don't send any money.
|
|
|
localhost
|
|
November 18, 2011, 10:47:49 AM |
|
2MB/day, thats less than 1GB per year, nothing I personally worry about. I'm sure he'll loose interest soon. Yeah, sure, it's not as if hard drives were 3 times as expensive now as a few months ago...
|
-
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1654
Merit: 1351
Creator of Litecoin. Cryptocurrency enthusiast.
|
|
November 18, 2011, 10:49:10 AM |
|
This is not a big problem with bitcoins, because Bitcoin has a lot of honest transactions that use up the 4kb in the block, so these spammy low priorties transactions will take forever to get included in a block. So a similar attack on bitcoin is pointless. Since Litecoin is a new chain with not that many honest transactions, it's silly that we are forced to grow at 2.3mb/day by this Litecoin-hater.
I will need to think of a way to combat this. The first thing that comes to mind is to just reduce the 4k exemption for free transactions per day to something much smaller. Maybe instead of allowing 13 of these transactions, we only allow a few to get included in a block. I can reduce the 4k exemption to 1k. This would reduce the chain size increase from 2.3mb/day to 575kb/day. The downside of course is that free transactions might take longer to get written into blocks. I would have to double check, but I don't think the client will let you create transactions without enough fees. So this only applies to people that modify their client to do 0 fees. Let me know what you guys think. I guess you could do that and then when honest transactions become more numerous increase the exemption again. That's my thought also. And since we find 4 times as many blocks as Bitcoin, the exemption in terms of time is about the same: 4kb per 10 mins. 2MB/day, thats less than 1GB per year, nothing I personally worry about. I'm sure he'll loose interest soon.
Bitcoin has been around for more than 2 years now and its chain size is still only ~700mb. If we grow 1GB a year, it's not that bad but forcing everyone to download 1GB of mostly useless transactions is stupid.
|
|
|
|
kano
Legendary
Offline
Activity: 4620
Merit: 1851
Linux since 1997 RedHat 4
|
|
November 18, 2011, 11:30:58 AM |
|
I'd certainly say it needs someone to design a nice solution rather than just try fiddling the fees (and you can now make the fee lower ) My first thought on the subject is similar to your idea Coblee of treating the system as it is - new and thus restricting things to help slow it down. Also, since txn's are much faster than BTC it probably wouldn't hurt to put certain block restrictions in there that would be considered too extreme in BTC but certainly not in LTC at the moment. Maybe even restrict the actual size of the block? (getwork would also have to handle that) and have it grow over time so it may not even require adjusting later ... Just my 2c worth (I'll also have a think about it myself overnight ...)
|
|
|
|
Matoking
|
|
November 18, 2011, 12:22:27 PM |
|
The file size of my wallet is now 320 MB. I could just delete the transactions from the wallet file, just need to figure out how...
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
November 18, 2011, 02:09:25 PM |
|
The file size of my wallet is now 320 MB. I could just delete the transactions from the wallet file, just need to figure out how...
You can't delete transactions from the blockchain. Any block chain currency validates transactions by tracing them back to their genesis. Any coin you receive was mined from somewhere and has a "history" which allows it to be validated. Once something is part of the block chain it is there forever. Block chain pruning can be done but it has to be done at a network not individual level.
|
|
|
|
terrytibbs
|
|
November 18, 2011, 02:24:41 PM |
|
The file size of my wallet is now 320 MB. I could just delete the transactions from the wallet file, just need to figure out how...
You can't delete transactions from the blockchain. Any block chain currency validates transactions by tracing them back to their genesis. Any coin you receive was mined from somewhere and has a "history" which allows it to be validated. Once something is part of the block chain it is there forever. Block chain pruning can be done but it has to be done at a network not individual level. [/quote] (emphasis mine)
|
|
|
|
btc_artist
Full Member
Offline
Activity: 154
Merit: 102
Bitcoin!
|
|
November 18, 2011, 02:54:37 PM |
|
coblee, the option to automatically start litecoin on system startup doesn't seem to be working for me. Running on Win7.
|
BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
|
|
|
CAMOPEJB
|
|
November 18, 2011, 03:10:24 PM |
|
The file size of my wallet is now 320 MB. I could just delete the transactions from the wallet file, just need to figure out how... So you just want to delete from wallet those spammy 0.0000001 transactions? Easiest way would be making new wallet and transfer all your coins to it but if you can figure out better way to do it please, share it with us
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
November 18, 2011, 03:25:54 PM |
|
The file size of my wallet is now 320 MB. I could just delete the transactions from the wallet file, just need to figure out how...
You can't delete transactions from the blockchain. Any block chain currency validates transactions by tracing them back to their genesis. Any coin you receive was mined from somewhere and has a "history" which allows it to be validated.
Once something is part of the block chain it is there forever. Block chain pruning can be done but it has to be done at a network not individual level.
(emphasis mine) The wallet doesn't contain transactions. Only the blockchain contains transactions. I assumed he was using the world "wallet" loosely as there are 0 transactions to delete from the wallet.dat.
|
|
|
|
terrytibbs
|
|
November 18, 2011, 03:46:15 PM |
|
The wallet doesn't contain transactions. Only the blockchain contains transactions. I assumed he was using the world "wallet" loosely as there are 0 transactions to delete from the wallet.dat.
My testnet wallet, dumped: { "bestblock": "b92930452dc16504b182f233c2a5bbb79a29e079c3b057b290a9c26b7c131d2f", "defaultkey": "18APg1XBWsTa6zc1gg5HwX5ir4wMew9GFg", "keys": [ // private key magic ], "names": { // address label magic }, "pool": [ // more address magic ], "settings": { // settings }, "tx": [ { "tx_id": "329da3b0147cb5f3750ef7e7900d42a427e0f15fd6dd649485857aa4479a1c00", "tx_k": "027478001c9a47a47a85859464ddd65ff1e027a4420d90e7f70e75f3b57c14b0a39d32", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff070479f4c24e0136ffffffff0100f2052a0100000043410424818533d75bcb3127bc50bdf36a5996e0888ac15d2a81f7fae965d087e4dc881569f6101f96c38522603789caf3457b0148c5575c3ae49fb6279ab86641fc90ac00000000a0bfae7d020cbc9dfdbe46f9284be38833cbd1b7107deed69da6fa6e94f20675000000000000020b66726f6d6163636f756e7400057370656e740000000000007af4c24e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "0479f4c24e0136", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "410424818533d75bcb3127bc50bdf36a5996e0888ac15d2a81f7fae965d087e4dc881569f6101f96c38522603789caf3457b0148c5575c3ae49fb6279ab86641fc90ac", "value": 50.0 } ] }, { "tx_id": "a4b9253208911b3550d6041df0519bb0b7e5a399c9a0605d009c949b5e6f5400", "tx_k": "02747800546f5e9b949c005d60a0c999a3e5b7b09b51f01d04d650351b91083225b9a4", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff07049c0fc34e0119ffffffff0100f2052a0100000043410459725f9d314e0b11b45743a9e1f81257549a3b3ccf12bd5d57ec41b3e62e46215a792ddb85db7a91443531faeaccf28a18159cb65ee5c0a922516c108b55defaac0000000017b926e7b6601e0c628203ea5884f678cbc860884b6a59b55795eaa9f301a062000000000000020b66726f6d6163636f756e7400057370656e740000000000009e0fc34e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "049c0fc34e0119", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "410459725f9d314e0b11b45743a9e1f81257549a3b3ccf12bd5d57ec41b3e62e46215a792ddb85db7a91443531faeaccf28a18159cb65ee5c0a922516c108b55defaac", "value": 50.0 } ] }, { "tx_id": "6fa09be0158c20f9a043014d1297455476937351ca9eaa603227c499c0d22e01", "tx_k": "027478012ed2c099c4273260aa9eca51739376544597124d0143a0f9208c15e09ba06f", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704d7dfb84e0112ffffffff0100f2052a01000000434104d55b50353275a4a033fb220c2732e9b0cc0a685702f219aa8542eaf6aa7f344d96c0c469188eb0998c3f2d622b7b38cf83d861a9222a1ff66eb0c570a278380eac00000000d200322099b704052b2742f147b8b6193133b305c1e90c2ca9140504b59a4f61000000000000020b66726f6d6163636f756e7400057370656e74000000000000dbdfb84e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "04d7dfb84e0112", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "4104d55b50353275a4a033fb220c2732e9b0cc0a685702f219aa8542eaf6aa7f344d96c0c469188eb0998c3f2d622b7b38cf83d861a9222a1ff66eb0c570a278380eac", "value": 50.0 } ] }, { "tx_id": "985e4b30904ac3248ad1036d14dc4d90fd5564882fa6dbe9b4fdca0cbabbdc01", "tx_k": "02747801dcbbba0ccafdb4e9dba62f886455fd904ddc146d03d18a24c34a90304b5e98", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704132ec34e012bffffffff0100f2052a0100000043410471b1935d45c44050343620fed71ce6c3c73b6cd0bd9b6bb3432051d4312e9e52ba4afa7b568e87abfc25c0b82abc9ed3742c50a50e1701ffd873b2fd60a791cbac000000008c9cd1a075f625ed684901a30a0a5c279ca955802e46716f02fd9429dc85e69e000000000000020b66726f6d6163636f756e7400057370656e74000000000000162ec34e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "04132ec34e012b", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "410471b1935d45c44050343620fed71ce6c3c73b6cd0bd9b6bb3432051d4312e9e52ba4afa7b568e87abfc25c0b82abc9ed3742c50a50e1701ffd873b2fd60a791cbac", "value": 50.0 } ] }, { "tx_id": "a1212b0cc82fe58ebeac17e2a75c2f6b34fecd67cb2237a4557c2c83c2561402", "tx_k": "027478021456c2832c7c55a43722cb67cdfe346b2f5ca7e217acbe8ee52fc80c2b21a1", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff070450e7b84e0116ffffffff0100f2052a01000000434104f6e9c8f3fa27bd742ecf672edeca432d9082f069c234816c0acab0d1b83091cb9166a468b9dc44c48715434bf0644f0bdc3c4cf42c624b3eaa7083a1fcf666a7ac0000000036642f200b33b9bb9f842a3d7a3932a3d5cfc20b9552f6c61f5af59ecb16bca7000000000000020b66726f6d6163636f756e7400057370656e7400000000000051e7b84e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "0450e7b84e0116", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "4104f6e9c8f3fa27bd742ecf672edeca432d9082f069c234816c0acab0d1b83091cb9166a468b9dc44c48715434bf0644f0bdc3c4cf42c624b3eaa7083a1fcf666a7ac", "value": 50.0 } ] }, { "tx_id": "2d83940aac2a54c23ed831a1e7b35c9609fb1e06bd67545c7f4c36e423c78102", "tx_k": "0274780281c723e4364c7f5c5467bd061efb09965cb3e7a131d83ec2542aac0a94832d", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff07043914b94e0165ffffffff0100f2052a01000000434104cf5b4679f2b5fde1b5c1bd1f38035e4be699d144bc5efb06d945ac33f8105a5ee033efcbf4fe1323451114ab95092b20bed490d63fa74963c28e63b04688e38bac000000007e39c0643fdeeb4da994b5bc1d9566c69b732bc24653016e1fcfee57526014fd000000000000020b66726f6d6163636f756e7400057370656e740000000000003b14b94e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "043914b94e0165", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "4104cf5b4679f2b5fde1b5c1bd1f38035e4be699d144bc5efb06d945ac33f8105a5ee033efcbf4fe1323451114ab95092b20bed490d63fa74963c28e63b04688e38bac", "value": 50.0 } ] }, { "tx_id": "35b904d108063ee814d595647c61a527a96f57e2f5628e0bcd6df47e7cf33303", "tx_k": "0274780333f37c7ef46dcd0b8e62f5e2576fa927a5617c6495d514e83e0608d104b935", "tx_v": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704762bc34e0148ffffffff0100f2052a01000000434104508a33804456e5b89945edd267dadabcc99fd0c67bf061bb089fa6bdbeb98fa7b19a77997d79e89f895a9fabaf9aca9004ecaeb5cb1f1ea8f66112bd290e374bac00000000cfa318fe7d9b74a8be5dc82a5f022c52e78a537e9efb03c9a4e6898acf6814e9000000000000020b66726f6d6163636f756e7400057370656e74000000000000792bc34e0000", "txin": [ { "prevout_hash": "0000000000000000000000000000000000000000000000000000000000000000", "prevout_n": 4294967295, "scriptSig": "04762bc34e0148", "sequence": 4294967295 } ], "txout": [ { "scriptPubKey": "4104508a33804456e5b89945edd267dadabcc99fd0c67bf061bb089fa6bdbeb98fa7b19a77997d79e89f895a9fabaf9aca9004ecaeb5cb1f1ea8f66112bd290e374bac", "value": 50.0 } ] } ], "version": 50004 } I only included a couple of the first transactions, in reality there are thousands (tens of thousands in my spammed mainnet wallet).
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
November 18, 2011, 04:18:07 PM |
|
The wallet doesn't contain transactions. Only the blockchain contains transactions. I assumed he was using the world "wallet" loosely as there are 0 transactions to delete from the wallet.dat.
My testnet wallet, dumped: (code snipped) I only included a couple of the first transactions, in reality there are thousands (tens of thousands in my spammed mainnet wallet). I stand totally and humbly corrected. I guess the client is doing that is speed up lookups. Essentially caching transactions it located from the blockchain. If that is the case then there likely is no good way to delete them as client will just re-cache them from the blockchain. A work around would be to create a new wallet, and transfer coins there. I would wait until the spam issue is resolved to avoid having new wallet spammed though.
|
|
|
|
terrytibbs
|
|
November 18, 2011, 04:45:13 PM |
|
The wallet doesn't contain transactions. Only the blockchain contains transactions. I assumed he was using the world "wallet" loosely as there are 0 transactions to delete from the wallet.dat.
My testnet wallet, dumped: (code snipped) I only included a couple of the first transactions, in reality there are thousands (tens of thousands in my spammed mainnet wallet). I stand totally and humbly corrected. I guess the client is doing that is speed up lookups. Essentially caching transactions it located from the blockchain. If that is the case then there likely is no good way to delete them as client will just re-cache them from the blockchain. A work around would be to create a new wallet, and transfer coins there. I would wait until the spam issue is resolved to avoid having new wallet spammed though. It will only "re-cache" them if you pass it the -rescan option, otherwise it remembers the last block and assumes all transactions in blocks up to that one have already been cached. Deleting transaction from your wallet is an excellent way to speed it up.
|
|
|
|
Matoking
|
|
November 18, 2011, 05:24:39 PM |
|
Yes, I only meant deleting the references to the said transactions in the wallet file, not in the blockchain. (How else could it be as large as 320 MB?)
But yeah, I'll probably just create a new wallet. The problem is to avoid using the spam transactions which would result in massive transaction size and transaction fees when moving over the old coins to a new address in the new wallet.
The priority should be to get everyone to update to the newest Litecoin client in order to stop those transactions, they still keep coming every once in a while.
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1654
Merit: 1351
Creator of Litecoin. Cryptocurrency enthusiast.
|
|
November 18, 2011, 06:06:26 PM |
|
The other disturbing thing I'm seeing is that after the fix has been released, he started sending 2 ltc to himself and maxing out on the 4kb of free transactions per blocks. So you see those blocks with 14 transactions: http://blockexplorer.sytes.net/chain/Litecoin?count=50013 of these transactions + the generate transaction will max out the amount of free transactions allowed in the block. I know it's the same guy because I followed his transaction back and saw that the same coins were used in both of these attacks. Just look at this transaction: http://blockexplorer.sytes.net/tx/456af81d3bfa3d92ca03e04066aaceca64babeec961dd1474026706eaa4459d9Some of those coins were used in the 2 ltc spam and the rest were used in the 0.00000001 ltc spams. This guy is really annoying since he seems to have a deep knowledge about how to take advantage of the transaction fee rules. From the wiki: If the blocksize is over 4kB, free transactions in the above rules are only allowed if the transaction's priority is above a certain level. So 14 of these transactions are costing him nothing b/c he's sending them to himself. This is not as bad as the first attack, but it will still grow the chain by about 2.3mb a day. (4kb * 576 blocks) This is not a big problem with bitcoins, because Bitcoin has a lot of honest transactions that use up the 4kb in the block, so these spammy low priorties transactions will take forever to get included in a block. So a similar attack on bitcoin is pointless. Since Litecoin is a new chain with not that many honest transactions, it's silly that we are forced to grow at 2.3mb/day by this Litecoin-hater. I will need to think of a way to combat this. The first thing that comes to mind is to just reduce the 4k exemption for free transactions per day to something much smaller. Maybe instead of allowing 13 of these transactions, we only allow a few to get included in a block. I can reduce the 4k exemption to 1k. This would reduce the chain size increase from 2.3mb/day to 575kb/day. The downside of course is that free transactions might take longer to get written into blocks. I would have to double check, but I don't think the client will let you create transactions without enough fees. So this only applies to people that modify their client to do 0 fees. Let me know what you guys think. So, it looks like the 0.00000001 transactions are not happening much anymore: http://blockexplorer.sytes.net/chain/Litecoin?count=100&hi=34342But we are still seeing the 13 2ltc transactions. I assume people are ok with the decision to change the exempt free coins block size to 1k. I will do that and release a new client soon.
|
|
|
|
boonies4u
|
|
November 18, 2011, 07:38:24 PM |
|
If the spammer decided to mine his own blocks, would the fact that he is adding power to the network, and would have less frequent spam transactions mean that he is causing less of a problem?
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1654
Merit: 1351
Creator of Litecoin. Cryptocurrency enthusiast.
|
|
November 18, 2011, 07:39:03 PM |
|
I've released Litecoin 0.5.0.6: - Has the fix to reduce transaction spamming by allowing only 500 bytes of exempted transactions as oppose to 3000 bytes (in Bitcoin) - Change the priority cutoff of free transaction to 1 litecoin day per 250 bytes. - Disabled encrypt wallet feature since it's currently broken. encrypted wallets might still have private keys in the clear so be careful if you've already encrypted your wallet. https://github.com/downloads/coblee/litecoin/litecoin-windows-client-0.5.0.6.zipI've tested this on testnet. You can see that we now only exempt 3 low priority transactions per block: http://blockexplorer.sytes.net/chain/LTCtestnet?hi=7447Everyone, please update to the latest code and this will reduce the transaction spam and slow down the chain growth.
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1654
Merit: 1351
Creator of Litecoin. Cryptocurrency enthusiast.
|
|
November 18, 2011, 07:44:24 PM |
|
If the spammer decided to mine his own blocks, would the fact that he is adding power to the network, and would have less frequent spam transactions mean that he is causing less of a problem?
Yes, it would be less of a problem. Let say he has 1% of the overall network hashrate (180 khash/s), he could only send those spammy transactions in 1/100 of the blocks found. This also assumes everyone has updated to the latest code.
|
|
|
|
bulanula
|
|
November 18, 2011, 09:50:19 PM |
|
Can we find out who is doing this at least ?
|
|
|
|
|