La Master Private Key è uno degli elementi crittografici più importanti dei portafogli deterministici o dei portafogli HD. La sicurezza dei nostri fondi dipende sempre da questa chiave. Ecco perché ti invitiamo a conoscerli e capire come funziona questo importante elemento.
La chiave privata master o Master Private Key è una chiave a 256 bit generata da una frase seme che consente la creazione di un numero infinito di chiavi in un file portafoglio deterministico o portafoglio HD. È una visita chiava privata principale che è unico per ciascuno portafoglioe che è memorizzato come radice o inizio di detto portafoglio. Dal Master Private Key il Master Public Key o Chiave pubblica principale. Quindi viene generato anche un intero set di chiavi private (Xpriv) dalla chiave privata master. E con loro puoi gestire i diversi indirizzi associati al portafoglio.
In breve, il Master Private Key avvia l'intero wallet deterministico e da esso il file Chiave pubblica principale. Ma non solo, derivano anche tutte le chiavi private (Xpriv) necessarie per gestire il saldo presente nei diversi indirizzi del wallet.
Devono interpretare un portafoglio HD come un albero. Nuovi rami possono emergere da ogni ramo. Bene, ogni nodo di questi rami permette di generare una Master Private Key. Questa chiave consentirà loro di generare chiavi pubbliche e private di tutti i rami generati da quel nodo. Tuttavia, non sarà in grado di creare le chiavi dagli altri nodi paralleli o precedenti.
Cioè, in questo modo è possibile utilizzare una Master Private Key per limitare l'utilizzo dello stesso seed. La Master Private Key del nodo 0 ha il controllo su tutti gli indirizzi che possono essere generati. Ma puoi creare chiavi che puoi controllare, ma tra di loro non possono essere controllate.
Non devi mai dare o rivelare la chiave privata principale a nessuno. A meno che tu non voglia che quella persona / macchina abbia accesso a tutti i fondi degli indirizzi generati da quella chiave.
Ruolo della chiave privata principale nei portafogli HD
L'implementazione dei portafogli o portafogli Bitcoin deterministici gerarchici, noti anche come Portafogli HD, sono stati creati con lo scopo di migliorare la sicurezza e consentire la semplificazione del processo di recupero dei fondi in essi disponibili. Sebbene siano stati sviluppati anche con lo scopo di rendere possibile la generazione e l'ottenimento di più chiavi che partono dalla stessa radice o semilla. Eliminando la necessità di generare diversi indirizzi con chiavi private casuali, come facevano i vecchi portafogli.
Questo tipo di portafogli, descritto nella BIP 32, hanno una struttura ad albero in cui una chiave principale (il Chiave privata principale) dà luogo ad una sequenza di chiavi che ne derivano, da cui derivano altri set di chiavi. Se rappresentiamo questo come una linea discendente, si potrebbe dire che il file Master Private Key interpreta il ruolo di padre e che la sequenza di chiavi generata in primo luogo saranno i suoi figli. Dopo quel set di chiavi, le nuove chiavi generate potrebbero essere viste come nipoti e così via.
I portafogli HD utilizzano l'algoritmo HMAC-SHA512 per generare un hash che derivi il file Chiave privata principale partendo da un unico seme. Quindi, dalla chiave privata master, il file CMaestro lavaggio pubblico attraverso un processo matematico di moltiplicazione della curva ellittica normale. Allo stesso modo, dallo stesso hash derivato dall'algoritmo, viene creato un codice catena che permette la generazione di nuove chiavi derivate dalle chiavi master. Cioè, dal Chiave privata principale Verranno create le chiavi private (Xpriv) che gestiscono gli indirizzi ed i loro fondi, e dalla chiave pubblica master verranno derivate le chiavi pubbliche (Xpub) da cui vengono generati gli indirizzi, ma non vengono gestite.
E poiché tutti questi dati vengono generati a partire dallo stesso seme, è possibile recuperarli. È anche possibile ricreare il portafoglio su qualsiasi dispositivo semplicemente utilizzando detto seme.
Importanza della chiave privata principale
Essere in grado di fare copie di backup, esportare o importare un portafoglio o ripristinarlo nel peggiore dei casi. Tutto questo è possibile grazie all'implementazione dei wallet HD e alla loro struttura discendente. Dove la Master chiave privata svolge una funzione importante, poiché da esso derivano tutti i set di chiavi che permettono la gestione del wallet.
Poiché tutte le informazioni nel wallet HD derivano in modo deterministico e gerarchico dal seed e, successivamente, dal Master Private Key, è possibile ricreare l'intero wallet in qualsiasi altro wallet o dispositivo compatibile partendo solo dal seed. Con assoluta certezza che il Master Private Key e verranno ripristinate anche tutte le chiavi che ne derivano, siano esse centinaia, migliaia o milioni. E con loro, ovviamente, tutti i fondi che sono stati immagazzinati.
Quindi, puoi pensare a questa struttura ad albero come se la cima di un albero fosse il file Master Private Key, da cui derivano un numero infinito di chiavi private (Xpriv) in ordine decrescente. Pertanto, ciascuna di queste chiavi private derivate può essere ripristinata semplicemente disponendo di Master Private Key. Ma non puoi fare il processo al contrario. Cioè, non può essere ripristinato a partire da una chiave privata secondaria.
Identificazione delle chiavi private principali e delle loro chiavi derivate
La struttura discendente in un portafoglio HD è infinita, quindi può essere profonda quanto desiderato. Ogni chiave derivata dalla chiave privata principale può avere 4 miliardi di chiavi derivate. Ma in aggiunta, ciascuna di queste chiavi può avere altri 4 miliardi in più e così via. Quindi può esserci un numero infinito di discendenti.
Quindi, per identificare le chiavi master e le chiavi derivate in un portafoglio HD, viene utilizzata una descrizione del percorso. Che permette di osservare ogni livello di discesa separato dal simbolo / (barra). Ciò semplifica la navigazione nella struttura ad albero del portafoglio. Ad esempio, tutte le chiavi private secondarie derivate da Master Private Key, che iniziano con la lettera m (minuscola), quindi verranno riflesse come m / x / e / z /… / in base al loro livello di discesa.
Se abbiamo la prima chiave privata secondaria (figlio) derivata dalla chiave privata principale (genitore), viene riflessa come m / 0. Se invece abbiamo una chiave privata derivata dalla secondaria (nipote), viene riflessa come m / 0/1. L'intera downline di Master Private Key soddisfa questi parametri, che vengono letti da destra a sinistra fino a raggiungere la chiave privata master.
Utilità chiavi private derivate (Xpriv)
Le chiavi private generate da Master Private Key Sono utilizzati per creare le chiavi pubbliche degli indirizzi del portafoglio. E per firmare le transazioni che vuoi effettuare con i fondi che sono disponibili a quegli indirizzi.
Queste chiavi private non possono essere distinte o differenziate da altre chiavi private generate in modo casuale. Poiché la loro particolarità di discendenza non può essere osservata al di fuori del portafoglio che li ha generati. Quindi il suo comportamento è esattamente lo stesso di una normale chiave privata.