The cryptography used by most of the cryptocurrencies is mainly based on the private-public key pair. The method used to generate private keys is therefore fundamental: it must be efficient, secure and suitable for the situation. Among alternative methods, the Hierarchical Deterministic Wallet has emerged as standard, described in the Bitcoin Improvement Proposal #32 (BIP32). Starting from a random number, called SEED, picked up in a sufficiently large range, it is possible to generate numerous private keys in a hierarchical and deterministic way through particular HASH functions and thanks to the elliptic curve properties. Several wallets also use a special algorithm to store the seed and to be able to back it up in a readable form, through the use of a mnemonic phrase, words selected from a specific dictionary. Consensus on a single standard for the mnemonic phrase as not been reached among all major players in the industry yet. This work aims to clarify the various techniques used for the derivation of the keys, with particular attention to the HD wallet. It will also be analyzed the two principal way of encoding the seed, the one described into BIP39 as opposed to the proposal of Electrum, one of the main Bitcoin Wallet, highlighting their respective advantages and disadvantages.
La crittografia utilizzata dalla maggior parte delle criptovalute si basa principalmente sulla coppia di chiavi privata-pubblica. Il metodo utilizzato per generare le chiavi private è quindi fondamentale: deve essere efficiente, sicuro e adatto alla situazione. Tra i metodi esistenti, lo Hierarchical Deterministic Wallet si è affermato come standard, descritto in “Bitcoin Improvement Proposal #32” (BIP32). Partendo da un numero casuale, chiamato SEED, estratto da un insieme sufficientemente ampio, è possibile generare numerose chiavi private in modo gerarchico e deterministico attraverso particolari funzioni di HASH e grazie alle proprietà della curva ellittica. Diversi wallets utilizzano anche un algoritmo speciale per memorizzare il seed e per renderlo leggibile, attraverso l'uso di una mnemonic phrase, parole selezionate da un dizionario specifico. Il consenso su un singolo standard per la mnemonic phrase non è stato ancora raggiunto da tutti i principali attori del settore. Questo lavoro mira a chiarire le varie tecniche utilizzate per la derivazione delle chiavi, con particolare attenzione al HD wallet. Verranno inoltre analizzati i due principali metodi di codifica del seed, quello descritto in BIP39 in contrapposizione alla proposta di Electrum, uno dei principali Bitcoin Wallet, evidenziando i rispettivi vantaggi e svantaggi.
Elliptic curve hierarchical deterministic private key sequences : bitcoin standards and best practices
FORNARO, DANIELE
2017/2018
Abstract
The cryptography used by most of the cryptocurrencies is mainly based on the private-public key pair. The method used to generate private keys is therefore fundamental: it must be efficient, secure and suitable for the situation. Among alternative methods, the Hierarchical Deterministic Wallet has emerged as standard, described in the Bitcoin Improvement Proposal #32 (BIP32). Starting from a random number, called SEED, picked up in a sufficiently large range, it is possible to generate numerous private keys in a hierarchical and deterministic way through particular HASH functions and thanks to the elliptic curve properties. Several wallets also use a special algorithm to store the seed and to be able to back it up in a readable form, through the use of a mnemonic phrase, words selected from a specific dictionary. Consensus on a single standard for the mnemonic phrase as not been reached among all major players in the industry yet. This work aims to clarify the various techniques used for the derivation of the keys, with particular attention to the HD wallet. It will also be analyzed the two principal way of encoding the seed, the one described into BIP39 as opposed to the proposal of Electrum, one of the main Bitcoin Wallet, highlighting their respective advantages and disadvantages.File | Dimensione | Formato | |
---|---|---|---|
2018_04_Fornaro.pdf
accessibile in internet per tutti
Descrizione: Testo della tesi
Dimensione
884.97 kB
Formato
Adobe PDF
|
884.97 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/140112