Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: Ascholten on December 04, 2012, 10:45:06 PM



Title: Exceeds size limit?
Post by: Ascholten on December 04, 2012, 10:45:06 PM
Im trying to send a transaction to ONE address of about 2 btc.  I am being told that my transaction exceeds the size limit and do I want to pay extra to send it?
What is causing this?  I though you were over 1 btc roughly that there were no fees?

Thank you for your help.
Aaron


Title: Re: Exceeds size limit?
Post by: FreeMoney on December 04, 2012, 10:53:09 PM
Im trying to send a transaction to ONE address of about 2 btc.  I am being told that my transaction exceeds the size limit and do I want to pay extra to send it?
What is causing this?  I though you were over 1 btc roughly that there were no fees?

Thank you for your help.
Aaron

It's a little bit complicated.

Short story:

Your wallet is made up of a lot of small inputs and constructing the transaction takes a lot of them and it takes up a lot more space than a simple transaction so you need to pay like a penny. And you don't really -need- to you can always find your own block and put it in that or find someone else will, but it's not really worth doing that since we're talking about a penny.



Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 04, 2012, 10:58:50 PM
The "size" it is referring to is the physical size (in bytes) of the transaction.  The size is dependent more on the # of inputs (and outputs) not the number of addresses.  Your 1 BTC is likely made up of dozens (or maybe hundreds) of tiny unspent outputs making the size of the tx relatively large.  So a tx sending 100,000 BTC to 4 addresses using 1 input is "smaller" than one sending 1 BTC to 1 address using 50 unspent input.

Honestly as FreeMoney said we are talking about a fraction of a penny here and it helps to fund a secure network.


Title: Re: Exceeds size limit?
Post by: Ascholten on December 04, 2012, 11:57:41 PM
I was just curious on it, and its 7 cents and ill pay it.

I was just under the impression that once you hit a btc or so it's free.

so once I spend all those tiny ones, I won't get hit again on it because they are now condnsed into just the 'one' big transaction right?

Aaron


Title: Re: Exceeds size limit?
Post by: monkee on December 05, 2012, 12:28:09 AM
interesting, i'd been wondering that myself


Title: Re: Exceeds size limit?
Post by: FreeMoney on December 05, 2012, 02:09:24 AM
I was just curious on it, and its 7 cents and ill pay it.

I was just under the impression that once you hit a btc or so it's free.

so once I spend all those tiny ones, I won't get hit again on it because they are now condnsed into just the 'one' big transaction right?

Aaron

Wow, you must have received a lot of small transactions? Are you sure it isn't .0005 which would be ~$.007?

That's right if your wallet is cleared of those they won't cause it to ask for a fee. There are other ways to need a fee though, like sending inputs that you just received. The bigger they are the less long you need to wait to avoid the fee, one "bitcoin day" is the general rule, so 12 hours if it is 2BTC, 1 hour if it is 24BTC. That fee will certainly only be .0005BTC though.


Title: Re: Exceeds size limit?
Post by: Remember remember the 5th of November on December 05, 2012, 02:25:37 AM
Given the limit of 21 million bitcoins and the world population is over 7 billion, I'd like you all to think if 0.005 is a penny when your monthly salary could one day be 0.0000001 bitcoins or less.


Title: Re: Exceeds size limit?
Post by: BkkCoins on December 05, 2012, 02:37:35 AM
Given the limit of 21 million bitcoins and the world population is over 7 billion, I'd like you all to think if 0.005 is a penny when your monthly salary could one day be 0.0000001 bitcoins or less.
The devs have stated that the fee will be adjusted as needed when price goes up. I believe you can also alter the code on your own client to bypass fee conditions when sending but I'm not sure where the line is drawn for validation by other nodes or miners.

(The purpose of the fee for OP is to prevent a spam attack on the blockchain by a malicious user sending huge qty of trivially small transactions. )


