signature : Quelle est la pré-image de hachage de transaction pour différentes valeurs de SIGHASH (et non de SIGHASH_ALL) dans P2PKH ?
J’ai quelques questions concernant la préimage de hachage de transaction lors de la signature avec différentes valeurs du drapeau SIGHASH dans le cas du P2PKH scénario.
mais à quoi ressemble-t-elle pour les autres valeurs de cet indicateur.
I2
Ensuite nous définissons son champ scriptSig sur scriptPubKey à partir de la sortie (UTXO) vers laquelle pointe cette entrée La longueur du champ scriptSig dans les autres entrées reste nulle (0x00) et le champ scriptSig reste vide Enfin ce qui indique qu’il s’agit d’une signature de type SIGHASH_ALL.
mais comment cela fonctionne-t-il pour les autres valeurs de ce drapeau.
Mon hypothèse est que c’est exactement le même processus, la seule question est de savoir quels intrants et extrants sont pris en compte. Par conséquent, les préimages de hachage de transaction pour les différentes valeurs du drapeau SIGHASH sont les suivantes (j’ai pris en compte les valeurs définies dans le livre Master Bitcoin) :
- les sorties ne sont pas prises en compte (elles ne font pas partie de la pré-image de hachage de transaction, de la même manière que le champ scriptSig des autres entrées n’en fait pas non plus partie)
- ajouter 0x02000000 à la fin
/li>
- seul le contenu de la sortie dont l’index correspond à l’index d’entrée est pris en compte (par exemple si on veut signer I2, on prendra les entrées I1, I2 et I3, mais seulement la sortie O2)
- ajouter 0x02000000 à la fin
/li>
ANYONECANPAY (0x81) – La signature s’applique à une entrée et à toutes les sorties
- ajouter 0x81000000 à la fin
les autres entrées un scénario similaire que nous aurions si le la transaction n’avait qu’une seule entrée et le SIGHASH_ALL)
/li>
ANYONECANPAY (0x82) – La signature s’applique à une entrée, aucune des sorties
- les sorties ne sont pas prises en compte (elles ne font pas partie de la préimage du hachage de la transaction)
- ajouter 0x82000000 à la fin
ANYONECANPAY) s’applique
ANYONECANPAY (0x83) – La signature s’applique à une entrée et à la sortie avec le même numéro d’index
- pour les sorties, absolument la même histoire que celle que j’ai décrite pour 0x03 (SIGNLE) s’applique
- ajouter 0x83000000 à la fin
ANYONECANPAY) s’applique
Mes questions sont donc :
Est-ce ainsi que ça fonctionne ?
2. Existe-t-il d’autres valeurs pour le drapeau SIGHASH que je devrais couvrir ?
3. Existe-t-il des travaux/documents/normes connexes qui expliquent cela (peut-être pour d’autres scripts, comme P2WPKH, etc.) ?