Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: balambala on August 28, 2019, 12:34:49 AM



Title: 0 sat/byte fee ?
Post by: balambala on August 28, 2019, 12:34:49 AM
I am trying to force my node to accept and broadcast 0 fee transactions or 0.1 sat/byte transactions.

I set on the config file the following settings but it triggers the node to not start (not accept mintxfee argument as valid) :

minrelaytxfee=0
mintxfee=0



I am using the most recent bitcoind client version.


Title: Re: 0 sat/byte fee ?
Post by: BitMaxz on August 28, 2019, 01:53:42 AM
Are you going to pay zero fees?

Read this "Free transaction relay policy (https://en.bitcoin.it/wiki/Free_transaction_relay_policy)".

Historic rules for free transactions
A transaction was safe to send without fees if these conditions were met:

It is smaller than 1,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough (see above)

And I think you can fix this issue by using this settings below:
Quote
mintxfee=0.00000001
minrelaytxfee=0.00000001

Got that source from here https://github.com/bitcoin/bitcoin/issues/5746


Title: Re: 0 sat/byte fee ?
Post by: bitmover on August 28, 2019, 11:28:32 AM
Are you going to pay zero fees?

Read this "Free transaction relay policy (https://en.bitcoin.it/wiki/Free_transaction_relay_policy)".

Historic rules for free transactions
A transaction was safe to send without fees if these conditions were met:

It is smaller than 1,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough (see above)

 1 sat byte is the minimum fee possible for now.

As far as I know, since 2016, no free transactions are allowed anymore. Even in your quoted text it says "was safe to send" . And those as historic rules, rules which doesn't apply anymore


Title: Re: 0 sat/byte fee ?
Post by: mocacinno on August 28, 2019, 11:59:35 AM
Here you go... This should work (as long as you have a linux box with all dependencies installed).

It's

Code:
cd ~
git clone https://github.com/bitcoin/bitcoin/
cd ~/bitcoin/src/wallet/
sed -i 's/static const CAmount DEFAULT_TRANSACTION_MINFEE = 1000;/static const CAmount DEFAULT_TRANSACTION_MINFEE = 0;/g' wallet.h
sed -i 's/static const CAmount WALLET_INCREMENTAL_RELAY_FEE = 5000;/static const CAmount WALLET_INCREMENTAL_RELAY_FEE = 0;/g' wallet.h
cd ~/bitcoin
./autogen.sh
./configure
make
cd ~/bitcoin/src
./bitcoind -daemon -mintxfee=0

But even if you edit the sourcecode and run the modified version, you probably won't receive any 0 fee transactions, since all other nodes you are connected to will reject said transactions, hence they won't broadcast them to you...
This will only work if you're connected to other old or patched nodes that accept and relay 0 fee transactions, or if you use your node to broadcast your own 0 fee transaction... In the latter case any other node you relay the 0 fee transaction to will probably reject it anyways, and no miner will probably touch the 0 fee transaction.

It's not because it's technically possible that it's a wise idear to do this :)


Title: Re: 0 sat/byte fee ?
Post by: josephdd1 on August 28, 2019, 10:33:32 PM
If this was real or possible then the whole Bitcoin mining industry would collapse.
Why would you want to do this anyway and change the status quo?


Title: Re: 0 sat/byte fee ?
Post by: Rath_ on August 28, 2019, 10:40:37 PM
If this was real or possible then the whole Bitcoin mining industry would collapse.
Why would you want to do this anyway and change the status quo?

It wouldn't collapse. Miners are still the ones who choose which transactions get to be included in the block they mine. First Bitcoin transactions were basically free of charge because of no block limit and empty blocks.


Title: Re: 0 sat/byte fee ?
Post by: bitmover on August 28, 2019, 11:36:16 PM
If this was real or possible then the whole Bitcoin mining industry would collapse.
Why would you want to do this anyway and change the status quo?

It wouldn't collapse. Miners are still the ones who choose which transactions get to be included in the block they mine. First Bitcoin transactions were basically free of charge because of no block limit and empty blocks.

Additionally, miners are not rewarded just by transaction fees. There is sti the incentive of 12.5 BTC per block.
Also, if even so 12.5 is not profitable, professional miners can just leave until the hashrate drops and mining becomes profitable  again.

