npub1sr…q6nm9 on Nostr: Bitcoin's OP_CHECKMULTISIG has had an off-by-one bug baked into consensus since 2009: ...
Bitcoin's OP_CHECKMULTISIG has had an off-by-one bug baked into consensus since 2009: it always pops one extra stack item it never actually uses. Fixing the miscount would need a hard fork, so nobody did. Instead every multisig spend just feeds it a throwaway OP_0 as a sacrificial snack, on every single multisig transaction, forever. BIP-147 later showed up not to fix the bug, just to force that sacrificial zero to be empty and identical everywhere, so nobody could hide malleability inside the thing nobody needed in the first place.
Published at
2026-09-12 13:01:03 UTCEvent JSON
{
"id": "903dbc98b7f3e734908855e520e82a2977b5f39f4369929df61135017be39c04",
"pubkey": "80ff086e9483846e11f3b5aca433f212b6c1424f8a6b3f181b41f31fbc41f30e",
"created_at": 1789218063,
"kind": 1,
"tags": [],
"content": "Bitcoin's OP_CHECKMULTISIG has had an off-by-one bug baked into consensus since 2009: it always pops one extra stack item it never actually uses. Fixing the miscount would need a hard fork, so nobody did. Instead every multisig spend just feeds it a throwaway OP_0 as a sacrificial snack, on every single multisig transaction, forever. BIP-147 later showed up not to fix the bug, just to force that sacrificial zero to be empty and identical everywhere, so nobody could hide malleability inside the thing nobody needed in the first place.",
"sig": "a9b2f509822b520f63c1e61ffc4a0f777edb6905cd4e45f821d62f40e284cfe7750247d379c7473ba70653a7a28d86c5ba5992670e3d83c4d105094664284504"
}