Title: Re: Exceeds size limit?
Post by: FreeMoney on December 05, 2012, 03:06:56 AM
Given the limit of 21 million bitcoins and the world population is over 7 billion, I'd like you all to think if 0.005 is a penny when your monthly salary could one day be 0.0000001 bitcoins or less.
The devs have stated that the fee will be adjusted as needed when price goes up. I believe you can also alter the code on your own client to bypass fee conditions when sending but I'm not sure where the line is drawn for validation by other nodes or miners.

(The purpose of the fee for OP is to prevent a spam attack on the blockchain by a malicious user sending huge qty of trivially small transactions. )

To clarify for anyone who doesn't know, the devs can set the behavior of the client they publish and they've done fine so far, it people ever want nodes with different forwarding rules they don't need any permission, just their own code. I believe a lot of miners already run custom code, but I don't think there are many with significantly different rules.


Title: Re: Exceeds size limit?
Post by: gmaxwell on December 05, 2012, 03:29:45 AM
Given the limit of 21 million bitcoins and the world population is over 7 billion, I'd like you all to think if 0.005 is a penny when your monthly salary could one day be 0.0000001 bitcoins or less.

This isn't one of the rules that can't be changed— like the block validation rules— and it has been changed before— the base fee was lowered from 0.01 to 0.0005 about a year ago.

What happens is that your peers (well, practically all nodes on the network) will just drop transactions that don't meet the rules and because your client knows this it will decline to generate any transactions that do.  To change the rule an new version that has a lower limit is released and then after that version is widely deployed (so that it's likely that everyone has at least one or two peers running it) the next new version comes out that imposes the lower limit locally too.



Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 05, 2012, 03:35:49 AM
Given the limit of 21 million bitcoins and the world population is over 7 billion, I'd like you all to think if 0.005 is a penny when your monthly salary could one day be 0.0000001 bitcoins or less.

This isn't one of the rules that can't be changed— like the block validation rules— and it has been changed before— the base fee was lowered from 0.01 to 0.0005 about a year ago.

What happens is that your peers (well, practically all nodes on the network) will just drop transactions that don't meet the rules and because your client knows this it will decline to generate any transactions that do.  To change the rule an new version that has a lower limit is released and then after that version is widely deployed (so that it's likely that everyone has at least one or two peers running it) the next new version comes out that imposes the lower limit locally too.

Also I would imagine at some point there won't be a need for any mandatory min fee.  3 or 4 subsidy reductions and the "fee marketplace" will ensure that to have any realistic chance of a confirmation any time soon you will need to pay a fee.  The "min mandatory fee" will be a relic of the past.  At some point in the future nodes may save CPU cycles and stop even performing the check.

The need for a min fee is a side effect of the large block subsidy.   Without a true free market on transactions (due to the distorting effect of the subsidy) there is a need to protect the network from spam (as most miners in the past included every single tx in a block).


Title: Re: Exceeds size limit?
Post by: deepceleron on December 05, 2012, 04:09:04 AM
I think the opposite of above. We don't want to worry end-users about guessing what fee might work for them. Users will continued to be notified when their transaction will require the minimum fee, and in addition I see in the future Bitcoin prompting the user for a "recommended" fee if they need efficient processing, calculated when Bitcoin sees that that many blocks worth of pending fee-paying transactions are also waiting for blockchain inclusion. By such an "automatic bidding" process for quick inclusion (while still keeping blocksize small and inclusion scarce), transaction fee subsidies for miners may more rapidly replace the mining reward.

The "size limit" message still confuses users about the purpose. I recommended better language long ago:

The Bitcoin client is usually giving you an accurate message, but one that doesn't make sense unless you understand how Bitcoin works; that the fees are assessed based on how many kilobytes in size the transfer message is. It also will give this same message when it is not the size, but the newness of the coins or the smallness/spammyness of the payment or the sender's payment (receiving) history that requires a fee, so in that aspect it could be clearer to just remove the "size limit" part of the fee message.

A better catch-all English translation:
"Due to the use of recently received funds, the size of this transaction in KB, or the transaction amount, a fee of 0.0xxx is required to ensure your Bitcoin transfer is reliably processed. Proceed?"

