Search content
Sort by

Showing 20 of 33 results by rrupoli
Post
Topic
Board Discussioni avanzate e sviluppo
Merits 4 from 3 users
Re: ricavare la chiave privata dalla chiave pubblica in casi particolari
by
rrupoli
on 26/10/2018, 23:23:46 UTC
⭐ Merited by Micio (2) ,Piggy (1) ,arulbero (1)
Ho aperto questo thread perchè ritenevo interessante dal punto di vista tecnico riuscire a misurare fin dove è possibile invertire il processo chiave privata -> chiave pubblica, e mi ritrovo invece sommerso di richieste di newbie che non hanno nemmeno capito di cosa si sta parlando.

Non posso trovare nessuna chiave privata a partire solo dalla relativa chiave pubblica. Tutti i blocchi minati da Nakamoto utilizzano transazioni con output P2PK, quindi ci sarebbero un sacco di bitcoin a "disposizione" e pensate di ottenerli con il mio programma?   Roll Eyes
Lasciate perdere.


Uno degli aspetti più affascinanti dell'universo Bitcoin che solletica la mente di migliaia di individui consiste nell'esistenza di centinaia di indirizzi di cui molto probabilmente nessuno possiede più la chiave privata, i cosiddetti "zombie address" o indirizzi dormienti che contengono patrimoni milionari.

Per chi non ne avesse mai sentito parlare, qui si può fare un'idea di quante siano queste vere e proprie miniere d'oro a cielo aperto:    

https://bitinfocharts.com/top-100-dormant_5y-bitcoin-addresses.html

Prendiamo per esempio l'indirizzo zombie più goloso in assoluto:
1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF

Esso contiene la bellezza di quasi 80000 bitcoin, per un valore equivalente di 518 milioni di dollari al cambio attuale.

L'attrazione fatale per molti consiste nell'idea romantica di potersi arricchire in maniera SPUDORATA indovinando "semplicemente" una sequenza alfanumerica digitata a caso sulla tastiera del proprio laptop.

E' l'illusione della ricchezza facile, della vincita multimilionaria al superenalotto senza nemmeno dover spendere i soldi per la giocata.


E' il biglietto della lotteria di capodanno gratuito che si può giocare quante volte si vuole, digitando una ad una le cifre ogni volta oppure usando un software che giochi per noi milioni di biglietti gratuiti della lotteria al secondo.

Nella storia del genere umano non si è mai verificata una situazione tale da poter letteralmente accarezzare con mano una ricchezza così imponente che dista da noi solo una manciata di lettere e numeri da pigiare su una tastiera, senza compiere alcuna azione che potrebbe essere classificata come "illegale" essendo tali bitcoin considerati ormai persi per sempre nello sterminato spazio bidimensionale costellato dai punti di una curva ellittica.
Bitcoin che non appartengono de facto più a nessuno, che nessuno potrà mai rivendicare come propri essendo per definizione il proprietario di quei bitcoin solo ed unicamente il possessore della chiave privata dell'indirizzo che li contiene.

L'idea che battendo a caso una sequenza di lettere e numeri su una tastiera possa renderci _istantaneamente_ schifosamente ricchi cambiando la nostra vita per sempre è un'idea estremamente potente e romantica non solo per i newbies ma anche per coloro in grado di cogliere le più sottili sfumature matematiche insite nei meccanismi a protezione del sistema Bitcoin.

Al di là di queste piacevoli considerazioni oniriche, tornando con i piedi per terra, possiamo attribuire un ruolo importante a tali indirizzi zombie che contengono immani ricchezze:
questi indirizzi rappresentano le sirene di allarme del sistema Bitcoin, il canarino nella miniera la cui morte ci avvisa della presenza di gas venefico.

Finche questi indirizzi rimarranno inespugnati continuando a custodire inalterato il loro prezioso carico, potremo continuare ad essere ragionevolmente confidenti sul fatto che il sistema Bitcoin non è ancora stato violato.
 
E soprattutto è possibile continuare a sognare ad occhi aperti senza rischiare di cadere vittime di pericolose ludopatie, in fondo non ci costa nulla...  Wink


