getrawtransaction asm kehrt mit [ALL] zurück, sollte es sein?

.\bitcoin-cli.exe getrawtransaction af66f73a42d33a446e52f1c8e82a99fcd9d788a0ec5c70de6f633
213a7546cdb true

"scriptSig": {"asm": "30460221009c8...acc0a2a [ALLE]

die gleiche Transaktion auf Blockchain

ScriptSig[30460221009c82db110da31acc0a2a 01

Warum verschiedene Zeilenenden?

cc0a 2a[ALLE] und cc0a 2a01

A through blockchain-decode-tx gibt den cc0a 2a0121 zurück

{
  "txid": "af66f73a42d33a446e52f1c8e82a99fcd9d788a0ec5c70de6f633213a7546cdb",
  "hash": "af66f73a42d33a446e52f1c8e82a99fcd9d788a0ec5c70de6f633213a7546cdb",
  "version": 1,
  "size": 227,
  "vsize": 227,
  "locktime": 0,
  "vin": [
    {
      "txid": "dfeeaf1d64c003bbdbff64d75ad3138474df0dc3e7abd44ed89e4cfc09273b6e",
      "vout": 1,
      "scriptSig": {
        "asm": "30460221009c82db1849470f912523be8ca42dc8d0b827ba2f1092466a006e724536f83fe0022100cf357fb7926658759f753b371156c8a60359e4f1e414c80d2aa8dba31acc0a2a[ALL] 03b84aeff9f0cc653b3a0f0cf292b9e0be25e7c8d88396dd9c3206c382cf081ffd",
        "hex": "4930460221009c82db1849470f912523be8ca42dc8d0b827ba2f1092466a006e724536f83fe0022100cf357fb7926658759f753b371156c8a60359e4f1e414c80d2aa8dba31acc0a2a012103b84aeff9f0cc653b3a0f0cf292b9e0be25e7c8d88396dd9c3206c382cf081ffd"
      },
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 43.25325000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 97056a6636c0b58969d45977a0a341387725af77 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a91497056a6636c0b58969d45977a0a341387725af7788ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "1EmXXFXQWQBqkLdo1kVFzVCRRQkMQovCNz"
        ]
      }
    },
    {
      "value": 0.95020000,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 3959a306ea4339d6c8cfbadb89ff2b75cb8471a4 OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a9143959a306ea4339d6c8cfbadb89ff2b75cb8471a488ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "16EEu1asfV9YjZCif8LPrLdgM3ubCtn1GW"
        ]
      }
    }
  ],
  "hex": "01000000016e3b2709fc4c9ed84ed4abe7c30ddf748413d35ad764ffdbbb03c0641dafeedf010000006c4930460221009c82db1849470f912523be8ca42dc8d0b827ba2f1092466a006e724536f83fe0022100cf357fb7926658759f753b371156c8a60359e4f1e414c80d2aa8dba31acc0a2a012103b84aeff9f0cc653b3a0f0cf292b9e0be25e7c8d88396dd9c3206c382cf081ffdffffffff02c838cf01010000001976a91497056a6636c0b58969d45977a0a341387725af7788ace0e3a905000000001976a9143959a306ea4339d6c8cfbadb89ff2b75cb8471a488ac00000000",
  "blockhash": "00000000000001177a798a519a857d5726e2e823cc1a540dbc27d46f245553c3",
  "confirmations": 100799,
  "time": 1369935773,
  "blocktime": 1369935773
}

Antworten (1)

Die Darstellung der Daten ist von Standort zu Standort unterschiedlich. Der Hexcode „01“ ist ein SIGHASH ALL Opcode, definiert hier .

Ich zeige hier alle Opcodes und ihre Definition Ihres Beispiels. Grundsätzlich besteht das Sigscript dieses Beispiels aus . Die Signatur ist eine ASN1-DER-Struktur, gefolgt vom öffentlichen Schlüssel als Hex-Zeichen. Wenn man tiefer bohrt, bekommt man Folgendes:

49: OP_DATA_0x49:        push hex 49 (decimal 73) bytes on stack
30: OP_SEQUENCE_0x30:    type tag indicating SEQUENCE, begin sigscript
46: OP_LENGTH_0x46:      length of R + S
02: OP_INT_0x02:         type tag INTEGER indicating length
21: OP_LENGTH_0x21:      this is SIG R (33 Bytes)
02: OP_INT_0x02:         type tag INTEGER indicating length
21: OP_LENGTH_0x21:      this is SIG S (33 Bytes)
01: OP_SIGHASHALL:       this terminates the ECDSA signature (ASN1-DER structure)
21: OP_DATA_0x21:        length compressed Public Key (X9.63 form, 33 Bytes)

[ALL] und "01" zeigen also dasselbe an. Ein Format zeigt die OpCodes (siehe auch im Abschnitt scriptPubKey), eines ist eine einfache Hex-Darstellung, um das Ausschneiden und Einfügen zu vereinfachen. Alle Opcodes sind hier .

Es ist seltsam, all diesen Dingen das Präfix "OP_" voranzustellen. Sie sind keine Opcodes; nur ein Teil der DER-Serialisierung. Und das Sighash-ALL-Flag wird von Bitcoin an die ECDSA-Signatur angehängt; es ist kein Teil davon und schon gar nicht DER-codiert.
Jap, sicher. Verstanden, keine Op_Codes, vielleicht Operatoren oder TT für Typ-Tags. In den ASN1-Spezifikationen wird viel über Bytewerte gesprochen, vielleicht stattdessen BV.