Salta al contenuto
BitcoinToolkit

Fondamenti di Bitcoin

Tipi di indirizzi Bitcoin spiegati

Confronta i formati di indirizzo legacy, SegWit annidato, SegWit nativo e Taproot, i prefissi, la compatibilità e i limiti di sicurezza.

Risposta diretta

Confronta i formati di indirizzo legacy, SegWit annidato, SegWit nativo e Taproot, i prefissi, la compatibilità e i limiti di sicurezza.

Due indirizzi Bitcoin possono entrambi ricevere BTC e creare comunque strutture di transazione diverse sottostanti. Un indirizzo mainnet che inizia con 1, uno che inizia con 3, un bc1q indirizzo e un bc1p indirizzo possono essere tutti destinazioni valide, ma non rappresentano necessariamente lo stesso script, codifica o condizione di spesa futura.

Questa differenza è facile da non notare perché il portafoglio presenta un indirizzo come una singola stringa. Sotto, l'indirizzo dice al software come costruire un output di transazione. Una volta che tale output è confermato, diventa un UTXO che deve essere successivamente speso secondo le regole dello script codificate da quell'output.

La domanda pratica quindi non è semplicemente “Quale prefisso è più recente?” È se l'indirizzo appartiene alla rete Bitcoin prevista, quale tipo di output rappresenta, se il software di invio supporta quel formato e cosa l'indirizzo può—e non può—dirti prima di autorizzare un pagamento.

Cosa rappresenta un indirizzo Bitcoin

Un indirizzo Bitcoin non è un conto nel senso bancario. Non contiene bitcoin, non detiene una chiave privata e non fornisce una visione completa del saldo di un portafoglio. È una codifica leggibile dall'uomo che aiuta un portafoglio a costruire un particolare output di transazione.

La relazione semplificata è:

Indirizzo Bitcoin
        ↓
Decodifica dell'indirizzo
        ↓
scriptPubKey
        ↓
Output di transazione
        ↓
UTXO confermato
        ↓
Condizione di spesa futura

Quando invii bitcoin, il portafoglio non sposta un oggetto da una stringa di indirizzo a un'altra. Consuma UTXO esistenti come input di transazione e crea nuovi output. L'indirizzo di destinazione fornisce le informazioni necessarie per costruire uno di quegli output.

Ecco perché un formato di indirizzo è tecnicamente importante. Un indirizzo P2PKH porta a uno script di output diverso rispetto a un indirizzo P2WPKH. Un output Taproot P2TR è ancora diverso. Questi output possono tutti rappresentare bitcoin spendibili, ma le condizioni e la serializzazione utilizzate quando vengono spesi non sono identiche.

L'indirizzo non è la chiave privata

La chiave privata rimane separata dall'indirizzo. Un portafoglio utilizza il materiale della chiave privata per creare la firma o i dati witness richiesti dalla condizione di spesa. Pubblicare un indirizzo di ricezione non pubblica la chiave privata.

Anche il contrario è importante: vedere un indirizzo non prova che una particolare persona controlli la chiave corrispondente. L'analisi della blockchain può osservare transazioni e output, ma una stringa di indirizzo da sola non è prova di identità.

Perché Esistono Più Formati

Bitcoin ha più formati di indirizzo perché il sistema di transazioni si è evoluto mantenendo la compatibilità con gli output più vecchi. I nuovi formati non hanno sostituito i vecchi output sulla blockchain. Invece, hanno introdotto modi aggiuntivi per esprimere le condizioni di spesa.

I quattro formati che la maggior parte degli utenti incontra sulla mainnet di Bitcoin sono:

  • P2PKH legacy, comunemente visualizzato con un indirizzo che inizia con 1.
  • P2SH, comunemente inizia con 3; SegWit annidato è un uso importante di P2SH, ma non l'unico.
  • SegWit nativo, codificato con Bech32 e comunemente inizia con bc1q per la versione witness 0.
  • Taproot, codificato con Bech32m e inizia con bc1p per gli output P2TR versione witness 1.

Il cambiamento importante non è l'aspetto della stringa. È ciò che la destinazione decodificata dice al portafoglio di inserire nel nuovo output.

