Post
Topic
Board Discussioni avanzate e sviluppo
Merits 6 from 1 user
Re: Se tu avessi scoperto un algoritmo ECDLP , che strategia useresti ?
by
gbianchi
on 18/02/2025, 17:57:24 UTC
⭐ Merited by fillippone (6)
questa e' la mia risposta (dove tra l'altro rimando proprio a questo thread):


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 monitorata la mempool, e decodifica le chiavi private dalle 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 controllo.

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!

Questo ragionamento fa totalmente riposizionare la mia idea di sicurezza su questi sistemi, non tanto per i computer quantistici,
ma piuttosto per la mina vagante sempre possibile della scoperta di un ECDLP efficiente.

Non dimentichiamoci che le difficolta' di inversione di ECDSA sono solo congetturate, non dimostrate.

Rimando a questo mio vecchio thread chi puo' essere interessato all'argomento:

https://bitcointalk.org/index.php?topic=1294566.0