Bitcoin Forum
April 26, 2024, 11:54:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Idea to help prevent transaction spam  (Read 4827 times)
ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1039


View Profile
April 09, 2011, 10:19:38 AM
 #21

A transaction fee of around a US cent ($0.01) is never going to be a problem. Just compare it with all of the alternative payment systems!

I favor a transaction fee of BTC 0.01 on every transaction. Sure, it's more expensive than "free", but human psychology is a funny thing. Something purchased can be more highly valued than something being given away for free.
1714175667
Hero Member
*
Offline Offline

Posts: 1714175667

View Profile Personal Message (Offline)

Ignore
1714175667
Reply with quote  #2

1714175667
Report to moderator
1714175667
Hero Member
*
Offline Offline

Posts: 1714175667

View Profile Personal Message (Offline)

Ignore
1714175667
Reply with quote  #2

1714175667
Report to moderator
1714175667
Hero Member
*
Offline Offline

Posts: 1714175667

View Profile Personal Message (Offline)

Ignore
1714175667
Reply with quote  #2

1714175667
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714175667
Hero Member
*
Offline Offline

Posts: 1714175667

View Profile Personal Message (Offline)

Ignore
1714175667
Reply with quote  #2

1714175667
Report to moderator
jav
Sr. Member
****
Offline Offline

Activity: 249
Merit: 251


View Profile
April 09, 2011, 01:01:05 PM
 #22

A naive question: what problems does transaction spam cause? besides blocking other free transactions? Is there any other harm to the network that would be a big problem at the current time?

Because I don't consider it such a big problem. There was a lot of spamming going on a few weeks ago, which has seemed to calm down again. During that time you couldn't really send a free transaction, which was unfortunate, for sure. But if we now employ a complicated policy which basically boils down to not being able to send free transactions anymore, then we are kind of in the same situation, aren't we? Might as well keep it simple then and don't have such a policy.

I would rather be able to send out a free transaction and hope it gets through, then having to worry about some complicated fee-structure to figure out if that will get me banned or not. This is mostly speaking from the point of someone interested in running Bitcoin services.

Hive, a beautiful wallet with an app platform for Mac OS X, Android and Mobile Web. Translators wanted! iOS and OS X devs see BitcoinKit. Tweets @hivewallet. Donations appreciated at 1HLRg9C1GsfEVH555hgcjzDeas14jen2Cn.
jav
Sr. Member
****
Offline Offline

Activity: 249
Merit: 251


View Profile
April 09, 2011, 01:12:53 PM
 #23

Miners set minimal transaction to 0.01 ,  here we go the problem solved. Moreover, I bet this will happen rather sooner than later.

Indeed, problem solved, but usefulness of Bitcoin greatly diminished. I know that Bitcoin is ultimately not a micro-payment solution, but while it still is, it has great potential to catch market-share in that area. I would hope we are able to keep that up as long as possible.

Hive, a beautiful wallet with an app platform for Mac OS X, Android and Mobile Web. Translators wanted! iOS and OS X devs see BitcoinKit. Tweets @hivewallet. Donations appreciated at 1HLRg9C1GsfEVH555hgcjzDeas14jen2Cn.
jav
Sr. Member
****
Offline Offline

Activity: 249
Merit: 251


View Profile
April 09, 2011, 01:14:54 PM
 #24

An additional thought: I think it's fairly hard to judge for a sender how much fee is appropriated and needed for a timely procession. Maybe there should be a standard way for the _receiver_ to pay a transaction fee as well. So as a receiver I would monitor the network for transactions to one of my addresses and when I see such a transaction T, I send out a special "bounty transaction" that basically says: "if you include transaction T in your block, you can additionally collect my bounty".

This way senders could just send out transactions without a fee, and if they risk getting lost in a sea of free transactions, the receiver could "fish them out" for a small fee.