Tipi di Indirizzi Bitcoin a Confronto

Nome comunePrefisso della mainnetCodificaOutput tipicoCosa ti dice il prefisso
Legacy1Base58CheckP2PKHFamiglia di byte di versione per un indirizzo mainnet di hash di chiave pubblica
P2SH (incluso SegWit annidato)3Base58CheckP2SH; SegWit annidato è una possibile costruzione di redeem scriptLa destinazione è P2SH, non lo script di riscatto esatto al suo interno
SegWit nativobc1qBech32Witness v0, comunemente P2WPKH o P2WSHDestinazione mainnet Bech32 witness-version-0
Taprootbc1pBech32mP2TRDestinazione mainnet witness-version-1 Taproot

Questa tabella è utile per l'identificazione, ma il prefisso non è una descrizione completa del comportamento di spesa futuro. L'esempio più chiaro è un 3... indirizzo: identifica P2SH, ma P2SH può impegnarsi a molti redeem script. SegWit annidato è solo una possibilità.

Indirizzi P2PKH legacy

Pay-to-public-key-hash legacy, o P2PKH, è il formato di indirizzo più strettamente associato ai primi software di portafoglio Bitcoin. Su mainnet, questi indirizzi Base58Check normalmente iniziano con 1.

L'indirizzo rappresenta un hash di una chiave pubblica. Quando un portafoglio paga a quella destinazione, crea uno script di blocco P2PKH che richiede una firma valida e la corrispondente chiave pubblica quando l'output viene speso.

OP_DUP
OP_HASH160
<20-byte public-key hash>
OP_EQUALVERIFY
OP_CHECKSIG

L'indirizzo visibile quindi non è lo script stesso. Il portafoglio decodifica l'indirizzo Base58Check, estrae la versione e il payload, e costruisce il scriptPubKey appropriato.

Gli output P2PKH rimangono output Bitcoin validi. “Legacy” non significa non valido o automaticamente non sicuro. La distinzione diventa rilevante quando si confronta la struttura della transazione: spendere un output P2PKH tradizionale colloca i dati di sblocco nello script di input piuttosto che utilizzare la serializzazione witness SegWit.

Questa differenza può aumentare il peso della transazione rispetto ai comuni spend di chiave SegWit. Non significa che un pagamento P2PKH abbia automaticamente una commissione particolare. Numero di input, numero di output, tasso di commissione selezionato e il resto della transazione firmata determinano comunque il costo finale.

P2SH e SegWit annidato

Pay-to-script-hash, o P2SH, ha spostato parte della logica di spesa dietro un hash. Gli indirizzi P2SH su mainnet usano Base58Check e normalmente iniziano con 3.

Un output P2SH standard inserisce l'hash dello script di riscatto nello script di blocco:

OP_HASH160
<20-byte script hash>
OP_EQUAL

Lo script di riscatto completo viene fornito solo quando l'output viene speso. Questo ha creato uno strumento di compatibilità importante quando è stato introdotto SegWit: un programma witness SegWit poteva essere inserito all'interno di uno script di riscatto P2SH, consentendo a un mittente che comprendeva i normali indirizzi P2SH di pagare un output che sarebbe stato successivamente speso utilizzando le regole SegWit.

Una costruzione comune a chiave singola è chiamata P2SH-P2WPKH:

Indirizzo P2SH
    ↓
hash di redeemScript
    ↓
redeemScript contiene un programma witness P2WPKH
    ↓
firma e chiave pubblica vengono fornite tramite i dati witness quando speso

Un prefisso 3 non prova SegWit

Questo è uno dei limiti più importanti dell'identificazione visiva degli indirizzi. Un indirizzo che inizia con 3 ti dice che la destinazione utilizza la versione dell'indirizzo P2SH mainnet. Non rivela lo script di riscatto completo prima che l'output venga speso.

P2SH esisteva prima di SegWit e può avvolgere altri script. Trattare ogni 3... indirizzo come “un indirizzo SegWit” è quindi troppo ampio.

Confine tecnico: il prefisso identifica il formato dell'indirizzo esterno. Non prova lo script esatto nascosto dietro un hash P2SH.

