Bitcoin Forum

Local => Discussioni avanzate e sviluppo => Topic started by: balteck on July 12, 2018, 11:42:45 AM



Title: domanda da Ultra niubbo
Post by: balteck on July 12, 2018, 11:42:45 AM
Ciao a tutti, spero che qualcuno possa aiutarmi a capire una cosa sugli indirizzi Ethereum.

Per creare un indirizzo (lato utente) è facile, utilizzando la miriade di wallet disponibili in rete.

Ma lato [Suspicious link removed]e funziona? Gli indirizzi e relative chiavi private esistono già o vengono create sul momento?
Quello che mi lascia più perplesso sono i wallet (come metamask) che usano un sistema deterministico gerarchico di parole (BIP39), ove in realtà questa sequenza non identifica solo un indirizzo ed una chiave privata, ma anche migliaia di indirizzi con relative chiavi private derivate. Vuol dire che metmask per ogni utente genera una quantità industriale di indirizzi che rimarranno magari inutilizzati per quell'utente?
E fin dove si fermano le derivate? 1000, 10000, un milione, ecc?


Grazie a chi mi potrà illuminare


Title: Re: domanda da Ultra niubbo
Post by: Piggy on July 13, 2018, 07:43:03 AM
Non credo ci siano dei limiti per le derivate, comunque non sono riuscito a trovare qualcuno che desse una risposta esaustiva a riguardo per confermare la cosa  :-\

Qui trovi un tool che dimostra il funzionamento del BIP39

https://iancoleman.io/bip39/

Questo usa come indice per il path un UInt32, quindi puo' arrivare a generare fino a 4294967295 chiavi





Title: Re: domanda da Ultra niubbo
Post by: balteck on July 13, 2018, 09:58:17 AM
Grazie mille, infatti sono partito da lì ed ho visto la moltitudine di chiavi generate.

Per altro ho importato solo alcune chiavi pubbliche generate (la 10, 22, 50 e 87) in vari wallet ed ho trovato i miei fondi.

La mia domanda era un pò più sottile:

Visto che il protocollo genera così tanti indirizzi, vuol dire che sono tutti riservati per me sulla blockchain?
Non c'è la possibilità di trovare già un indirizzo usato che è stato generato da solo (es con geth o etherwallet)?

Mi sfugge qualcosa e sto cercando di capire


Title: Re: domanda da Ultra niubbo
Post by: Piggy on July 13, 2018, 11:21:25 AM
Grazie mille, infatti sono partito da lì ed ho visto la moltitudine di chiavi generate.

Per altro ho importato solo alcune chiavi pubbliche generate (la 10, 22, 50 e 87) in vari wallet ed ho trovato i miei fondi.

La mia domanda era un pò più sottile:

Visto che il protocollo genera così tanti indirizzi, vuol dire che sono tutti riservati per me sulla blockchain?
Non c'è la possibilità di trovare già un indirizzo usato che è stato generato da solo (es con geth o etherwallet)?

Mi sfugge qualcosa e sto cercando di capire

C'e' la possibilità che ci siano delle collisioni fra indirizzi, ma la probabilità che qualcuno trovi un indirizzo che è già in uso è molto bassa.
Considera che il numero totali di indirizzi su ethereum, come su bitcoin è 2^160:

Cioè questo numero per darti un idea:
1 461 501 637 330 902 918 203 684 832 716 283 019 655 932 542 976

facendo 4294967295 / 1 461 501 637 330 902 918 203 684 832 716 283 019 655 932 542 976 scopri che in realtà quegli indirizzi generati non sono poi cosi tanti

0.0000000000000000000000000000000000000029387358763714910041382392576436

in percentuale:

0.00000000000000000000000000000000000029387358763714910041382392576436 %  


Title: Re: domanda da Ultra niubbo
Post by: balteck on July 13, 2018, 01:50:39 PM
Un ultima cosa:

Le chiavi private e i relativi indirizzi associati, sono già presenti nella blockchain o vengono creati alla prima transazione utile?

Si possono generare le 12 parole in maniera che creino una particolare chiave privata e relativo indirizzo tra le sue derivate?
Ad esempio per fare il backup di un wallet creato con geth o con myetherwallet?


Title: Re: domanda da Ultra niubbo
Post by: Piggy on July 13, 2018, 03:10:24 PM
Un ultima cosa:

Le chiavi private e i relativi indirizzi associati, sono già presenti nella blockchain o vengono creati alla prima transazione utile?

Si possono generare le 12 parole in maniera che creino una particolare chiave privata e relativo indirizzo tra le sue derivate?
Ad esempio per fare il backup di un wallet creato con geth o con myetherwallet?


Gli indirizzi esistono tutti fin dall'inizio, non hanno bisogno di transazioni per essere creati.

Per la seconda domanda, non è possibile, almeno non in tempi umani, dovresti andare per tentativi e sperare di trovare la tua chiave privata, ma come hai visto dai numeri degli indirizzi presenti ci vorrebbe un bel po di tempo :)


Title: Re: domanda da Ultra niubbo
Post by: alexrossi on July 13, 2018, 04:58:04 PM
Un ultima cosa:

Le chiavi private e i relativi indirizzi associati, sono già presenti nella blockchain o vengono creati alla prima transazione utile?

Si possono generare le 12 parole in maniera che creino una particolare chiave privata e relativo indirizzo tra le sue derivate?
Ad esempio per fare il backup di un wallet creato con geth o con myetherwallet?



La blockchain memorizza solo gli indirizzi che ricevono almeno una volta bitcoin