Bitcoin Forum
January 20, 2019, 03:44:09 AM *
News: Latest Bitcoin Core release: 0.17.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 »  All
  Print  
Author Topic: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti  (Read 987 times)
gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 04, 2018, 04:53:58 AM
 #41

Lo sto leggendo un poco alla volta. Lo trovo fatto benissimo per le persone che si avvicinano per la prima volta.

Mi fa molto piacere. Era proprio il mio obiettivo.

1547955849
Hero Member
*
Offline Offline

Posts: 1547955849

View Profile Personal Message (Offline)

Ignore
1547955849
Reply with quote  #2

1547955849
Report to moderator
1547955849
Hero Member
*
Offline Offline

Posts: 1547955849

View Profile Personal Message (Offline)

Ignore
1547955849
Reply with quote  #2

1547955849
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1547955849
Hero Member
*
Offline Offline

Posts: 1547955849

View Profile Personal Message (Offline)

Ignore
1547955849
Reply with quote  #2

1547955849
Report to moderator
1547955849
Hero Member
*
Offline Offline

Posts: 1547955849

View Profile Personal Message (Offline)

Ignore
1547955849
Reply with quote  #2

1547955849
Report to moderator
rrupoli
Jr. Member
*
Offline Offline

Activity: 33
Merit: 20


View Profile
April 04, 2018, 09:45:58 AM
 #42

cut

Ricordo che le prime volte volte che pensavo al resto mi dava fastidio l'idea che ogni utxo dovesse essere speso tutto in una volta, poichè avevo proprio l'idea di bitcoin come numeri su un conto corrente.
L'analogia con le banconote fisiche funziona abbastanza bene, con una precisazione però: ogni volta che si spende un utxo, il suo importo può essere anche frazionato in più parti, un po' come se ci fossero più resti:
ad esempio posso spendere un utxo suddividendolo in 3 output: per pagare con una parte l'address A, con il resto del pagamento all'address A pagare l'address B, e versare quindi il resto finale di nuovo nel mio address di partenza.
Quindi non è corretto dire che un utxo non è frazionabile, è vero che non si può spenderne solo una parte in una transazione, ma all'interno di una singola transazione si può frazionare l'intero utxo in molte parti.


Trovo l'equivalenza "UTXO = banconota virtuale" molto robusta come modello esplicativo dell'organizzazione di un wallet.
Uso la dizione "non frazionabile" o "indivisibile" riferendomi al fatto che una banconota non può essere tagliata in due, non se ne può spendere solo una frazione per un pagamento, cioè quando decidi di usarla la devi spendere nella sua interezza (altrimenti perdi la frazione che non intendevi spendere).
Non mi sovvengono altri aggettivi che possano rendere meglio il concetto di "mattone elementare non divisibile".

Terrei comunque separati due concetti:

a) la rappresentazione statica dei bitcoin all'interno di un wallet (molteplici address che contengono molteplici UTXO)
b) come vengono effettivamente usati gli UTXO durante una transazione e che risultati finali si ottengono


Cioè una volta spiegato che l'UTXO è una banconota contenuta all'interno di un address,  si passa a spiegare come poter usare queste banconote virtuali in una transazione.

Per spiegare come funziona una transazione in bitcoin è necessario uscire dal modello della banconota fisica che passa di mano dal pagatore al percettore.
Le transazioni in bitcoin hanno infatti peculiarità uniche che vanno spiegate nel dettaglio, il modello della banconota fisica non funziona bene per spiegare una transazione in quanto l'UTXO non viene trasferito da un address ad un altro ma viene piuttosto "invalidato" ed al suo posto vengono generati nuovi UTXO associati ad altri address (od anche al medesimo address).

