Title: Hashcash for dealing with dust spam? Post by: TiagoTiago on June 30, 2011, 04:27:40 PM What if instead of enforcing a fixed transaction fee for transfers bellow a certain amount, the system would require transaction requests to be signed with a proof of work, with difficulty inversely proportional to the transaction size by a factor decided by miners; any transaction requests signed with less difficulty than miners expect gets ignored?
Ideally there would be a way for miners to report to the network the difficulty factor they demand for signing transactions, so the client can calculate a consensus as well as know the min and maximum that has a chance of being accepted. Title: Re: Hashcash for dealing with dust spam? Post by: DamienBlack on June 30, 2011, 05:09:01 PM Then in order to send money you would have to be a miner. The network is designed so that a majority or working don't have to be miners.
And besides, transactions already have to be signed with a proof of work, that is what miners do. Gather transactions, and pair them with a proof of work. If you have enough mining capability to make your own block, you can include any small transactions you want, and they don't need a transaction fee. So people can already do what your suggesting. But as you can imagine, the difficulty of mining a block is impossible for most and only going to get harder. Title: Re: Hashcash for dealing with dust spam? Post by: davout on June 30, 2011, 05:17:18 PM Then in order to send money you would have to be a miner. The network is designed so that a majority or working don't have to be miners. You don't understand the proposal.And besides, transactions already have to be signed with a proof of work, that is what miners do. They don't sign them, they timestamp them.I like this proposal a lot, it would require an extra field in transactions (a large nonce) and a little change to the isStandard check. Make the target inversely proportional to the amount and it's all good. The problem isn't so much with having them in a block but have them relayed by the network. Title: Re: Hashcash for dealing with dust spam? Post by: TiagoTiago on June 30, 2011, 05:30:01 PM The idea with having the difficulty be based not only on the smallness of the amount but also on a factor determined by miners is to be prepared for the moment in the future when common values get closer to 1 Satoshi, so even then transactions that aren't spammy in nature would still have little to no difficulty getting thru.
Title: Re: Hashcash for dealing with dust spam? Post by: davout on June 30, 2011, 05:35:21 PM The idea with having the difficulty be based not only on the smallness of the amount but also on a factor determined by miners is to be prepared for the moment in the future when common values get closer to 1 Satoshi, so even then transactions that aren't spammy in nature would still have little to no difficulty getting thru. You mean that the current diff should be taken into account to compute a target that would be necessary to reach to pass isStandard ?Title: Re: Hashcash for dealing with dust spam? Post by: julz on June 30, 2011, 05:38:27 PM Quote the system would require transaction requests to be signed with a proof of work It had better be a proof of *recent* work - or people will generate these in advance and horde and trade them.. and it'll be a parasitic currency ;) Title: Re: Hashcash for dealing with dust spam? Post by: TiagoTiago on June 30, 2011, 05:41:09 PM I was thinking more somthing along the lines of the difficulty being a setting miners decide on. Somthing like (1/Amount) * X, with X being set by miners themselves (i'm not sure on the exact formula, i just wrote it like that to try to make what i mean clear)
Title: Re: Hashcash for dealing with dust spam? Post by: davout on June 30, 2011, 05:47:56 PM I was thinking more somthing along the lines of the difficulty being a setting miners decide on. Somthing like (1/Amount) * X, with X being set by miners themselves (i'm not sure on the exact formula, i just wrote it like that to try to make what i mean clear) Miners already decide the fees they require. I'm not sure I see your point.It had better be a proof of *recent* work - or people will generate these in advance and horde and trade them.. and it'll be a parasitic currency ;) haha yea, hadn't thought about that, maybe add an extra timestamp field then.nonce and timestamp could be discarded before inclusion in a block, umm wait a second, actually no. Title: Re: Hashcash for dealing with dust spam? Post by: TiagoTiago on June 30, 2011, 05:51:58 PM Miners are the decentralized authority that enforce the rules for transactions, right? That's why i thought it would be them that would control the throttle (or should i call it the brake?) for small transactions
Title: Re: Hashcash for dealing with dust spam? Post by: julz on June 30, 2011, 06:01:46 PM It had better be a proof of *recent* work - or people will generate these in advance and horde and trade them.. and it'll be a parasitic currency ;) haha yea, hadn't thought about that, maybe add an extra timestamp field then.I guess just a hash of a recent block in the chain would be a good enough form of 'timestamp' for this. Title: Re: Hashcash for dealing with dust spam? Post by: davout on June 30, 2011, 06:35:48 PM It had better be a proof of *recent* work - or people will generate these in advance and horde and trade them.. and it'll be a parasitic currency ;) haha yea, hadn't thought about that, maybe add an extra timestamp field then.I guess just a hash of a recent block in the chain would be a good enough form of 'timestamp' for this. timestamps are smaller, and i can see other uses for a timestamp in a transaction, actually there already is a lock_time field, i have no idea what it's used for though Title: Re: Hashcash for dealing with dust spam? Post by: julz on June 30, 2011, 07:08:49 PM I guess just a hash of a recent block in the chain would be a good enough form of 'timestamp' for this. timestamps are smaller, and i can see other uses for a timestamp in a transaction, actually there already is a lock_time field, i have no idea what it's used for though But how is putting in a timestamp proof that the time it was done was actually anywhere near the time claimed? Hashing a recent block proves approximately when you did your work. What are you going to put in a timestamp that can't be forged? Title: Re: Hashcash for dealing with dust spam? Post by: davout on June 30, 2011, 07:46:37 PM is putting in a timestamp proof that the time it was done was actually anywhere near the time claimed? I feel a little stupid, you're right, the hash of one of the last X blocks could do the trick :)Hashing a recent block proves approximately when you did your work. What are you going to put in a timestamp that can't be forged? |