Further reading of when Bitcoin requires the 0.0005 per-KB minimum fee may be found on the transaction fee (https://en.bitcoin.it/wiki/Transaction_fees) wiki page under priority.


Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 05, 2012, 04:11:46 AM
I think the opposite of above. We don't want to worry end-users about guessing what fee might work for them. Users will continued to be notified when their transaction will require the minimum fee, and in addition I see in the future Bitcoin prompting the user for a "recommended" fee if they need efficient processing, calculated when Bitcoin sees that that many blocks worth of pending fee-paying transactions are also waiting for blockchain inclusion. By such an "automatic bidding" process for quick inclusion (while still keeping blocksize small and inclusion scarce), transaction fee subsidies for miners may more rapidly replace the mining reward.

The "size limit" message still confuses users about the purpose. I recommended better language long ago:

The Bitcoin client is usually giving you an accurate message, but one that doesn't make sense unless you understand how Bitcoin works; that the fees are assessed based on how many kilobytes in size the transfer message is. It also will give this same message when it is not the size, but the newness of the coins or the smallness/spammyness of the payment or the sender's payment (receiving) history that requires a fee, so in that aspect it could be clearer to just remove the "size limit" part of the fee message.

A better catch-all English translation:
"Due to the use of recently received funds, the size of this transaction in KB, or the transaction amount, a fee of 0.0xxx is required to ensure your Bitcoin transfer is reliably processed. Proceed?"


I think you misunderstood what I was writing.  In some future scenario where 99.9% of transaction pay a 0.001 BTC fee or more to get into the next block and the mandatory fee is 0.00005 BTC the mandatory fee is no longer serving a purpose.  It can simply be removed completely.  The purpose of the mandatory fee is to prevent a spam attack and if there is enough real competition for block space such that actual fees are higher than the mandatory fee it is redundant.


Title: Re: Exceeds size limit?
Post by: deepceleron on December 05, 2012, 04:26:56 AM
I think you misunderstood what I was writing.  In some future scenario where 99.9% of transaction pay a 0.001 BTC fee or more to get into the next block and the mandatory fee is 0.00005 BTC the mandatory fee is no longer serving a purpose.  It can simply be removed completely.  The purpose of the mandatory fee is to prevent a spam attack and if there is enough real competition for block space such that actual fees are higher than the mandatory fee it is redundant.
The minimum fees will still serve a purpose, otherwise spam attacks and zero-fee opportunists will ensure blocks are always full even during lulls or non-busy times.


Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 05, 2012, 04:31:22 AM
I think you misunderstood what I was writing.  In some future scenario where 99.9% of transaction pay a 0.001 BTC fee or more to get into the next block and the mandatory fee is 0.00005 BTC the mandatory fee is no longer serving a purpose.  It can simply be removed completely.  The purpose of the mandatory fee is to prevent a spam attack and if there is enough real competition for block space such that actual fees are higher than the mandatory fee it is redundant.
The minimum fees will still serve a purpose, otherwise spam attacks and zero-fee opportunists will ensure blocks are always full even during lulls or non-busy times.

Not if a miner doens't include them.  As miners get more and more sophisticated I doubt you will see many including giants numbers of spam-like free tx especially when the block subsidy is negligible and they are doing extra work to hurt the network for no profit.  Still it doesn't really matter if it never gets dropped (remember it is just client level rule, the protocol doesn't care).  Fast forward 10 years I predict most people won't even know/care about the so called min tx fees as most tx will need to pay a fee to have timely service and clients will be in good communication with pools of miners to educate users on what fee is necessary (mandatory or not) in order to ensure timely inclusion.


Title: Re: Exceeds size limit?
Post by: justusranvier on December 05, 2012, 04:37:48 AM
Fast forward 10 years
10 years from now we have no idea who is going to be mining and for what motivation.

It's possible that all mining will be done by businesses that depend on bitcoin instead of by pools of individuals. They might not even charge fees because operating the mining rigs is just rolled into the cost of doing business.


Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 05, 2012, 04:43:47 AM
So a business which is willing to mine for free because their entire business depends on the success of bitcoin will CHOOSE to include massive quantities of spam which would damage the very network their are mining for free to protect? ;)

If so there is nothing that can stop that.  You do know that no node (even this free business mining node) is required to enforce the mandatory tx fee rules.  They are simply rules as the client level.  A block full of nothing but 0 fee, low priority transactions is still valid and will be seen as valid by the rest of the network (even those who implement mandatory tx fee rules).


Title: Re: Exceeds size limit?
Post by: justusranvier on December 05, 2012, 04:51:00 AM
So a business which is willing to mine for free because their entire business depends on the success of bitcoin will CHOOSE to include massive quantities of spam which would damage the very network their are mining for free to protect? ;)
We don't know.