Volendo rimanere nella metafora fisica del tuo esempio, è come se la banconota indivisibile da 100 Euro (UTXO tratto da un mio address) che uso per pagare tre miei creditori (rappresentati da 3 diversi address) venisse letteralmente bruciata durante la transazione e sostituita da tre nuove banconote da 33 Euro (cioè 3 nuovi UTXO) da consegnare ai creditori e una nuova banconota da 1 Euro (un ulteriore UTXO) per pagare la transaction fee al miner.  

Con questo approccio divulgativo puoi riuscire a spiegare agilmente anche le transazioni più complesse (magari con 10 input, 7 output, 1 resto e 1 una fee) mantenendo un adeguato rigore formale.
gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 04, 2018, 05:18:28 PM
 #43

Sto terminando il primo approfondimento sui Fork.

Prima di pubblicarlo vedo di sistemare questa cosa e quelle del numero delle chiavi, che sono rimaste due cose in sospeso che meritano di essere corrette.

S3rj0
Member
**
Offline Offline

Activity: 364
Merit: 13


View Profile WWW
April 04, 2018, 07:31:38 PM
 #44

Ottimo lavoro, ho scaricato il libro e sto iniziando a dargli una lettura ed è ben realizzato. Complimenti e grazie per il tuo contributo.

         b e t f o r m ▬▬▬▬▬▬▬ SMART CONTRACT POWERED SOCIAL BETTING PLATFORM
                               APP DOWNLOAD ▬▬▬▬▬▬▬ Google Play   App Store   [ WEB VERSION ]                                ❱❱❱ JOIN betform ❰❰❰
    FOLLOW US ▬▬▬▬▬▬▬ ◾ WHITEPAPERTELEGRAMFACEBOOKTWITTER
gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 05, 2018, 11:02:19 AM
 #45


Posso capire che la curva ellittica secp256k1 fosse un po' troppo complessa da spiegare (anche se chiavi private e chiavi pubbliche sono di fatto proprio elementi di quella curva). Hai scritto che ci sono 2^256 chiavi private (in realtà 2^257 contando compresse e non compresse) ma dal punto di vista della sicurezza del sistema è come se ce ne fossero "solo" 2^160 (ci sono 2^97 chiavi diverse ma tutte valide per ciascun address). Non è proprio la stessa cosa.
 


Ipotizzo che la tua correzione si riferisse al primo paragrafo del capitolo 8.

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

A parte il discorso 256 VS 257, il primo paragrafo del capitolo 8 mi sembra quindi corretto.

Modificherei solo "universo conosciuto" con "universo visibile".


Sul discorso chiavi compresse e non compresse, secondo me, non centra nulla con il discorso del numero massimo di chiavi generabili. Se anche qui puoi essere più preciso, perchè temo di non aver afferrato il concetto.

Discorso diverso (quello da te giustamente sollevato) sulla possibilità di un attacco bruteforce su uno specifico address. Qui si stima che ogni address possa in realtà essere sbloccato da 2^96 differenti chiavi private diverse, quindi significherebbe che statisticamente se ne trova una funzionante ogni 2^160 (in media).

Quindi potremo dire che un eventuale attacco bruteforce volto ad individuare la chiave privata relativa ad un address, riesce ad trovare una chiave privata valida ogni 2^160 tentativi. (che comunque mi sembra un numero discretamente grande, per la tecnologia attuale)

Aggiungerei quindi nell'elenco delle potenze, giunto per dare un idea visuale del numero:
2^160 = 1.461.501.637.330.900.000.000.000.000.000.000.000.000.000.000.000

ed un paragrafo che spieghi meglio questo attacco all'address, che è quello dal punto di vista della sicurezza che alla fine interessa di più.

gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 05, 2018, 11:04:25 AM
 #46


Non mi pare poi che tu abbia accennato alla questione sicurezza (non dei bitcoin ma personale), questione sollevata in un thread su questo forum (questione che è connaturata con il nuovo paradigma di proprietà del denaro che si realizza mediante la proprietà di chiavi invece che mediante delle relazioni attraverso terzi.)


Effettivamente non avevo mai fatto questa riflessione.

