Bitcoin Forum

Bitcoin => Mining => Topic started by: NeoCortX on December 06, 2012, 08:03:08 AM



Title: Where are unprocessed transactions stored?
Post by: NeoCortX on December 06, 2012, 08:03:08 AM
I would hope that some smart guy here can answer the following:
Where are the unprocessed transactions stored?
When miners process transactions, the transactions obviously goes into the blockchain. But what about the low priority, high risk of spamming transactions? Do they go into a repository in a chain or stack of "unprocessed" transactions, are they just sitting on the local computer since no miners wants to process the low priority transactions, or something completely different?

Thanks for any answers.


Title: Re: Where are unprocessed transactions stored?
Post by: casascius on December 06, 2012, 08:04:13 AM
They either go into the memory pool of nodes, or are rejected and forgotten.

This has nothing to do with priority: any acceptable transaction that hasn't been mined into a block goes into the memory pool.


Title: Re: Where are unprocessed transactions stored?
Post by: jgarzik on December 06, 2012, 08:27:41 AM
Where are the unprocessed transactions stored?

The memory pool.

However, because the state of each node's memory pool is random, your client is expected to retransmit transactions until they appear in a block.

This has nothing to do with priority: any acceptable transaction that hasn't been mined into a block goes into the memory pool.

Well, extremely low priority transactions -- those with insufficient fees or otherwise appear somehow "spammy" -- will not be relayed or put into the memory pool.



Title: Re: Where are unprocessed transactions stored?
Post by: Remember remember the 5th of November on December 06, 2012, 10:58:44 AM
Where are the unprocessed transactions stored?

The memory pool.

However, because the state of each node's memory pool is random, your client is expected to retransmit transactions until they appear in a block.

This has nothing to do with priority: any acceptable transaction that hasn't been mined into a block goes into the memory pool.

Well, extremely low priority transactions -- those with insufficient fees or otherwise appear somehow "spammy" -- will not be relayed or put into the memory pool.


A legit transactions with no fees is no longer accepted?


Title: Re: Where are unprocessed transactions stored?
Post by: Foxpup on December 06, 2012, 11:13:29 AM
Well, extremely low priority transactions -- those with insufficient fees or otherwise appear somehow "spammy" -- will not be relayed or put into the memory pool.


A legit transactions with no fees is no longer accepted?
Free transactions are still accepted if they are of high enough "priority" (value x coin age) that even a zero fee is considered "sufficient", though of course this is unlikely to be the case forever.


Title: Re: Where are unprocessed transactions stored?
Post by: nobbynobbynoob on December 06, 2012, 12:14:46 PM
Quote
A legit transactions with no fees is no longer accepted?
Free transactions are still accepted if they are of high enough "priority" (value x coin age) that even a zero fee is considered "sufficient", though of course this is unlikely to be the case forever.

I set my Bitcoin-Qt to append a minimum transaction fee of 25000 satoshi but I wonder if there'll come a point when this is too low? Or will transaction fees remain at current levels in BTC terms, regardless of fiat value?


Title: Re: Where are unprocessed transactions stored?
Post by: Kupsi on December 06, 2012, 12:18:20 PM
I set my Bitcoin-Qt to append a minimum transaction fee of 25000 satoshi but I wonder if there'll come a point when this is too low? Or will transaction fees remain at current levels in BTC terms, regardless of fiat value?

Nobody knows  ;)


Title: Re: Where are unprocessed transactions stored?
Post by: prezbo on December 06, 2012, 12:31:25 PM
Quote
A legit transactions with no fees is no longer accepted?
Free transactions are still accepted if they are of high enough "priority" (value x coin age) that even a zero fee is considered "sufficient", though of course this is unlikely to be the case forever.

Or will transaction fees remain at current levels in BTC terms, regardless of fiat value?
Certainly not. If the value of btc rises significantly, required fee will drop. That has been done once before (from 0.01 to 0.0005 btc).


Title: Re: Where are unprocessed transactions stored?
Post by: nobbynobbynoob on December 06, 2012, 12:52:33 PM
Or will transaction fees remain at current levels in BTC terms, regardless of fiat value?
Certainly not. If the value of btc rises significantly, required fee will drop. That has been done once before (from 0.01 to 0.0005 btc).

While this is true, the likelihood of the miners wanting more money in the form of transaction fees needs to be considered, with the block reward dropping like a stone. Of course, this mightn't become an issue until after numerous further reward drops.


Title: Re: Where are unprocessed transactions stored?
Post by: Foxpup on December 06, 2012, 01:35:27 PM
Quote
A legit transactions with no fees is no longer accepted?
Free transactions are still accepted if they are of high enough "priority" (value x coin age) that even a zero fee is considered "sufficient", though of course this is unlikely to be the case forever.

I set my Bitcoin-Qt to append a minimum transaction fee of 25000 satoshi but I wonder if there'll come a point when this is too low? Or will transaction fees remain at current levels in BTC terms, regardless of fiat value?
It all depends on transaction volume and bitcoin value. If bitcoins are worth more, or there is greater transaction volume, then the required fee will (probably) decrease, and vice versa. It is likely that free transactions will no longer be accepted once the block reward drops low enough, though even that's not certain (while most miners will certainly refuse free transactions, it's always possible a few might be charitable enough to accept them anyway).


Title: Re: Where are unprocessed transactions stored?
Post by: jgarzik on December 06, 2012, 05:18:18 PM
Well, extremely low priority transactions -- those with insufficient fees or otherwise appear somehow "spammy" -- will not be relayed or put into the memory pool.
A legit transactions with no fees is no longer accepted?

Key word "priority"

A transaction with no fees will be accepted...  unless it is too low priority.


Title: Re: Where are unprocessed transactions stored?
Post by: Audriux9 on December 06, 2012, 05:50:37 PM
What is a threshold for "too low priority"?

Is there a relative threshold or you mean one bitcoin day in previous post?


Title: Re: Where are unprocessed transactions stored?
Post by: jgarzik on December 06, 2012, 07:15:29 PM
See https://en.bitcoin.it/wiki/Transaction_fees (https://en.bitcoin.it/wiki/Transaction_fees)


Title: Re: Where are unprocessed transactions stored?
Post by: cabin on December 08, 2012, 09:40:42 PM
See https://en.bitcoin.it/wiki/Transaction_fees (https://en.bitcoin.it/wiki/Transaction_fees)


Even that link is a little out of date now, but is describes the defaults well. Miners can each individually set how many free transactions they allow and what the minimum fee is before it is considered the same as free. For example these settings will still include some no-fee transactions in each block. Some miners might be generous and include even more.

#Maximum size, in bytes, of blocks you create:
blockmaxsize=50000

#How many bytes of the block should be dedicated to high-priority transactions,                                                                                                 
#included regardless of the fees they pay                                                                                                                                 
blockprioritysize=2000

#Minimum block size you want to create; block will be filled with free transactions                                                                                       
#until there are no more or the block reaches this size:                                                                                                                 
blockminsize=0

#Fee-per-kilobyte amount (in BTC) considered the same as "free"                                                                                                                   
#Be careful setting this: if you set it to zero then                                                                                                                     
#a transaction spammer can cheaply fill blocks using                                                                                                                     
#1-satoshi-fee transactions. It should be set above the real                                                                                                             
#cost to you of processing a transaction.                                                                                                                                 
mintxfee=0.0005