Post
Topic
Board Discussioni avanzate e sviluppo
Merits 4 from 2 users
Re: Stima consumo energetico rete bitcoin.
by
rrupoli
on 09/08/2018, 17:47:20 UTC
⭐ Merited by Micio (3) ,Piggy (1)

Tenuto conto che nel tuo calcolo consideravi una potenza di 25 TWh/s contro gli attuali 45TWh/s (e non consideravi per nulla i costi di manutenzione e del personale), direi che il costo di produzione attuale per Bitmain si potrebbe avvicinare ai 5000 dollari come indicato nell'articolo di morgan stanley.

Sarebbe interessante a questo punto, visto che siamo vicini a quel livello, sapere se ci sarà chi potrà permettersi di minare in perdita per un periodo almeno per decimare la concorrenza (problema di teoria dei giochi).


Il conto della serva torna abbastanza, essendoci troppe variabile non note (costi di struttura, personale, etc) l'idea era quella di individuare un valore di prezzo del BTC tale per cui possiamo _certamente_ dire che chi mina lo sta facendo scientemente in perdita.

Applicando il semplice modello che adottai qualche mese fa, aggiornato ai valori attuali diventa:

17.5 BTC * (13 / 45,000,000) = 0.0000050 BTC ogni 10 minuti, equivalenti a 0.000728 BTC al giorno (trascurando le fee della mining pool).

Il ricavo giornaliero in dollari ammonta mediamente a 0.000728 BTC * 6400$ = 4.60$.

Prendendo per buono il calcolo spannometrico di costo giornaliero minimo per Bitmain di 4$ al giorno (con Antminer S9), ciò significa che se il BTC scendo sotto i 5500$ Bitmain mina quasi certamente in perdita (0.000728 * 5500$ = 4$) .

Valore in effetti molto simile a quello indicato da Morgan Stanley, dovremmo stare in quell'intorno.

E' probabile che le grosse mining farm come Bitmain continueranno a minare anche sotto quei livelli critici per diversi mesi, una sorta di dumping volto a guadagnare ulteriori quote di mercato...

Post
Topic
Board Discussioni avanzate e sviluppo
Re: Stima consumo energetico rete bitcoin.
by
rrupoli
on 09/08/2018, 14:56:47 UTC

Il problema è che non è ovvio come calcolare il costo di produzione.


Già, non è affatto semplice calcolarlo, mi cimentai in un conto della serva tempo fa su domanda di un utente del FOL:
http://www.finanzaonline.com/forum/criptovalute/1843541-thread-ufficiale-bitcoin-la-riscossa-90.html#post50550440

Ci sono aree della Cina dove l'energia costa appena 0.06$/kWh e dunque è possibile che l'asticella si posizioni abbastanza in basso:  mi usciva fuori un prezzo minimo per cui grosse mining farm come Bitmain sicuramente minano in perdita sotto i 3000$ per BTC.
Ovviamente da prendere con le pinze...
 
Post
Topic
Board Italiano (Italian)
Re: L'hashrate sta crescendo, ma il prezzo si abbassa...Nuovo segnale rialzista?
by
rrupoli
on 22/06/2018, 22:50:32 UTC
Madonna ma quanto rompete il cazzo? Un po' di figa negli ultimi 30 anni l'avete beccata?

Il mio consiglio è quello di cancellare il post plagiato, poi fai un po' quello che ti pare, Gian87 (alias fucilator_3000).

La prossima volta magari evita di prendere per il culo chi partecipa a questo forum.

------------------------------------------------------
What are Steemit’s policies on plagiarism?
If you are posting plagiarized or copied content, you can get in legal trouble for violating copyright laws. Plagiarized posts and spam are seen as abuse and will be downvoted by community members. If you are posting or using someone else’s content, you must ensure that you have the rights to use the content, and properly reference the sources where you got the material from.

What is Steemcleaners?
Steemcleaners are a group of Steemians concerned with plagiarism, copy/paste, spam, scams and other forms of abuse on Steemit. https://steemit.com/steemcleaners/@steemcleaners/announcing-steemcleaners-the-steemit-abuse-fighting-team

What is @cheetah?
@cheetah is a bot developed by @anyx that scours Steemit for copy/pasted content. Cheetah will not downvote copied content, but it alerts other users to look into it further.

Abusive accounts (serial plagiarists or identity thieves, for example) will go on Cheetah’s blacklist. These users will get downvoted by @cheetah accounts when they post.

