Pages:
Author

Topic: Exceeds size limit? (Read 3261 times)

legendary
Activity: 1512
Merit: 1036
December 08, 2012, 11:28:21 PM
#35
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 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.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
December 08, 2012, 06:42:05 PM
#34
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.
sr. member
Activity: 430
Merit: 250
December 08, 2012, 06:22:17 PM
#33
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.
legendary
Activity: 1400
Merit: 1013
December 08, 2012, 06:20:05 PM
#32
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.
legendary
Activity: 2128
Merit: 1073
December 08, 2012, 06:10:58 PM
#31
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.
sr. member
Activity: 430
Merit: 250
December 08, 2012, 05:46:31 PM
#30
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.
full member
Activity: 155
Merit: 100
December 08, 2012, 02:51:08 PM
#29
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
sr. member
Activity: 430
Merit: 250
December 06, 2012, 05:12:23 AM
#28
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.
full member
Activity: 157
Merit: 103
December 06, 2012, 02:13:39 AM
#27
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?
staff
Activity: 4284
Merit: 8808
December 05, 2012, 08:05:54 AM
#26
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.
 
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
December 05, 2012, 02:31:53 AM
#25
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.
legendary
Activity: 3472
Merit: 4801
December 05, 2012, 02:09:06 AM
#24
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 . . .
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
December 05, 2012, 01:56:46 AM
#23
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.
legendary
Activity: 3472
Merit: 4801
December 05, 2012, 12:14:37 AM
#22
. . . 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?
donator
Activity: 1218
Merit: 1079
Gerald Davis
December 05, 2012, 12:10:20 AM
#21
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? Wink
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. 
legendary
Activity: 1050
Merit: 1003
December 05, 2012, 12:07:36 AM
#20
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? Wink

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.
legendary
Activity: 1050
Merit: 1003
December 05, 2012, 12:05:17 AM
#19
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.
legendary
Activity: 1400
Merit: 1013
December 04, 2012, 11:51:00 PM
#18
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? Wink
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
December 04, 2012, 11:43:47 PM
#17
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? Wink

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).
legendary
Activity: 1400
Merit: 1013
December 04, 2012, 11:37:48 PM
#16
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.
Pages:
Jump to: