Post
Topic
Board Italiano (Italian)
Re: BITCOIN PUMP!
by
gbianchi
on 18/02/2025, 15:26:05 UTC

No, il problema sussiste in entrambi i casi.
Per spendere bitcoin da un indirizzo, in ogni caso devi esporne la chiave pubblica. Per confermare la transazione devi attendere in media 10 minuti, e una volta che l'algoritmo sarà stato craccato, 10 minuti saranno più che sufficienti per tentare di appropriarsi di quei bitcoin.

Nel famoso puzzle, ovvero la transazione  
https://www.blockchain.com/explorer/transactions/btc/08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15

verso 160 indirizzi, ognuno protetto da una chiave privata a n bit, con n da 1 a 160,

finchè erano noti solo gli indirizzi e non le chiavi pubbliche associate, erano stati scoperti con attacco brute force solo le prime 62/63 chiavi (più o meno).

A un certo punto l'autore del puzzle fece alcune transazioni in uscita da alcuni tra quegli indirizzi che conservavano ancora bitcoin,

più precisamente effettuò 1 transazione dall'indirizzo protetto dalla chiave a 65 bit, 1 dalla chiave a 70 bit, 1 dalla chiave 75 bit, ... fino alla chiave a 160 bit, esponendo in questo modo le chiavi pubbliche (che rimangono in blockchain, non solo in mempool) di quei particolari indirizzi.

Cosa è successo quindi?
Nel giro di relativamente poco tempo sono state trovare tutte le chiavi private degli indirizzi da quello protetto a 60 bit fino a quello protetto a 130 bit (solo le chiavi private relative agli indirizzo con chiavi pubbliche esposte).

Si è invece 'spento' l'interesse per trovare le chiavi private relative alle chiavi 67, 68, 69, ecc. Perchè?  

Perchè con un hardware normalissimo bastano pochi secondi per ricavare una chiave privata di 68 bit da una chiave pubblica, quindi chi dopo mesi di ricerca avesse trovato la chiave privata (a partire solo dall'indirizzo, quindi con attacco brute force) nel momento in cui avesse tentato di spendere quei bitcoin avrebbe corso il serio rischio di non riuscire a farlo.

Con l'eventuale arrivo dei computer quantistici, una chiave privata standard da 256 bit sarebbe come una chiave privata da 68 bit oggi, ovvero craccabile in secondi.
E quindi nessun indirizzo sarebbe sicuro, a meno che uno decida di lasciare lì i bitcoin per sempre, ma allora sarebbe come non averli.

Effettivamente mentre la transazione che firma la spesa dell'UTXO e' in mempool, e quindi i BTC non sono ancora trasferiti al nuovo indirizzo,
il "pagante" ha pero' gia' esposto la sua chiave pubblica.

Quindi se l'attaccante  tiene analizzata la mempool, e decodifica le chiavi pubbliche mediamente piu' velocemente di
quanto le transazioni in attesa vengono inserite nei blocchi, l'attaccante puo' firmare una transazione della stessa UTXO ma con fee piu' alte verso
un indirizzo sotto il suo ontrollo.

Tra l'altro a questo punto anche altri attaccanti potrebbero fare la stessa cosa, e tutto si trasformerebbe in un casino senza fondo.
 
Ammettendo che i tempi di decodifica siano di secondi o al massimo qualche minuto, hai perfettamente ragione!