Gregory Maxwell [ARCHIVE] on Nostr: 📅 Original date posted:2017-04-08 📝 Original message:On Sat, Apr 8, 2017 at ...
📅 Original date posted:2017-04-08
📝 Original message:On Sat, Apr 8, 2017 at 8:21 PM, Johnson Lau <jl2012 at xbt.hk> wrote:
> pre-synced means already in mempool and verified? Then it sounds like we just need some mempool optimisation? The tx order in a block is not important, unless they are dependent
In Bitcoin Core the software _explicitly_ and intentionally does not
exploit mempool pre-validation because doing that very easily leads to
hard to detect consensus faults and makes all mempool code consensus
critical when it otherwise is not. There have been bugs in the past
which would have split the network if this optimization had been used.
(in particular, I believe I recall one related to correctly removing
coinbase spends from the mempool during reorganization that made them
immature; and with the optimization and without the CNB post-test
would have resulted in nodes that saw the reorg creating and accepting
an invalid block, while nodes that didn't rejecting it; but because of
prudent design it was largely harmless).
Because signature validation is cached, and takes the majority of the
block validation time the speed up from the risky optimization isn't
that considerable, and there are other lower hanging fruity with
bigger payouts like Pieter's change to the per-txout management model
and the new non-atomic flushing logic.... and these things don't make
more of the system consensus critical.
Published at
2023-06-07 17:59:42Event JSON
{
"id": "856a861f7ef65aebd7f1b2f35ae1d803619c50e7389cd9ecad15dbcd550cf1af",
"pubkey": "4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73",
"created_at": 1686160782,
"kind": 1,
"tags": [
[
"e",
"d4a682be1f6603f0ff8798c52b7225cac6554e21f3aedb0c80e7d41cf71983ad",
"",
"root"
],
[
"e",
"d7a9eab96eb5a432adf13c8e29e8805ecd78d17fef11a60bb95c589822100a83",
"",
"reply"
],
[
"p",
"1c03575343555d1132a621c49466190d680da4a306ba8b992e8b87e267609cdd"
]
],
"content": "📅 Original date posted:2017-04-08\n📝 Original message:On Sat, Apr 8, 2017 at 8:21 PM, Johnson Lau \u003cjl2012 at xbt.hk\u003e wrote:\n\u003e pre-synced means already in mempool and verified? Then it sounds like we just need some mempool optimisation? The tx order in a block is not important, unless they are dependent\n\nIn Bitcoin Core the software _explicitly_ and intentionally does not\nexploit mempool pre-validation because doing that very easily leads to\nhard to detect consensus faults and makes all mempool code consensus\ncritical when it otherwise is not. There have been bugs in the past\nwhich would have split the network if this optimization had been used.\n\n(in particular, I believe I recall one related to correctly removing\ncoinbase spends from the mempool during reorganization that made them\nimmature; and with the optimization and without the CNB post-test\nwould have resulted in nodes that saw the reorg creating and accepting\nan invalid block, while nodes that didn't rejecting it; but because of\nprudent design it was largely harmless).\n\nBecause signature validation is cached, and takes the majority of the\nblock validation time the speed up from the risky optimization isn't\nthat considerable, and there are other lower hanging fruity with\nbigger payouts like Pieter's change to the per-txout management model\nand the new non-atomic flushing logic.... and these things don't make\nmore of the system consensus critical.",
"sig": "7f20efa17592ce4d1559e8435fc915820a4aae706d2939cc00d9d5cefe2d688b312003ff1e4309c9162b2f0dccb17ba0dd27d25d5df465d88291cf93dfe2a059"
}