₿itcoinItaliaNetwork 

Opcode

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Un opcode, o codice operativo, è un comando di base di alcuni linguaggi di computer.

Il linguaggio di scripting di Bitcoin, chiamato Script, ha un suo insieme di opcode.

Bitcoin Script ha circa 100 opcode.

Gli opcode eseguono funzioni all'interno di uno ScriptPubKey o di un ScriptSig.

Ciascun opcode è rappresentato da codice simbolico e ha un suo valore numerico, esegue una funzione limitata e predefinita.

La combinazione di questi opcode con i dati aggiuntivi come indirizzi, chiavi pubbliche e firme può produrre script Bitcoin che consentono di fare operazioni più o meno complesse.

Ad esempio, uno degli script Bitcoin più comuni è P2PKH, che è composto da 4 opcode e un hash di chiave pubblica. Questo script è un tipo di ScriptPubKey o locking script, che viene utilizzato per bloccare bitcoin in modo tale che solo qualcuno in grado di produrre la chiave pubblica e una firma valida possa spenderlo.

Tramite questi opcode non è possibile moltiplicare, dividere o combinare oggetti sullo stack.

Nelle versioni iniziali, Satoshi Nakamoto aveva incluso un numero maggiore di opcode nel linguaggio script, ma ne ha disabilitato alcuni per vari motivi tecnici o di sicurezza nel 2010, tra cui OP_OR, OP_MUL (moltiplica), OP_DIV (dividi) e OP_CAT (concatena).
I codici operativi disabilitati sono stati rimossi perché le loro implementazioni originali presentavano vulnerabilità sfruttabili che potevano compromettere la sicurezza della rete Bitcoin.

Ci sono alcune proposte per estendere gli opcode, o ripristinare alcuni di quelli disabilitati, ad esempio OP_CAT.


aggiornato il 2022-10-17