BeeCee1
Member

Offline
Activity: 115
Merit: 10
|
 |
November 20, 2011, 11:39:48 PM |
|
Though there is one solution I can think of. Which is to require a transaction fee on all coins sent that are not a day old. So if you try to send coins that are not a day old (i.e. don't have 576 confirmations), you need to pay 0.1 ltc fee. What do people think about that?
That would probably be ok, however, you can't choose which coins to use so if you had a bunch of older coins and one new one which was exactly the size you want, I think the client would choose that one. We'd need to combine it with a tweak to the coin selection algorithm. I posted a thread on liteco.in earlier with some suggestions for rate-limiting. I think if we changed that we could reduce the number of spam transactions that get through. (since we have more frequent blocks and less space reserved for free transactions we should have a lower rate limit). http://liteco.in/threads/rate-limiting-to-prevent-flood-attacks.43/
|
|
|
|
|
|
Every time a block is mined, a certain amount of BTC (called the
subsidy) is created out of thin air and given to the miner. The
subsidy halves every four years and will reach 0 in about 130 years.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
BeeCee1
Member

Offline
Activity: 115
Merit: 10
|
 |
November 20, 2011, 11:46:58 PM |
|
I thought there was only 500 bytes of space allocated for free transactions, that block has over 3k and there aren't even any paid transactions.
|
|
|
|
michaelmclees
|
 |
November 20, 2011, 11:52:31 PM |
|
If we can't handle a dozen transactions a block, we need to just shut down. The bloat is negligible. I say just ignore it.
|
|
|
|
rahl
|
 |
November 21, 2011, 12:06:30 AM |
|
If this guy keeps sending 13 of these spam transactions per block, he will bloat the chain about 1.7mb/day. This might be something we just have to accept. This is the same way that Bitcoin works. If you have free transactions, there will be ways for malicious person to take advantage of it.
Isn't booth Litecoin and Bitcoin pretty doomed anyway unless it is possible to implement a cut-off point for downloading the chain that at least keep the file under a few gig? So, does it really matter in the long run how big the chain gets? Problem is if you can block real transactions that should have been free by doing this...
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1640
Merit: 1246
Creator of Litecoin. Cryptocurrency enthusiast.
|
 |
November 21, 2011, 12:23:59 AM |
|
I thought there was only 500 bytes of space allocated for free transactions, that block has over 3k and there aren't even any paid transactions. There are only 500 bytes of space allocated for low-priority free transactions. By sending 577 coins in a transaction, that makes the transaction high priority. So that's when the rate-limiting code kicks in. You are right, we could use the rate limiting code to reduce the number of free transactions per block, but that will limit non-spam free transactions also. If we can't handle a dozen transactions a block, we need to just shut down. The bloat is negligible. I say just ignore it.
Isn't booth Litecoin and Bitcoin pretty doomed anyway unless it is possible to implement a cut-off point for downloading the chain that at least keep the file under a few gig? So, does it really matter in the long run how big the chain gets?
BeeCee1 makes a good point why this is not about the long run: https://bitcointalk.org/index.php?topic=51915.msg622386#msg622386Right now, exchanges, pools, and block explorers are all having trouble dealing with this transaction spam. True in the long run, we'd all have to deal with it, but Litecoin is still young. It seems silly that 1 spammer can cause so much pain for everyone else that wants Litecoin to suceed. So I'm just trying to do what I can to fix this problem. Problem is if you can block real transactions that should have been free by doing this...
Yes, I'd like to avoid that.
|
|
|
|
ericrw14
Newbie
Offline
Activity: 59
Merit: 0
|
 |
November 21, 2011, 12:49:33 AM |
|
i would like to say thank you for continuing to work through this spammer problem
|
|
|
|
rahl
|
 |
November 21, 2011, 12:54:03 AM |
|
Is this why I can't get LTC out of BTC-E atm btw?
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1640
Merit: 1246
Creator of Litecoin. Cryptocurrency enthusiast.
|
 |
November 21, 2011, 12:56:46 AM |
|
Is this why I can't get LTC out of BTC-E atm btw?
Probably. I know they had trouble dealing with the 0.00000001 ltc transactions.
|
|
|
|
kano
Legendary
Offline
Activity: 4116
Merit: 1718
Linux since 1997 RedHat 4
|
 |
November 21, 2011, 01:12:53 AM |
|
Is this why I can't get LTC out of BTC-E atm btw?
Probably. I know they had trouble dealing with the 0.00000001 ltc transactions. Probably caused by themselves. They already keep transactions below 0.0001 (i.e. they don't give you a txn if it's below that - they keep it) so most likely their modifications made the problem worse.
|
|
|
|
rahl
|
 |
November 21, 2011, 01:50:35 AM |
|
Probably caused by themselves. They already keep transactions below 0.0001 (i.e. they don't give you a txn if it's below that - they keep it) so most likely their modifications made the problem worse.
The withdrawal page just stalls...
|
|
|
|
|
localhost
|
 |
November 21, 2011, 06:23:18 AM |
|
Though there is one solution I can think of. Which is to require a transaction fee on all coins sent that are not a day old. So if you try to send coins that are not a day old (i.e. don't have 576 confirmations), you need to pay 0.1 ltc fee. What do people think about that?
That would probably be ok, however, you can't choose which coins to use so if you had a bunch of older coins and one new one which was exactly the size you want, I think the client would choose that one. We'd need to combine it with a tweak to the coin selection algorithm Yup, seems like a good idea. Also, I'm not sure I understand why there isn't a 0.1 LTC fee per receiving address there:
|
-
|
|
|
bulanula
|
 |
November 21, 2011, 09:31:03 AM |
|
Network is not scalable if it can't handle all these transactions. Cut the blockchain down somehow too ?
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1640
Merit: 1246
Creator of Litecoin. Cryptocurrency enthusiast.
|
 |
November 21, 2011, 09:46:28 AM |
|
So it's costing the spammer 1 LTC to send these huge transactions (~50kb). Doing the math (ignoring 1024 versus 1000)... 20 LTC for 1mb or 20,000 LTC for 1gb. 20k LTC is only $264 at today's exchange rate. So for someone who hates Litecoin, it only takes a measly $264 to bloat the chain by 1 gig. Not even Bitcoin has a chain that large. He's actually taking advantage of the relay transaction fees of 0.2 ltc to propagate his transactions and then taking of advantage of the miners who haven't upgraded to write his transactions into blocks. We could increase the relay transaction fee to the same .1 ltc (it's 0.02 ltc now), but that just means it's 5 times more expensive for him. Or we could increase both fees to 1 ltc and make it 50 times more expensive. Or we could do nothing. I've create a pool on the liteco.in forum. If you care about Litecoin, please vote: http://liteco.in/threads/what-should-we-do-about-transaction-spam.44/
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1640
Merit: 1246
Creator of Litecoin. Cryptocurrency enthusiast.
|
 |
November 21, 2011, 09:50:30 AM |
|
Though there is one solution I can think of. Which is to require a transaction fee on all coins sent that are not a day old. So if you try to send coins that are not a day old (i.e. don't have 576 confirmations), you need to pay 0.1 ltc fee. What do people think about that?
That would probably be ok, however, you can't choose which coins to use so if you had a bunch of older coins and one new one which was exactly the size you want, I think the client would choose that one. We'd need to combine it with a tweak to the coin selection algorithm Yup, seems like a good idea. Also, I'm not sure I understand why there isn't a 0.1 LTC fee per receiving address there: The formula is: nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee; It's not about how many receiving addresses there are, but it's the size of the transaction that matters. These huge transactions take up ~49kb. In order for a client to relay these transactions, the fees must be at least (1 + 49,000 / 1000) * 0.02 ltc = 1 ltc. So he's paying 1 ltc on these transaction. And clients will propagate these transactions because there are enough fees. And miners that have not upgraded will write these transactions into blocks. EDIT: If we increased transaction relay fees to the same 0.1 ltc as transaction fees, then he will need to spend 5 ltc as fees for these transactions. The cost to bloat the chain by 1gb will increase to $1,320... it's more but still fairly cheap.
|
|
|
|
kano
Legendary
Offline
Activity: 4116
Merit: 1718
Linux since 1997 RedHat 4
|
 |
November 21, 2011, 09:57:49 AM |
|
Network is not scalable if it can't handle all these transactions. ...
That was my point at the start. It would seem that Litecoin can't handle this number and size of transactions. Now the block rate is not the issue since if the block rate was lower then the blocks would just contain way more transactions (which would possibly be worse) So what was the actual problem anyway? I guess BTC-e caused their own problems by messing with the code and their transaction lower-limit. But did anyone else have issues? (other than the large txn's and thus the large block-chain and large wallet)
|
|
|
|
localhost
|
 |
November 21, 2011, 10:06:37 AM |
|
The formula is: nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee;
It's not about how many receiving addresses there are, but it's the size of the transaction that matters. These huge transactions take up ~49kb. In order for a client to relay these transactions, the fees must be at least (1 + 49,000 / 1000) * 0.02 ltc = 1 ltc. So he's paying 1 ltc on these transaction. And clients will propagate these transactions because there are enough fees. And miners that have not upgraded will write these transactions into blocks.
EDIT: If we increased transaction relay fees to the same 0.1 ltc as transaction fees, then he will need to spend 5 ltc as fees for these transactions. The cost to bloat the chain by 1gb will increase to $1,320... it's more but still fairly cheap.
I don't really understand the inner workings of those transactions (and I'm just discovering about relay fees), but I guess if there was a way to make the transaction fee work per receiving address (like, sending 0.000001 LTC 100 times to different addresses or even from the same address to the same address = paying 100*0.1=10 LTC in transaction fees) this would impair his ability to cheaply make large transactions while not being an issue for legitimate users. I guess BTC-e caused their own problems by messing with the code and their transaction lower-limit. But did anyone else have issues? (other than the large txn's and thus the large block-chain and large wallet) Nope, I'm not having issues, I just want to prevent the block chain from unnecessarily increasing its disk usage. But everything's working fine otherwise.
|
-
|
|
|
Retired
|
 |
November 21, 2011, 10:46:27 AM |
|
Maybe the Litecoin client can be modified to improve its parsing of the transaction history. Paging, or limiting the # of transactions shown to the last X, then having to click "next" to see the following transactions. That would help for the spammed users. Also, adding the ability to "ignore" transactions below X amount (set by user) so they are not shown in their transaction report (but they are accounted for in their balance) might be a good solution.
|
|
|
|
bulanula
|
 |
November 21, 2011, 10:53:37 AM |
|
More flaws in the protocol. Too bad we don't have compulsory TX fees like ScamCoin.
|
|
|
|
coblee (OP)
Donator
Legendary
Offline
Activity: 1640
Merit: 1246
Creator of Litecoin. Cryptocurrency enthusiast.
|
 |
November 21, 2011, 10:59:31 AM |
|
I don't really understand the inner workings of those transactions (and I'm just discovering about relay fees), but I guess if there was a way to make the transaction fee work per receiving address (like, sending 0.000001 LTC 100 times to different addresses or even from the same address to the same address = paying 100*0.1=10 LTC in transaction fees) this would impair his ability to cheaply make large transactions while not being an issue for legitimate users.
Here's my latest thought. I can force a transaction fee for each output greater than 2. Normal users will only send transactions to 1 address with a address for the change. Only advanced users will use the sendmany api to send coins to many address at once. I can force a fee to use the sendmany feature. So for every output greater than 2, you have to pay an additional 0.1 LTC fee. Without the ability to send to multiple addresses at once, I don't think the spammer can bloat the chain cheaply anymore.
|
|
|
|
|