Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: albertorma on December 15, 2017, 02:31:09 AM



Title: Why does this transaction is so heavy?
Post by: albertorma on December 15, 2017, 02:31:09 AM
I made this transaction, apparently 1 entry and 1 output. However its size is 6094 bytes, which is extremely high for 1 in 1 out transaction: https://blockchain.info/tx/e51fd993e4d9a1837a47bc3d20b22639877c4a3046d9253527b9d187c0fbad76

I think this is because actually there are a lot of entries (1x every time I received bitcoin on that address). However I am not sure about why this is the size and I'd like to understand it. Why caan't this transaction be done with only 1 input?


Title: Re: Why does this transaction is so heavy?
Post by: ranochigo on December 15, 2017, 02:52:41 AM
As you know, the size is affected mainly by the inputs and outputs. Yes, each transaction "sent" to your address constitutes as one input.

Blockchain.info hides the inputs if they corresponds to the same address: https://blockchain.info/tx/e51fd993e4d9a1837a47bc3d20b22639877c4a3046d9253527b9d187c0fbad76?show_adv=true.


Title: Re: Why does this transaction is so heavy?
Post by: Xynerise on December 15, 2017, 08:05:24 AM
Bitcoin inputs are discrete, like cash in a wallet, so they can't be combined or split in the wallet.
They can be combined or split when you make a transaction.

Think of every input as a dollar bill in your wallet. If you have 5 $10 bills and you want to make a $25 payment then you would have to use 5 dollar bills to make the transaction, unlike someone that has 1 $100 bill that only has to use that bill to make the payment.

Every transaction input (dollar bill) is "weighed" (all inputs have the same size regardless of unit, eg a 100BtC input and a 0.1Btc input have  the same size) and bitcoin fees are in Satoshi per byte,  so the more inputs you have, the higher your fees.


If you want to have less fees in the future then don't request for payments in small units, but in larger units, for example if you're receiving 0.05BtC every week then you should wait till it's 0.1Btc or so to request for payment, so your fees will be less.

If you already have many inputs in your wallet then consolidate them to a new address in your wallet: send the whole amount in your wallet to an address in your wallet with a low fee during a lull in transaction times so your inputs will be bigger and you can make payments with less fees.

P.S inputs do not depend on wallet address used, 10 0.01 BTC to the same address will have the same fees as 10 0.01 BTC inputs to different wallets.