Confusing output when partial signing multisig transaction #14823

issue tipu opened this issue on November 27, 2018
  1. tipu commented at 11:36 PM on November 27, 2018: none

    <!-- This issue tracker is only for technical issues related to Bitcoin Core. General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

    <!-- Describe the issue -->

    Unexpected output during multisig signing. See the following example when signing a 2/2 key.

    bc signrawtransactionwithkey 0200000001b8a7873d892de2930cdb00a6c69dadbe8d553e2bef0688186a71009fd82062460100000000ffffffff028093dc140000000017a914a732060d1955ab93c50c1096597e2ea466b9937d8780d6e34c0000000017a9142d2aad185524b244ef2b2f6a0507d6f187d02fbe8700000000 '["cU3C1Uu4oN8ZPXrCz55GyjmrsaeoF8UhmBai2d9jzq9iw7ty9EMc"]' '[{"txid":"466220d89f00716a188806ef2b3e558dbead9dc6a600db0c93e22d893d87a7b8", "vout":1,"scriptPubKey":"a9142d2aad185524b244ef2b2f6a0507d6f187d02fbe87","redeemScript":"5221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52ae"}]'
    
    {
      "hex": "0200000001b8a7873d892de2930cdb00a6c69dadbe8d553e2bef0688186a71009fd820624601000000920047304402202d3ccf2360f990235e2e0ce17f5f28f4313f413301869b554c4e79905de93508022009a4acd673571d7924e8c0cd192386972a72316e8195338ebb8577a2a2941ed70100475221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52aeffffffff028093dc140000000017a914a732060d1955ab93c50c1096597e2ea466b9937d8780d6e34c0000000017a9142d2aad185524b244ef2b2f6a0507d6f187d02fbe8700000000",
      "complete": false,
      "errors": [
        {
          "txid": "466220d89f00716a188806ef2b3e558dbead9dc6a600db0c93e22d893d87a7b8",
          "vout": 1,
          "witness": [
          ],
          "scriptSig": "0047304402202d3ccf2360f990235e2e0ce17f5f28f4313f413301869b554c4e79905de93508022009a4acd673571d7924e8c0cd192386972a72316e8195338ebb8577a2a2941ed70100475221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52ae",
          "sequence": 4294967295,
          "error": "Signature must be zero for failed CHECK(MULTI)SIG operation"
        }
      ]
    }
    
    bc signrawtransactionwithkey 0200000001b8a7873d892de2930cdb00a6c69dadbe8d553e2bef0688186a71009fd820624601000000920047304402202d3ccf2360f990235e2e0ce17f5f28f4313f413301869b554c4e79905de93508022009a4acd673571d7924e8c0cd192386972a72316e8195338ebb8577a2a2941ed70100475221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52aeffffffff028093dc140000000017a914a732060d1955ab93c50c1096597e2ea466b9937d8780d6e34c0000000017a9142d2aad185524b244ef2b2f6a0507d6f187d02fbe8700000000 '["cSB1o7v1QBZDHJropQqBYfuiUA4Js1o24uzkgB2vYeND1st5uGqV"]' 
    
    {
      "hex": "0200000001b8a7873d892de2930cdb00a6c69dadbe8d553e2bef0688186a71009fd820624601000000d90047304402202d3ccf2360f990235e2e0ce17f5f28f4313f413301869b554c4e79905de93508022009a4acd673571d7924e8c0cd192386972a72316e8195338ebb8577a2a2941ed70147304402206fe3aa79e02894ec40d3f6e9df7d7056c5b50cd7a39e1cde3aa3dd097c76798f0220464cd0a39690cbf28687b3b695eb0dc59ca73aef624b16b9586ade31a0761b3101475221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52aeffffffff028093dc140000000017a914a732060d1955ab93c50c1096597e2ea466b9937d8780d6e34c0000000017a9142d2aad185524b244ef2b2f6a0507d6f187d02fbe8700000000",
      "complete": true
    }
    

    <!--- What behavior did you expect? -->

    When dealing with the RPC calls alone, it was difficult to realize that the partial signing was actually working. This is due to the this specific portion of the response:

      "errors": [
        {
          "txid": "466220d89f00716a188806ef2b3e558dbead9dc6a600db0c93e22d893d87a7b8",
          "vout": 1,
          "witness": [
          ],
          "scriptSig": "0047304402202d3ccf2360f990235e2e0ce17f5f28f4313f413301869b554c4e79905de93508022009a4acd673571d7924e8c0cd192386972a72316e8195338ebb8577a2a2941ed70100475221032559b7054ff5468aa9508579379b62c5f6b31145e5bfe743fc66c0ec72608dab21030eaf6ea71e09bd6f6b10a3ee42cc1a445d9020627a4569f17b7fbf1d5801959a52ae",
          "sequence": 4294967295,
          "error": "Signature must be zero for failed CHECK(MULTI)SIG operation"
        }
    
    

    Based on the RPC respons on here: https://bitcoin.org/en/developer-examples#p2sh-multisig

    I expected the successful partial signature to be as follows:

    {
        "hex" : "010000000175e1769813db8418fea17576694af1ff31cb2b512\
                 b7333e6eb42f030d0d7787200000000b5004830450221008d5e\
                 c57d362ff6ef6602e4e756ef1bdeee12bd5c5c72697ef1455b3\
                 79c90531002202ef3ea04dfbeda043395e5bc701e4878c15baa\
                 b9c6ba5808eb3d04c91f641a0c014c69522103310188e911026\
                 cf18c3ce274e0ebb5f95b007f230d8cb7d09879d96dbeab1aff\
                 210243930746e6ed6552e03359db521b088134652905bd2d154\
                 1fa9124303a41e95621029e03a901b85534ff1e92c43c74431f\
                 7ce72046060fcf7a95c37e148f78c7725553aeffffffff01c0b\
                 c973b000000001976a914b6f64f5bf3e38f25ead28817df7929\
                 c06fe847ee88ac00000000",
        "complete" : false
    }
    

    I'm using Bitcoin Core RPC client version v0.17.0

    I suspect the issue is related to this: #9988, however they're using a different RPC call.

  2. fanquake closed this on Sep 11, 2019

  3. DrahtBot locked this on Dec 16, 2021
  4. knst referenced this in commit 46c2c0d796 on Mar 24, 2023
  5. knst referenced this in commit a2ce1e20c7 on Mar 29, 2023
  6. UdjinM6 referenced this in commit 993418041c on Apr 6, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me