So dont worry about miners, they are fine.


Title: Re: 0 sat/byte fee ?
Post by: nc50lc on August 29, 2019, 02:59:52 AM
First, make sure not to add a "#" in front of the line 'cause it will be considered as a comment.
And use one line per config.

The value uses BTC/kB unit so: 0.00001BTC/kB is the default which is 1sat/B.
Try to use these values (0.1 sat/B you said?) instead of 0:
Code:
minrelaytxfee=0.000001
mintxfee=0.000001

Or did you mean 0.1sat/kB? I haven't tried it because it's way too low and probably wouldn't work but, try to use these values:
Code:
minrelaytxfee=1e-9
mintxfee=1e-9

1e-8 for 1 sat/kB | 0.001 sat/B | 0.00000001 BTC/kB
1e-7 for 10 sat/kB | 0.01 sat/B | 0.0000001 BTC/kB
Y tho?


Title: Re: 0 sat/byte fee ?
Post by: slaman29 on August 29, 2019, 10:15:32 AM
Sorry to butt in but does this mean that it is not possible at all anymore to get 0 fee transactions confirmed?

Because as user above puts it, you can possibly sign and broadcast the transaction, but since nobody will confirm it, it's just not worth to do it anymore? Why do people still try?


Title: Re: 0 sat/byte fee ?
Post by: mocacinno on August 29, 2019, 11:56:51 AM
Sorry to butt in but does this mean that it is not possible at all anymore to get 0 fee transactions confirmed?

Because as user above puts it, you can possibly sign and broadcast the transaction, but since nobody will confirm it, it's just not worth to do it anymore? Why do people still try?

Somewhere around 2016-2017, i witnessed people creating 0 fee transactions and getting them confirmed. As long as a single miner runs an old node, a patched node or an alternative node (like btcd) that is configured to accept and relay 0 fee transactions, AND still uses the old, deprecated priority mechanism you can always try to setup a patched node and connect directly to this mining node, then create a 0 fee transaction and get it broadcasted to this miner's node...
However, at this point in time, you'd need very specific and detailed info about which miners would be running such a patched and alternatively-configured node, my guess would be there aren't many of those miners left.

And in the odd chance you do get a 0 fee transaction in his/her node's mempool, and your transaction has very high priority (and the miner still reserves a space in his/her block for high priority transactions), the miner would still need to find a block header whose hash is under the current target (ie solve the block).

Odds are small, very, very, small... But i don't think they're absolute 0.


Title: Re: 0 sat/byte fee ?
Post by: 2double0 on August 29, 2019, 12:12:44 PM
Sorry to butt in but does this mean that it is not possible at all anymore to get 0 fee transactions confirmed?

Because as user above puts it, you can possibly sign and broadcast the transaction, but since nobody will confirm it, it's just not worth to do it anymore? Why do people still try?

I am aware  that there are a few 'good' miners who still mine BTC as a hobby and not for their financial profits, if they decide to go for charity mining for some time where they go below ground level of 1 sat/byte and choose to take 0 sat/byte transactions in their block, there are 100% chances of getting your 0 sat 'fully free' transactions confirmed. But I thought about a question that comes in the way, how much time will it take from them to confirm those transactions? Because not every other miner there will do this, so those who are doing it need to have enough hash power to get a block in their hands.


Title: Re: 0 sat/byte fee ?
Post by: Zicadis on August 29, 2019, 02:57:58 PM
Sorry to butt in but does this mean that it is not possible at all anymore to get 0 fee transactions confirmed?

Because as user above puts it, you can possibly sign and broadcast the transaction, but since nobody will confirm it, it's just not worth to do it anymore? Why do people still try?

I am aware  that there are a few 'good' miners who still mine BTC as a hobby and not for their financial profits, if they decide to go for charity mining for some time where they go below ground level of 1 sat/byte and choose to take 0 sat/byte transactions in their block, there are 100% chances of getting your 0 sat 'fully free' transactions confirmed. But I thought about a question that comes in the way, how much time will it take from them to confirm those transactions? Because not every other miner there will do this, so those who are doing it need to have enough hash power to get a block in their hands.

Why would anyone want to waste electricity and money as a hobby?
Does it make any sense?
Even under a circumstance where they are doing it to get hash power, remember, accepting 0 sat or free transactions does not mean other miners would accept it as well.
It would get rejected and all that effort into getting it accepted would be wasted.


Title: Re: 0 sat/byte fee ?
Post by: josephdd1 on September 03, 2019, 04:49:32 PM
If this was real or possible then the whole Bitcoin mining industry would collapse.
Why would you want to do this anyway and change the status quo?

It wouldn't collapse. Miners are still the ones who choose which transactions get to be included in the block they mine. First Bitcoin transactions were basically free of charge because of no block limit and empty blocks.


Probably because back then it was not resource intensive to run a miner. People could get hundreds of btc with their home computers or old laptops.
Doing this now would collapse the industry. Or at least the Bictoin blockchain.


Title: Re: 0 sat/byte fee ?
Post by: Carlton Banks on September 03, 2019, 08:44:09 PM
Even under a circumstance where they are doing it to get hash power, remember, accepting 0 sat or free transactions does not mean other miners would accept it as well.
It would get rejected and all that effort into getting it accepted would be wasted.

zero fee/free transactions aren't against the consensus rules. if a miner mines a block including free transactions, other miners (and non-mining nodes) will consider it valid


Title: Re: 0 sat/byte fee ?
Post by: pooya87 on September 04, 2019, 03:59:42 AM
Probably because back then it was not resource intensive to run a miner. People could get hundreds of btc with their home computers or old laptops.
Doing this now would collapse the industry. Or at least the Bictoin blockchain.

so you think mining industry where miners are getting paid 12.5BTC (or $125000) per block is going to collapse if fees were zero and they weren't getting the 1 satoshi/byte minimal fee which translates into 0.012BTC (or $120) with 1.2 MB block!

not to mention when you say "then" you are talking about the time when miners were getting paid 25BTC or $12500 in other words 10 times less than now!


Title: Re: 0 sat/byte fee ?
Post by: slaman29 on September 04, 2019, 06:04:06 AM
Somewhere around 2016-2017, i witnessed people creating 0 fee transactions and getting them confirmed. As long as a single miner runs an old node, a patched node or an alternative node (like btcd) that is configured to accept and relay 0 fee transactions, AND still uses the old, deprecated priority mechanism you can always try to setup a patched node and connect directly to this mining node, then create a 0 fee transaction and get it broadcasted to this miner's node...
However, at this point in time, you'd need very specific and detailed info about which miners would be running such a patched and alternatively-configured node, my guess would be there aren't many of those miners left.

And in the odd chance you do get a 0 fee transaction in his/her node's mempool, and your transaction has very high priority (and the miner still reserves a space in his/her block for high priority transactions), the miner would still need to find a block header whose hash is under the current target (ie solve the block).

Odds are small, very, very, small... But i don't think they're absolute 0.

Thank you for the answer. I admit I didn't really quite understand everything needed for a person to get the tx confirmed, but I understand that there is still a possibility, and because of that possibility, it could be worth just sending a transaction that's 0 fee you don't need to confirm in 1 month, and see if someone will take it.

Do those miners set it up like that on purpose I wonder?


Title: Re: 0 sat/byte fee ?
Post by: mocacinno on September 04, 2019, 06:15:08 AM
Thank you for the answer. I admit I didn't really quite understand everything needed for a person to get the tx confirmed, but I understand that there is still a possibility, and because of that possibility, it could be worth just sending a transaction that's 0 fee you don't need to confirm in 1 month, and see if someone will take it.

Do those miners set it up like that on purpose I wonder?

Well... I wouldn't count on it... If you just create a 0 fee transaction, it'll allmost certainly get rejected by the nodes you are connected to if you try to broadcast it trough them, or relay it to them.
If you find a single node that still accepts a 0 fee transaction, odds are it'll just stay in the mempool of that single node untill it gets pruned after a couple of days since the odds are big this 0-fee-accepting node is only connected to nodes that reject 0 fee transactions...

