Bitcoin Forum
May 22, 2024, 12:54:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Hashcash for dealing with dust spam?  (Read 1596 times)
TiagoTiago (OP)
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
June 30, 2011, 04:27:40 PM
 #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.

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
DamienBlack
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
June 30, 2011, 05: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.
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
June 30, 2011, 05: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.

TiagoTiago (OP)
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
June 30, 2011, 05: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.

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
June 30, 2011, 05: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 ?

julz
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
June 30, 2011, 05: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

@electricwings   BM-GtyD5exuDJ2kvEbr41XchkC8x9hPxdFd
TiagoTiago (OP)
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
June 30, 2011, 05: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)

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
June 30, 2011, 05: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.


TiagoTiago (OP)
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Firstbits.com/1fg4i :)


View Profile
June 30, 2011, 05: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

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC/BCH for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX Smiley

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Do you like mmmBananas?!
julz
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
June 30, 2011, 06: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.

@electricwings   BM-GtyD5exuDJ2kvEbr41XchkC8x9hPxdFd
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
June 30, 2011, 06: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

julz
Legendary
*
Offline Offline

Activity: 1092
Merit: 1001



View Profile
June 30, 2011, 07: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?

@electricwings   BM-GtyD5exuDJ2kvEbr41XchkC8x9hPxdFd
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
June 30, 2011, 07: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

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!