₿itcoinItaliaNetwork 

key path

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

In un wallet Bitcoin, il key path (o percorso chiave) è una stringa di numeri che identifica il percorso per una specifica chiave all'interno di un wallet gerarchico deterministico (HD).

Immagina il tuo wallet Bitcoin come un albero. La radice dell'albero è la chiave master, da cui vengono generate diverse chiavi secondarie. Ogni chiave secondaria può generare a sua volta altre chiavi secondarie, e così via. Il key path funge da mappa per navigare tra questo albero, specificando esattamente quale chiave secondaria (e le sue sottochiavi) si desidera utilizzare.

Il formato del key path dipende dal derivation path.
A volte i termini derivation path e key path sono usati in modo intercambiabile, ma in realtà hanno sfumature di significato leggermente diverse: derivation path è il tipo di percorso che un wallet può supportare, e il key path è il percorso che consente di identificare una specifica chiave.

I componenti di un key path sono:

  • Numero di livello: Indica la profondità della chiave secondaria nell'albero. La chiave master ha un livello 0, le sue chiavi secondarie di primo livello hanno un livello 1 e così via.
  • Indice: All'interno di ogni livello, ogni chiave secondaria ha un indice univoco. L'indice inizia da 0.

Ad esempio, un key path di m/84'/0'/2'/0 indica:

  • m: è la lettera iniziale che indica il tipo di master key. La lettera m minuscola indica master extended private key, o xprv, e la M maiuscola per i derivation paths per la xpub, la master extended public key.
  • 84': a BIP84 P2WPKH / indirizzi SegWit nativi che iniziano con 'bc1'
  • 0': Indica la prima chiave secondaria della chiave master. 2': La seconda chiave secondaria della prima chiave secondaria. 0: La prima chiave secondaria della seconda chiave secondaria.

I key path sono utilizzati in diversi contesti in un wallet Bitcoin:

  • Generazione di indirizzi: La chiave privata identificata dal key path viene utilizzata per generare un indirizzo Bitcoin corrispondente. Questo indirizzo può essere utilizzato per ricevere Bitcoin.
  • Firma di transazioni: La chiave privata viene utilizzata per firmare le transazioni Bitcoin, dimostrando la proprietà dei Bitcoin spesi e prevenendo la falsificazione.
  • Ripristino di un wallet: Se si perde il dispositivo o il backup del wallet, è possibile utilizzare il key path per ripristinare il wallet da una seed phrase, una sequenza di parole che codifica la chiave master.

Con l'arrivo di Taproot, keypath assume un altro significato; i Bitcoin in un output P2TR possono essere spesi pubblicando una firma per una chiave pubblica, o soddisfando uno degli script contenuti nel nel merkle tree. La prima opzione è chiamata key path, mentre la seconda è chiamata script path.

Idealmente, gli output vengono spesi utilizzando il key path che impedisce agli osservatori di conoscere le condizioni di spesa di una moneta. Una spesa tramite key path potrebbe essere un "normale" pagamento da un wallet a firma singola o multipla o il regolamento cooperativo di un contratto multiparty nascosto.

Una spesa script path fa trapelare l'esistenza di un script path e che il key path non era applicabile, ad esempio perché le parti coinvolte non sono riuscite a raggiungere un accordo.


aggiornato il 2022-11-01