Bitcoin Forum
October 28, 2020, 11:46:29 PM *
News: Latest Bitcoin Core release: 0.20.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Brainwallet & Deterministic wallet  (Read 3391 times)
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
January 02, 2013, 09:11:58 AM
Last edit: January 02, 2013, 09:58:02 AM by HostFat
 #1

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 Wink

I 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)
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 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)
(è 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)

NON DO ASSISTENZA PRIVATA
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Jpeer
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile
January 06, 2013, 02:22:45 PM
 #2

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...

Transazioni concluse con successo: ghibly79, HostFat, Anon39
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
January 06, 2013, 04:43:50 PM
 #3

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 Wink
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.

NON DO ASSISTENZA PRIVATA
Jpeer
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile
January 06, 2013, 06:34:28 PM
 #4

Tutto chiaro, thank you!

Transazioni concluse con successo: ghibly79, HostFat, Anon39
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
January 28, 2013, 07:05:33 AM
 #5

Discussione e messaggio su blog molto interessanti:
https://bitcointalk.org/index.php?topic=139390.0

NON DO ASSISTENZA PRIVATA
mendoza
Newbie
*
Offline Offline

Activity: 45
Merit: 0



View Profile
January 28, 2013, 08:14:15 AM
 #6

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?
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
January 28, 2013, 09:00:15 AM
 #7

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.

NON DO ASSISTENZA PRIVATA
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
October 27, 2013, 05:14:48 PM
 #8

Ho trovato quest'applicazione per Android Smiley
https://play.google.com/store/apps/details?id=com.CIMS.BitcoinAddress

NON DO ASSISTENZA PRIVATA
bertani
Legendary
*
Offline Offline

Activity: 1022
Merit: 1000



View Profile
October 27, 2013, 06:31:26 PM
 #9


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

Activity: 46
Merit: 0


View Profile
October 27, 2013, 10:31:50 PM
 #10

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
gdassori
Hero Member
*****
Offline Offline

Activity: 966
Merit: 1002



View Profile
October 27, 2013, 10:50:58 PM
 #11

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.

ziomik
Legendary
*
Offline Offline

Activity: 1946
Merit: 1004


https://blog.comprarebitcoin.info


View Profile WWW
October 28, 2013, 07:05:32 AM
Last edit: October 28, 2013, 07:31:42 AM by HostFat
 #12

Aggiungo che la voce "Paper Backup" può essere usato per gestire il proprio backup su

"Se domani senti due massaie che parlano di bitcoin tra di loro dal macellaio, forse e' il momento di vendere.. se pero' le sentirai fra 10 anni forse staranno solo pagando il conto" GBianchi
---- +++ ----
https://www.comprarebitcoin.info | https://blog.comprarebitcoin.info | https://www.bitcoinitalia.com
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
December 03, 2013, 02:59:35 PM
 #13

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 Smiley

NON DO ASSISTENZA PRIVATA
Sandro kensan
Hero Member
*****
Offline Offline

Activity: 708
Merit: 506


I support freedom of choice


View Profile WWW
December 08, 2013, 10:49:39 PM
 #14

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.

NON TENERE MAI I PROPRI BITCOIN DEPOSITATI SUI CONTI DEGLI EXCHANGE - BE YOUR OWN BANK
HostFat
Moderator
Legendary
*
Offline Offline

Activity: 3444
Merit: 1112


I support freedom of choice


View Profile
March 02, 2014, 04:21:52 PM
 #15

Discussione/progetto interessante da seguire Smiley
https://bitcointalk.org/index.php?topic=495504

NON DO ASSISTENZA PRIVATA
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!