@libs is on PowPing!

PowPing is a place where you can earn Bitcoin simply by socializing, for FREE.
Never tried Bitcoin? It's OK! Just come, socialize, and earn Bitcoin.
Check out libs's activities

Build on Bitcoin

visit channel home
Total Economy: 0.7 USD
Is anyone able to clarify my understanding of new dust rules since 1.0.5... 1) Is the 546 dust limit still a limit of sorts? For example, if I don't want to consolidate outputs, is the safe limit still 546 sats or some other figure? Is this still known as the "dust limit"? 2) Anything below the above limit is now a dust output and requires consolidation to spend. In this article - https://bitcoinsv.io/2020/09/16/beyond-micropayments-the-rise-of-nano-services/ -@shadders says 0 sat outputs may be with us by 2021? Has this happened yet or is there still a lower limit for dust outputs? 3) If the lower "nano limit" is still there, how exactly does it work? The article says it's "a function of the relay fee set by the Miner" - can anyone clarify what this means?
1. AFAIK the new dust limit is 135-136 sats. I've personally been able to test with transactions that low and spend them. 2. The lower limit is 136 sats. Example outputs on tx used and spent on testnet here: https://test.whatsonchain.com/address/mtvfzuhs9aB4jWJtxQsJYwfiRbnyJe1SPv 3. Referring to what miners will relay to fellow miners. If the lower limit (136) is such that the majority of miners have configured, then the tx will be valid and mined. If the limit has not been lowered (so still 546) then a TX w/ an output of 136 may not be relayed to enough nodes to be a valid tx and will not be mined (and eventually dropped from nodes' mempools).
libs tipped:
libs replied:
Thanks. What I'd misunderstood is I'd assumed any dust output required consolidation to spend, but from re-reading Shadders' article I see consolidation is only required if you want to spent the dust output with zero fee. Makes sense now. With Q3 what I was getting at is what is the function is for determining the dust limit? (eg why 136?). I think I've figured this out from the comments here: https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/primitives/transaction.h#L190-L198 Spending a P2PKH involves a 34 byte output plus 148 byte input = 182 bytes (3 * 182 * minRelayTxFee / 1000) = (3 * 182 * 250 / 1000) = 136.5 I'm thinking out aloud here, but that 136 limit is going to be different for different script templates. This does make me wonder how does a miner know the size of the future unlocking script for any random custom locking script they receive?
libs replied:
Ah the answer is in the code I just linked to. It just assumes the unlocking script will be 148 bytes - its hardcoded in! So I think we can programatically work out the dust limit for any given output script by: dustLimit = 3 * (lockingScriptSize + 148) * minRelayTxFee / 1000
mrz tipped:
shadders replied:
I think it's detailed in the release notes but this is basically correct. It's a function of relay fee, so if you halve the relay fee on your node you implicitly halve the dust limit it will accept. There is a task in the SV backlog to make it directly configurable but we will leave the default as it is now. Its up the miners to decide what to accept.