Author

Topic: Hashcash for dealing with dust spam? (Read 1610 times)

legendary
Activity: 1372
Merit: 1008
1davout
June 30, 2011, 02:46:37 PM
#13
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?
I feel a little stupid, you're right, the hash of one of the last X blocks could do the trick Smiley
legendary
Activity: 1092
Merit: 1001
June 30, 2011, 02:08:49 PM
#12

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?
legendary
Activity: 1372
Merit: 1008
1davout
June 30, 2011, 01:35:48 PM
#11

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 Wink
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
legendary
Activity: 1092
Merit: 1001
June 30, 2011, 01:01:46 PM
#10

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 Wink
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.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
June 30, 2011, 12:51:58 PM
#9
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
legendary
Activity: 1372
Merit: 1008
1davout
June 30, 2011, 12:47:56 PM
#8
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 Wink
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.

hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
June 30, 2011, 12:41:09 PM
#7
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)
legendary
Activity: 1092
Merit: 1001
June 30, 2011, 12:38:27 PM
#6
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 Wink
legendary
Activity: 1372
Merit: 1008
1davout
June 30, 2011, 12:35:21 PM
#5
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 ?
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
June 30, 2011, 12:30:01 PM
#4
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.
legendary
Activity: 1372
Merit: 1008
1davout
June 30, 2011, 12:17:18 PM
#3
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.
jr. member
Activity: 56
Merit: 1
June 30, 2011, 12:09:01 PM
#2
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.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
June 30, 2011, 11:27:40 AM
#1
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.
Jump to: