Andreas Schildbach [ARCHIVE] on Nostr: 📅 Original date posted:2019-03-06 📝 Original message:Reject messages cannot be ...
📅 Original date posted:2019-03-06
📝 Original message:Reject messages cannot be replaced for debugging user problems. At least
unless you plan to make RPC or bitcoind logfiles available via the P2P
protocol (both probably not a good idea).
The typical case is, I get mailed a wallet logfile with reject messages
and that's all I have. I cannot access the bitcoind logfile(s) of the
node(s) that generated the reject message in the first place. Nor can I
access their RPC interface.
I strongly suggest re-enabling reject messages by default before 0.18.
On 06/03/2019 01.53, Marco Falke via bitcoin-dev wrote:
> Bitcoin Core may send "reject" messages as response to "tx", "block" or
> "version" messages from a network peer when the message could not be accepted.
>
> This feature is toggled by the `-enablebip61` command line option and has been
> disabled by default since Bitcoin Core version 0.18.0 (not yet released as of
> time of writing). Nodes on the network can not generally be trusted to send
> valid ("reject") messages, so this should only ever be used when connected to a
> trusted node. At this time, I am not aware of any software that requires this
> feature, and I would like to remove if from Bitcoin Core to make the codebase
> slimmer, easier to understand and maintain. Let us know if your application
> relies on this feature and you can not use any of the recommended alternatives:
>
> * Testing or debugging of implementations of the Bitcoin P2P network protocol
> should be done by inspecting the log messages that are produced by a recent
> version of Bitcoin Core. Bitcoin Core logs debug messages
> (`-debug=<category>`) to a stream (`-printtoconsole`) or to a file
> (`-debuglogfile=<debug.log>`).
>
> * Testing the validity of a block can be achieved by specific RPCs:
> - `submitblock`
> - `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with
> potentially invalid POW
>
> * Testing the validity of a transaction can be achieved by specific RPCs:
> - `sendrawtransaction`
> - `testmempoolaccept`
>
> * Wallets should not use the absence of "reject" messages to indicate a
> transaction has propagated the network, nor should wallets use "reject"
> messages to set transaction fees. Wallets should rather use fee estimation
> to determine transaction fees and set replace-by-fee if desired. Thus, they
> could wait until the transaction has confirmed (taking into account the fee
> target they set (compare the RPC `estimatesmartfee`)) or listen for the
> transaction announcement by other network peers to check for propagation.
>
> I propose to remove "reject" messages from Bitcoin Core 0.19.0 unless there are
> valid concerns about its removal.
>
> Marco
>
Published at
2023-06-07 18:16:35Event JSON
{
"id": "f438fdf37750e178bc7efd59f5296ded4345310a22cc56547b145eee46a787db",
"pubkey": "3215b3d77dff1f84eeb5ad46fb1206a8d1657b3ea765a80b5489ece3a702d2bc",
"created_at": 1686161795,
"kind": 1,
"tags": [
[
"e",
"d23d84909ded4e86934b4199a32650fb490f51617593613544f6edda083d91e3",
"",
"root"
],
[
"e",
"63e3ae9fb6515463ee1b3c2ad381af9547ec8d8d66e65a6b5cfd27bc87395698",
"",
"reply"
],
[
"p",
"352b35538b75bcd1384cb298feda615e454419aec1066329c8c3ff3ba18ee794"
]
],
"content": "📅 Original date posted:2019-03-06\n📝 Original message:Reject messages cannot be replaced for debugging user problems. At least\nunless you plan to make RPC or bitcoind logfiles available via the P2P\nprotocol (both probably not a good idea).\n\nThe typical case is, I get mailed a wallet logfile with reject messages\nand that's all I have. I cannot access the bitcoind logfile(s) of the\nnode(s) that generated the reject message in the first place. Nor can I\naccess their RPC interface.\n\nI strongly suggest re-enabling reject messages by default before 0.18.\n\n\nOn 06/03/2019 01.53, Marco Falke via bitcoin-dev wrote:\n\u003e Bitcoin Core may send \"reject\" messages as response to \"tx\", \"block\" or\n\u003e \"version\" messages from a network peer when the message could not be accepted.\n\u003e \n\u003e This feature is toggled by the `-enablebip61` command line option and has been\n\u003e disabled by default since Bitcoin Core version 0.18.0 (not yet released as of\n\u003e time of writing). Nodes on the network can not generally be trusted to send\n\u003e valid (\"reject\") messages, so this should only ever be used when connected to a\n\u003e trusted node. At this time, I am not aware of any software that requires this\n\u003e feature, and I would like to remove if from Bitcoin Core to make the codebase\n\u003e slimmer, easier to understand and maintain. Let us know if your application\n\u003e relies on this feature and you can not use any of the recommended alternatives:\n\u003e \n\u003e * Testing or debugging of implementations of the Bitcoin P2P network protocol\n\u003e should be done by inspecting the log messages that are produced by a recent\n\u003e version of Bitcoin Core. Bitcoin Core logs debug messages\n\u003e (`-debug=\u003ccategory\u003e`) to a stream (`-printtoconsole`) or to a file\n\u003e (`-debuglogfile=\u003cdebug.log\u003e`).\n\u003e \n\u003e * Testing the validity of a block can be achieved by specific RPCs:\n\u003e - `submitblock`\n\u003e - `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with\n\u003e potentially invalid POW\n\u003e \n\u003e * Testing the validity of a transaction can be achieved by specific RPCs:\n\u003e - `sendrawtransaction`\n\u003e - `testmempoolaccept`\n\u003e \n\u003e * Wallets should not use the absence of \"reject\" messages to indicate a\n\u003e transaction has propagated the network, nor should wallets use \"reject\"\n\u003e messages to set transaction fees. Wallets should rather use fee estimation\n\u003e to determine transaction fees and set replace-by-fee if desired. Thus, they\n\u003e could wait until the transaction has confirmed (taking into account the fee\n\u003e target they set (compare the RPC `estimatesmartfee`)) or listen for the\n\u003e transaction announcement by other network peers to check for propagation.\n\u003e \n\u003e I propose to remove \"reject\" messages from Bitcoin Core 0.19.0 unless there are\n\u003e valid concerns about its removal.\n\u003e \n\u003e Marco\n\u003e",
"sig": "0fece46da91fc36970fd87b5c39114b03e0a2309d8010ff8104520b0746a8a248d2ce5544a04b961caecbc35627f120ec55e9719f2db0bcef90ff2011d5714e4"
}