More information on the @cheetah bot can be found in this post: https://steemit.com/steemit/@cheetah/faq-about-cheetah


Where do I report a post or comment that contains plagiarism, spam, or abuse?
You can report any abusive content to the #steemitabuse channel on steem.chat.


Post
Topic
Board Italiano (Italian)
Merits 2 from 2 users
Re: L'hashrate sta crescendo, ma il prezzo si abbassa...Nuovo segnale rialzista?
by
rrupoli
on 22/06/2018, 21:59:47 UTC
⭐ Merited by duesoldi (1) ,asdlolciterquit (1)
Ho trattato la tematica nel mio articolo pubblicato da poco....

Un triste caso di millantato credito, qui il post in inglese del vero autore pubblicato un paio di giorni fa:

https://steemit.com/bitcoin/@michiel/bitcoin-hashrate-still-growing-despite-the-lower-price-is-this-a-bullish-sign

Magari fucilator_3000 pensa che qua dentro siamo tutti scemi...
Post
Topic
Board Italiano (Italian)
Re: Dubbio Blockchain - Transaction Block etc etc
by
rrupoli
on 04/06/2018, 10:19:20 UTC
>>e/o deduzioni se uno degli indirizzi di output è un destinatario vero e proprio
>> oppure è una transazione di UTXO. Corretto?

Corretto, ma anche l'eventuale resto genera una nuova UTXO.
Ogni indirizzo di output genera una nuova UTXO (banconota), la quale verrà associata a quell'indirizzo (portafoglio).
Quelle UTXO verranno poi usate come input dai rispettivi proprietari per futuri pagamenti, comprese le UTXO associate ad un eventuale indirizzo di resto.   

Se l'indirizzo di resto non è mai stato usato puoi fare solo deduzioni basate sull'importo.
Se è già stato usato puoi usare uno dei tool indicati oppure puoi studiare la blockchain per cercare eventuali legami con altri indirizzi a te noti.
Post
Topic
Board Italiano (Italian)
Re: Dubbio Blockchain - Transaction Block etc etc
by
rrupoli
on 03/06/2018, 15:45:27 UTC

Quindi se una transazione può avere piu output se ne ha 2 o 3 e cosi via non posso dire se uno di questi è un destinatario vero e proprio o è un nuovo indirizzo del mittente...
Ad esempio A precedentemente è stato il ricevente di 2 transazioni da 4 e 5 BTC, quindi il suo bilancio totale è di 9 BTC...
Se vedo una transazione in cui come input c'è A e output B e C per un totale di 9 BTC (supponiamo fee = 0) di cui 8 BTC a B e 1 BTC a C io esterno non posso dire se C è una terza persona oppure un nuovo indirizzo generato dal wallet di A.
Corretto?



Esatto, se l'indirizzo C è stato generato ex novo potrebbe essere un indirizzo di resto oppure un altro destinatario.

Nella realtà è abbastanza raro che una transazione non preveda resto per cui è ragionevolmente lecito assumere che uno degli indirizzi destinatari sia un indirizzo del mittente.

Esempio:
ind. B riceve 1.4 BTC
ind. C riceve 0.5 BTC
ind. D riceve 0.801345 BTC
ind. E riceve 0.1 BTC
fee  0.0058 BTC

la probabilità che D sia l'indirizzo di resto è alta per cui entra a far parte degli indirizzi sotto osservazione di chi indaga.

Certo teoricamente è possibile anonimizzare ulteriormente una transazione preparando una certa quantità di UTXO di ammontare rotondo, esattamente come se tu preparassi le esatte banconote e monete che ti servono per un pagamento in Euro, fee compresa.

Esempio:

input:
UTXO ind. A = 0.01 BTC
UTXO ind. A = 1 BTC
UTXO ind. A = 0.4 BTC
UTXO ind. A = 0.5 BTC
UTXO ind. A = 0.1 BTC

output:
ind. B riceve 1.4 BTC
ind. C riceve 0.5 BTC
ind. E riceve 0.1 BTC
fee  0.01 BTC  (fee fissa che stabilisci tu)

In questo caso il problema del resto neanche si pone, hai pagato i tuoi creditori con i BTC precisi precisi....