SegWit nativo e bc1q

SegWit nativo rimuove il wrapper di compatibilità P2SH e rappresenta direttamente il programma witness. BIP 173 ha introdotto la codifica Bech32 per gli indirizzi SegWit nativi.

Sulla mainnet di Bitcoin, la parte leggibile dall'uomo è bc. La versione witness 0 produce indirizzi comunemente riconoscibili dall'inizio bc1q.

Due output comuni di versione witness 0 sono:

  • P2WPKH: un programma witness di 20 byte comunemente usato per pagamenti a portafogli a chiave singola.
  • P2WSH: un programma witness di 32 byte che si impegna a uno script witness.

L'indirizzo stesso fornisce al portafoglio la versione del witness e il programma. Per la versione del witness 0, gli script di output comuni hanno queste forme:

P2WPKH: OP_0 <20-byte key hash>
P2WSH:  OP_0 <32-byte script hash>

L'output contiene direttamente il programma witness invece di un wrapper P2SH. Quando l'UTXO viene speso, la firma o i dati dello script richiesti dal programma witness vengono forniti nel witness della transazione piuttosto che in un scriptSig tradizionale in stile P2PKH.

Bech32 cambia anche il rilevamento degli errori

Bech32 non è semplicemente un alfabeto diverso. Include un checksum progettato per questa famiglia di indirizzi e separa la parte leggibile del network dall'umano dai dati witness codificati.

Le stringhe Bech32 non devono mescolare caratteri maiuscoli e minuscoli. I portafogli normalmente visualizzano gli indirizzi Bech32 della mainnet di Bitcoin in minuscolo. Una codifica completamente maiuscola può essere valida secondo la specifica, ma il caso misto non è valido.

Taproot e bc1p

Taproot ha introdotto pay-to-Taproot, o output P2TR. P2TR usa witness version 1 con un programma witness di 32 byte. Sulla mainnet Bitcoin, l'indirizzo risultante inizia con bc1p.

Witness version 1 e successive usano Bech32m piuttosto che il checksum Bech32 originale. BIP 350 ha introdotto questo cambiamento dopo che è stata identificata una debolezza nell'uso del comportamento del checksum Bech32 originale per le versioni witness più recenti.

Questo fornisce una regola pratica di identificazione:

bc1q... → versione witness 0 → Bech32
bc1p... → versione witness 1 P2TR → Bech32m

Il corrispondente script di blocco P2TR usa witness version 1 e una chiave di output Taproot di 32 byte:

OP_1 <32-byte Taproot output key>

Un output P2TR si impegna a quella chiave di output Taproot. Può essere successivamente speso tramite il percorso chiave o, se è stato impegnato un albero di script, tramite un percorso script rivelato valido.

L'indirizzo non rivela quale percorso verrà eventualmente utilizzato. Vedere bc1p ti dice che l'output è P2TR. Non ti dice se il futuro spendente userà una firma key-path o rivelerà un percorso script.

Cosa ti dicono davvero i prefissi Bitcoin

I prefissi sono utili perché permettono a una persona di identificare rapidamente la probabile famiglia di indirizzi e la rete. Dovrebbero essere trattati come un controllo iniziale, non come una validazione completa.

Esempio di inizioSignificato probabile su mainnetCosa non dimostra
1...Indirizzo mainnet P2PKHProprietario, saldo o identità del destinatario
3...Indirizzo mainnet P2SHChe lo script di riscatto sia SegWit annidato
bc1q...Indirizzo nativo witness-version-0Se sia P2WPKH o P2WSH solo dal prefisso
bc1p...Indirizzo witness-version-1 P2TRQuale percorso di spesa Taproot verrà utilizzato in seguito

Il prefisso inoltre non può autenticare la persona che ti ha dato l'indirizzo. Un indirizzo perfettamente codificato e con checksum valido può comunque appartenere al destinatario sbagliato.

La rete viene prima del tipo di indirizzo

Prima di scegliere tra Legacy, SegWit o Taproot, conferma che l'indirizzo appartenga alla rete Bitcoin che intendi usare.

