BIP-84: Standard nativo di derivazione degli indirizzi SegWit di Bitcoin

BIP84 è una proposta di miglioramento di Bitcoin che definisce lo schema di derivazione del portafoglio deterministico gerarchico (HD) per la generazione di indirizzi nativi di Segregated Witness utilizzando il tipo di script P2WPKH (Pay-to-Witness-Public-Key-Hash).

Scritto da Pavol Rusnak, BIP-84 standardizza il modo in cui i portafogli compatibili derivano gli indirizzi Bitcoin da un seed di recupero. I suoi indirizzi mainnet utilizzano il Bech32 formato di codifica e in genere inizia con bc1q.

BIP-84 si basa sull'aggiornamento SegWit di Bitcoin, che ha ridotto il costo in termini di peso della transazione dei dati del testimone. Utilizzando SegWit nativo anziché i vecchi formati legacy o wrappati di SegWit, le transazioni P2WPKH possono richiedere meno spazio nel blocco nei comuni scenari di spesa a firma singola.

La proposta è particolarmente utile per l'interoperabilità dei wallet. I wallet compatibili possono seguire le stesse regole di derivazione per individuare lo stesso account e gli stessi indirizzi a partire dallo stesso seed e percorso di derivazione.

BIP84 in sintesi

ProprietàEccezionale
numero BIP84
AutorePaolo Rusnak
Statoschierato
Formato indirizzoSegWit/Bech32 nativo
prefisso dell'indirizzo della rete principalebc1q
Tipo di scriptP2WPKH
Percorso di derivazione a livello di contom/84'/0'/0'
Percorso di scarificazione completom/84'/coin_type'/account'/change/address_index
Bitcoin mainnet coin type0'
Scopo principaleStandardizza la derivazione degli indirizzi per gli account SegWit nativi.

Tipologie di indirizzo e confronto delle tariffe

BIP-84 è uno dei diversi standard di derivazione dei portafogli Bitcoin. BIP-44 è comunemente associato agli indirizzi P2PKH legacy, BIP-49 agli indirizzi SegWit incapsulati e BIP-86 agli output Taproot a chiave singola.

La tabella seguente confronta le dimensioni indicative di una transazione tipica a singolo input e due output. Le dimensioni effettive dipendono dalla struttura della transazione e dai dettagli della firma.

Tipo di IndirizzoBIP associatoPrefisso della rete principaleDimensione approssimativa della transazioneDimensioni relative rispetto al passato
Legacy P2PKHBIP-441...226 vB100%
Segmento avvolto P2SH-P2WPKHBIP-493...167 vB74%
Native SegWit P2WKKHBIP-84bc1q...141 vB62%
Taproot P2TR, spesa chiave-percorsoBIP-86bc1p...154 vB68%

Queste stime si basano su una transazione comparabile con un input e due output del tipo pertinente. Le commissioni di transazione vengono calcolate utilizzando la dimensione virtuale e la tariffa in satoshi per byte virtuale (sat/vB). Una transazione più piccola generalmente costa meno a parità di tariffa, ma il formato più economico può variare in base alla struttura della transazione.

Leggi anche: Sistema di Bretton Woods

Origine e storia

2017: Attivazione di SegWit

Bitcoin ha attivato Segregated Witness (SegWit) nell'agosto del 2017. L'aggiornamento ha modificato il modo in cui i dati del witness vengono contabilizzati nel peso della transazione e ha introdotto nuove strutture di transazione, tra cui output nativi P2WPKH.

BIP-173 specificava il formato di codifica degli indirizzi Bech32 per gli output di witness nativi di SegWit.

Dicembre 2017: Pubblicazione del BIP-84

Pavol Rusnak è l'autore di BIP-84 per standardizzare lo schema di derivazione per i portafogli HD utilizzando indirizzi nativi SegWit P2WPKH. La proposta ha introdotto il valore di scopo 84' nel percorso di derivazione.

Ciò ha fornito ai portafogli compatibili un metodo coerente per creare e recuperare account SegWit nativi a partire dallo stesso seed.

