Riguardo alla questione sicurezza, non capisco bene a cosa ti riferisci. Se mi link il thread, vado a leggermelo.
Mi riferisco a questo thread
https://bitcointalksearch.org/topic/sicurezza-oltre-gli-aspetti-tecnici-2107660In sostanza possedere bitcoin (e farlo sapere in giro) è molto più pericoloso che possedere euro su un conto corrente, poichè dal punto di vista pratico i bitcoin sono come contante, e nessuno andrebbe in giro con migliaia di euro in tasca (ma di fatto molti lo fanno con i bitcoin ignorando l'enorme pericolo a livello di sicurezza personale, come testimoniano purtroppo gli ultimi fatti di cronaca di cui si parla alla fine del thread).
La vostra discussione mi ha stimolato, e penso che la scelta migliore, anche per rimanere coerente con quello già scritto nel resto del libro, sia di spiegare le cose a livello di transazioni. Prendetela come una bozza della bozza, devo mettermi li con calma e rileggere i paragrafi da integrare. Gli esempi potrebbero essere qualcosa del genere.
Esempio semplice
Bob ha acquistato su un exchange 0,8 btc, il suo wallet gli mostrerà quindi una transazione in ingresso di 0,8 btc.
Se Bob deve inviare ad Alice 0,2 btc, il wallet prende la transazione in ingresso di 0,8 BTC, la divide in due transazioni, una da 0,2 che verrà inviata ad Alice e una di 0,6 btc di resto che dovrà reinviare a se stesso. La transazione generata dal wallet di Bob conterrà quindi 1 Input e 2 output.
IMMAGINE CHE ILLUSTRA IL TUTTO
Esempio più complesso
Bob ha scritto un libro su Bitcoin, ha inserito al suo interno un Qr Code. Cinque lettori gli hanno donato 0,002 btc per uno, per un totale di 0,01 btc. Bob deve pagare 0,005 btc per l'acquisto di uno spazio web. Il suo wallet, userà quindi 3 input da 0,002, per un totale di 0,006 e genererà 2 output, uno da 0,005 verso il fornitore del servizio web, ed uno da 0,001 di resto verso se stesso.
Ora Bob avrà un saldo di 0,005, composto dai due input che non sono stati intaccati dall'ultima transazione, e dal resto di 0,001 btc.
IMMAGINE CHE ILLUSTRA IL TUTTO
Tempo fa avevo tradotto un articolo sulla questione del resto:
http://bitcoinedintorni.blogspot.it/2015/04/cinque-modi-di-perdere-bitcoin-con-gli.htmlmagari ti può servire come spunto.
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.
Infine per quanto riguarda il numero di chiavi private, poichè un address è lo ripemd160(sha256(una chiave pubblica)), esso è lungo 160 bit. Quindi è ovvio che ci sono moltissime chiavi private (in media 2^256/2^160) che possono controllare lo stesso address (come le password nei siti, se un sito memorizza come dovrebbe essere solo il digest di una password, è chiaro che ci saranno molte altre password (diverse da quella originale) che mi permetteranno di accedere indifferentemente al mio account.)