La Master public key o extended public key (xpub), in italiano chiave pubblica estesa, è la chiave pubblica madre di un wallet Bitcoin gerarchico deterministico.
Introdotta nel 2012 con la BIP-32, la chiave pubblica estesa fa parte di qualsiasi wallet gerarchico deterministico, consentendo la generazione di un numero quasi illimitato di indirizzi in modo semplice.
Dalla chiave pubblica estesa vengono derivate tutte le chiavi pubbliche figlie e da queste vengono creati gli indirizzi Bitcoin.
Una Master public key (XPUB) si ottiene partendo dalla Master private key (XPRV) attraverso un’operazione chiamata moltiplicazione a curva ellittica (si moltiplica la chiave privata per un punto costante della curva ellittica detto punto di generazione).
Controllando la gestione degli indirizzi, ma non delle chiavi private, la chiave pubblica estesa permette di visualizzare tutte le transazioni e il saldo di un wallet. Condividere la propria XPUB con una terza parte può compromettere la privacy.
Entrando in possesso della XPUB, è possibile conoscere tutti gli indirizzi di un wallet, ma non è possibile spendere i fondi presenti al suo interno.
Esempio di una chiave pubblica estesa:
xpub6EEtbhR6LZ2NrgJTD69z3B9rFQJQvrEfunmYKyCBiq1MRuQrVWX2h4CD1YzQS1XukeuP5bfzvudWLFJN3dkj8eQucDCWhSYcyu45PMSedj9
La chiave pubblica estesa consente più facilmente la generazione di un nuovo indirizzo. Utilizzare un indirizzo diverso ogni volta che si desideri ricevere bitcoin è una pratica fondamentale per proteggere la privacy del destinatario dei fondi.