Dal 2018 in poi: supporto più ampio per i portafogli digitali.

Man mano che i portafogli Bitcoin, i firmatari hardware, gli exchange e altri servizi hanno aggiunto il supporto nativo a SegWit, gli utenti hanno ottenuto maggiori opportunità di ricevere e spendere BTC attraverso bc1q indirizzi.

Il supporto e le impostazioni predefinite variano a seconda del portafoglio e del servizio. BIP-84 fornisce uno standard, ma non obbliga ogni portafoglio o exchange ad utilizzarlo di default.

2021: Taproot e BIP-86

Bitcoin ha attivato Taproot nel novembre 2021. Successivamente, BIP-86 ha fornito uno schema di derivazione standard per gli output Pay-to-Taproot (P2TR) a chiave singola.

Taproot ha introdotto funzionalità di spesa e di scripting diverse da quelle di P2WPKH. La sua disponibilità implica che BIP-84 non sia il più recente standard di derivazione degli indirizzi Bitcoin, sebbene rimanga utile per i wallet nativi di SegWit.

Ottieni la carta UPay Crypto

Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.

Registrati

Come funziona BIP-84

BIP-84 specifica come un portafoglio HD deriva chiavi e indirizzi da un seme master. Utilizza la stessa struttura gerarchica generale di BIP-44 e BIP-49, ma assegna 84' come valore di scopo per identificare gli account nativi SegWit P2WPKH.

Il percorso di derivazione è:

m/84'/coin_type'/account'/change/address_index

Ciascun componente ha un ruolo specifico:

Componente del percorsoSignificato
mLa chiave principale alla base del portafoglio HD
84'Identifica lo schema di derivazione BIP-84
coin_type'Identifica la criptovaluta; la rete principale di Bitcoin utilizza 0'
account'Seleziona l'account all'interno del portafoglio
changeIdentifica la catena di ricezione esterna (0) o catena di cambiamento interna (1)
address_indexIdentifica un indirizzo individuale all'interno della catena

Ad esempio, il primo indirizzo di ricezione in un account Bitcoin mainnet BIP-84 utilizza:

m/84'/0'/0'/0/0

L'indirizzo di prima modifica corrispondente utilizza:

m/84'/0'/0'/1/0

Dopo aver ricavato la chiave pubblica pertinente, il portafoglio crea un output P2WPKH e codifica il suo indirizzo utilizzando Bech32.

Perché l'indirizzo inizia con bc1q

Gli indirizzi nativi della mainnet di Bitcoin SegWit versione 0 utilizzano il prefisso leggibile dall'uomo bc seguito dal separatore Bech32 1I dati relativi all'indirizzo identificano la versione e il programma del testimone.

P2WPKH utilizza un programma witness di versione 0 contenente un hash a chiave pubblica di 20 byte, producendo il familiare bc1q formato dell'indirizzo.

Il checksum Bech32 aiuta anche a rilevare molti errori di digitazione e trascrizione. Non può garantire che l'utente abbia copiato l'indirizzo del destinatario corretto, quindi è comunque consigliabile verificare gli indirizzi prima di inviare denaro.

Leggi anche: Proposta di miglioramento di Ethereum (EIP)

BIP-84 in termini semplici

1. Uno standard per la generazione di indirizzi Bitcoin

Considera BIP-84 come un insieme di istruzioni che i wallet compatibili seguono per generare indirizzi Bitcoin SegWit nativi a partire da una frase di recupero.

Anziché ogni portafoglio inventare le proprie regole di derivazione, i portafogli compatibili utilizzano la stessa struttura per identificare lo stesso account e gli stessi indirizzi.

2. Minori costi di transazione nei casi più comuni

Le transazioni native SegWit utilizzano lo spazio del blocco Bitcoin in modo più efficiente rispetto alle transazioni legacy comparabili. Ciò può ridurre le commissioni di transazione a parità di tariffa applicata.

Per una tipica transazione con un input e due output, una transazione nativa SegWit può essere circa il 38% più piccola rispetto alla sua equivalente legacy. Il risparmio esatto dipende dal numero e dal tipo di input e output.

3. Recuperare un portafoglio

Un portafoglio compatibile può rigenerare gli indirizzi BIP-84 dallo stesso seed di recupero quando vengono selezionati il ​​percorso di derivazione e l'account corretti.

Tuttavia, il solo possesso della frase di recupero non garantisce che ogni portafoglio visualizzi automaticamente i fondi. Il portafoglio deve supportare lo standard di derivazione pertinente e individuare l'account corretto.

4. SegWit nativo contro Taproot

BIP-84 genera bc1q Indirizzi nativi SegWit. BIP-86 genera bc1p Indirizzi Taproot a chiave singola.

Taproot supporta condizioni di spesa aggiuntive e funzionalità di scripting, ma non è automaticamente più economico per ogni transazione semplice. Il tipo di indirizzo più adatto dipende dalla compatibilità con il wallet, dai requisiti di spesa e dalla struttura della transazione.

Importante: esegui sempre un backup sicuro della tua frase di recupero. Non condividerla mai con l'assistenza clienti del portafoglio, con siti web o con altre persone. Chiunque venga in possesso della frase di recupero potrebbe accedere ai fondi associati.

Esempi del mondo reale

Esempio 1: Creazione di un portafoglio SegWit nativo

Scenario: Un utente desidera creare un portafoglio Bitcoin con indirizzi SegWit nativi.

Implementazione L'utente crea un account BIP-84 in un portafoglio compatibile. Il portafoglio utilizza il percorso di derivazione m/84'/0'/0' per il primo account sulla rete principale di Bitcoin e ricava gli indirizzi di ricezione sottostanti a tale account.

Risultato: Il portafoglio genera bc1q Riceve gli indirizzi e può utilizzare le strutture di transazione native di SegWit quando spende i fondi.

Esempio 2: Confronto delle commissioni di transazione

Scenario: Un utente sta confrontando il costo previsto per l'invio di BTC da indirizzi legacy e nativi SegWit.

Implementazione: Il portafoglio stima la dimensione della transazione in byte virtuali e la moltiplica per la commissione applicabile.

Risultato: una transazione SegWit nativa comparabile richiederà generalmente meno spazio nel blocco rispetto a una transazione legacy. Il risparmio effettivo sulle commissioni dipende dagli input, dagli output della transazione e dalle condizioni di rete.

Esempio 3: Recuperare un account in un altro portafoglio

Scenario: Un utente deve ripristinare un portafoglio Bitcoin in un'applicazione diversa dopo aver perso l'accesso al dispositivo originale.

Implementazione: L'utente ripristina la frase di recupero in un portafoglio compatibile e seleziona l'account BIP-84 o il percorso di derivazione corretto.

Esito: Il portafoglio può rigenerare gli indirizzi dell'account e identificare i fondi associati, a condizione che la frase di recupero, il percorso di derivazione e le informazioni sull'account siano corretti. Un portafoglio che utilizza uno standard di derivazione diverso potrebbe non visualizzare automaticamente lo stesso account.

Leggi anche: Aggregatore DEX da 1 pollice: come funziona, caratteristiche, vantaggi e rischi

Vantaggi del BIP-84

Vantaggio Descrizione
Dimensioni della transazione ridotteRispetto ai formati tradizionali, SegWit nativo può ridurre le commissioni per transazioni comparabili.
derivazione standardizzataI portafogli compatibili possono seguire le stesse regole di derivazione per identificare account e indirizzi.
Rilevazione erroriBech32 include un checksum progettato per rilevare numerosi errori di trascrizione degli indirizzi.
Supporto SegWitP2WPKH utilizza le strutture di transazione native di SegWit e beneficia delle regole di ponderazione dei dati di testimonianza.
Recupero del portafoglioUn portafoglio compatibile può rigenerare gli indirizzi dallo stesso seed e dallo stesso percorso di derivazione.
Ampio supporto dell'ecosistemaMolti moderni portafogli e servizi Bitcoin supportano nativamente SegWit, sebbene sia opportuno verificarne la compatibilità ove necessario.