Un altro modo per anonimizzare che preveda il resto consiste nel fare solo pagamenti di ammontare confondibile con esso (cioè con diversi decimali), ma questo ovviamente è abbastanza limitante...



Post
Topic
Board Italiano (Italian)
Re: Dubbio Blockchain - Transaction Block etc etc
by
rrupoli
on 29/05/2018, 09:17:48 UTC

2. In una transazione si indicata il passaggio di un numero X di BTC da un proprietario ad un altro. Nell'explorer quello che si visualizza come proprietari sono le chiavi pubbliche, opportunatamente codificate, dei soggetti della transazione. Partendo dal presupposto che il sistema funziona in modalità UTXO quindi se A deve inviare B 4 bitcoin e A ha nel suo wallet 5 btc, A invia 5 di cui 4 vanno a B e 1 ritorna di nuovo ad A.
Se vedo questa transazione:

https://blockchain.info/tx/75c0892bee139388eca6105ccde8dcdb92b4a58dc7e09b0539b0999ea0181b06

non sarebbe corretto che il secondo indirizzo di output sia lo stesso di quello di input visto che ritornano ad A?

Il wallet genera sempre in maniera autonoma un nuovo indirizzo (quindi chiave pubblica e privata)?

Mentre in una transazione di questo tipo
https://blockchain.info/tx/15620d2881305e7a7494e53a1bf7503a5b389742d2dbc53ec5398de240fb4f2e

in input ci sono tutti gli indirizzi su cui predentemente ci sono stati delle transazioni di deposito?

E per finire una transazione con piu di 2 output cosa vuol dire ad esempio:
https://blockchain.info/tx/65c2caf96b370f277f19def26aefa13b611294b6a7a7df9271128c7c341ee7b1

Un soggetto invia dei btc a piu indirizzi? Cioè quando faccio un pagamento posso scegliere piu destinatari?

Grazie a tutti
FP


In una transazione hai la piena libertà di decidere dove versare il resto che ti spetta, puoi versarlo in un nuovo indirizzo di resto oppure puoi versarlo in uno degli indirizzi che hai usato per il pagamento.
I fondi di input li puoi scegliere liberamente usando UTXO appartenenti a diversi indirizzi in tuo possesso, non sei obbligato ad usare UTXO di un solo indirizzo.
Ed infine anche per gli output puoi decidere di pagare con una unica transazione quanti destinatari vuoi al fine di risparmiare transaction fees.

I wallet generalmente applicano dei criteri di ottimizzazione al fine di minimizzare la dimensione della transazione (e dunque delle fees) ma nulla ti vieta di personalizzarti una transazione in modo manuale.

Per esempio Electrum ti permette di customizzare una transazione con pochi clic scegliendo con precisione chirurgica:
- la lista di UTXO da spendere (anche appartenenti ad address diversi)
- su quali address trasferire fondi (uno o più address)
- su quale address far versare il resto (su uno di quelli di input oppure su uno a piacere).


Ti consiglio di aprirti Electrum in modalità TestNet per sperimentare tutte queste potenti possibilità (puoi inviare e ricevere bitcoin su indirizzi TestNet esattamente come se operassi nella rete Bitcoin ufficiale).






Post
Topic
Board Italiano (Italian)
Re: Ragazzi sto impazzendo!! aiuto per anonimità
by
rrupoli
on 29/05/2018, 08:36:50 UTC
>>> non può sembrare strano anche a chi si occupa di ste cose vedere dei pagamenti anche di 10€ fissi ogni mese da gente diversa? No perchè se dici che mi sto facendo paranoie inutili io ti ringrazio da morire perchè non conoscevo satispay!


Satispay è un borsellino elettronico, puoi scambiare quante volte vuoi denaro (Euro) con i tuoi amici/conoscenti in modo gratuito e istantaneo, basta che il tuo amico conosca il tuo numero di cellulare per trasferirti denaro (il numero di conto corrente tuo e del tuo amico non vengono divulgati a nessuno, tu non conosci il suo, lui non conosce il tuo).

Leggiti questo thread per avere molte più info:
http://www.finanzaonline.com/forum/banking-carte-di-credito-conti-deposito-e-correnti/1674963-satispay-nuova-app-di-mobile-payment-30.html