What i meanth is that if you want to create a 0 fee transaction and even have a very small chance of getting it confirmed, you'll have to find a "path" of 0-fee-accepting node(s) that lead to a 0-fee-accepting node that belongs to a miner... Only if you find such a path, you'll have a (very small) chance the miner will put your transaction into the block he/she is working on, and an even small chance the miner finds a valid blockheader...
Finding 0-fee-accepting nodes is not easy to begin with... You can probably try to connect to as many nodes as possible and look at their versions, recent bitcoin core versions would have had to actively patch their node's code in order to accept 0 fee transactions (thus, the odds of them actually accepting said transactions is VERY small). Older core versions and alternative versions would (theoretically) have the highest odds of accepting 0 fee transactions.

If you want to test out wether or not a node accepts your transaction, you'll probably have to create 2 nodes on 2 different machines, connect them both to the node you are testing. Then broadcast your 0 fee transaction to said node from your first node and see if the tested node broadcast the 0 fee transaction to your second node. If it does, at least you know the tested node RELAYS 0 fee transactions :)
Here's a small, non-technical, intersting reading piece about how transaction relaying works... It's interesting, but it does not offer a real "answer" in this discussion tough => https://en.bitcoin.it/wiki/Network#Standard_relaying


Title: Re: 0 sat/byte fee ?
Post by: buwaytress on September 04, 2019, 07:37:10 AM
In addition to the fine points already, would just like to add that it is not only still possible, but that there are still daily 0-fee transactions being transmitted and confirmed on the network. Only a handful, and a number that's fewer by the day, only 2 in the last 24 hours actually. These likely are just miners' own transactions, or txs of friends or whatever, merely including them in the blocks they find.

Thanks to mocha too for that useful bit on relay. Never did find any nodes accepting when last looking manually. All the broadcast services online also are pushing to upgraded nodes who'll reject 0-fees. Been a while since I'd seen anyone sharing one of them old setups.


Title: Re: 0 sat/byte fee ?
Post by: Red-Apple on September 04, 2019, 09:10:47 AM
In addition to the fine points already, would just like to add that it is not only still possible, but that there are still daily 0-fee transactions being transmitted and confirmed on the network. Only a handful, and a number that's fewer by the day, only 2 in the last 24 hours actually.

for reference if someone wanted to analyze these transactions further:
list of transactions with zero fee that happened this year using https://blockchair.com/ (https://blockchair.com/bitcoin/transactions?q=time(2019-01-01 08:35:47..2019-09-04 08:35:47),is_coinbase(false),fee(0)&s=time(desc)#f=block_id,hash,time,is_coinbase,fee,size). god i love this block explorer. it has so many cool features to play around and analyze transactions and blocks,... the best thing is you can share the link of your customized sort.

note that i set iscoinbase to false to exclude them since coinbase are transactions also shown to have zero fee on the explorer.

These likely are just miners' own transactions, or txs of friends or whatever, merely including them in the blocks they find.
i checked a bunch of those transactions (obviously not all) and they were all payments made from a mining pool to its miners (spending coinbase transactions)


Title: Re: 0 sat/byte fee ?
Post by: Carlton Banks on September 04, 2019, 03:03:26 PM
Thank you for the answer. I admit I didn't really quite understand everything needed for a person to get the tx confirmed, but I understand that there is still a possibility, and because of that possibility, it could be
What i meanth is that if you want to create a 0 fee transaction and even have a very small chance of getting it confirmed, you'll have to find a "path" of 0-fee-accepting node(s) that lead to a 0-fee-accepting node that belongs to a miner... Only if you find such a path, you'll have a (very small) chance the miner will put your transaction into the block he/she is working on, and an even small chance the miner finds a valid blockheader...
Finding 0-fee-accepting nodes is not easy to begin with... You can probably try to connect to as many nodes as possible and look at their versions, recent bitcoin core versions would have had to actively patch their node's code in order to accept 0 fee transactions (thus, the odds of them actually accepting said transactions is VERY small). Older core versions and alternative versions would (theoretically) have the highest odds of accepting 0 fee transactions.

If you want to test out wether or not a node accepts your transaction, you'll probably have to create 2 nodes on 2 different machines, connect them both to the node you are testing. Then broadcast your 0 fee transaction to said node from your first node and see if the tested node broadcast the 0 fee transaction to your second node. If it does, at least you know the tested node RELAYS 0 fee transactions :)
Here's a small, non-technical, intersting reading piece about how transaction relaying works... It's interesting, but it does not offer a real "answer" in this discussion tough => https://en.bitcoin.it/wiki/Network#Standard_relaying