Il realtà il discorso è molto simile ai contanti, all' oro, ai gioielli, orologi costosi, ecc.

Però forse è opportuno aggiungere un paragrafo per mettere in guardia su questo rischio.

gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 05, 2018, 11:13:25 AM
Last edit: April 05, 2018, 12:00:43 PM by gallisiardi
 #47

Ottimo lavoro, ho scaricato il libro e sto iniziando a dargli una lettura ed è ben realizzato. Complimenti e grazie per il tuo contributo.

Grazie. Fammi sapere se trovi erorri, così li correggo.

rrupoli
Jr. Member
*
Offline Offline

Activity: 33
Merit: 20


View Profile
April 05, 2018, 03:19:12 PM
Last edit: April 06, 2018, 10:51:22 AM by rrupoli
Merited by Speculatoross (1)
 #48


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
 
stefy77
Full Member
***
Offline Offline

Activity: 532
Merit: 105



View Profile
April 05, 2018, 04:26:09 PM
 #49

Lo sto leggendo un poco alla volta. Lo trovo fatto benissimo per le persone che si avvicinano per la prima volta.

Mi fa molto piacere. Era proprio il mio obiettivo.
direi che il tuo obiettivo è stato pienamente raggiunto. Io sono entrata da non molto e sto imparando tantissimo da questo tuo libro. Grazie!!!

arulbero
Legendary
*
Offline Offline

Activity: 1170
Merit: 1258


View Profile
April 05, 2018, 06:53:52 PM
Last edit: April 05, 2018, 07:13:01 PM by arulbero
 #50


Posso capire che la curva ellittica secp256k1 fosse un po' troppo complessa da spiegare (anche se chiavi private e chiavi pubbliche sono di fatto proprio elementi di quella curva). Hai scritto che ci sono 2^256 chiavi private (in realtà 2^257 contando compresse e non compresse) ma dal punto di vista della sicurezza del sistema è come se ce ne fossero "solo" 2^160 (ci sono 2^97 chiavi diverse ma tutte valide per ciascun address). Non è proprio la stessa cosa.
 


Ipotizzo che la tua correzione si riferisse al primo paragrafo del capitolo 8.

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

A parte il discorso 256 VS 257, il primo paragrafo del capitolo 8 mi sembra quindi corretto.


Mi riferisco a
Quote
Più di una volta mi è stato sollevata la domanda: "Cosa succede se qualcuno genera le mie stesse 12 parole? Può accedere ai miei Bitcoin?" La risposta è SI, ma è altamente improbabile praticamente impossibile. La quantità di chiavi private generabili è di (2^256) si avvicina al numero di atomi presenti nell’universo conosciuto (stimato all’incirca in un numero che va da 2^240 e 2^280), sicuramente è più semplice per due persone trovare lo stesso granello di sabbia sul pianeta terra (che in base ad una stima molto approssimativa risulta essere 2^63), rispetto a trovare una chiave privata già utilizzata da qualcun altro. Per chi avesse poca dimestichezza con gli elementi potenza, in questo caso parliamo di un raddoppio ogni unità espressa nell’elevamento.


In questo paragrafo tu esplicitamente colleghi il numero di chiavi private generabili con la misura della sicurezza del sistema.  

Quando dici:

"sicuramente è più semplice per due persone trovare lo stesso granello di sabbia sul pianeta terra (che in base ad una stima molto approssimativa risulta essere 2^63), rispetto a trovare una chiave privata già utilizzata da qualcun altro"


io lettore capisco che il problema di sicurezza del mio address è solo se qualcuno trova esattamente la mia chiave privata (1 possibilità / 2^256) mentre invece ci sono ben 2^96 chiavi diverse su 2^256 (1 / 2^160) che permettono di accedere al mio address.