Post
Topic
Board Italiano (Italian)
Re: Ragazzi sto impazzendo!! aiuto per anonimità
by
rrupoli
on 28/05/2018, 14:03:10 UTC

>>>ma poi non vorrei proprio che sembri che faccio chi sa che!


Se non stai facendo nulla di illegale puoi chiedere ai tuoi amici di farsi Satispay, scambi di denaro istantaneo fra amici a costo zero (occorre un conto corrente di appoggio per aprirlo).

Ma sospetto che non solo quello che stai facendo è illegale ma che pure di gran parte dei tuoi cosiddetti "amici" non conosci nemmeno i connotati...
Post
Topic
Board Italiano (Italian)
Re: Probabilità dì estrazione dei bitcoin
by
rrupoli
on 18/05/2018, 16:25:32 UTC
Vorrei capire.. come posso calcolare la probabilità di “intercettare” transizione con un certo numero di macchine?
E quindi che probabilità ho di estrarre bitcoin in relazione al numero e al tipo di hardware di cui dispondo (ipotesi Antminer S9)?


Se la domanda è: "Quale probabilità ho di riuscire a risolvere un blocco prima degli altri miners usando un hardware di potenza xx TH/sec ?"  
la risposta pratica è abbastanza intuitiva e dipende dalla attuale potenza complessiva della rete Bitcoin detta "Hashrate" e stimata oggi attorno ai 31.5 milioni di TH/sec (TeraHash al secondo).    

Se il tuo Antminer S9 è in grado di macinare 14 TH/sec significa che in media una volta ogni  31.5 milioni / 14 = 2.25 milioni di tentativi riuscirai a risolvere un blocco battendo la concorrenza.

Siccome l'algoritmo del sistema Bitcoin adegua periodicamente la difficoltà in modo tale da permettere la risoluzione di un blocco in circa 10 minuti, ciò significa che con il tuo Antminer S9 riuscirai a risolvere un blocco mediamente ogni 43 anni (2.25 milioni di tentativi x 10 minuti, ipotizzando la stessa difficoltà per i prossimi 43 anni).



Ma mettiamo caso che ci riesce quindi come se vincesse al superenalotto, ma di che importo stiamo parlando? Estrarrebbe 1 BTC?

Se riesci a risolvere un blocco ora porti a casa 12.5 BTC + altri 3-4 BTC di fee, diciamo 16 BTC pari a circa 110 mila Euro.

Se giochi al lotto 7 numeri e fai cinquina hai una probabilità simile di vincere (circa 1 su 2.1 milioni) ma porti a casa la bellezza di 285 mila Euro lordi (250 mila Euro netti), quindi più del doppio rispetto al Bitcoin.

Se volete divertirvi a calcolare altre vincite:
https://www.lottomaticaitalia.it/it/prodotti/lotto/regolamenti/probabilita-di-vincita
https://www.lottomaticaitalia.it/it/prodotti/lotto/gioco/premi










Post
Topic
Board Italiano (Italian)
Re: Probabilità dì estrazione dei bitcoin
by
rrupoli
on 17/05/2018, 08:38:16 UTC
Vorrei capire.. come posso calcolare la probabilità di “intercettare” transizione con un certo numero di macchine?
E quindi che probabilità ho di estrarre bitcoin in relazione al numero e al tipo di hardware di cui dispondo (ipotesi Antminer S9)?


Se la domanda è: "Quale probabilità ho di riuscire a risolvere un blocco prima degli altri miners usando un hardware di potenza xx TH/sec ?"  
la risposta pratica è abbastanza intuitiva e dipende dalla attuale potenza complessiva della rete Bitcoin detta "Hashrate" e stimata oggi attorno ai 31.5 milioni di TH/sec (TeraHash al secondo).    

Se il tuo Antminer S9 è in grado di macinare 14 TH/sec significa che in media una volta ogni  31.5 milioni / 14 = 2.25 milioni di tentativi riuscirai a risolvere un blocco battendo la concorrenza.

Siccome l'algoritmo del sistema Bitcoin adegua periodicamente la difficoltà in modo tale da permettere la risoluzione di un blocco in circa 10 minuti, ciò significa che con il tuo Antminer S9 riuscirai a risolvere un blocco mediamente ogni 43 anni (2.25 milioni di tentativi x 10 minuti, ipotizzando la stessa difficoltà per i prossimi 43 anni).


 


Post
Topic
Board Italiano (Italian)
Merits 5 from 1 user
Re: Chiavi pubbliche: DOMANDA
by
rrupoli
on 11/04/2018, 09:37:13 UTC
⭐ Merited by redsn0w (5)
cut
.... ma a quanto pare non c'è un vincolo in tal senso.


Con Electrum hai la possibilità di scegliere liberamente ogni singolo UTXO che intendi usare per un pagamento, attingendone molteplici anche da address diversi (un po' come scegliere le banconote da usare prelevandole da diversi portafogli in tuo possesso). 

E' evidente che facendo questo si mettono in relazione fra loro quegli indirizzi, cioè si svela che gli indirizzi usati come input di una stessa transazione appartengono allo stesso proprietario.




Post
Topic
Board Italiano (Italian)
Merits 1 from 1 user
Re: Chiavi pubbliche: DOMANDA
by
rrupoli
on 10/04/2018, 08:55:19 UTC
⭐ Merited by hopenotlate (1)
Salve a tutti,
sono nuovo del forum e vorrei porvi questa domanda. Ho provato ad usare in tasto search ma non credo l'abbiano già fatta. Nel caso mi scuso e ringrazio chi vorrà linkarmi la risposta.

Nel caso in cui io accetti pagamenti in bitcoin utilizzando diverse chiavi pubbliche che fanno capo allo stesso wallet, sarebbe possibile per qualcuno risalire al fatto che dietro a quelle diverse chiavi pubbliche c'è sempre lo stesso wallet? ovvero che bitcoin pagati a diverse chiavi pubbliche finiscono nello stesso posto?



Quando parli di "chiavi pubbliche" ti stai riferendo ai diversi Bitcoin address che il tuo wallet controlla.

Ma il wallet (hardware o software che sia) non fa altro che mostrarti la situazione presente sulla blockchain (vedilo come una sorta di "homebanking" che ti mostra sul PC la situazione dei tuoi diversi portafogli registrati sulla blockchain), quindi quando dici che "finiscono nello stesso posto" significa che finiscono tutti nella blockchain, perchè è sulla blockchain che gli address sono registrati pubblicamente.
Ma sulla blockchain non c'è scritto chi controlla quegli indirizzi (eccetto i casi in cui lo si voglia deliberatamente far sapere usando per esempio "vanity address").

Sulla blockchain appariranno dunque per esempio 10 address con i loro movimenti in ingresso e uscita, tutti apparentemente scorrelati fra loro ma controllati remotamente dal tuo wallet.
E' evidente che se trasferisci fondi da un address all'altro allora li metterai in relazione ma se li mantieni separati fino al trasferimento all'exchange, nessuno studiando la blockchain può stabilire che sei tu il proprietario di quei 10 Bitcoin address (eccetto l'exchange che li trasformerà eventualmente in Euro).

Ovviamente i tuoi clienti potranno conoscere alcuni dei tuoi address (a meno che tu non usi indirizzi "usa e getta" ad ogni pagamento).  

In generale per riuscire a capire se dietro ci sei sempre tu occorre investigare più a fondo, per esempio mettendo sotto controllo gli exchange e/o gli indirizzi IP delle transazioni trasmesse dal tuo wallet ai nodi di validazione (miners), ma chiaramente qui siamo ad un livello di controllo riservato alle agenzie investigative nazionali.

Post
Topic
Board Italiano (Italian)
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 06/04/2018, 13:43:01 UTC
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).    

Post
Topic
Board Italiano (Italian)
Merits 1 from 1 user
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 05/04/2018, 15:19:12 UTC
⭐ Merited by Speculatoross (1)

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
 
Post
Topic
Board Italiano (Italian)
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 04/04/2018, 09:45:58 UTC
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.
Post
Topic
Board Italiano (Italian)
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 02/04/2018, 15:52:46 UTC
La tua spiegazione è ottima, però nel libro si usa di proposito la metafora wallet-portachiavi piuttosto che quella address-portafoglio per evitare di pensare che i bitcoin si trovino "dentro" il wallet (come succede invece per le banconote fisiche). Nel tuo caso invece il wallet è un contenitore di portafogli (address) che a loro volta sono contenitori di bitcoin, quindi alla fine uno deduce che il wallet contenga dei bitcoin.