or alternatively, just connect to miner nodes directly, and see which accept 0-fee transactions when you try to relay.

the block explorer sites usually publish the IP address of smaller miners. connect your Bitcoin node to those, and start trying.


Title: Re: 0 sat/byte fee ?
Post by: Stedsm on October 31, 2019, 11:45:34 PM
What % of chances are there of a 0 sat/byte fee transaction to get relayed through a node allowing such 0 fee transactions these days if mempool has got a very big amount of transactions stuck at that level? Like if the size is around 5-8 MB, is it likely going to get accepted any sooner than a week or less? I'd like to play with the 0 sat/byte fee but scared about the possibilities of getting it accepted in a block while even 1 sat/byte are not easily getting accepted considering that majority of miners are going for higher fees and some exchanges have started paying higher fees maybe to clog the mempool and spike the fee structure.

@OP, were you successful in getting your node up and running after trying to setup the mintxfee to 0 and taking all the steps told by experienced members?


Title: Re: 0 sat/byte fee ?
Post by: balambala on November 01, 2019, 05:23:14 AM
@OP, were you successful in getting your node up and running after trying to setup the mintxfee to 0 and taking all the steps told by experienced members?

Nope, I waited few weeks but then had to import the wallet from seed and spend the coins.

Even if nodes relay the 0 fee transaction, miners nodes need to accept and include them in block, 0 chance of that happening.


Title: Re: 0 sat/byte fee ?
Post by: Dabs on November 02, 2019, 03:59:44 PM
I am aware  that there are a few 'good' miners who still mine BTC as a hobby and not for their financial profits, if they decide to go for charity mining for some time where they go below ground level of 1 sat/byte and choose to take 0 sat/byte transactions in their block, there are 100% chances of getting your 0 sat 'fully free' transactions confirmed.

Why would anyone want to waste electricity and money as a hobby?
Does it make any sense?
Even under a circumstance where they are doing it to get hash power, remember, accepting 0 sat or free transactions does not mean other miners would accept it as well.
It would get rejected and all that effort into getting it accepted would be wasted.

The chances are clearly not 100%. The miner has to get a block.

As for the hobby thing, remember there are still people doing other distributed computing projects for no pay: finding prime numbers, cures for cancer, searching for aliens, doing difficult math problems like optimal goloumb rulers, and maybe even cracking RSA or other codes. The list goes on, finding asteroids, ATLAS experiments, Collatz conjecture, decoding unbroken Enigmas messages from World War 2, chess engine something, high energy particle collision research, worldwide earthquake sensors, radioactive monitoring, DNA/RNA stuff, and other grid computing stuff.

None of those directly make any money, most do not. Only cryptocurrency mining (and staking) find blocks with rewards.

Just include a fee if you're after practical usage of the coin and be willing to wait a few hours. 1 sat is still possible.


Title: Re: 0 sat/byte fee ?
Post by: ranochigo on November 02, 2019, 04:10:35 PM
What % of chances are there of a 0 sat/byte fee transaction to get relayed through a node allowing such 0 fee transactions these days if mempool has got a very big amount of transactions stuck at that level? Like if the size is around 5-8 MB, is it likely going to get accepted any sooner than a week or less? I'd like to play with the 0 sat/byte fee but scared about the possibilities of getting it accepted in a block while even 1 sat/byte are not easily getting accepted considering that majority of miners are going for higher fees and some exchanges have started paying higher fees maybe to clog the mempool and spike the fee structure.
If the mempool is more than 2MB in size at any given time, you can forget about getting a confirmations for any transactions with a small fees/byte, much less a 0 fee transaction. The propagation of 0 fee transactions should be quite bad, given the fact that most nodes have already stopped accepting it. The only way for it to get accepted is to mine your own block (I doubt any miner would accept a 0 fee transaction from others).

You can try experimenting it and enable opt-in RBF. You can bump the fee any time you want to stop trying.


Title: Re: 0 sat/byte fee ?
Post by: balambala on November 07, 2019, 05:51:47 PM
What % of chances are there of a 0 sat/byte fee transaction to get relayed through a node allowing such 0 fee transactions these days if mempool has got a very big amount of transactions stuck at that level? Like if the size is around 5-8 MB, is it likely going to get accepted any sooner than a week or less? I'd like to play with the 0 sat/byte fee but scared about the possibilities of getting it accepted in a block while even 1 sat/byte are not easily getting accepted considering that majority of miners are going for higher fees and some exchanges have started paying higher fees maybe to clog the mempool and spike the fee structure.
If the mempool is more than 2MB in size at any given time, you can forget about getting a confirmations for any transactions with a small fees/byte, much less a 0 fee transaction. The propagation of 0 fee transactions should be quite bad, given the fact that most nodes have already stopped accepting it. The only way for it to get accepted is to mine your own block (I doubt any miner would accept a 0 fee transaction from others).

You can try experimenting it and enable opt-in RBF. You can bump the fee any time you want to stop trying.

I made multiple tests with 0 sat/byte fee, even when the mempool was empty where 1sat/byte gets your transaction on the next block and go no luck with the transactions.

I assume miners share the same configuration of their full node of not accepting below 1sat/byte transactions, as it is already the default setting for Bitcoin Core.


Title: Re: 0 sat/byte fee ?
Post by: squatz1 on November 07, 2019, 06:12:34 PM
Thank you for the answer. I admit I didn't really quite understand everything needed for a person to get the tx confirmed, but I understand that there is still a possibility, and because of that possibility, it could be worth just sending a transaction that's 0 fee you don't need to confirm in 1 month, and see if someone will take it.

Do those miners set it up like that on purpose I wonder?

Well... I wouldn't count on it... If you just create a 0 fee transaction, it'll allmost certainly get rejected by the nodes you are connected to if you try to broadcast it trough them, or relay it to them.
If you find a single node that still accepts a 0 fee transaction, odds are it'll just stay in the mempool of that single node untill it gets pruned after a couple of days since the odds are big this 0-fee-accepting node is only connected to nodes that reject 0 fee transactions...

What i meanth is that if you want to create a 0 fee transaction and even have a very small chance of getting it confirmed, you'll have to find a "path" of 0-fee-accepting node(s) that lead to a 0-fee-accepting node that belongs to a miner... Only if you find such a path, you'll have a (very small) chance the miner will put your transaction into the block he/she is working on, and an even small chance the miner finds a valid blockheader...
Finding 0-fee-accepting nodes is not easy to begin with... You can probably try to connect to as many nodes as possible and look at their versions, recent bitcoin core versions would have had to actively patch their node's code in order to accept 0 fee transactions (thus, the odds of them actually accepting said transactions is VERY small). Older core versions and alternative versions would (theoretically) have the highest odds of accepting 0 fee transactions.

If you want to test out wether or not a node accepts your transaction, you'll probably have to create 2 nodes on 2 different machines, connect them both to the node you are testing. Then broadcast your 0 fee transaction to said node from your first node and see if the tested node broadcast the 0 fee transaction to your second node. If it does, at least you know the tested node RELAYS 0 fee transactions :)
Here's a small, non-technical, intersting reading piece about how transaction relaying works... It's interesting, but it does not offer a real "answer" in this discussion tough => https://en.bitcoin.it/wiki/Network#Standard_relaying

I know this wouldn't be '0 fee' but what if there was a way to go below the 1 satoshi limit. Think of something along the lines of fractional satoshis -- where you're practically at 0, but not fully.

Wouldn't that still achieve the goal here of 0sat/byte -- or at least be close to it.

Obviously none of this can confirm if it's going to be confirmed nor rejected for being too low of a fee. But it's something to keep in mind.


Title: Re: 0 sat/byte fee ?
Post by: pooya87 on November 08, 2019, 04:28:58 AM
I made multiple tests with 0 sat/byte fee, even when the mempool was empty where 1sat/byte gets your transaction on the next block and go no luck with the transactions.

I assume miners share the same configuration of their full node of not accepting below 1sat/byte transactions, as it is already the default setting for Bitcoin Core.

although that is probably true but you can't make that assumption based on what you did. for all we know the miner may accept 0 fee transactions but they never receive any since 99% of the nodes don't relay that kind of transaction anymore.

I know this wouldn't be '0 fee' but what if there was a way to go below the 1 satoshi limit. Think of something along the lines of fractional satoshis -- where you're practically at 0, but not fully.
i think new version of bitcoin core was suppose to introduce this new feature where it allowed smaller fees such as 0.9, 0.5,... satoshi/bytes. i don't know what happened to it though.


Title: Re: 0 sat/byte fee ?
Post by: nc50lc on November 08, 2019, 04:37:44 AM
I know this wouldn't be '0 fee' but what if there was a way to go below the 1 satoshi limit. Think of something along the lines of fractional satoshis -- where you're practically at 0, but not fully.

Wouldn't that still achieve the goal here of 0sat/byte -- or at least be close to it.
'Course the achievement will be the same, if you can include a 0.9sat/byte transaction in a block then you can do the same with 0sat/byte.
Because by default, anything under 1sat/byte is considered as 0sat/byte.

There's a way to create <1sat/byte fee since the unit in the config is in BTC/kB (0.00001 defaut).
Ex: mintxfee=0.000009 & minrelaytxfee=0.000009
But other nodes with default config will still reject your transaction just like a 0sat/byte fee tx.

Quote from: squatz1
Obviously none of this can confirm if it's going to be confirmed nor rejected for being too low of a fee. But it's something to keep in mind.
it will be rejected like a 0sat/byte transaction.
Not because of the low fee like a 1sat/byte during a long "tx clogging", but because most nodes wont relay it.


Title: Re: 0 sat/byte fee ?
Post by: squatz1 on November 11, 2019, 10:38:03 PM
I know this wouldn't be '0 fee' but what if there was a way to go below the 1 satoshi limit. Think of something along the lines of fractional satoshis -- where you're practically at 0, but not fully.

Wouldn't that still achieve the goal here of 0sat/byte -- or at least be close to it.
'Course the achievement will be the same, if you can include a 0.9sat/byte transaction in a block then you can do the same with 0sat/byte.
Because by default, anything under 1sat/byte is considered as 0sat/byte.

There's a way to create <1sat/byte fee since the unit in the config is in BTC/kB (0.00001 defaut).
Ex: mintxfee=0.000009 & minrelaytxfee=0.000009
But other nodes with default config will still reject your transaction just like a 0sat/byte fee tx.

Quote from: squatz1
Obviously none of this can confirm if it's going to be confirmed nor rejected for being too low of a fee. But it's something to keep in mind.
it will be rejected like a 0sat/byte transaction.
Not because of the low fee like a 1sat/byte during a long "tx clogging", but because most nodes wont relay it.

I see.

So the only way something like this would be able to occur would be if nodes begun accepting that as allowed. That still obviously doesn't confirm if miners are going to confirm transactions this low , but it would allow for people to send them out and hope that at some point the miners would mine -- as people do now with 1 sat fees.



Title: Re: 0 sat/byte fee ?
Post by: Carlton Banks on November 11, 2019, 11:08:07 PM
it will be rejected like a 0sat/byte transaction.
Not because of the low fee like a 1sat/byte during a long "tx clogging", but because most nodes wont relay it.

I see.

So the only way something like this would be able to occur would be if nodes begun accepting that as allowed. That still obviously doesn't confirm if miners are going to confirm transactions this low , but it would allow for people to send them out and hope that at some point the miners would mine -- as people do now with 1 sat fees.

well, there's not exactly zero interest in this, this thread proves there's some demand from users, and previous work from the bitcoin devs suggested an appetite for it.