Svantaggi e rischi

Svantaggio o rischioDescrizione
Compatibilità legacyAlcuni servizi o implementazioni di wallet meno recenti potrebbero non supportare gli indirizzi SegWit nativi.
Incongruenza del percorso di recuperoUn portafoglio potrebbe non visualizzare i fondi se effettua la ricerca nel percorso di derivazione o nell'account errato.
Confusione sul formato dell'indirizzoGli utenti potrebbero confondere bc1q Indirizzi nativi SegWit con bc1p Indirizzi Taproot o precedenti 1... and 3... formati.
Non sempre la transazione più piccolaGli input di Taproot possono essere di importo inferiore rispetto agli input di P2WPKH e la dimensione relativa della transazione dipende dal numero di input e output.
Esposizione della frase semeChiunque abbia accesso alla frase di recupero potrebbe essere in grado di ricavare le chiavi private associate e spendere i fondi.
La compatibilità non è universaleUn percorso di derivazione standardizzato non obbliga ogni portafoglio, exchange o servizio a supportarlo.

Suggerimenti per la gestione del rischio

1. Verificare la compatibilità dell'indirizzo

Prima di inviare Bitcoin, conferma che il portafoglio o l'exchange ricevente supporti bc1q Indirizzi nativi SegWit. La maggior parte dei servizi Bitcoin moderni li supporta, ma i sistemi più vecchi o specializzati potrebbero presentare delle limitazioni.

2. Mantieni un backup di ripristino sicuro

Conserva la frase di recupero del portafoglio offline in un luogo sicuro. Non inserirla mai in un sito web sconosciuto e non condividerla con nessuno che affermi di fornire assistenza.

3. Verificare il percorso di derivazione durante il ripristino

Se i fondi non vengono visualizzati dopo il ripristino di un portafoglio, verifica che l'applicazione supporti BIP-84 e che siano selezionati il ​​conto e il percorso di derivazione corretti. Non presumere che un saldo mancante significhi che i fondi siano andati persi.

4. Conferma l'indirizzo prima di inviare

Controlla attentamente l'indirizzo del destinatario e verificalo tramite un canale affidabile. Un checksum valido non dimostra che un indirizzo appartenga al destinatario previsto.

5. Confronta le commissioni utilizzando la transazione effettiva

Non dare per scontato che ogni bc1q la transazione sarà più economica di ogni bc1p transazione. Confronta la dimensione virtuale stimata e la tariffa per la transazione che intendi effettuare.

Domande frequenti sul BIP-84

D: Il formato di indirizzo BIP-84 è il migliore per Bitcoin?

BIP-84 è una scelta ampiamente supportata per le transazioni native SegWit P2WPKH. Offre spesso una buona efficienza in termini di commissioni per i pagamenti standard a firma singola e presenta un'ampia compatibilità con i wallet.

Taproot, standardizzato per la derivazione di portafogli a chiave singola da BIP-86, supporta funzionalità di spesa aggiuntive e potrebbe essere più efficiente per alcune strutture di transazione. Nessuno dei due formati è universalmente il migliore per ogni caso d'uso.

D: Gli indirizzi BIP-84 possono ricevere Bitcoin da portafogli legacy?

Sì, a condizione che il portafoglio mittente supporti l'invio ad indirizzi SegWit nativi. Il portafoglio del mittente in genere non ha bisogno di utilizzare BIP-84 per inviare BTC a un indirizzo SegWit nativo. bc1q indirizzo.

Se un servizio non supporta gli indirizzi SegWit nativi, verifica se supporta un altro tipo di indirizzo Bitcoin compatibile prima di procedere.

D: Come faccio a sapere se il mio portafoglio utilizza BIP-84?

Un indirizzo di ricezione della rete principale di Bitcoin che inizia con bc1q è comunemente un indirizzo nativo SegWit P2WPKH. Un indirizzo che inizia con 3 è comunemente un indirizzo P2SH, che può essere avvolto SegWit, mentre un indirizzo che inizia con 1 è comunemente P2PKH legacy.

I prefissi degli indirizzi sono indizi utili, ma verificare il tipo di conto del portafoglio o il percorso di derivazione è un metodo più affidabile per confermare lo standard utilizzato.

D: Posso passare da BIP-44 o BIP-49 a BIP-84?

Molti wallet consentono agli utenti di creare un account BIP-84 separato. Se il wallet lo supporta, l'utente può trasferire fondi da un account esistente a un nuovo indirizzo nativo SegWit.

Alcuni wallet possono anche recuperare più tipi di account dallo stesso seed utilizzando percorsi di derivazione differenti. La necessità di un trasferimento dipende dalle funzionalità del wallet e dalla configurazione dell'utente. I trasferimenti on-chain comportano commissioni di rete.

D: Il BIP-84 rende private le transazioni Bitcoin?

No. BIP-84 standardizza la derivazione degli indirizzi e utilizza gli output nativi di SegWit P2WPKH. Non garantisce intrinsecamente l'anonimato delle transazioni né impedisce l'analisi della blockchain.

Le transazioni Bitcoin rimangono registrate pubblicamente e il riutilizzo degli indirizzi o i collegamenti tra le transazioni possono rivelare informazioni sull'attività del portafoglio.

D: Gli indirizzi BIP-84 sono più economici degli indirizzi Taproot?

Non in ogni situazione. Per una tipica transazione a singolo input e due output, una transazione P2WPKH può essere più piccola di una transazione Taproot con percorso chiave comparabile, perché gli output di Taproot sono più grandi.

Gli input principali sono generalmente di importo inferiore, pertanto il costo relativo può variare quando una transazione contiene più input. La struttura della transazione determina la dimensione finale e la commissione.

Termini correlati

TermineRapporto
BIP-49Definisce lo schema di derivazione del portafoglio HD per gli indirizzi SegWit P2WPKH incapsulati.
BIP-44Definisce una struttura di derivazione comune per i portafogli HD associata agli account P2PKH preesistenti.
BIP-86Definisce uno schema di derivazione per gli output Taproot a chiave singola.
Bech32Il formato di codifica degli indirizzi utilizzato per gli indirizzi nativi SegWit versione 0, come gli indirizzi BIP-84 P2WPKH.
SegWitL'aggiornamento del protocollo Bitcoin che ha introdotto i dati di testimonianza e le regole di ponderazione delle transazioni utilizzate da SegWit nativo.
Portafoglio HDUn portafoglio che deriva più coppie di chiavi e indirizzi da un seme principale.
Percorso di derivazioneLa sequenza strutturata utilizzata per ricavare una chiave o un indirizzo specifico da un portafoglio HD.
P2WPKHIl tipo di script nativo SegWit standardizzato per gli account BIP-84.

Conclusione

BIP-84 standardizza il modo in cui i portafogli deterministici gerarchici compatibili derivano gli indirizzi nativi SegWit P2WPKH da un seed di recupero. bc1q Il formato dell'indirizzo supporta strutture di transazione efficienti, un recupero standardizzato dell'account e un'ampia compatibilità con la moderna infrastruttura Bitcoin.

Sebbene BIP-84 rimanga una scelta utile per i pagamenti Bitcoin standard, non è l'unico formato di indirizzo disponibile. Taproot offre funzionalità di spesa aggiuntive e l'opzione più efficiente dipende dalla struttura della transazione e dai requisiti del portafoglio.

Gli utenti devono verificare la compatibilità dell'indirizzo, eseguire un backup sicuro della propria frase di recupero e verificare i dettagli della transazione prima di inviare BTC.

Questo articolo ha scopo puramente informativo e non costituisce consulenza finanziaria.

fonti

Novità & Eventi speciali