Gli indirizzi della famiglia Bech32 rendono questo visibile attraverso la loro parte leggibile dall'uomo. BIP 173 definisce bc per la mainnet Bitcoin e tb per gli indirizzi testnet Bitcoin. La parte leggibile dall'uomo è quindi parte della validazione della rete, non una decorazione.

Anche le famiglie di indirizzi Base58Check usano byte di versione diversi tra mainnet e reti di test, anche se la differenza è meno ovvia per un utente che guarda solo la stringa.

Un wallet dovrebbe rifiutare una combinazione rete/indirizzo non supportata, ma la responsabilità finale è comunque confermare la rete mostrata dall'applicazione di invio. Il riconoscimento del formato dell'indirizzo non sostituisce la verifica della rete.

Per il contesto più ampio della transazione—input, output, conferme e il livello base Bitcoin—usa il riferimento di rete Bitcoin.

Tipo di indirizzo e commissioni di transazione

È comune sentire che un indirizzo Bitcoin più recente è “più economico”. Questa affermazione è utile in modo direzionale in alcuni confronti, ma troppo semplice per essere usata come regola per le commissioni.

L'indirizzo scelto da un destinatario influisce sul tipo e sulla dimensione serializzata dell'output creato oggi. Più importante, quando quell'output viene speso in seguito, il suo tipo di script influisce sulla struttura dell'input di transazione corrispondente.

SegWit cambia anche la contabilità Weight delle transazioni perché i byte witness hanno un peso diverso dai byte non witness. Una spesa chiave Native SegWit comune ha quindi un profilo Weight diverso da una spesa Legacy P2PKH comparabile. Questo influisce sulla dimensione virtuale quando il UTXO viene speso, ma non fissa comunque la commissione totale in anticipo.

Lo stesso importo BTC può portare a costi futuri diversi

Considera due utenti che ricevono ciascuno la stessa quantità di bitcoin. Uno riceve un output P2PKH e l'altro riceve un output P2WPKH. Il valore è identico. La struttura dell'input futuro non lo è.

Quando quei UTXO vengono spesi in seguito, i loro dati di sblocco sono serializzati in modo diverso. Questo cambia la Weight della transazione e quindi la dimensione virtuale. Allo stesso tasso sat/vB, un diverso vSize significa una commissione totale diversa.

Questo è uno scenario tecnico illustrativo, non un record di transazione utente o un'affermazione su un wallet specifico.

Il tipo di indirizzo ancora non determina da solo la commissione finale. Una transazione con molti input SegWit efficienti può essere più grande di una con un singolo input Legacy. Anche il numero di output, le firme, i percorsi di script e la tariffa scelta contano.

Per la relazione completa tra Weight, dimensione virtuale e sat/vB, leggi come funzionano le commissioni di transazione Bitcoin. Quando hai bisogno di una stima specifica per la transazione piuttosto che un confronto concettuale, usa il Calcolatore Commissioni Transazione Bitcoin.

Compatibilità è un controllo del mittente

Un indirizzo Bitcoin valido non è utile per un flusso di pagamento se il portafoglio di invio o il servizio di prelievo non comprende il formato.

Questa distinzione è stata particolarmente importante durante l'adozione di Native SegWit e successivamente Taproot. La rete Bitcoin poteva riconoscere il tipo di output mentre le applicazioni più vecchie non supportavano la creazione di quella destinazione.

Quando un servizio rifiuta un bc1q o bc1p indirizzo, non modificare manualmente l'indirizzo. Non rimuovere caratteri, cambiare il prefisso o convertirlo tramite un sito web arbitrario. Usa un formato di indirizzo che il tuo portafoglio ricevente ha effettivamente generato e che il mittente supporta esplicitamente.

Inviare tra formati non è conversione

Non hai bisogno di un portafoglio Legacy per pagare un indirizzo Legacy o un portafoglio Taproot per pagare un indirizzo Taproot nel senso di abbinare i formati di origine e destinazione. La transazione di invio consuma qualsiasi UTXO supportato che il portafoglio seleziona e crea un nuovo output per lo script di destinazione.

