Post
Topic
Board Italiano (Italian)
Merits 1 from 1 user
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 05/04/2018, 15:19:12 UTC
⭐ Merited by Speculatoross (1)

Ho fatto un veloce controllo sul numero delle chiavi private che possono essere generate, ed ho trovato più fonti che confermano il fatto che le chiavi private generabili sono tecnicamente 2^256 (^257 non l'ho trovato da nessuna parte me lo puoi spiegare nel dettaglio? hai qualche fonte?).


L'equivoco nasce da cosa si intenda per 'chiave privata'.

Questa per esempio è una chiave privata in formato Hex (64 Hex chars):

A2242EAD55C94C3DEB7CF2340BFEF9D5BCACA22DFE66E646745EE4371C633FC8

Essa corrisponde allo scalare k che deve essere moltiplicato per il punto G allo scopo di ottenere il punto P sulla curva ellittica (P = k * G).

Il numero massimo di chiavi private in formato Hex che è possibile generare è poco meno di 2^256 (il numero esatto di chiavi private possibili è pari al numero di punti che costituiscono la curva ellittica secp256k1).


L'equivoco nasce nel momento in cui converti la chiave privata in formato WIF (Wallet Import Format) in quanto esistono 2 diversi formati (WIF e WIF compresso) che danno origine a 2 chiavi private diverse:

Questa è la chiave privata scritta sopra, codificata in formato WIF:

5K3hGHXx9qzEKZLh6zKS5umqDGfuc8KUbWtXZ9S2ngDo81AMoxh

Questa è la stessa chiave codificata in formato WIF compresso:

L2etiTycS3Dbnujv1RzMifvsoAAjC3JYoLvRrtDUtc7UZo76CUb2


Per ogni chiave privata in formato Hex esistono quindi due possibili codifiche in formato WIF (compressa e non compressa) per cui il numero totali di chiavi private in formato WIF raddoppia e diventa poco meno di 2^257 (2^256 * 2).

In breve, se ti riferisci al numero di chiavi possibili in formato Hex la risposta è "poco meno di 2^256", se ti riferisci al numero di chiavi possibili in formato WIF (compresse + non compresse) allora risposta è "poco meno di 2^257".

 
A mio avviso se il contesto del discorso ruota attorno al tema della sicurezza allora è più corretto riferirsi al numero di chiavi private in formato Hex (2^256) in quanto per assurdo potremmo avere 10 formati WIF diversi (che produrrebbero altrettanti diversi Bitcoin address) ma il livello di sicurezza rimarrebbe il medesimo (circa 2^160 chiavi Hex da attaccare in caso di public key non esposta).


P.S.: se ti fosse sfuggito ti suggerisco di studiarti con attenzione il pregevole tutorial sulle curve ellittiche postato da arulbero l'anno scorso: https://bitcointalk.org/index.php?topic=1339031.0