Per non far cadere nell'equivoco che giustamente indichi, il wallet lo si può descrivere come una rappresentazione di ciò che è contenuto nella blockchain.

Cioè, quando apro il wallet Electrum sul mio laptop per vedere quante banconote (UTXO) contengono ognuno dei miei portafogli (address), Electrum attinge queste informazioni dalla blockchain (dove risiedono davvero i miei bitcoin) e me le rappresenta sul PC in un formato comprensibile.

Nel mondo reale, quando accedo al mio conto corrente da un laptop o uno smartphone per controllare il saldo, sono consapevole che gli Euro non sono contenuti sul laptop o sullo smartphone ma che sono registrati sul server della banca.
Allo stesso modo posso immaginare che ogni wallet non sia altro che l'equivalente di un Homebanking che mi mostra il contenuto dei miei portafogli virtuali.

In quest'ottica la metafora rivisitata ed ampliata diviene:

Blockchain = Istituto bancario
Wallet (software/hardware/web wallet) =  HomeBanking
Seed del wallet = Login per accedere all'Homebanking
Private key = Password dispositiva di ogni portafoglio virtuale visualizzato dall'Homebanking
Bitcoin address = portafoglio virtuale contenente banconote virtuali
UTXO = banconota virtuale (espressa in bitcoin o sue frazioni)

Mi rendo conto che questo modello è alternativo a quello proposto nel libro: se il wallet viene rappresentato come portachiavi si intuisce immediatamente che si hanno in mano delle password che permettono di accedere ai bitcoin contenuti nella blockchain.
Però poi si fa fatica ad espandere il modello per far capire metaforicamente cosa rappresentano gli address, gli UTXO e dove va a finire il resto di ogni transazione.
 
Immagino che gallisiardi abbia volutamente preferito usare un modello semplice per dare una prima infarinatura al neofita, consapevole dei limiti del modello stesso.
Post
Topic
Board Italiano (Italian)
Merits 2 from 1 user
Re: [LIBRO COMPLETO GRATUITO] Bitcoin per tutti
by
rrupoli
on 02/04/2018, 09:39:09 UTC
⭐ Merited by arulbero (2)
cut

Forse avrei scritto qualcosina in più sul meccanismo del resto, al quale mi pare hai solo accennato, visto che la sua non conoscenza soprattutto con l'uso dei paper wallet (di cui parli) può portare alla perdita dei bitcoin. Inoltre capendo quel meccanismo si capisce meglio come difendere (almeno un po') il proprio anonimato. Forse non ne hai parlato perchè su questo punto il paragone conto corrente/address non funziona più tanto bene. In quel caso bisogna ragionare in termini di utxo che sono più simili concettualmente a delle banconote fisiche  piuttosto che a dei numeri su un conto corrente.

cosa intendi per "numero limitato di monete"?

Mi aggancio alle tue osservazioni per suggerire a gallisiardi un modello metaforico che a mio avviso si adatta piuttosto bene a spiegare al neofita l'uso pratico del Bitcoin wallet e dei bitcoin in esso contenuti.

In breve:
Il Bitcoin address è assimilabile ad un portafoglio fisico
L' UTXO è assimilabile ad una banconota cartacea

In quest'accezione, il Software wallet diventa un contenitore di diversi portafogli (Bitcoin addresses), ognuno dei quali contiene diverse banconote (UTXO).

Qui sotto spiegato in modo più completo:

---------------------------------------
Nel mondo reale in tasca si tiene un portafoglio dentro il quale sono conservate diverse banconote cartacee.

Nel mondo virtuale il tuo portafoglio è rappresentato da un bitcoin address (indirizzo).
Le banconote dentro il portafoglio sono rappresentate dai cosiddetti UTXO (Unspent Transaction Output).

Esattamente come una banconota cartacea, gli UTXO non sono frazionabili ma vanno sempre spesi interamente.
Gli UTXO sono quindi le banconote del sistema Bitcoin, ma a differenza delle banconote cartacee essi possono contenere qualunque valore in bitcoin.