In 10 years Walmart might be operating their business via Bitcoin, and the transaction volume they will deal with might make any spam a regular person could generate look like a rounding error. A lot can change in 10 years.


Title: Re: Exceeds size limit?
Post by: cunicula on December 05, 2012, 05:05:17 AM
The need for a min fee is a side effect of the large block subsidy.   Without a true free market on transactions (due to the distorting effect of the subsidy) there is a need to protect the network from spam (as most miners in the past included every single tx in a block).
There is no market determination going on and there is no prospect of future market determination either (except through monopoly). It will always be central planning.
The best you could do is create a voting mechanism to guide central planning.


Title: Re: Exceeds size limit?
Post by: cunicula on December 05, 2012, 05:07:36 AM
So a business which is willing to mine for free because their entire business depends on the success of bitcoin will CHOOSE to include massive quantities of spam which would damage the very network their are mining for free to protect? ;)

It depends on how many businesses there are. A monopoly or perhaps an oligopoly arrangement could be stable. Other arrangements lead to massive spam and system destruction. Thus the use of central planning.


Title: Re: Exceeds size limit?
Post by: DeathAndTaxes on December 05, 2012, 05:10:20 AM
So a business which is willing to mine for free because their entire business depends on the success of bitcoin will CHOOSE to include massive quantities of spam which would damage the very network their are mining for free to protect? ;)
We don't know.

In 10 years Walmart might be operating their business via Bitcoin, and the transaction volume they will deal with might make any spam a regular person could generate look like a rounding error. A lot can change in 10 years.

In which case the spam rules are meaningless as anyone can send tx directly to Walmart who will include them in a block.  Note that can happen right now today.  The mandatory fee rules are implemented ONLY at the client level. 


Title: Re: Exceeds size limit?
Post by: DannyHamilton on December 05, 2012, 05:14:37 AM
. . . In some future scenario where 99.9% of transaction pay a 0.001 BTC fee or more to get into the next block and the mandatory fee is 0.00005 BTC the mandatory fee is no longer serving a purpose.  It can simply be removed completely.  The purpose of the mandatory fee is to prevent a spam attack and if there is enough real competition for block space such that actual fees are higher than the mandatory fee it is redundant.
The minimum fees will still serve a purpose, otherwise spam attacks and zero-fee opportunists will ensure blocks are always full even during lulls or non-busy times.
Not if a miner doens't include them. . .
So, if the spam fee is removed from the clients such that they will forward fee-free spammy transactions, and there are consistently enough fee transactions to fill all blocks, then what happens to the transactions created by a spammer who writes a program to pass 0.00000001 BTC back and forth as fast as possible between two addresses?  Don't those transactions still have to be forwarded around the entire network and stored in some sort of memory pool indefinitely since they'll never make it into a block?


Title: Re: Exceeds size limit?
Post by: Foxpup on December 05, 2012, 06:56:46 AM
So, if the spam fee is removed from the clients such that they will forward fee-free spammy transactions, and there are consistently enough fee transactions to fill all blocks, then what happens to the transactions created by a spammer who writes a program to pass 0.00000001 BTC back and forth as fast as possible between two addresses?  Don't those transactions still have to be forwarded around the entire network and stored in some sort of memory pool indefinitely since they'll never make it into a block?
These transactions will only be stored in the memory pools of clients which have been modified to accept such transactions. Unmodified clients will neither store these transactions nor forward them unless they end up in a block. Miners using unmodified clients will not mine these transactions either, even if there is free space for them in a block. Removing the anti-spam fee from you client doesn't allow you to spam the network, unless the network (including miners) agrees to accept your spam. It does, however, allow other people with similarly modified clients to spam you, making it a pretty dumb idea.


Title: Re: Exceeds size limit?
Post by: DannyHamilton on December 05, 2012, 07:09:06 AM
So, if the spam fee is removed from the clients such that they will forward fee-free spammy transactions, and there are consistently enough fee transactions to fill all blocks, then what happens to the transactions created by a spammer who writes a program to pass 0.00000001 BTC back and forth as fast as possible between two addresses?  Don't those transactions still have to be forwarded around the entire network and stored in some sort of memory pool indefinitely since they'll never make it into a block?
These transactions will only be stored in the memory pools of clients which have been modified to accept such transactions. Unmodified clients will neither store these transactions nor forward them unless they end up in a block. Miners using unmodified clients will not mine these transactions either, even if there is free space for them in a block. Removing the anti-spam fee from you client doesn't allow you to spam the network, unless the network (including miners) agrees to accept your spam. It does, however, allow other people with similarly modified clients to spam you, making it a pretty dumb idea.

That's what I thought.  So the spam filtering fee in the client isn't there to prevent spamming the blockchain with transactions in the blocks, it's there to prevent spamming of the memory pool and transaction forwarding.  I was confused because D&T seemed to be indicating that the spam filtering fee would eventually be removed from ALL clients when there were enough fee transactions to fill most blocks.  He seems to be indicating that as long as miners don't include free transactions in the blocks, there isn't a need for the client programs to require fees for forwarding spammy transactions.

. . . I would imagine at some point there won't be a need for any mandatory min fee . . . The "min mandatory fee" will be a relic of the past.  At some point in the future nodes may save CPU cycles and stop even performing the check.

The need for a min fee is a side effect of the large block subsidy.   Without a true free market on transactions (due to the distorting effect of the subsidy) there is a need to protect the network from spam (as most miners in the past included every single tx in a block).

. . . In some future scenario where 99.9% of transaction pay a 0.001 BTC fee or more to get into the next block and the mandatory fee is 0.00005 BTC the mandatory fee is no longer serving a purpose.  It can simply be removed completely.  The purpose of the mandatory fee is to prevent a spam attack and if there is enough real competition for block space such that actual fees are higher than the mandatory fee it is redundant.

The minimum fees will still serve a purpose, otherwise spam attacks and zero-fee opportunists will ensure blocks are always full even during lulls or non-busy times.
Not if a miner doens't include them.  As miners get more and more sophisticated I doubt you will see many including giants numbers of spam-like free tx especially when the block subsidy is negligible and they are doing extra work to hurt the network for no profit . . .


Title: Re: Exceeds size limit?
Post by: Foxpup on December 05, 2012, 07:31:53 AM
That's what I thought.  So the spam filtering fee in the client isn't there to prevent spamming the blockchain with transactions in the blocks, it's there to prevent spamming of the memory pool and transaction forwarding.  I was confused because D&T seemed to be indicating that the spam filtering fee would eventually be removed from ALL clients when there were enough fee transactions to fill most blocks.  He seems to be indicating that as long as miners don't include free transactions in the blocks, there isn't a need for the client programs to require fees for forwarding spammy transactions.
I read it as the anti-spam fee not being required because all transactions will require fees, regardless of whether the transaction is spammy or not. The only reason the anti-spam fee exists at all is because miners (currently) allow free transactions, but they naturally don't want people abusing the privilege.


Title: Re: Exceeds size limit?
Post by: gmaxwell on December 05, 2012, 01:05:54 PM
I read it as the anti-spam fee not being required because all transactions will require fees, regardless of whether the transaction is spammy or not. The only reason the anti-spam fee exists at all is because miners (currently) allow free transactions, but they naturally don't want people abusing the privilege.
Not just miners.  It's needed to protect the relaying network from floods of spam transactions which would never get mined. But sure— as the fee marketplace becomes a real thing I can see the anti-spam fees for relaying becoming something that no one practically has to worry about because if it exists at all (it could be potentially replaced by priority queues for that purpose) it would end up smaller than the amount required to realistic get a transaction into a block.
 


