Author

Topic: 0 (Read 260 times)

legendary
Activity: 2380
Merit: 5213
0
December 07, 2023, 04:18:36 AM
#14
Yeah, I think the network will probably not even stop you from broadcasting it because it's not a consensus rule, in fact it's not even a node policy. You can even make a 0 BTC output I think (provided you pay above the minimum dust fee as you have stated), and would still be valid even though it is technically worthless.
According to consensus rules, the total value of inputs must be equal or greater than the total value of outputs. This means even a transaction with zero fee and outputs worth zero can be valid.
According to standard rules, the fee rate must be equal or greater than 1 sat/vbyte and the value of any of the outputs created in the transaction must be greater than the dust limit.


Almost all nodes follow these standard rules and reject any transaction creating an output worth less than the dust limit, regardless of the fee paid for the transaction.
Almost all nodes reject any transaction with the fee rate of less than 1 sat/vbyte, regardless of the value of outputs.


If you run your own node, you can broadcast a transaction with zero fee and an output with zero value, but other nodes will reject it and your transaction won't be propagated to the network. Such transaction must be sent directly to a mining pool.
copper member
Activity: 821
Merit: 1992
December 07, 2023, 01:32:41 AM
#13
You can even make a 0 BTC output I think
This is the default in test networks, but in mainnet, there is a non-zero default dust limit, which was mentioned above (three satoshis per byte, if I remember correctly).
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
December 07, 2023, 01:26:43 AM
#12
Zero value transfer? Do you mean a transaction sending 0 BTC? That's not possible at all.
It is totally possible. As long as you're spending less or equal of what you own, it is valid.

Yeah, I think the network will probably not even stop you from broadcasting it because it's not a consensus rule, in fact it's not even a node policy. You can even make a 0 BTC output I think (provided you pay above the minimum dust fee as you have stated), and would still be valid even though it is technically worthless.
hero member
Activity: 1456
Merit: 940
🇺🇦 Glory to Ukraine!
December 06, 2023, 04:47:36 PM
#11
Block reward 0 -> but transfered money.

HOW?

That was a Coinbase transaction (Newly Generated Coins). Each block has one. In 2012, the block reward was 50 BTC, today it is 6.25 BTC.

This one is from the most recent block: https://mempool.space/tx/a475989d6eb9bc8951e88ed0030b1813e025b4f5cfabc111ffc7aa7d9de67d7f
copper member
Activity: 821
Merit: 1992
December 06, 2023, 06:40:53 AM
#10
Quote
Block reward 0 -> but transfered money.
This is the coinbase transaction. So, obviously, all inputs are ignored, and new coins are created "out of thin air" (not exactly, because Proof of Work is needed to produce new coins). So, in this way, new coins are created in the first place.

If coinbase transactions could never create coins, then you would have zero coins in circulation. That kind of system could also be useful in some cases, but maybe not as a money. For example, NameCoin could introduce zero new coins, if it would be done properly, and all coins could be just imported from other chains (for example Bitcoin) to pay for names. Or, they could be mined in the same way as vanity addresses are.
copper member
Activity: 821
Merit: 1992
December 06, 2023, 12:28:53 AM
#9
Just apply those settings to your full node:
Code:
mintxfee=0.00000001
minrelaytxfee=0.00000000
blockmintxfee=0.00000000
dustrelayfee=0.00000000
And then, you can receive such transactions, and mine them.

Of course, to do that on mainnet, you need a lot of computing power. But on test networks, those transactions are usually standard by default.

Edit: In practice, only "dustrelayfee" is needed to change the dust limit. But I often apply other settings as well, because then, you can include free transactions, if there is a room in your block. Of course, even if you do so in the current mainnet, any cheap transactions will be thrown away, unless you also increase mempool size.
legendary
Activity: 2380
Merit: 5213
December 05, 2023, 06:56:50 PM
#8
Guess what: that limit is not a consensus rule, and can be disabled by each full node. Which means, if some mining pool will do that, then those transactions can be included into a block.
Thanks for your information, but I said the same thing above your post and I edited my first reply 13 minutes before your post.
My point was that it's not possible for an average user of bitcoin to make such spendable output.

