₿itcoinItaliaNetwork 

sigop

acronimo di: signature operation

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Un sigop, abbreviazione di signature operation (operazioni di firma), rappresenta il numero di operazioni di verifica delle firme digitali in una transazione Bitcoin.

È un'unità di misura che quantifica la complessità di una transazione in funzione delle firme digitali elaborate.
Le transazioni bitcoin hanno uno script che consente di effettuare diverse operazioni, questo script ha pochissime funzionalità. Di conseguenza, è abbastanza semplice da eseguire. Tra le varie operazioni che può fare, la verifica della firma è di gran lunga l'operazione più costosa da eseguire. Queste verifiche hanno dei valori di sigop che vengono conteggiati.

Esiste un limite massimo di sigop che possono essere inclusi in un blocco Bitcoin, chiamato MAX_BLOCK_SIGOPS_COST, e un limite massimo per transazione chiamato MAX_STANDARD_TX_SIGOPS_COST.
Prima di segwit, il limite di sigop per blocco era di 20'000, con segwit è stato portato a 80'000.
Il valore per le transazioni, MAX_STANDARD_TX_SIGOPS_COST, è un quinto di MAX_BLOCK_SIGOPS_COST, quindi una transazione standard può avere al massimo un costo di 16'000 sigop.
Questi limiti evitano che le transazioni diventino troppo complesse da elaborare e per mantenere la scalabilità della rete Bitcoin, ma possono in casi particolari rendere più complesso calcolare le fee ottimali per far confermare velocemente una transazione.

Le operazioni di firma comportano costi diversi a seconda che siano operazioni single o multi-sig e a seconda di dove compaiono in una transazione Bitcoin.

Ecco alcuni esempi di come vengono conteggiati i sigop:

  • Una firma digitale standard conta come un sigop di base.
  • Una transazione multisig con due firme conta come due sigop di base.
  • Una transazione Pay-to-Script-Hash P2SH con una firma conta come un sigop di base.
  • Una transazione Pay-to-Witness-Script-Hash P2WSH con una firma conta come un sigop complesso.

La comprensione del limite sigop è importante per gli sviluppatori Bitcoin che creano transazioni e per gli utenti Bitcoin che vogliono comprendere le limitazioni della rete.

Il modo con cui i sigop sono conteggiati dipende dal contesto.

Nello scriptPubKey degli output, e nello scriptSig degli input (quest'ultimo non capita quasi mai, ma quando succede verrà conteggiato):

  • OP_CHECKSIG e OP_CHECKSIGVERIFY viene conteggiato come 4
  • OP_CHECKMULTISIG e OP_CHECKMULTISIGVERIFY viene conteggiato come 80

Nei redeem script P2SH:

  • OP_CHECKSIG e OP_CHECKSIGVERIFY viene conteggiato come 4
  • OP_CHECKMULTISIG e OP_CHECKMULTISIGVERIFY viene conteggiato come 4n when preceded by OP_n, e come 80 negli altri casi.

Nei witness script P2WSH:

  • OP_CHECKSIG e OP_CHECKSIGVERIFY viene conteggiato come 1
  • OP_CHECKMULTISIG e OP_CHECKMULTISIGVERIFY viene conteggiato come n quando preceduto da OP_n, e come 20 negli altri casi.

In P2TR taproot scripts: Non sono conteggiati Sigop.


aggiornato il 2023-04-05