Hive, a beautiful wallet with an app platform for Mac OS X, Android and Mobile Web. Translators wanted! iOS and OS X devs see BitcoinKit. Tweets @hivewallet. Donations appreciated at 1HLRg9C1GsfEVH555hgcjzDeas14jen2Cn.
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
April 09, 2011, 04:22:06 PM
Last edit: April 11, 2011, 04:45:07 AM by gavinandresen
 #25

Transaction spam is not a high-priority issue, in my humble opinion, and I don't think we need to do anything more right now.

We were running into big free-transaction backlogs because of the rise in popularity of the mining pools, but with the big pools now using the new sendmany feature to pay (with a transaction fee) their users that issue has gone away.

The improved -limitfreerelay and sendmany will both be in the next release, which should further improve the situation.  And I think in the next few months lightweight download-headers-only clients will start to appear.

I would much rather see work on optimizing the network protocol so that hashed of already-spent transactions deep in the block chain aren't sent to (or stored on) new nodes joining the network.

How often do you get the chance to work on a potentially world-changing project?
Littleshop
Legendary
*
Offline Offline

Activity: 1386
Merit: 1003



View Profile WWW
April 11, 2011, 03:52:54 AM
 #26

So why would someone send transaction spam?  What do they get out of it?

nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 11, 2011, 05:05:06 AM
 #27

So why would someone send transaction spam?  What do they get out of it?

Have fun killing the bitcoin network? perhaps if the problem gets big enough, BTC value goes down? Someone who hates someone else that is in the btc community who would be affected by this?

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
April 11, 2011, 05:50:42 AM
 #28

So why would someone send transaction spam?  What do they get out of it?

Miners have an economic incentive to accelerate the implementation of fees ... not saying that anyone is doing that just that it is a possibility ... either way it is a mild form of attack, like an annoying rash you might get from a lap dance ...

Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1128


View Profile
April 11, 2011, 10:12:33 AM
 #29

100% agreed with Gavin. I've said this several times before but please let's kill the "spam" meme. Small transactions are not spam in any traditional usage of the word.

The only reason this problem exists is because of the artificial limits placed on the system to work around its scalability limitations. The solution is not to try and suppress usage of BitCoin, even if you suspect that usage is pointless or malicious. The solution is to make a few thousand transactions per minute not a problem for anyone to process.

Today that means finishing off the client mode work in the main client, or, having most users move to an alternative implementation that is client mode only (like BitCoinJ). It'd be better to do the first one but nobody seems to be working on it right now.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
April 11, 2011, 10:47:37 AM
 #30

Quote
Today that means finishing off the client mode work in the main client, or, having most users move to an alternative implementation that is client mode only (like BitCoinJ). It'd be better to do the first one but nobody seems to be working on it right now.

Why would 'most users' move to client mode only (like BitCoinJ)?
Most users are on PC sized devices at present I'd guess.

Darknight1360
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile WWW
April 11, 2011, 11:14:27 AM
 #31

Quote
Miners have an economic incentive to accelerate the implementation of fees ... not saying that anyone is doing that just that it is a possibility ... either way it is a mild form of attack, like an annoying rash you might get from a lap dance ...

hahaha +1 for that.  I lurk here on the forums but that comment made me actually register an account!
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1128


View Profile
April 11, 2011, 02:39:04 PM
 #32

Why would 'most users' move to client mode only (like BitCoinJ)?
Most users are on PC sized devices at present I'd guess.

Because the initial block chain download/indexing process takes ages. People don't want to wait 30 minutes+ to get started with BitCoin. That's a serious brake on adoption.

I'm not saying everyone should switch to a different implementation (no such implementation exists anyway). But rather that finishing one off is the solution to these 'spam' issues, as then the block size limit could be lifted significantly without hurting initial setup time so much people stop entering the community.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
April 11, 2011, 11:32:08 PM
 #33

Why would 'most users' move to client mode only (like BitCoinJ)?
Most users are on PC sized devices at present I'd guess.

Because the initial block chain download/indexing process takes ages. People don't want to wait 30 minutes+ to get started with BitCoin. That's a serious brake on adoption.

I'm not saying everyone should switch to a different implementation (no such implementation exists anyway). But rather that finishing one off is the solution to these 'spam' issues, as then the block size limit could be lifted significantly without hurting initial setup time so much people stop entering the community.

Oh ok.

But lifting the block size limit to accommodate bogus transactions seems wrong, although it may have merits for other reasons ... what if there was some kind of some proof-of-work required by the sending client? It would not need to be large but enough of a drag to discourage large numbers of sends from a node with an intent on attacking the network.

If the miners are expected to pick up the work and not get paid maybe a commitment from the clients that transactions are valid, in the way of some proof-of-work, from them is needed? Kind of like a proof-of-work handshake to the veracity of the send transaction. If it would make the network more robust also having the clients do some more work there are none actively mining anymore (are there?) so all that CPU power can add up to a lot if they do a little bit each time they send. As a bonus maybe the client work could be put towards anonymising the send in some way, coin selection?, blind-sign?, dunno still thinking about it, but some clients definitely already have an incentive to do this anyway.

MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
April 11, 2011, 11:59:40 PM
 #34

what if there was some kind of some proof-of-work required by the sending client? It would not need to be large but enough of a drag to discourage large numbers of sends from a node with an intent on attacking the network.

There already is, to some extent, as the signing and hashing process involved in sending a transaction does put some weight on the sending cpu.  More would be a burden for collective wallet systems like mybitcoin.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
April 12, 2011, 12:50:51 AM
 #35

what if there was some kind of some proof-of-work required by the sending client? It would not need to be large but enough of a drag to discourage large numbers of sends from a node with an intent on attacking the network.

There already is, to some extent, as the signing and hashing process involved in sending a transaction does put some weight on the sending cpu.  More would be a burden for collective wallet systems like mybitcoin.

So increasing the difficulty of this signing process is a possible solution to discouraging bogus transaction prevention.

Collective wallet systems shouldn't really be a consideration in this though since they are secondary user in the sense they are centralising pools of users, so they should be prepared to do the same amount of work as the equivalent number of distributed nodes. User pays.

Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1128


View Profile
April 12, 2011, 10:25:43 AM
 #36

How do you know the transactions are bogus?

Nodes are probably capable of verifying somewhere in the region of 50 to 80 transactions per second. No "spam" attack has reached anywhere near that level yet. The only reason it can cause backups and delays is the block size limitations.
theymos (OP)
Administrator
Legendary
*
Offline Offline

Activity: 5180
Merit: 12900


View Profile
April 12, 2011, 11:44:17 AM
 #37

100% agreed with Gavin. I've said this several times before but please let's kill the "spam" meme. Small transactions are not spam in any traditional usage of the word.

The only reason this problem exists is because of the artificial limits placed on the system to work around its scalability limitations. The solution is not to try and suppress usage of BitCoin, even if you suspect that usage is pointless or malicious. The solution is to make a few thousand transactions per minute not a problem for anyone to process.

Today that means finishing off the client mode work in the main client, or, having most users move to an alternative implementation that is client mode only (like BitCoinJ). It'd be better to do the first one but nobody seems to be working on it right now.

I'm not talking about small transactions, but free transactions of any size. Anything that is free will be completely used. If free transactions could fill blocks to 100 GB, I have no doubt that many blocks would be 100 GB. Even when Bitcoin has a client mode, the network will only be able to handle so many transactions.

This topic is about allowing minimal use of free transactions for as long as possible by preventing individuals from sending dozens of free transactions per second at no cost. "limitfreerelay" increases the cost, but I don't think the way it does this is effective in prioritizing users who send only a few free transactions over those who send many.

Another way of improving limitfreerelay would be to randomly drop free transactions at an automatically-adjusting probability. High-priority transactions could have lower drop probability.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Pages: « 1 [2]  All
  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!