Scusatemi , ma non ho capito cosa centrano con la fine dei bitcoin !!!
[...]
Spero che qualcuno sia piu' preciso di me perché mi interessa capire sta cosa ...
Premessa:
Sappiamo che per ottenere un indirizzo Bitcoin sono necessari i seguenti tre passaggi:
chiave privata -
(1)-> chiave pubblica -
(2)-> sha256(chiave pubblica) -
(3)-> RIPMED(sha256(chiave pubblica)))
(ho saltato qualche dettaglio tecnico di importanza trascurabile).
Il passaggio (1) si ottiene mediante un calcolo che coinvolge i punti della curva ellittica y^2=x^3+7 (il passaggio 1 consiste nel moltiplicare il punto base G della curva per uno scalare d, che è la chiave privata; il risultato Q è la chiave pubblica, quindi Q = G*d)
Ora sono già stati sviluppati 2 algoritmi per i computer quantistici, l'algoritmo di Shor e l'algoritmo di Grover.
L'
algoritmo di Shor è stato sviluppato per scomporre un numero in fattori primi, una sua versione modificata è in grado di invertire la moltiplicazione per uno scalare delle curve ellittiche, cioè permette, noti Q e G, di trovare d. Più precisamente questo algoritmo riduce il costo computazionale da O(2^(k/2)) a O(k^3), cioè da esponenziale a polinomiale (k=256, lunghezza della chiave privata d) , quindi 256^3 sono solo poche decine/centinaia di milioni di operazioni per ricavare la chiave privata dalla chiave pubblica.
Il secondo algoritmo è l'
algoritmo di Grover, che è più generico, e nel nostro caso si può utilizzare per invertire i passaggi (2) e (3). In particolare per invertire RIPMED (più facile rispetto a sha256) il costo computazionale grazie all'algoritmo di Grover cala solo da O(2^k) a O(2^(k/2)), cioè rimane sempre esponenziale (in questo caso k=160, quindi ci vogliono un numero di operazioni dell'ordine di 2^80 per invertire l'operazione (3)).
A questo punto è chiaro che i bitcoin associati a un indirizzo che non abbia mai effettuato transazioni in uscita - e che quindi non abbia mai esposto nella block chain la sua chiave pubblica - è protetto (anche contro i computer quantistici) a differenza di uno che abbia già effettuato dei pagamenti, che diverrebbe così vulnerabile.
C'è un
PERO' : cosa vuol dire che sono sicuri dei bitcoin che sono associati a un indirizzo? Io li posseggo solo se posso spenderli liberamente, ma nel momento in cui volessi spenderli dovrei farlo mediante una transazione, ed ecco che un nodo truffaldino potrebbe con uno sforzo computazionale ridicolo (O(256^3)) intercettare la mia transazione, ricavare la mia chiave privata da quella pubblica, e riuscirebbe così a spendere i miei bitcoin indirizzandoli altrove.
Vitalik Buterin ha già discusso questo problema, proponendo come soluzione finale il metodo delle "firme di Lamport", che si basa solo sulle funzioni di hash e rimpiazzerebbe completamente ECDSA.
La fase intermedia però tra l'uscita di questi computer quantistici e il trasferimento in massa dei bitcoin dai vecchi indirizzi a quelli generati con il nuovo metodo non sarebbe banale da gestire:
... as soon as a quantum pre-emergency is declared, everyone should move their wealth into a 1-of-2 multisignature transaction between an unused, old-style, Bitcoin address, and an address generated with the new Lamport scheme. Then, developers should quickly create the Lamport patch for as many Bitcoin clients as possible and push for everyone to upgrade. If the whole process is done within weeks, then by the time quantum computers become a threat the bulk of people’s bitcoins will be in new-style Lamport addresses and will be safe. For those who still have their wealth in old-style addresses by then (unused old-style addresses that is; by that point coins in used old-style addresses could trivially be stolen), a few established organizations will agree to serve as trusted nodes, using the Merkle signature scheme to add an additional signature to transactions sending from old-style addresses to new-style addresses. To prevent network fraud and Finney attacks, the new Bitcoin rules would require all transactions from old to new after a certain point to be signed by these authorities. The authority system will introduce centralization, but it will only be a temporary emergency measure, and after a few years the system can be retired entirely.
La mia risposta si basa sulla lettura di questo
articolo proprio di Vitalik Buterin.