Here are some more transactions creating outputs worth less than dust limit.

Transaction 1
Transaction 2
Transaction 3
Transaction 4
Transaction 5
copper member
Activity: 821
Merit: 1992
December 05, 2023, 06:03:35 PM
#7
Quote
That's not possible at all.
Really? See this transaction: https://mempool.space/tx/47c3ffaac3f64dff83131a429f9de40c58fee3ad0334468aed5e24c4b4bbda61

Quote
You can't make a bitcoin transaction creating outputs worth less than the dust limit.
Guess what: that limit is not a consensus rule, and can be disabled by each full node. Which means, if some mining pool will do that, then those transactions can be included into a block.
legendary
Activity: 2380
Merit: 5213
December 05, 2023, 05:53:55 PM
#6
Zero value transfer? Do you mean a transaction sending 0 BTC? That's not possible at all.
It is totally possible. As long as you're spending less or equal of what you own, it is valid.
Consensus rules allow creating an output worth less than the dust limit and you are right. I said that's not possible because such transaction would be non-standard and would be rejected by nodes.

Thanks for your correction. I edited my previous post, so that it's more accurate.
member
Activity: 73
Merit: 31
December 05, 2023, 05:22:13 PM
#5
Could someone explain in tech example how it works? - Zero-Value Transfer
Consider a scenario where a transaction is made but the amount of Bitcoin sent is very small, it can still mean no actual value was transferred in the cause of the transaction. Remember in a valid Bitcoin transaction the amount sent is recorded in sats which is the smallest unit of Bitcoin.

If we seek to consider examples where this zero value transfer can occur we can look at

  • Lightening Network Transaction can be considered although it is a layer two scaling solutions for Bitcoin that helps with fast and cheap transaction that are created off-chain
  • we can also consider the dust transaction where the amount transacted are very small often below the network's minimum transaction output size

It is worth knowing that for zero value transactions the amount can be small or even with no value when talking about Bitcoin, And this still contributes to the data size of the Blockchain

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 05, 2023, 04:33:56 PM
#4
Zero value transfer? Do you mean a transaction sending 0 BTC? That's not possible at all.
It is totally possible. As long as you're spending less or equal of what you own, it is valid.

Could someone explain in tech example how it works? - Zero-Value Transfer
What precisely do you want to know? You can normally spend any amount of coins in an OP_RETURN transaction, including 0. What you're forbidden from doing is creating a spendable output that is negative value or overflow value[1]. It is also non-standard to spend anything less than the dust amount, as already said.

[1] https://github.com/bitcoin/bitcoin/blob/f8a29ca823fba7fc0eb63896ac4d3d5a0093a023/src/consensus/tx_verify.cpp#L170C52-L181
hero member
Activity: 1456
Merit: 940
🇺🇦 Glory to Ukraine!
December 05, 2023, 04:20:00 PM
#3
Could someone explain in tech example how it works? - Zero-Value Transfer

I'm not totally sure what you're asking about with "Zero-Value Transfer".  Maybe you could explain that some more?

If you mean that Zero-Value Token Transfer thing that happens on Ethereum and related blockchains, that's a scam targeting users where they send tokens that don't have monetary value.  But this doesn't really have to do with Bitcoin itself.

Probably makes more sense to ask about it on an Altcoins board if you want to learn more about those kinds of scams.
legendary
Activity: 2380
Merit: 5213
December 05, 2023, 03:40:53 PM
#2
Zero value transfer? Do you mean a transaction sending 0 BTC? That's not possible at all.

You can't make a bitcoin transaction creating outputs worth less than the dust limit.
The dust limit is 546 satoshi for legacy addresses and 294 satoshi for native segwit addresses.

Edit:
A transaction creating an output worth less than the dust limit is valid, but that's not standard and would be rejected by nodes.
Thanks BlackHatCoiner for the correction.
jr. member
Activity: 51
Merit: 107
December 05, 2023, 02:43:41 PM
#1
0
Jump to: