Bitcoin Forum

Local => Guide (Italiano) => Topic started by: HostFat on January 02, 2013, 09:11:58 AM



Title: Brainwallet & Deterministic wallet
Post by: HostFat on January 02, 2013, 09:11:58 AM
Apro discussione per cercare di sviscerare un pò l'argomento con la comunità italiana.

Non andrò molto a toccare gli aspetti tecnici e matematici di questa cosa, un po perchè non penso che sia molto importante per il fine ultimo dell'uso, e un po perchè non ho conoscenze cosi avanzate nel campo per andare cosi nel dettaglio ;)

I Brainwallet (https://en.bitcoin.it/wiki/Brainwallet) sono quei wallet (ma anche indirizzi singoli) che vengono creati a partire da testi indicati dall'utente (parole, frasi, poesie ...)

Ad esempio si potrebbe creare un wallet partendo da questa stessa frase, e poi imparandosela a memoria

1) Andate su http://brainwallet.org (codice sorgente (https://github.com/brainwallet/brainwallet.github.com))
2) Cliccate in alto su Chains
3) Scegliete Electrum
4) Cliccate sulla freccia circolare a fianco di Chain Code
5) Inserite poi Paper Backup la frase sopra: Ad esempio si potrebbe creare un wallet partendo da questa stessa frase, e poi imparandosela a memoria

Vi verranno generati esattamente questi 6 indirizzi:
Quote
1, "1LjNAjVSY83K7KByGWzRYVx69DTXinUcz", "5K4EjVsbp2USAs7CNMfr1m82LtMiQLiq6Lik6r9R4tumTQLVgiA"
2, "1JM1PXHiVMYzf96VrW1Cc1RzXztnmcCVxW", "5JTfhyXKHQmugp78Hq26wb7hxKfXivgQCFK2r2wdbYsZjkpQAnY"
3, "13sA3nQaNoUbziTGAVaMtUy8qJ5C9axbJL", "5JVMFQS41oswzg6QJ9aaBDYZiAqsVBiULnQaf5SJg51FppoPNyk"
4, "1GvMjumf3Tij2SrAdv3ZWJAt7F7kDZ4qrZ", "5Jj2EHWnVLjuyYDTJCLB4jUVaejPMAkkZGRyCGPNAam9tnWRCRu"
5, "1FTBXAKJZzmqJQsSaV4RLPudMS9Xj975NP", "5K2FzWxWGHugD2d3DmCjBV6D9AuLrAAxks1HBiQxZwGfMQWhWk3"
6, "1NuybMn4dmNiRHvnugLwmRma1FgRNAAZSb", "5JukCGPe3QyzwmxuFMEybwtntpMYTTneWE5smFAKjS9kqWCDPdA"
PS: nel caso vogliate usare questo sistema per creare ulteriori vostri Brainwallet, vi consiglio di scaricare il codice sorgente ed eseguirlo poi su macchine sicure e scollegate da Internet.
Per quanto Brainwallet.org sia comodo non è comunque automaticamente da considerarsi sicuro.

Sono anche deterministic wallet (https://en.bitcoin.it/wiki/Deterministic_wallet) perchè ogni successivo indirizzo viene generato comunque dallo stesso seed (seme)
La nostra frase quindi viene codificata in un seme, e poi da questo vengono generati tutti i prossimi indirizzi.

Vengono chiamati Brainwallet perchè appunto una frase è facile da ricordare.
Questo vuol dire che se creerete un wallet tramite questo sistema (una lista di indirizzi), la vostra copia di backup delle vostre chiavi private sarà facile da ricordare.
Tutto parte solo dalla frase che avete dato all'inizio, e dovrete ricordarvi solo quella.
Da notare che il numero di indirizzi non è limitato, è possibile creare nuovi indirizzi sempre partendo dalla vostra frase.

Fatta questa premessa attualmente sono 2 i client Bitcoin che offrono questa possibilità, l'Armory e l'Electrum client.

Oltre al seed per la creazione delle chiavi private, e possibile ottenere anche quello dedicato alle chiavi pubbliche (gli indirizzi bitcoin)
Questo vuol dire che sarà possibile generare tutti i prossimi indirizzi bitcoin del vostro wallet senza dover conoscere le rispettive chiavi private.
Per cosa può essere utile una cosa simile?
Esempio: http://acceptbit.com (codice sorgente (https://github.com/kangasbros/electrumpos))
(è un sistema per aggiungere Bitcoin come mezzo di pagamento sul proprio sito)

Questo servizio vi chiederà la vostra master public key (il seed delle chiavi pubbliche, indirizzi), e tramite quello potrà generare tutti i vostri indirizzi pubblici da disporre ai clienti.
Quindi pur potendo generare nuovi indirizzi, non avendo accesso alle vostre chiavi private non avrà alcun modo di potervi rubare i Bitcoin.

Tutto il sistema (come lo stesso codice sorgente di AcceptBit) è pubblico ed è usabile a piacere.
Questo è un grosso punto a favore alla creazione di servizi dinamici/online funzionanti tenendo comunque offline e sicuri i propri wallet (l'insieme di chiavi private)


Title: Re: Brainwallet & Deterministic wallet
Post by: Jpeer on January 06, 2013, 02:22:45 PM
Molto interessante, non ero a conoscenza di questi Brainwallet.. (Anche se non vedo l'utilità di ricordare le chiavi private...)

Per quanto riguarda la sicurezza, uhm...

Quote from: HostFat
PS: nel caso vogliate usare questo sistema per creare ulteriori vostri Brainwallet, vi consiglio di scaricare il codice sorgente ed eseguirlo poi su macchine sicure e scollegate da Internet.

Caldamente consigliato...


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on January 06, 2013, 04:43:50 PM
Molto interessante, non ero a conoscenza di questi Brainwallet.. (Anche se non vedo l'utilità di ricordare le chiavi private...)
L'utilità principale è che può essere un buon backup ;)
Nel caso imprevisto che ogni vostro altro backup del wallet vada perso.

Oppure, nel caso vi troviate in situazioni "estreme", da poter usare Bitcoin solo su applicativi avviati in RAM.
In modo da poter anche spegnere all'improvviso il computer senza preoccuparsi di perdere niente.


Title: Re: Brainwallet & Deterministic wallet
Post by: Jpeer on January 06, 2013, 06:34:28 PM
Tutto chiaro, thank you!


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on January 28, 2013, 07:05:33 AM
Discussione e messaggio su blog molto interessanti:
https://bitcointalk.org/index.php?topic=139390.0


Title: Re: Brainwallet & Deterministic wallet
Post by: mendoza on January 28, 2013, 08:14:15 AM
Ma se ho capito bene, forse è il caso di evitare di usare strofe e citazioni troppo comuni.
Se io uso un pezzo della mia canzone preferita c'è il rischio (anche se piccolo) che qualcun'altro la usi.

In questo caso non è come condividere la stessa password.... è proprio condividere gli stessi bitcoin.
O sbaglio?


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on January 28, 2013, 09:00:15 AM
Si, offrirai l'accesso completo ai tuoi Bitcoin.
Nella discussione che ho linkato e relativo messaggio sul blog ci sono molti suggerimenti su come rendere più sicuri questi brainwallet.
Se ho tempo nelle prossime sere magari faccio una lista di questi suggerimenti.


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on October 27, 2013, 05:14:48 PM
Ho trovato quest'applicazione per Android :)
https://play.google.com/store/apps/details?id=com.CIMS.BitcoinAddress


Title: Re: Brainwallet & Deterministic wallet
Post by: bertani on October 27, 2013, 06:31:26 PM
Ho trovato quest'applicazione per Android :)
https://play.google.com/store/apps/details?id=com.CIMS.BitcoinAddress

La sto usando da un bel po' ormai ed è fatta veramente bene, ha tutto quello che serve insomma!


Title: Re: Brainwallet & Deterministic wallet
Post by: toga on October 27, 2013, 10:31:50 PM
Ma se ho capito bene, forse è il caso di evitare di usare strofe e citazioni troppo comuni.
Se io uso un pezzo della mia canzone preferita c'è il rischio (anche se piccolo) che qualcun'altro la usi.

In questo caso non è come condividere la stessa password.... è proprio condividere gli stessi bitcoin.
O sbaglio?


e se un hacker si mettesse a provare tutte le citazioni più comuni ? non mi sembra molto sicuro


Title: Re: Brainwallet & Deterministic wallet
Post by: gdassori on October 27, 2013, 10:50:58 PM
mettila così, nello stesso modo in cui non devi usare "Napoleone" come password, allo stesso modo non devi usare "this is my brain wallet generation string" come composizione. Ad esempio "Genova mArtello scUdiero parOlaio 1nt3rm3zz0 parolaiO scudieRo marteLlo genOva" potrebbe essere una soluzione valida, nota che devi ricordare solo cinque parole, la sequenza, la logica di uppercase. questa è una composizione sicura, puoi associarla a parole un po' più familiari e meno comuni.

calcola comunque di dover ragionare in una logica di anti brute force, sei tu che fai il livello di sicurezza.


Title: Re: Brainwallet & Deterministic wallet
Post by: ziomik on October 28, 2013, 07:05:32 AM
Aggiungo che la voce "Paper Backup" può essere usato per gestire il proprio backup su
  • originale http://carbonwallet.com/
  • tradotto: http://www.ziomik.net/wallet/
  • off-line tramite browser Chrome:
    Clone the code https://github.com/carbonwallet/carbonwallet.github.io
    Go to "Menu > Tools > Extensions" in Chrome
    Make sure "Developer mode" is checked at the top
    Click "Load unpacked extension"
    Navigate to the carbonwallet.github.io directory and click OK
    Carbon Wallet will now appear as an option in your App list in Chrome


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on December 03, 2013, 02:59:35 PM
Ancora meglio consiglio questa per Android:
https://play.google.com/store/apps/details?id=ru.valle.btc

Questa permette in più di criptarle in BIP38 direttamente sul proprio smartphone :)


Title: Re: Brainwallet & Deterministic wallet
Post by: Sandro kensan on December 08, 2013, 10:49:39 PM
Come scritto qui:  https://en.bitcoin.it/wiki/Brainwallet
il brainwallet è molto difficile da proteggere ma mi voglio soffermare sull'esempio usato nello stesso wiki articolo.

"Man made it to the moon,, and decided it stinked like yellow cheeeese."

Faccio una premessa. Un dizionario normale contiene sulle 20 mila parole, se si aggiungono tutte le probabili storpiature alle parole possiamo ipotizzare un dizionario doppio (40 mila vocaboli) ma il dizionario corrente è di soli 2000 parole.

Nella frase scelta nell'esempio ci sono 13 parole contenute nel dizionario da 40 mila parole più tre caratteri contenuti nel set di caratteri speciali (facciamo una ventina di caratteri come |!"£$%&/()=?^\'[],.-;:_).

Quante combinazioni sono?

Facciamo due conti:
(40*10^3)^13*20^3 circa uguale a 10^63 cioè 1 seguito da 63 zeri.

Quanto tempo impiega una macchina di mining per calcolare 10^63 hash?

Qui vedo una macchina da 600 GH/s: http://www.butterflylabs.com/ e quindi una di questi ASIC impiegherà:

10^63/(600*10^9) che sono tanti miliardi di miliardi di miliardi di anni.

Il ragionamento si ferma qui? No può proseguire considerando una cosa che tutti i minatori sanno ovvero il costo energetico:

1 terahash costa circa 0.3 centesimi di euro in corrente elettrica quindi 10^63 hash costano 10^50 euro.

In soldoni per cracckare il brainwallet dell'esempio qui sopra servono 1 seguito da 50 zeri di euro in corrente elettrica.

Come descritto nel mio articolo che fa ragionamenti sulla sicurezza di una password:

http://www.kensan.it/articoli/Password_sicurezza.php

la password deve essere commisurata a ciò che protegge in termini economici, quindi anche una sequenza casuale di parole scelte dal dizionario italiano di 2 mila parole è sufficiente per proteggere molti contenuti di wallet. Per esempio:

loro otranto certo argo locale serena trapani arrivo remo tra

può proteggere un wallet da 10^20 euro ovvero 1000000 000000 000000 00 euro

(2000^10/10^12*0.3)

Ovviamente se le parole non sono casuali il ragionamento non vale.


Title: Re: Brainwallet & Deterministic wallet
Post by: HostFat on March 02, 2014, 04:21:52 PM
Discussione/progetto interessante da seguire :)
https://bitcointalk.org/index.php?topic=495504