How was the dust limit of 546 satoshis was chosen? Why not 550 satoshis? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Vote early, vote often!What is meant by Bitcoin dust?Why is a transaction with outputs of less than ฿0.00005460 rejected?Could Bitcoin dust spam be effectively combatted by actually including it in the block-chain?Should there be a minimum transaction limit to prevent dust spam?Wallet design: What to do with dust amounts in change?Since Bitcoin Core 0.14.0, how does a node with default settings compute the dust limit?What is the dust limit on Bitcoin Cash transactions?In bitcoin core, how to avoid the dust exception?Electrum 3.3.2 the transaction was rejected by network rules dust error… Tried different nodes, Doesnt WorkDoes bitcoin dust fee rule or policy activate in bitcoin testnet?Does Bitcoin dust limit include miner fee as well?
How to make an animal which can only breed for a certain number of generations?
What is "Lambda" in Heston's original paper on stochastic volatility models?
What did Turing mean when saying that "machines cannot give rise to surprises" is due to a fallacy?
Why did Bronn offer to be Tyrion Lannister's champion in trial by combat?
Is the Mordenkainen's Sword spell underpowered?
Is there a verb for listening stealthily?
Did John Wesley plagiarize Matthew Henry...?
Adapting the Chinese Remainder Theorem (CRT) for integers to polynomials
How does the body cool itself in a stillsuit?
Can the Haste spell grant both a Beast Master ranger and their animal companion extra attacks?
Flight departed from the gate 5 min before scheduled departure time. Refund options
Sally's older brother
Does the main washing effect of soap come from foam?
What are some likely causes to domain member PC losing contact to domain controller?
How can I prevent/balance waiting and turtling as a response to cooldown mechanics
When does a function NOT have an antiderivative?
Short story about astronauts fertilizing soil with their own bodies
Where did Ptolemy compare the Earth to the distance of fixed stars?
Should man-made satellites feature an intelligent inverted "cow catcher"?
Russian equivalents of おしゃれは足元から (Every good outfit starts with the shoes)
The test team as an enemy of development? And how can this be avoided?
Determine whether an integer is a palindrome
Why do C and C++ allow the expression (int) + 4*5;
By what mechanism was the 2017 UK General Election called?
How was the dust limit of 546 satoshis was chosen? Why not 550 satoshis?
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Vote early, vote often!What is meant by Bitcoin dust?Why is a transaction with outputs of less than ฿0.00005460 rejected?Could Bitcoin dust spam be effectively combatted by actually including it in the block-chain?Should there be a minimum transaction limit to prevent dust spam?Wallet design: What to do with dust amounts in change?Since Bitcoin Core 0.14.0, how does a node with default settings compute the dust limit?What is the dust limit on Bitcoin Cash transactions?In bitcoin core, how to avoid the dust exception?Electrum 3.3.2 the transaction was rejected by network rules dust error… Tried different nodes, Doesnt WorkDoes bitcoin dust fee rule or policy activate in bitcoin testnet?Does Bitcoin dust limit include miner fee as well?
Is there a reason why 546
satoshis was chosen as dust limit instead of 547
or even 550
satoshis, historically?
history dust
add a comment |
Is there a reason why 546
satoshis was chosen as dust limit instead of 547
or even 550
satoshis, historically?
history dust
add a comment |
Is there a reason why 546
satoshis was chosen as dust limit instead of 547
or even 550
satoshis, historically?
history dust
Is there a reason why 546
satoshis was chosen as dust limit instead of 547
or even 550
satoshis, historically?
history dust
history dust
asked Apr 15 at 15:00
MCCCSMCCCS
5,03931444
5,03931444
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
The dust limit is not actually fixed, technically - it varies based on the type of output. 546 satoshis is simply the most commonly known one, for a p2pkh output. Being the longest-lived output type, I suspect some wallets/blog posts/literature might treat it as a hard coded dust limit.
As to how to arrive at 546 satoshis, we must first know what "dust" means. A dust output is an output which costs more to spend, than it is worth. In other words, an X BTC output that costs >X to spend, is a dust output. This is directly proportional to the amount of data required to spend an output, since fees in bitcoin are commonly denoted "per-byte". The more bytes you must add to your tx to spend an output, the higher its dust threshold.
A very basic tx consisting of 1 p2pkh input (~148 bytes), and 1 p2pkh output (~34 bytes) comes out to 182 bytes. The dust limit is 3 times this number (assuming a relay fee of 1 satoshi), or 182*3 = 546
sats.
For more complex txs, such as p2sh, this number is larger. For less space-intensive ones such as the newer segwit options, this number would be lower.
The code used in Bitcoin core to determine the dust threshold can be found here.
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why3*relay fee
was selected. As for the relay fee bit, I believe it comes from theminrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee
– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
add a comment |
Bitcoin core sets the dust limit to a value where spending an output would exceed 1/3 of its value. This calculation is based on the node's setting for the minimum relay transaction fee (see option -minrelaytxfee) whose default is 0.00001 BTC/KB. Any transaction with a fee less than that does not get relayed by the node i.e. is dropped from its mempool.
For a node that uses the default -minrelaytxfee
of 0.00001 BTC/KB (1000 satoshis/KB) and given that for P2PKH an input is 148 bytes and an output is 34 bytes, it follows that an output less than or equal to 546 satoshis is considered dust according to Bicoin core.
Reference: What is meant by Bitcoin dust?
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "308"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f86068%2fhow-was-the-dust-limit-of-546-satoshis-was-chosen-why-not-550-satoshis%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The dust limit is not actually fixed, technically - it varies based on the type of output. 546 satoshis is simply the most commonly known one, for a p2pkh output. Being the longest-lived output type, I suspect some wallets/blog posts/literature might treat it as a hard coded dust limit.
As to how to arrive at 546 satoshis, we must first know what "dust" means. A dust output is an output which costs more to spend, than it is worth. In other words, an X BTC output that costs >X to spend, is a dust output. This is directly proportional to the amount of data required to spend an output, since fees in bitcoin are commonly denoted "per-byte". The more bytes you must add to your tx to spend an output, the higher its dust threshold.
A very basic tx consisting of 1 p2pkh input (~148 bytes), and 1 p2pkh output (~34 bytes) comes out to 182 bytes. The dust limit is 3 times this number (assuming a relay fee of 1 satoshi), or 182*3 = 546
sats.
For more complex txs, such as p2sh, this number is larger. For less space-intensive ones such as the newer segwit options, this number would be lower.
The code used in Bitcoin core to determine the dust threshold can be found here.
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why3*relay fee
was selected. As for the relay fee bit, I believe it comes from theminrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee
– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
add a comment |
The dust limit is not actually fixed, technically - it varies based on the type of output. 546 satoshis is simply the most commonly known one, for a p2pkh output. Being the longest-lived output type, I suspect some wallets/blog posts/literature might treat it as a hard coded dust limit.
As to how to arrive at 546 satoshis, we must first know what "dust" means. A dust output is an output which costs more to spend, than it is worth. In other words, an X BTC output that costs >X to spend, is a dust output. This is directly proportional to the amount of data required to spend an output, since fees in bitcoin are commonly denoted "per-byte". The more bytes you must add to your tx to spend an output, the higher its dust threshold.
A very basic tx consisting of 1 p2pkh input (~148 bytes), and 1 p2pkh output (~34 bytes) comes out to 182 bytes. The dust limit is 3 times this number (assuming a relay fee of 1 satoshi), or 182*3 = 546
sats.
For more complex txs, such as p2sh, this number is larger. For less space-intensive ones such as the newer segwit options, this number would be lower.
The code used in Bitcoin core to determine the dust threshold can be found here.
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why3*relay fee
was selected. As for the relay fee bit, I believe it comes from theminrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee
– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
add a comment |
The dust limit is not actually fixed, technically - it varies based on the type of output. 546 satoshis is simply the most commonly known one, for a p2pkh output. Being the longest-lived output type, I suspect some wallets/blog posts/literature might treat it as a hard coded dust limit.
As to how to arrive at 546 satoshis, we must first know what "dust" means. A dust output is an output which costs more to spend, than it is worth. In other words, an X BTC output that costs >X to spend, is a dust output. This is directly proportional to the amount of data required to spend an output, since fees in bitcoin are commonly denoted "per-byte". The more bytes you must add to your tx to spend an output, the higher its dust threshold.
A very basic tx consisting of 1 p2pkh input (~148 bytes), and 1 p2pkh output (~34 bytes) comes out to 182 bytes. The dust limit is 3 times this number (assuming a relay fee of 1 satoshi), or 182*3 = 546
sats.
For more complex txs, such as p2sh, this number is larger. For less space-intensive ones such as the newer segwit options, this number would be lower.
The code used in Bitcoin core to determine the dust threshold can be found here.
The dust limit is not actually fixed, technically - it varies based on the type of output. 546 satoshis is simply the most commonly known one, for a p2pkh output. Being the longest-lived output type, I suspect some wallets/blog posts/literature might treat it as a hard coded dust limit.
As to how to arrive at 546 satoshis, we must first know what "dust" means. A dust output is an output which costs more to spend, than it is worth. In other words, an X BTC output that costs >X to spend, is a dust output. This is directly proportional to the amount of data required to spend an output, since fees in bitcoin are commonly denoted "per-byte". The more bytes you must add to your tx to spend an output, the higher its dust threshold.
A very basic tx consisting of 1 p2pkh input (~148 bytes), and 1 p2pkh output (~34 bytes) comes out to 182 bytes. The dust limit is 3 times this number (assuming a relay fee of 1 satoshi), or 182*3 = 546
sats.
For more complex txs, such as p2sh, this number is larger. For less space-intensive ones such as the newer segwit options, this number would be lower.
The code used in Bitcoin core to determine the dust threshold can be found here.
edited Apr 16 at 2:58
KappaDev
5951419
5951419
answered Apr 15 at 15:15
Raghav SoodRaghav Sood
7,77621127
7,77621127
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why3*relay fee
was selected. As for the relay fee bit, I believe it comes from theminrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee
– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
add a comment |
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why3*relay fee
was selected. As for the relay fee bit, I believe it comes from theminrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee
– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
I think this answer could be clarified a bit. It seems to boil down to the statement that "the dust limit is fixed at 3 satoshis per byte", which raises the question as to how this figure was selected. Also, referring to this as a "relay fee" seems misleading because no fees are collected by nodes who merely relay transactions.
– Nate Eldredge
Apr 15 at 15:31
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why
3*relay fee
was selected. As for the relay fee bit, I believe it comes from the minrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee– Raghav Sood
Apr 15 at 15:36
@NateEldredge Absolutely - I'm trying to look up some sources I read ages ago on why
3*relay fee
was selected. As for the relay fee bit, I believe it comes from the minrelaytxfee
flag for bitcoind, which lets you control which transactions your node relays based on fee– Raghav Sood
Apr 15 at 15:36
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
Wasn't it the case that dust limit was introduced to prevent creation of UTXOs whose value is lower than the cost of scriptSig to spend it? For a 148 byte input, scriptSig would be 107 bytes. That is ~34*3.
– Ugam Kamat
Apr 15 at 16:29
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
I think Ugam is right according to this.
– MCCCS
Apr 15 at 16:48
add a comment |
Bitcoin core sets the dust limit to a value where spending an output would exceed 1/3 of its value. This calculation is based on the node's setting for the minimum relay transaction fee (see option -minrelaytxfee) whose default is 0.00001 BTC/KB. Any transaction with a fee less than that does not get relayed by the node i.e. is dropped from its mempool.
For a node that uses the default -minrelaytxfee
of 0.00001 BTC/KB (1000 satoshis/KB) and given that for P2PKH an input is 148 bytes and an output is 34 bytes, it follows that an output less than or equal to 546 satoshis is considered dust according to Bicoin core.
Reference: What is meant by Bitcoin dust?
add a comment |
Bitcoin core sets the dust limit to a value where spending an output would exceed 1/3 of its value. This calculation is based on the node's setting for the minimum relay transaction fee (see option -minrelaytxfee) whose default is 0.00001 BTC/KB. Any transaction with a fee less than that does not get relayed by the node i.e. is dropped from its mempool.
For a node that uses the default -minrelaytxfee
of 0.00001 BTC/KB (1000 satoshis/KB) and given that for P2PKH an input is 148 bytes and an output is 34 bytes, it follows that an output less than or equal to 546 satoshis is considered dust according to Bicoin core.
Reference: What is meant by Bitcoin dust?
add a comment |
Bitcoin core sets the dust limit to a value where spending an output would exceed 1/3 of its value. This calculation is based on the node's setting for the minimum relay transaction fee (see option -minrelaytxfee) whose default is 0.00001 BTC/KB. Any transaction with a fee less than that does not get relayed by the node i.e. is dropped from its mempool.
For a node that uses the default -minrelaytxfee
of 0.00001 BTC/KB (1000 satoshis/KB) and given that for P2PKH an input is 148 bytes and an output is 34 bytes, it follows that an output less than or equal to 546 satoshis is considered dust according to Bicoin core.
Reference: What is meant by Bitcoin dust?
Bitcoin core sets the dust limit to a value where spending an output would exceed 1/3 of its value. This calculation is based on the node's setting for the minimum relay transaction fee (see option -minrelaytxfee) whose default is 0.00001 BTC/KB. Any transaction with a fee less than that does not get relayed by the node i.e. is dropped from its mempool.
For a node that uses the default -minrelaytxfee
of 0.00001 BTC/KB (1000 satoshis/KB) and given that for P2PKH an input is 148 bytes and an output is 34 bytes, it follows that an output less than or equal to 546 satoshis is considered dust according to Bicoin core.
Reference: What is meant by Bitcoin dust?
answered Apr 15 at 16:55
Thalis K.Thalis K.
1967
1967
add a comment |
add a comment |
Thanks for contributing an answer to Bitcoin Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f86068%2fhow-was-the-dust-limit-of-546-satoshis-was-chosen-why-not-550-satoshis%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown