Bitcoin Forum
May 12, 2026, 04:35:56 AM *
News: Latest Bitcoin Core release: 31.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: datacarrier and permitbaremultisig  (Read 225 times)
snerd (OP)
Member
**
Offline

Activity: 86
Merit: 13


View Profile WWW
October 07, 2024, 08:11:49 PM
Merited by ABCbits (2)
 #1

I have a node connected to mine that has instructions in the User Agent field...............

"stop the spam on your own node, set datacarrier equals 0 and permitbaremultisig equals 0"

Are these valid commands? Are they safe? Do I want to enter them? What exactly do they do? What is the exact command to enter them if I do?

Thanks!
snerd
snerd (OP)
Member
**
Offline

Activity: 86
Merit: 13


View Profile WWW
October 08, 2024, 01:39:25 AM
 #2

I have a node connected to mine that has instructions in the User Agent field...............

"stop the spam on your own node, set datacarrier equals 0 and permitbaremultisig equals 0"

Are these valid commands? Are they safe? Do I want to enter them? What exactly do they do? What is the exact command to enter them if I do?

Thanks!
snerd


These instructions are suggestions to configure your Bitcoin node in order to amplify its security
Yes they are valid and safe

If you are going to enter the command with Bitcoin core


1. Open `bitcoin.conf` file (usually in `~/.bitcoin/` directory)
2. Add these two lines:


```
datacarrier=0
permitbaremultisig=0
```

Then
Save and restart your Bitcoin Core node.

Let me know if this doesn't work
Ah yes, the config file. I should have known that! I've been running my node on a Win11 machine, with the data directory on a separate drive, so the .conf I wanted was in E:\Bitcoin. Yes, it works as you stated, thanks!

ABCbits
Legendary
*
Offline

Activity: 3598
Merit: 10046



View Profile
October 08, 2024, 08:45:05 AM
Merited by vjudeu (1)
 #3

Bitcoin Core source code provide short explanation about those configuration.

Code:
# Relay and mine data carrier transactions (default: 1)
#datacarrier=1

# Relay transactions creating non-P2SH multisig outputs (default: 1)
#permitbaremultisig=1

AFAIK it means,
1. datacarrier=1 allows you broadcast transaction with OP_RETURN.
2. permitbaremultisig=1 allows you to broadcast multi-signature transaction which use P2MS (Pay to Multi Signature).

Those are default behavior of Bitcoin Core, so i don't understand why other node would determine it as a spam.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
snerd (OP)
Member
**
Offline

Activity: 86
Merit: 13


View Profile WWW
October 08, 2024, 03:58:01 PM
 #4

Bitcoin Core source code provide short explanation about those configuration.

Code:
# Relay and mine data carrier transactions (default: 1)
#datacarrier=1

# Relay transactions creating non-P2SH multisig outputs (default: 1)
#permitbaremultisig=1

AFAIK it means,
1. datacarrier=1 allows you broadcast transaction with OP_RETURN.
2. permitbaremultisig=1 allows you to broadcast multi-signature transaction which use P2MS (Pay to Multi Signature).

Those are default behavior of Bitcoin Core, so i don't understand why other node would determine it as a spam.
Good question, and I’m watching for any answers.
vjudeu
Copper Member
Legendary
*
Offline

Activity: 909
Merit: 2363


View Profile
October 08, 2024, 05:36:01 PM
Merited by ABCbits (2)
 #5

Quote
Those are default behavior of Bitcoin Core, so i don't understand why other node would determine it as a spam.
Ordinals are also allowed by "default behavior of Bitcoin Core", but they are filtered by some mining pools anyway.

data carrier: https://github.com/bitcoin/bitcoin/issues/27043
bare multisig: https://github.com/bitcoin/bitcoin/pull/28217

In general, if you make for example 1-of-20 multisig, then guess what: you need a single valid key, and the rest 19 keys can be used, just to push some data.

And in case of OP_RETURN, the 80-byte limit is no longer a problem, because there are pools accepting more than that. So, obviously, it is used as a faster way of spamming, because then, you can put your spam inside some output, instead of input (which is needed to put more spam, if you want to send a lot of short messages, because then, it may be cheaper than Taproot, if your data is between zero and a few hundred bytes).

Also, bare multisig can be used to slow down verification, and to increase the number of sigops in a given block. And both issues can be used, to get some advantage over another mining pool, which may be unaware of that, and include those transactions, and losing some time or fees by doing that.

Quote from: satoshi
I've moved on to other things.
snerd (OP)
Member
**
Offline

Activity: 86
Merit: 13


View Profile WWW
October 08, 2024, 06:34:19 PM
 #6

Quote
Those are default behavior of Bitcoin Core, so i don't understand why other node would determine it as a spam.
Ordinals are also allowed by "default behavior of Bitcoin Core", but they are filtered by some mining pools anyway.

data carrier: https://github.com/bitcoin/bitcoin/issues/27043
bare multisig: https://github.com/bitcoin/bitcoin/pull/28217

In general, if you make for example 1-of-20 multisig, then guess what: you need a single valid key, and the rest 19 keys can be used, just to push some data.

And in case of OP_RETURN, the 80-byte limit is no longer a problem, because there are pools accepting more than that. So, obviously, it is used as a faster way of spamming, because then, you can put your spam inside some output, instead of input (which is needed to put more spam, if you want to send a lot of short messages, because then, it may be cheaper than Taproot, if your data is between zero and a few hundred bytes).

Also, bare multisig can be used to slow down verification, and to increase the number of sigops in a given block. And both issues can be used, to get some advantage over another mining pool, which may be unaware of that, and include those transactions, and losing some time or fees by doing that.
This sounds like one for the Pro column. Will wait for any for the Con column, thanks!
ABCbits
Legendary
*
Offline

Activity: 3598
Merit: 10046



View Profile
October 09, 2024, 08:50:55 AM
Merited by garlonicon (1)
 #7

Quote
Those are default behavior of Bitcoin Core, so i don't understand why other node would determine it as a spam.
Ordinals are also allowed by "default behavior of Bitcoin Core", but they are filtered by some mining pools anyway.

data carrier: https://github.com/bitcoin/bitcoin/issues/27043
bare multisig: https://github.com/bitcoin/bitcoin/pull/28217

In general, if you make for example 1-of-20 multisig, then guess what: you need a single valid key, and the rest 19 keys can be used, just to push some data.

And in case of OP_RETURN, the 80-byte limit is no longer a problem, because there are pools accepting more than that. So, obviously, it is used as a faster way of spamming, because then, you can put your spam inside some output, instead of input (which is needed to put more spam, if you want to send a lot of short messages, because then, it may be cheaper than Taproot, if your data is between zero and a few hundred bytes).

Also, bare multisig can be used to slow down verification, and to increase the number of sigops in a given block. And both issues can be used, to get some advantage over another mining pool, which may be unaware of that, and include those transactions, and losing some time or fees by doing that.

Good point. I'm aware Bitcoin Knots (full node software) and Ocean (mining pool) have option to exclude Ordinals. Although they're in minority who actually put effort to partially deny Ordinal. GitHub Links you included mentioned token protocol which use P2MS, but that protocol plan to move from P2MS and token hype on Bitcoin blockchain have reduced. So IMO there's no strong reason to refuse TX with bare multisig now.

--snip--
This sounds like one for the Pro column. Will wait for any for the Con column, thanks!

The obvious cons are,
1. You don't have complete mempool / unconfirmed transactions. It mainly hurts those who run blockchain analysis or block explorer though.
2. For miner/pool, you could earn slightly less Bitcoin.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
garlonicon
Copper Member
Legendary
*
Offline

Activity: 944
Merit: 2318


View Profile
October 09, 2024, 01:32:02 PM
 #8

Quote
For miner/pool, you could earn slightly less Bitcoin.
It depends. If you have a lot of multisigs, then you have to do a lot more hashing than usual (because you have to compute a different z-value for each signature in each input). And then, it may be more profitable to include more cheaper transactions, because you validate them faster.

Also, if your block is hard-to-validate, then there is a higher chance of getting a stale block, because other miners will have to validate it, too. And some competing mining pool may mine a block at the same height, which could be validated faster, and then miners will faster start mining on top of it.
achow101
Moderator
Legendary
*
expert
Offline

Activity: 3948
Merit: 7693


Just writing some code


View Profile WWW
October 09, 2024, 04:43:44 PM
Merited by ABCbits (3), Kruw (1)
 #9

This sounds like one for the Pro column. Will wait for any for the Con column, thanks!
Configuring your node with a mempool policy that rejects transactions that the vast majority of other nodes on the network are accepting will result in increased bandwidth usage and a longer block propagation time.

