BIP 44 (Derivation Paths for P2PKH)

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

BIP 44 definisce il Derivation Path standard per i wallet che generano indirizzi Pay-to-Public-Key-Hash (P2PKH).

BIP 44 definisce anche i prefissi da utilizzare con le chiavi estese associate.

Secondo BIP 44, i wallet che generano indirizzi P2PKH dovrebbero utilizzare un percorso di derivazione che inizia con “m/44’/”

Ciò significa che il primo indirizzo generato da un wallet Bitcoin mainnet avrà un percorso di derivazione:

m/44'/0'/0'/0/0

Inoltre, tutti questi wallet che utilizzano bitcoin mainnet dovrebbero utilizzare il prefisso "xpub" o "xprv" rispettivamente per le chiavi pubbliche e private estese.

Le chiavi estese che utilizzano lo standard BIP 44 sono quindi chiamate rispettivamente xpubs e xprvs. Se il wallet è un wallet testnet, vengono invece utilizzati i prefissi "tpub" e "tprv".

Questo standard è stato implementato per garantire che i wallet Hierarchical Deterministic (HD), come definito in BIP 32, possano importare chiavi estese e trovare il bitcoin memorizzato su quel wallet. Lo schema del wallet HD definisce un metodo per derivare un numero praticamente illimitato di chiavi pubbliche e private da un'unica chiave estesa.

Tuttavia, se una chiave estesa viene importata in un wallet senza alcuna guida, potrebbe essere difficile per il wallet trovare le chiavi con bitcoin, un requisito per visualizzare il saldo corretto per l'utente. Gli standard stabiliti da BIP 44, insieme a BIP 49 e BIP 84, risolvono questo problema. Quando un wallet importa una chiave estesa, il prefisso indica esattamente quale percorso di derivazione utilizzare per trovare bitcoin e derivare nuovi indirizzi.

Purtroppo anche i wallet che fanno riferimento al BIP44 possono aver interpretato l'implementazione in modo inconsistente.

In base al BIP44, questa gerarchia consiste di 5 livelli dopo la prima lettera separati dallo slash, con i seguenti significati:

m / purpose’ / coin_type’ / account’ / change / address_index


aggiornato il 2021-12-16