Un portafoglio di criptovaluta è un dispositivo, supporto fisico, programma o servizio che memorizza chiavi pubbliche e / o private e può essere utilizzato per monitorare la proprietà, ricevere o spendere criptovaluta . Tuttavia, la stessa criptovaluta non è nel portafoglio. Infatti, nel caso del bitcoin e delle criptovalute da esso derivate, la criptovaluta viene archiviata in maniera decentralizzata e conservata in un registro distribuito accessibile al pubblico chiamato blockchain .
Un portafoglio di criptovaluta, simile a un conto bancario, contiene una coppia di chiavi crittografiche pubbliche e private. Una chiave pubblica consente ad altri portafogli di effettuare pagamenti all'indirizzo del portafoglio, mentre una chiave privata consente di spendere criptovaluta da quell'indirizzo.
I portafogli possono essere applicazioni digitali o basate su hardware, questo è indicato come un portafoglio hardware . La chiave privata viene lasciata all'utente oppure viene archiviata in remoto e le transazioni sono autorizzate da una terza parte.
I portafogli multi- firma richiedono che più parti firmino una transazione prima che possa essere convalidata (e quindi è possibile spendere denaro digitale). I portafogli multi-firma sono progettati per fornire una maggiore sicurezza.
Con un portafoglio deterministico, una singola chiave può essere utilizzata per generare un intero albero di coppie di chiavi. Questa chiave univoca funge da radice dell'albero . La frase mnemonica generata o seed ( seed ) è semplicemente un modo più leggibile dall'uomo ed esprime la chiave usata come root, perché può essere convertita dall'algoritmo della chiave privata di root. Queste parole, in quest'ordine, genereranno sempre la stessa identica chiave di root. Ad esempio, sulla rete Blockchain pubblica di Ethereum (che si basa su portafogli deterministici), la frase mnemonica potrebbe consistere di 12 parole come: "diario della guardia criminale acero intorno alla capra prepara l'affare equipaggiare la prova della vespa della pistola", che si riferisce all'indirizzo pubblico di Ethereum " 0x8F3e32453A32C412D2ff51C3b4A25Db6184698 ".
Questa chiave radice univoca non sostituisce tutte le altre chiavi private, ma viene piuttosto utilizzata per generarle. Tutti gli indirizzi hanno sempre chiavi private diverse, ma possono essere ripristinati tutti da questa singola chiave radice. Le chiavi private di ogni indirizzo derivato possono essere ricalcolate in base alla chiave radice. Questa chiave fondamentale, a sua volta, può essere ricalcolata inserendo la parola seme. La frase mnemonica sta facendo il backup del portafoglio. Se un portafoglio supporta la stessa tecnica (frase mnemonica), il backup può essere ripristinato anche su un altro portafoglio software o hardware.
Lo standard BIP-39 crea un seme a 512 bit da qualsiasi sequenza mnemonica data. L'insieme dei portafogli possibili è 2 512 . Ogni passphrase porta a un portafoglio valido. Se il portafoglio non è stato utilizzato prima, sarà vuoto.
Portafoglio non deterministicoIn un portafoglio non deterministico, ogni chiave viene generata casualmente di propria iniziativa e non derivano da una chiave comune. Pertanto, tutti i backup del portafoglio dovrebbero archiviare ogni chiave privata univoca utilizzata come indirizzo, insieme a un buffer di 100 o più chiavi future che potrebbero essere già state fornite come indirizzi ma non hanno ancora ricevuto pagamenti.