Title: Re: Exceeds size limit?
Post by: AfricanHunter on December 06, 2012, 07:13:39 AM
I got the same alert 30 min ago. Sent a 7.5 btc payment, no fee; Then sent a 2.2 and got the popup saying .0005

Only bummer is there is no way to process a free tx (obviously slower), you either accept or cancel.

As I understand, if you let the coins sit for a while the fee may go away. Can anyone confirm?


Title: Re: Exceeds size limit?
Post by: prezbo on December 06, 2012, 10:12:23 AM
I got the same alert 30 min ago. Sent a 7.5 btc payment, no fee; Then sent a 2.2 and got the popup saying .0005

Only bummer is there is no way to process a free tx (obviously slower), you either accept or cancel.

As I understand, if you let the coins sit for a while the fee may go away. Can anyone confirm?

If the outputs are all larger than 0.01 btc, then yes, after coins are old enough the transaction priority will rise and it will be accepted without a fee.


Title: Re: Exceeds size limit?
Post by: Ascholten on December 08, 2012, 07:51:08 PM
Ok here's a bit of a test.

I have one wallet that has been receiving a lot of 'micro payments'.   From these get paid to click sites.

currently it has  93mBTC in it collected over 402 transactions.   that would be 0.0930 BTC  collected over a period of about 4 months.

If I try to send 0.090 BTC somewhere I am asked to pay a fee of 0.0255 BTC to do so.  NO I did NOT mis read the number.

That is a transaction fee of over 28 percent of the amount!!  I don't mind supporting the system but this is a  bit insane of a transaction fee. 

If this is the way the system really is then perhaps the 'community' should dissuade all these micro / sub micro click here sites from their attempts to grab their tiny part of the market because in the long run, the only ones getting any real money will be the miners at these rates.  If not then are you saying then if I wait long enough, this fee will eventually waive itself down to zero?   How long is long, weeks, months???
or am I just stuck and paying a BIG fee?

Thank you for your inputs.

Aaron


Title: Re: Exceeds size limit?
Post by: prezbo on December 08, 2012, 10:46:31 PM
Ok here's a bit of a test.

I have one wallet that has been receiving a lot of 'micro payments'.   From these get paid to click sites.

currently it has  93mBTC in it collected over 402 transactions.   that would be 0.0930 BTC  collected over a period of about 4 months.

If I try to send 0.090 BTC somewhere I am asked to pay a fee of 0.0255 BTC to do so.  NO I did NOT mis read the number.

That is a transaction fee of over 28 percent of the amount!!  I don't mind supporting the system but this is a  bit insane of a transaction fee.  

If this is the way the system really is then perhaps the 'community' should dissuade all these micro / sub micro click here sites from their attempts to grab their tiny part of the market because in the long run, the only ones getting any real money will be the miners at these rates.  If not then are you saying then if I wait long enough, this fee will eventually waive itself down to zero?   How long is long, weeks, months???
or am I just stuck and paying a BIG fee?

Thank you for your inputs.

Aaron

The priority formula,
Code:
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
takes into account the age of coins and the size of the transaction. Normally 1 btc of inputs should be 1 day old or older to avoid the fee. A transaction containing 400 inputs will be huge, thus coins will have to be really old if you don't want to pay any fee.

That said, I'm sure if you sent the transaction without a fee it would still get included in a block.


Title: Re: Exceeds size limit?
Post by: 2112 on December 08, 2012, 11:10:58 PM
or am I just stuck and paying a BIG fee?
Not if you have a bitcoin-rich uncle. Just meet with him and ask him to use his 1000 BTC wad of cash to mop up the dust in your wallet.

I'm not kidding. You can avoid all fees if you can convince someone to include your small transaction outputs in a single large transaction. It is the total sum transferred that matters.


Title: Re: Exceeds size limit?
Post by: justusranvier on December 08, 2012, 11:20:05 PM
Not if you have a bitcoin-rich uncle. Just meet with him and ask him to use his 1000 BTC wad of cash to mop up the dust in your wallet.