Con questa frase
"Più di una volta mi è stato sollevata la domanda: "Cosa succede se qualcuno genera le mie stesse 12 parole? Può accedere ai miei Bitcoin?" La risposta è SI, ma è altamente improbabile praticamente impossibile.  La quantità di chiavi private generabili è di (2^256) si avvicina al numero di atomi ..."

fai intendere che la questione della sicurezza ("accedere ai miei Bitcoin") è legata a quel numero (256 bit) invece che a 160 bit, che è poi la vera misura di entropia del sistema.

Giusto per puntualizzare sulla sicurezza del sistema, se utilizzo un address dal quale ho già effettuato una transazione, ho già esposto la mia chiave pubblica (non solo il mio address), quindi per passare dalla chiave pubblica alla chiave privata mi bastano circa 2^128 "passaggi" (anche se le chiavi private sono 2^256!) 



Per quanto riguarda la questione numero di chiavi private 2^256 <-> 2^257, vedi la risposta di rrupoli.

gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 06, 2018, 11:00:21 AM
 #51





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 (poco meno di 2^160 chiavi Hex da attaccare con la più evoluta variante dell'algoritmo Pollard's rho).





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

 








Perfetto. Concordo.

Chiarissimo il discorso del 257.


Ottimo il link al post di arulbero, che a questo punto linkerei per chi vuole approfondire l'argomento relativo alla curva ellittica.


Il mio unico dubbio è che non vorrei instaurare dubbi infondati sulla sicurezza del sistema, viceversa va comunque data una informazione corretta, il più semplificata possibile (visto gli intenti del libro).


Al di là del concetto delle chiavi in formato compresso, che tralascierei, possiamo "semplificare" la questione aggiungendo la parte in grassetto:


Quote

Più di una volta mi è stato sollevata la domanda: "Cosa succede se qualcuno genera le mie stesse 12 parole? Può accedere ai miei Bitcoin?" La risposta è SI, ma è altamente improbabile praticamente impossibile. La quantità di chiavi private generabili è di (2^256) si avvicina al numero di atomi presenti nell’universo conosciuto (stimato all’incirca in un numero che va da 2^240 e 2^280), sicuramente è più semplice per due persone trovare lo stesso granello di sabbia sul pianeta terra (che in base ad una stima molto approssimativa risulta essere 2^63), rispetto a trovare una chiave privata già utilizzata da qualcun altro.



In realtà, a causa del formato più piccolo utilizzato dall'address bitcoin (160 bit rispetto ai 256 bit delle chiavi private), più chiavi private possono accedere ai Bitcoin depositati sul medesimo address. Il numero di queste chiavi è di circa 2^96! A prima vista, un numero così grande potrebbe spaventare, significa infatti che esistono moltissime chiavi private che possono accedere ai miei Bitcoin. Il punto è che, nonostante siano tantissime, si perdono all'interno delle 2^256 esistenti. In particolare si stima che, tramite un attacco di tipo brute force, cioè un sistema automatico che prova tutte le possibili soluzioni ad un determinato problema, si riesca a trovare una chiave privata in grado di sbloccare un determinato address una volta ogni 2^160 tentativi, che sono comunque un numero considerevole per il livello tecnologico attuale. Per completezza di informazione, va inoltre detto che se dal nostro address abbiamo effettuato un trasferimento verso un altro address, abbiamo esposto a terzi la nostra chiave pubblica. Questa ulteriore informazione "facilita" l'attività di chi volesse cercare di accedere ai nostri Bitcoin, riducendo di fatto i numeri di tentativi medi per riuscire a sbloccare i fondi a 2^128.



Da un punto di vista della sicurezza del sistema, è corretto dire che servono quindi mediamente 2^128 tentativi per riuscire a rubare i Bitcoin depositati su un determinato address, sempre considerando il fatto che nel frattempo non siano stati spesi o spostati su altro address.



Per approfondire l'argomento, trovate ulteriori informazioni qui: https://bitcointalk.org/index.php?topic=1339031.0






Per chi avesse poca dimestichezza con gli elementi potenza, in questo caso parliamo di un raddoppio ogni unità espressa nell’elevamento.



...

2^128 = 340.282.366.920.938.000.000.000.000.000.000.000.000

....

2^160 = 1.461.501.637.330.900.000.000.000.000.000.000.000.000.000.000.000






Ditemi cosa ne pensate, se lo ritenete corretto, aggiungo la parte in grassetto.



Grazie per l'aiuto ragazzi.




rrupoli
Jr. Member
*
Offline Offline

Activity: 33
Merit: 20


View Profile
April 06, 2018, 01:43:01 PM
 #52

In realtà, a causa del formato più piccolo utilizzato dall'address bitcoin (160 bit rispetto ai 256 bit delle chiavi private), più chiavi private possono accedere ai Bitcoin depositati sul medesimo address. Il numero di queste chiavi è di circa 2^96! A prima vista, un numero così grande potrebbe spaventare, significa infatti che esistono moltissime chiavi private che possono accedere ai miei Bitcoin. Il punto è che, nonostante siano tantissime, si perdono all'interno delle 2^256 esistenti. In particolare si stima che, tramite un attacco di tipo brute force, cioè un sistema automatico che prova tutte le possibili soluzioni ad un determinato problema, si riesca a trovare una chiave privata in grado di sbloccare un determinato address una volta ogni 2^160 tentativi, che sono comunque un numero considerevole per il livello tecnologico attuale. Per completezza di informazione, va inoltre detto che se dal nostro address abbiamo effettuato un trasferimento verso un altro address, abbiamo esposto a terzi la nostra chiave pubblica. Questa ulteriore informazione "facilita" l'attività di chi volesse cercare di accedere ai nostri Bitcoin, riducendo di fatto i numeri di tentativi medi per riuscire a sbloccare i fondi a 2^128.



La parte quotata è sostanzialmente corretta.
Se vuoi essere ancora più chiaro puoi spiegare i due casi di opportunità di attacco da parte di un ipotetico hacker:

a) se un Bitcoin address non è mai stato usato per inviare fondi (ha quindi solo ricevuto bitcoin e non ne ha mai spesi) allora la chiave pubblica non è mai stata esposta.
    In questo caso l'hacker è costretto ad attaccare il Bitcoin address con un numero di tentativi pari mediamente a 2^160 chiavi private (Hex).
    
b) se un Bitcoin address è stato usato anche solo una volta per inviare fondi allora la chiave pubblica è stata esposta.
    In questo caso l'hacker, pur potendo attaccare il Bitcoin address come nel caso precedente, ha maggior convenienza ad attaccarne la sua chiave pubblica (usando il metodo Pollard's rho), con un numero di tentativi pari mediamente a 2^128 chiavi private (Hex).


Volendo essere pignoli ci sono attacchi Pollard's rho leggermente più raffinati che riescono ad abbassare il numero di tentativi a 2^127.8 (https://safecurves.cr.yp.to/rho.html), ma sostanzialmente stiamo sempre attorno a 2^128, che è un numero ENORME sotto il quale nessun attacco a forza bruta riesce ad andare.

L'algebra sottostante le curve ellittiche (nella fattispecie la curva secp256k1 usata dal Bitcoin) è talmente peculiare ed elegante da non prevedere il concetto di "moltiplicazione tra due punti" o "reciproco di un punto" rendendo impossibile (se non con la forza bruta) estrarre k (la chiave privata) dalla formula P = k * G  pur conoscendo i punti P (public key) e G (punto generatore).    

arulbero
Legendary
*
Offline Offline

Activity: 1170
Merit: 1258


View Profile
April 06, 2018, 02:29:18 PM
Last edit: April 06, 2018, 02:56:53 PM by arulbero
 #53

Il mio unico dubbio è che non vorrei instaurare dubbi infondati sulla sicurezza del sistema, viceversa va comunque data una informazione corretta, il più semplificata possibile (visto gli intenti del libro).