Blocks are usually relayed using compact blocks, which works by assuming that transactions that were in the mempool of one node were likely in the mempool of another node, so the relayed block does not actually need to send the entire transaction. The receiving node receives enough information to identify which transactions were in the block so it can reconstruct it on its own using the compact block data and the transactions in its mempool. However, if the mempool policies differ, then the receiving node has to ask the sending node for the transactions it does not have. This introduces extra round trips of communication, which increases the time it takes for the receiving node to have the block ready for validation. Therefore, block propagation is delayed. This can lead to an increase in the stale block rate.

Additionally, in order for these alternate mempool policies to work, your node has to receive the transaction in the first place in order to be able to determine whether it should reject it. It will receive the transaction, find it does not meet the configured policies, and then forget about the transaction. If that transaction is included in a block, then it's going to have to receive that transaction again. The result is that the transaction must be received multiple times and consuming extra bandwidth to do.

amaclin1
Hero Member
*****
Offline

Activity: 1442
Merit: 506


View Profile
October 10, 2024, 08:00:38 AM
 #10

Configuring your node with a mempool policy that rejects transactions that the vast majority of other nodes on the network are accepting will result in increased bandwidth usage and a longer block propagation time.
Seems to me that this advice is not about bandwidth usage but is a poor attempt to decrease the count of useless transactions in blocks.
Kruw
Full Member
***
Offline

Activity: 1106
Merit: 247


Use Bitcoin anonymously - wasabiwallet.io


View Profile WWW
October 10, 2024, 08:36:28 AM
 #11

Seems to me that this advice is not about bandwidth usage but is a poor attempt to decrease the count of useless transactions in blocks.

The transactions aren't useless, they pay fees to miners.

Protect your privacy - Coinjoin with Wasabi Wallet
Code:
https://coinjoin.kruw.io/
nutildah
Legendary
*
Offline

Activity: 3710
Merit: 10905


Blockchain Historian, Renaissance Shitposter


View Profile WWW
May 11, 2026, 01:57:11 AM
 #12

Does anybody know of a way to broadcast a transaction (outside of Core or Electrum) that has permitbaremultisig=1? I don't have Core, and I'm hoping there's a broadcasting service out there that will let me send these kinds of transactions.

You should help me because I could clean up hundreds of 1-of-3 multisig outputs, thereby helping Bitcoin.

edit:

Seems to me that this advice is not about bandwidth usage but is a poor attempt to decrease the count of useless transactions in blocks.

Oh great, I didn't see you were still active (semi-recently). Well you owe me $6. That's accounting for the adjusted price of BTC.

▄███████████████████████████████████████████████████████████████▄
█████████████▀▀██████████████████████████████████████████████████
█████████████████▀███████████████████████████████████████████████
███████████████████▀█████████████████████████████████████████████
████████████▄▄██████▀████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
████████████▀▀██████▄████████████████████████████████████████████
███████████████████▄█████████████████████████████████████████████
█████████████████▄███████████████████████████████████████████████
█████████████▄▄██████████████████████████████████████████████████
▀███████████████████████████████████████████████████████████████▀
▄██████████████████████▄
███████▀▀██████▀▀███████
████▀███████▀▀█▄▄██▀████
███▀████████▄▄██▀█▄▀███
██▀█████████▀▀█▄███▄▀██
██████████████▀███████
██████████████████████
██████████████▄███████
██▄█████████▄▄█▀███▀▄██
███▄████████▀▀██▄█▀▄███
████▄███████▄▄█▀▀██▄████
███████▄▄██████▄▄███████
▀██████████████████████▀
 
  Exchange now  
ABCbits
Legendary
*
Offline

Activity: 3598
Merit: 10046



View Profile
May 11, 2026, 08:18:35 AM
Last edit: May 11, 2026, 08:33:55 AM by ABCbits
 #13

Does anybody know of a way to broadcast a transaction (outside of Core or Electrum) that has permitbaremultisig=1? I don't have Core, and I'm hoping there's a broadcasting service out there that will let me send these kinds of transactions.

You should help me because I could clean up hundreds of 1-of-3 multisig outputs, thereby helping Bitcoin.

MARA Slipstream (https://sandbox.mara.com/) (https://slipstream.mara.com/) is probably the only realistic option, since they include most non-standard TX on block they mine themselves. But you need to create TX with fee rate they want and get it's raw TX (in hex format). Currently it's 2 sat/vB, but it could be higher or lower depending on mempool condition.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
nutildah
Legendary
*
Offline

Activity: 3710
Merit: 10905


Blockchain Historian, Renaissance Shitposter


View Profile WWW
May 11, 2026, 08:27:27 AM
 #14

MARA Slipstream (https://sandbox.mara.com/) is probably the only realistic option, since they include most non-standard TX on block they mine themselves. But you need to create TX with fee rate they want and get it's raw TX (in hex format). Currently it's 2 sat/vB, but it could be higher or lower depending on mempool condition.

Yeah I saw that but you need to apply for a "client code" to use their broadcast service now.

I wrote a python script (OK the AI wrote it) to help me spend some of my odd multisig outputs, but several of them are no longer carried by most utxo sets, even though they really exist.

I think the problem is the broadcast services follow default Core rules, which is permitbaremultisig=0.

▄███████████████████████████████████████████████████████████████▄
█████████████▀▀██████████████████████████████████████████████████
█████████████████▀███████████████████████████████████████████████
███████████████████▀█████████████████████████████████████████████
████████████▄▄██████▀████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
████████████▀▀██████▄████████████████████████████████████████████
███████████████████▄█████████████████████████████████████████████
█████████████████▄███████████████████████████████████████████████
█████████████▄▄██████████████████████████████████████████████████
▀███████████████████████████████████████████████████████████████▀
▄██████████████████████▄
███████▀▀██████▀▀███████
████▀███████▀▀█▄▄██▀████
███▀████████▄▄██▀█▄▀███
██▀█████████▀▀█▄███▄▀██
██████████████▀███████
██████████████████████
██████████████▄███████
██▄█████████▄▄█▀███▀▄██
███▄████████▀▀██▄█▀▄███
████▄███████▄▄█▀▀██▄████
███████▄▄██████▄▄███████
▀██████████████████████▀
 
  Exchange now  
ABCbits
Legendary
*
Offline

Activity: 3598
Merit: 10046



View Profile
May 11, 2026, 08:42:47 AM
Merited by nutildah (2)
 #15

I think the problem is the broadcast services follow default Core rules, which is permitbaremultisig=0.

Isn't the default still permitbaremultisig=1? https://github.com/bitcoin/bitcoin/pull/28217 is PR to make it false/disabled by default, but it never approved/merged. Someone also mention P2MS is still created on daily basis, according to https://mainnet.observer/charts/inputs-and-outputs-p2ms/.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
nutildah
Legendary
*
Offline

Activity: 3710
Merit: 10905


Blockchain Historian, Renaissance Shitposter


View Profile WWW
Today at 12:04:51 AM
 #16

Isn't the default still permitbaremultisig=1? https://github.com/bitcoin/bitcoin/pull/28217 is PR to make it false/disabled by default, but it never approved/merged. Someone also mention P2MS is still created on daily basis, according to https://mainnet.observer/charts/inputs-and-outputs-p2ms/.

Oh... you're right, turns out I was mistaken. I can spend some outputs but not others, even though they are structurally identical transactions.

This is the error I'm getting when attempting to broadcast the transaction:

bad-txns-inputs-missingorspent

Apparently most broadcast service nodes don't carry these weird 1-of-3 or 1-of-4 multisig outputs and that's the problem.

▄███████████████████████████████████████████████████████████████▄
█████████████▀▀██████████████████████████████████████████████████
█████████████████▀███████████████████████████████████████████████
███████████████████▀█████████████████████████████████████████████
████████████▄▄██████▀████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████
████████████▀▀██████▄████████████████████████████████████████████
███████████████████▄█████████████████████████████████████████████
█████████████████▄███████████████████████████████████████████████
█████████████▄▄██████████████████████████████████████████████████
▀███████████████████████████████████████████████████████████████▀
▄██████████████████████▄
███████▀▀██████▀▀███████
████▀███████▀▀█▄▄██▀████
███▀████████▄▄██▀█▄▀███
██▀█████████▀▀█▄███▄▀██
██████████████▀███████
██████████████████████
██████████████▄███████
██▄█████████▄▄█▀███▀▄██
███▄████████▀▀██▄█▀▄███
████▄███████▄▄█▀▀██▄████
███████▄▄██████▄▄███████
▀██████████████████████▀
 
  Exchange now  
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!