La domanda rilevante è se il software di invio può decodificare e costruire l'output di destinazione richiesto.

Un indirizzo valido può comunque essere sbagliato

I checksum catturano alcuni errori di trascrizione. Non autenticano il destinatario previsto.

Se un malware sostituisce un indirizzo copiato con un altro indirizzo Bitcoin valido, la sostituzione può superare perfettamente la validazione del checksum. Il formato tecnico è valido; la destinazione è sbagliata.

Ecco perché “il portafoglio ha accettato l'indirizzo” non è il controllo di sicurezza finale. L'accettazione ti dice che il software ha riconosciuto una destinazione valida o supportata. Non prova da dove proviene l'indirizzo.

Verifica prima di inviare

Un processo di verifica utile separa la validazione del formato dalla validazione del destinatario.

  1. Conferma la rete. Assicurati che il portafoglio o il servizio stia inviando Bitcoin sulla rete Bitcoin prevista piuttosto che su un altro asset o ambiente di test.
  2. Leggi la famiglia di indirizzi. A 1, 3, bc1q o bc1p il prefisso ti dà un indizio iniziale sul formato.
  3. Conferma il supporto del mittente. Il servizio di prelievo o il portafoglio deve accettare esplicitamente il formato di destinazione.
  4. Verifica la destinazione tramite un canale affidabile. Confronta l'indirizzo completo su un display affidabile quando pratico piuttosto che fare affidamento solo su pochi caratteri iniziali e finali.
  5. Rivedi la schermata finale della transazione del portafoglio. Conferma il destinatario, l'importo, la commissione di rete e eventuale resto prima di firmare.
  6. Proteggi il materiale privato. La verifica dell'indirizzo di ricezione non richiede mai di inserire una frase seed o una chiave privata in un sito web.

Per trasferimenti di grandi dimensioni o operativamente sensibili, le organizzazioni spesso aggiungono procedure di verifica della destinazione indipendenti. Quelle procedure sono un controllo operativo, non una proprietà di uno specifico formato di indirizzo Bitcoin.

Il riutilizzo dell'indirizzo è una questione separata

Un indirizzo Bitcoin non scade a livello di protocollo semplicemente perché è stato usato una volta. Se la condizione di spesa corrispondente rimane controllabile, pagamenti futuri allo stesso indirizzo possono ancora creare output validi.

Ciò non rende desiderabile il riutilizzo dell'indirizzo. Riutilizzare un indirizzo di ricezione può rendere più facile associare le transazioni sulla blockchain pubblica e può ridurre la privacy.

Questa questione di privacy è separata dal fatto che l'indirizzo sia P2PKH, P2SH, P2WPKH o P2TR. Un formato di indirizzo moderno non rende privato l'uso ripetuto della stessa destinazione visibile.

I limiti della validazione dell'indirizzo

La validazione del formato risponde a una domanda ristretta: se la stringa può essere decodificata come il tipo previsto di destinazione Bitcoin secondo le regole di indirizzo pertinenti. Non autentica la persona che l'ha fornita, non prova la proprietà di una chiave privata, non prova il saldo totale di un portafoglio, non garantisce che un servizio supporti il formato, né determina la commissione finale della transazione.

Inoltre, non può rivelare informazioni deliberatamente nascoste dalla costruzione dell'output. Un indirizzo P2SH non espone lo script di riscatto completo prima della spesa, e un indirizzo P2TR non ti dice in anticipo se la spesa futura utilizzerà il percorso della chiave o rivelerà un percorso di script. Tratta la decodifica riuscita come un controllo nel processo di pagamento, non come prova che ogni presupposto circostante sia corretto.

Scelta del formato di ricezione

L'impostazione predefinita più sicura è utilizzare un indirizzo generato dal wallet che controlli effettivamente, piuttosto che costruire o convertire manualmente un indirizzo.

Se il wallet ricevente offre più di un tipo di indirizzo, usa il tipo che corrisponde alla politica di script prevista dal wallet e che il mittente può decodificare. Un indirizzo P2WPKH è appropriato quando il wallet genera intenzionalmente una destinazione witness-version-0 key-hash. Un indirizzo P2TR è appropriato quando il wallet genera intenzionalmente una destinazione Taproot e il mittente la supporta. Le destinazioni più vecchie P2PKH o P2SH rimangono valide quando un flusso di lavoro richiede tali formati.

Non selezionare un formato solo perché qualcuno afferma che è “il più economico”. L'output che crei oggi diventa un input solo quando viene speso in seguito, e il costo finale di quella transazione futura dipende dalla struttura completa della transazione e dalla tariffa.

L'indirizzo dovrebbe provenire dal wallet ricevente. Il mittente dovrebbe supportarlo. La rete dovrebbe corrispondere. Questi tre controlli contano più che inseguire un prefisso da solo.

FAQ sugli indirizzi Bitcoin

Qual è la differenza tra bc1q e bc1p?

bc1q è comunemente l'inizio di un indirizzo Bitcoin mainnet witness-version-0 codificato con Bech32, come P2WPKH o P2WSH. bc1p identifica un indirizzo P2TR mainnet witness-version-1 codificato con Bech32m.

Ogni indirizzo Bitcoin che inizia con 3 usa SegWit?

No. Un indirizzo mainnet che inizia con 3 è un indirizzo P2SH. Il SegWit annidato può usare P2SH, ma P2SH può impegnarsi in altri script di riscatto, quindi il prefisso da solo non prova che l'output sia SegWit annidato.

Gli indirizzi Bitcoin sono sensibili alle maiuscole?

Gli indirizzi Base58Check usano un alfabeto sensibile alle maiuscole. Le codifiche Bech32 e Bech32m non devono mescolare caratteri maiuscoli e minuscoli; i wallet Bitcoin normalmente li mostrano in minuscolo. Non cambiare manualmente il caso di un indirizzo.

Posso inviare Bitcoin da un tipo di indirizzo a un altro?

Sì, quando il wallet mittente supporta il formato di destinazione. Una transazione può spendere un tipo di input supportato e creare un diverso tipo di output supportato. I prefissi di origine e destinazione non devono corrispondere.

Un indirizzo Bitcoin scade?

Nessuna regola di protocollo fa scadere un normale indirizzo Bitcoin dopo una data prestabilita o dopo un pagamento. I wallet spesso generano nuovi indirizzi di ricezione perché il riutilizzo degli indirizzi può ridurre la privacy, non perché gli indirizzi generati in precedenza diventano automaticamente non validi.

Quale tipo di indirizzo Bitcoin dovrei usare?

Usa un indirizzo generato dal wallet ricevente per la rete Bitcoin e il tipo di script che intendi utilizzare, poi conferma che il mittente supporti quel formato. Il SegWit nativo è comune per i pagamenti moderni, mentre Taproot è appropriato quando entrambe le parti supportano P2TR. Non trasformare manualmente un formato di indirizzo in un altro.

Fonti tecniche

Le descrizioni dei formati di indirizzo sopra si basano su Bitcoin Improvement Proposals e documentazione Bitcoin Core. Questi riferimenti definiscono codifiche di indirizzo, programmi witness e comportamento degli script; non provano l'identità o la sicurezza di un indirizzo di ricezione specifico. L'approccio più ampio alle fonti di BitcoinToolkit è descritto nella Fonti dei dati page.

Fonti

  1. BIP 13: Formato di indirizzo P2SH
  2. BIP 141: Segregated Witness
  3. BIP 173: Indirizzi Bech32 nativi SegWit
  4. BIP 350: Bech32m
  5. BIP 341: Taproot
  6. Descrittori di output Bitcoin Core

Utilità correlate

Strumenti correlati

Centro argomenti

Monete correlate

BTC

Bitcoin

Dati di mercato di riferimento Bitcoin, candele spot BTC/USDT, strumenti pratici e indicazioni di rete revisionate.

Revisionato il 2026-07-25

Esplora Bitcoin →

Continua a imparare

Guide correlate

Cos'è un Satoshi?

Un satoshi è l'unità più piccola rappresentata in Bitcoin. Scopri la relazione con BTC, le unità intermedie e gli esempi di conversione esatti.

Leggi la guida →