Al di là del concetto delle chiavi in formato compresso, che tralascierei, possiamo "semplificare" la questione aggiungendo la parte in grassetto:


Quote

Più di una volta mi è stato sollevata la domanda: "Cosa succede se qualcuno genera le mie stesse 12 parole? Può accedere ai miei Bitcoin?" La risposta è SI, ma è altamente improbabile praticamente impossibile. La quantità di chiavi private generabili è di (2^256) si avvicina al numero di atomi presenti nell’universo conosciuto (stimato all’incirca in un numero che va da 2^240 e 2^280), sicuramente è più semplice per due persone trovare lo stesso granello di sabbia sul pianeta terra (che in base ad una stima molto approssimativa risulta essere 2^63), rispetto a trovare una chiave privata già utilizzata da qualcun altro.



In realtà, a causa del formato più piccolo utilizzato dall'address bitcoin (160 bit rispetto ai 256 bit delle chiavi private), più chiavi private possono accedere ai Bitcoin depositati sul medesimo address. Il numero di queste chiavi è di circa 2^96! A prima vista, un numero così grande potrebbe spaventare, significa infatti che esistono moltissime chiavi private che possono accedere ai miei Bitcoin. Il punto è che, nonostante siano tantissime, si perdono all'interno delle 2^256 esistenti. In particolare si stima che, tramite un attacco di tipo brute force, cioè un sistema automatico che prova tutte le possibili soluzioni ad un determinato problema, si riesca a trovare una chiave privata in grado di sbloccare un determinato address una volta ogni 2^160 tentativi, che sono comunque un numero considerevole per il livello tecnologico attuale. Per completezza di informazione, va inoltre detto che se dal nostro address abbiamo effettuato un trasferimento verso un altro address, abbiamo esposto a terzi la nostra chiave pubblica. Questa ulteriore informazione "facilita" l'attività di chi volesse cercare di accedere ai nostri Bitcoin, riducendo di fatto i numeri di tentativi medi per riuscire a sbloccare i fondi a 2^128.



Da un punto di vista della sicurezza del sistema, è corretto dire che servono quindi mediamente 2^128 tentativi per riuscire a rubare i Bitcoin depositati su un determinato address, sempre considerando il fatto che nel frattempo non siano stati spesi o spostati su altro address.



Per approfondire l'argomento, trovate ulteriori informazioni qui: https://bitcointalk.org/index.php?topic=1339031.0






Per chi avesse poca dimestichezza con gli elementi potenza, in questo caso parliamo di un raddoppio ogni unità espressa nell’elevamento.



...

2^128 = 340.282.366.920.938.000.000.000.000.000.000.000.000

....

2^160 = 1.461.501.637.330.900.000.000.000.000.000.000.000.000.000.000.000




Ditemi cosa ne pensate, se lo ritenete corretto, aggiungo la parte in grassetto.
Grazie per l'aiuto ragazzi.

Per me la modifica proposta va benissimo, specificare di più rischierebbe di complicare inutilmente la comprensione, neanche in Mastering Bitcoin c'è stata una tale attenzione e precisione su questo punto  Smiley

Al massimo farei questa leggera modifica alla tua modifica:
Quote
Per completezza di informazione, va inoltre detto che quando effettuiamo un trasferimento da un nostro address verso un altro address, esponiamo a terzi la chiave pubblica relativa al nostro address.
Questa ulteriore informazione "facilita" l'attività di chi volesse cercare di accedere ai Bitcoin rimasti nel nostro address, riducendo di fatto il numero di tentativi medi per riuscire a sbloccare i fondi a 2^128. Anche per questo (oltre che per una questione di maggiore privacy) si consiglia di utilizzare un address una sola volta (si consiglia cioè di svuotarlo completamente la prima volta che si devono utilizzare anche solo una parte dei suoi fondi).

Da un punto di vista della sicurezza del sistema, è corretto dire che servono quindi mediamente:

2^160 tentativi per riuscire a rubare i Bitcoin depositati su un address dal quale non è mai stato effettuato un prelievo

2^128 tentativi per riuscire a rubare i Bitcoin depositati su un address dal quale è stata effettuata almeno una transazione di spesa
gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 07, 2018, 01:47:00 PM
Last edit: April 07, 2018, 02:02:27 PM by gallisiardi
 #54

Ho applicato la tua versione su github.


Ho anche aggiunto questo paragrafo sulla sicurezza nel capitolo Sicurezza e Privacy:
 
Permettere a chiunque di ricollegare la vostra identità ai vostri Bitcoin, potrebbe esporvi a rischi personali, soprattutto se la quantità in vostro possesso fosse considerevole. Se qualche malintenzionato venisse a conoscenza che sul vostro address fossero presenti una decina di Bitcoin, potrebbero esserci dei risvolti poco piacevoli. Sbandierare di possedere dieci Bitcoin, potrebbe non essere quindi una buona idea, soprattuto vista l'alta portabilità di questo tipo di valuta, possiamo equipararla all'oro o ai contanti. Nessuno va in giro a dire che a casa ha un kilo d'oro o una 24 ore piena di contanti. L'aspetto della privacy e della sicurezza sono quindi molto legati tra loro, più di quanto si possa immaginare.

gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 09, 2018, 05:23:10 AM
 #55

Volevo segnalare che sabato ho completato ed aggiunto il primo capitolo sui Fork.

babo
Legendary
*
Offline Offline

Activity: 1666
Merit: 1096


View Profile WWW
April 09, 2018, 01:29:18 PM
 #56

Volevo segnalare che sabato ho completato ed aggiunto il primo capitolo sui Fork.

potresti fare una specie di calendario su google calendar in cui crei una specie di gantt di massima delle traduzioni, cosi la gente si puo organizzare per farti la review quando hai finito

secondo me funziona come soluzione per ottimizzare il tutto e poi le scadenze non sono obbligatorie, sono di massima
gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 09, 2018, 07:49:59 PM
 #57

Volevo segnalare che sabato ho completato ed aggiunto il primo capitolo sui Fork.

potresti fare una specie di calendario su google calendar in cui crei una specie di gantt di massima delle traduzioni, cosi la gente si puo organizzare per farti la review quando hai finito

secondo me funziona come soluzione per ottimizzare il tutto e poi le scadenze non sono obbligatorie, sono di massima

Forse hai confuso questo post con quello della traduzione di Mastering Bitcoin. Wink Comunque lo tengo in considerazione per l'altro thread.

stefy77
Full Member
***
Offline Offline

Activity: 532
Merit: 105



View Profile
April 09, 2018, 08:29:57 PM
 #58

Volevo segnalare che sabato ho completato ed aggiunto il primo capitolo sui Fork.
Uau, sto andando avanti con la lettura e già ci sono altre cose nuove. Devo riscaricare la nuova versione. Grazie.

gallisiardi
Member
**
Offline Offline

Activity: 63
Merit: 170


View Profile WWW
April 10, 2018, 04:18:53 AM
 #59

Se ti registri sul canale telegram, segnalo ogni aggiornamento.

Solitamente le versioni pari 0.0.2 0.0.4 ecc sono quelle definitive, presenti anche sul sito, quelle dispari, 0.0.3 0.0.5 ecc sono quelle presenti solo su github, che contengono piccole modifiche, piccole correzioni di errori.

Basta scaricare le pari, comunque.


Andreitos97
Newbie
*
Offline Offline

Activity: 77
Merit: 0


View Profile
April 11, 2018, 07:57:17 PM
 #60

Miseriaccia! Davvero un lavoro eccezionale!!! Complimenti!!!!
Pages: « 1 2 [3] 4 »  All
  Print  
 
Jump to:  

Bitcointalk.org is not available or authorized for sale. Do not believe any fake listings.
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!