I'm not kidding. You can avoid all fees if you can convince someone to include your small transaction outputs in a single large transaction. It is the total sum transferred that matters.
Clients could be programmed to do this automatically.


Title: Re: Exceeds size limit?
Post by: prezbo on December 08, 2012, 11:22:17 PM
or am I just stuck and paying a BIG fee?
Not if you have a bitcoin-rich uncle. Just meet with him and ask him to use his 1000 BTC wad of cash to mop up the dust in your wallet.

I'm not kidding. You can avoid all fees if you can convince someone to include your small transaction outputs in a single large transaction. It is the total sum transferred that matters.


If my calculation is correct, he would need ~3200 btc*confirmation worth of inputs, so about 23 of 1 day old coins would probably do it. If I had any old coins I would gladly do this for you, but alas I don't.


Title: Re: Exceeds size limit?
Post by: BkkCoins on December 08, 2012, 11:42:05 PM
That is a transaction fee of over 28 percent of the amount!!  I don't mind supporting the system but this is a  bit insane of a transaction fee. 
In comparison a service like Paypal would charge you 0.30 +3 percent for each pmt you received. Multiply that by 402 times. The sum total of your 402 pmts is $1.21 or so. It doesn't seem like an insane fee at all but rather you're asking it to do a rather insane transaction that any other processing system would make impossible.

If this is the way the system really is then perhaps the 'community' should dissuade all these micro / sub micro click here sites from their attempts to grab their tiny part of the market
Yes, it's silly when they could collect up the clicks and pay out once a day with a single transaction. But it's not up to the network to decide this. It should be the clickers who choose to use a better service and competition to provide a method that doesn't throw away 28% on fees.


Title: Re: Exceeds size limit?
Post by: deepceleron on December 09, 2012, 04:28:21 AM
or am I just stuck and paying a BIG fee?
Not if you have a bitcoin-rich uncle. Just meet with him and ask him to use his 1000 BTC wad of cash to mop up the dust in your wallet.

I'm not kidding. You can avoid all fees if you can convince someone to include your small transaction outputs in a single large transaction. It is the total sum transferred that matters.


If my calculation is correct, he would need ~3200 btc*day worth of inputs, so about 100 of 1 month old coins would probably do it. If I had any old coins I would gladly do this for you, but alas I don't.

Let's show our work:

Typical transaction size examples in KB (from blockchain):

A) 1 input/1 output (sending exact balance of one input) = 191 bytes
B) 1 input/2 output (sending money from single input with some change) = 258 bytes
C) 2 input/1 output (consolidating two address balances to one output) = 404 bytes
D) 12 input/2 output (sending from many inputs with change) = 1851 bytes
E) 34 input/1 output (consolidating 34 inputs to one output) = 3400 bytes
F) 128 input/2 output (sending with a dice-spammed wallet) = 22935 bytes


Calculated fee for last transaction in list = 23k * .0005 = 0.0115 regardless of actual BTC amount sent (actual transaction (http://blockexplorer.com/tx/ecd6e918975877520a6586113209f476e32e4584123a752d2ffe3c8daf9a080a) was 0.013 BTC fee).

Code:
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
minimum priority to avoid the enforced limit = above 57,600,000

So if transaction example B was a 20 BTC input with 144 confirmations (1 day old):
priority = ( 2,000,000,000 * 144 ) / 258 = priority 1,116,279,060 = free OK

If transaction example F input was 20 BTC, one day old, plus 127 satoshispams, one day old:
priority = { ( 2,000,000,000 * 144 ) + ( 1 * 144 ) + ( 1 * 144 ) + ( 1 * 144 ) ....  } / 22935
 priority = { (288000000000) + (18288) } / 22935
 priority = 12,557,234
< 57,600,000

That transaction priority would be about one-fifth the size needed for free priority, either we can wait five days instead of one day, or use 100 BTC instead of 20 when adding a "helper balance" to the wallet.

Note above that the age of the small-BTC spam inputs have near zero effect on the priority, only their additional size.
Double the spam inputs, you only double the size, and double the age or balance required by a big helper balance when attempting to empty wallet for free.