if everyone from this thread changed their node configuration to relay < 1 sat/byte, and other node operators followed (mine's already set lower than default IIRC), I think mining nodes should eventually notice that as a market signal. The more the BTC exchange rate increases, and the more reward halvings that occur, the more incentive miners have to change their relay minimum setting.

Edit: I'm wrong above, 1sat/vbyte is actually the minimum, and it can't really be reduced without an update to the fee estimation logic


Title: Re: 0 sat/byte fee ?
Post by: Dabs on November 15, 2019, 09:42:42 PM
well, there's not exactly zero interest in this, this thread proves there's some demand from users, and previous work from the bitcoin devs suggested an appetite for it.

if everyone from this thread changed their node configuration to relay < 1 sat/byte, and other node operators followed (mine's already set lower than default IIRC), I think mining nodes should eventually notice that as a market signal. The more the BTC exchange rate increases, and the more reward halvings that occur, the more incentive miners have to change their relay minimum setting.

What's the exact setting we should use in our bitcoin.conf ?

I'm interested, I used to be able to consolidate inputs for free, and I didn't mind waiting a day or two if I did not need to spend them otherwise.

For example, I have a donation address and plenty of people send to it, every now and then I'd like to spend it all back to the same address so it's just one input, and I'd avoid paying any fees if possible. Otherwise we just stick to 1 sat, and that's still fine.


Title: Re: 0 sat/byte fee ?
Post by: gmaxwell on November 15, 2019, 11:38:32 PM
IIRC you cannot set zero without modifying the software (as that would make for some accidental DOS vulnerabilities), you can however set the relay fee to an arbitrarily low non-zero value... I think the lowest is 1 sat per 1000 vb.


Title: Re: 0 sat/byte fee ?
Post by: Carlton Banks on November 16, 2019, 12:06:00 AM
IIRC you cannot set zero without modifying the software (as that would make for some accidental DOS vulnerabilities), you can however set the relay fee to an arbitrarily low non-zero value... I think the lowest is 1 sat per 1000 vb.

I now remember that modifying the minrelayfee constant in the client source code would screw up the fee estimator logic. So there's alot of nodes out there that depend on fee estimation that would never want that patch. Still, no reason not to reduce the default minrelayfee, you're right that 1sat/vbyte is the minimum, and that feerate propagates fine atm


Title: Re: 0 sat/byte fee ?
Post by: tranthidung on November 16, 2019, 07:00:58 AM
Somewhere around 2016-2017, i witnessed people creating 0 fee transactions and getting them confirmed. As long as a single miner runs an old node, a patched node or an alternative node (like btcd) that is configured to accept and relay 0 fee transactions, AND still uses the old, deprecated priority mechanism you can always try to setup a patched node and connect directly to this mining node, then create a 0 fee transaction and get it broadcasted to this miner's node...
However, at this point in time, you'd need very specific and detailed info about which miners would be running such a patched and alternatively-configured node, my guess would be there aren't many of those miners left.

And in the odd chance you do get a 0 fee transaction in his/her node's mempool, and your transaction has very high priority (and the miner still reserves a space in his/her block for high priority transactions), the miner would still need to find a block header whose hash is under the current target (ie solve the block).

Odds are small, very, very, small... But i don't think they're absolute 0.
I imagine about some problems with 0-fee transactions:
  • How long does it take to get confirmations?
  • With today very high dificulty of bitcoin, if someone set up his/her node and do some technical steps to try luck and get 0-fee transactions, I think it sounds very crazy.

[1] Time always make sense. One can send coins and wait for hours or days but too long waiting time does not a comfortable thing to suffer.
According to https://whatthefee.io/, at the current status of bitcoin network, 3 satoshis/ byte is the most comfortable fee (corresponds to acceptable waiting time) to move coins.
I think one can carefully check suggested fees before moving coins but most of time, I move my coins at 1 satoshi/byte and it works smooth.

Beyond that, I know the expiration time of unconfirmed transactions is 72 hours (3 days) [3]. Waiting 3 days, and repeat 0-fee transactions, then wait for luck again sounds very crazy.

[2] If one can be able to set up patched node, then miner's node, I don't see the difference between 0-fee or 1-satoshi/byte transactions for them to spend time (to setup and wait) for luck (too) to get 0-fee transactions.

[3] https://hackernoon.com/holy-cow-i-sent-a-bitcoin-transaction-with-too-low-fees-are-my-coins-lost-forever-7a865e2e45ba


I'm interested, I used to be able to consolidate inputs for free, and I didn't mind waiting a day or two if I did not need to spend them otherwise.
If three days pass and your transactions don't get confirmations, you have to repeat free-consolidated transactions again.
Quote
Otherwise we just stick to 1 sat, and that's still fine.
I think 1 satoshi/byte transaction is fine enough.

What % of chances are there of a 0 sat/byte fee transaction to get relayed through a node allowing such 0 fee transactions these days if mempool has got a very big amount of transactions stuck at that level?
If 0 satoshi/byte transaction is realistic, I think there are sites suggest it already. I have never seen 0 satoshi/byte transactions suggested by https://whatthefee.io/ or https://coinb.in/#fees