Cioè mentre nel mondo reale vi sono tagli fissi per le banconote (5, 10, 20, 50 Euro, etc), nel mondo del Bitcoin gli UTXO possono contenere qualunque valore (0.5, 0.03, 3.12, 0.00000234 bitcoins, etc)

Non solo, nel mondo del Bitcoin tu puoi avere decine di address, dunque decine di portafogli, ognuno dei quali può contenere decine di UTXO.

Quando tu fai un pagamento in bitcoin, il tuo software wallet sceglierà uno degli indirizzi (portafogli) che gestisce e userà per il pagamento uno o più UTXO (banconote) associati a quell'indirizzo.
Esattamente come al mercato tu scegli le banconote la cui somma porta alla cifra finale, il tuo software wallet sceglie gli UTXO da usare per il pagamento.

Se ti spetta un resto esso ti verrà restituito (sotto forma di UTXO) in uno degli address controllati dal software wallet.
Volendo puoi indicare al software wallet di versare il resto nello stesso address da cui hai speso i bitcoin (ma di default il resto come già detto viene versato in un indirizzo diverso).

In breve, da un punto di vista tecnico tu potresti possedere un unico address con il quale ricevi bitcoins (sottoforma di UTXO associati a quell'indirizzo) e dal quale disponi pagamenti (usando uno o più UTXO associati a quell'indirizzo) attendendoti che ti venga versato il resto nello stesso indirizzo.
----------------------------------------------


P.S: per numero limitato di monete immagino si riferisca al numero di altcoin che un hardware wallet supporta, di solito solo le principali.
Post
Topic
Board Discussioni avanzate e sviluppo
Re: Esiste una moneta digitale che non è criptata e che è decentralizzata ?
by
rrupoli
on 24/03/2018, 10:45:09 UTC
cut

Insomma ! Ci sono tanti modi per rubare soldi e senza per questo scontrarsi con l'algoritmo di una moneta criptata.

e allora io mi domando...
Perché criptare le monete digitali se tanto poi ci sono ruberie che baipassano la criptazione ?

La moneta digitale non deve essere criptata e non essendo criptata i trasferimenti sono velocissimi e non è necessario munirsi di centrale nucleare per alimentare il minaggio di scemo.

cut

Ovviamente io spero nella comparsa di una moneta NON centralizzata e NON criptata.



Nella tua accezione, l'Euro è un esempio di moneta 'non criptata' e 'centralizzata'.

Domanda retorica: Per quale motivo custodisci gelosamente la login del tuo conto corrente e non la rendi pubblica?
Risposta: Nonostante vi siano centinaia di modi per sottrarti Euro (furti, rapine, estorsioni, truffe, raggiri, etc), cerchi di proteggerti il più possibile da tale evenienza adottando ogni possibile precauzione (login, password dispositiva, codice OTP, sms alert, etc).

Con il Bitcoin succede qualcosa di simile, sebbene vi siano diversi modi per sottrarre bitcoin ad un utente sprovveduto, deve esistere un meccanismo sufficientemente robusto per proteggere un utente che adotti tutte le precauzioni per evitare furti.
Il meccanismo di protezione matematica su cui è basato il sistema Bitcoin è triplice:

- ECC (crittatura basata sulla curva ellittica secp256k1)
- SHA256 (algoritmo di hashing a 256 bit)
- RIPE-MD160 (algoritmo di hashing a 160 bit)

Tale roccaforte ha anche un ulteriore fondamentale obiettivo: impedire il fenomeno del cosiddetto 'double spending', cioè impedire che si possa spendere più volte lo stesso bitcoin e altresì impedire che si possa creare dal nulla moneta al di fuori dei meccanismi leciti previsti dal protocollo Bitcoin.  

I meccanismi di cifratura sono la condizione sine qua non per poter creare una moneta decentralizzata.
Per dirla in una battuta, una moneta "non cifrata e decentralizzata" è un ossimoro, una contraddizione in termini.  


A meno che non si consideri il mero backup dei conti correnti una forma di decentralizzazione: la tua banca non registra il tuo estratto conto su un unico server ma su molteplici server ridondati allo scopo di avere sempre un backup in caso di failure di un server.
Se per te questa è decentralizzazione allora hai già la moneta che desideri, si chiama Euro.   Grin