Bitcoin P2P e-cash paper
Pubblicato da cyphersats e brandosari ‐ 3 min di lettura
2008-11-13 22:56:55 UTC - Email originale
James A. Donald ha scritto:
Non è sufficiente che tutti conoscano X. Occorre anche che tutti sappiano che tutti conoscono X, e che tutti sappiano che tutti sanno che tutti conoscono X - questo, come nel problema dei generali bizantini, è il classico arduo quesito dell'elaborazione distribuita dei dati.
La catena proof-of-work è una soluzione al problema dei generali bizantini. Proverò a riformularlo in questo contesto.
Un certo numero di generali bizantini ha un computer e vuole attaccare il wi-fi del Re forzando la password, che hanno capito essere lunga un certo numero di caratteri. Una volta incentivata la rete a generare un pacchetto, devono decifrare la password entro un tempo limitato per bucare il sistema e cancellare i registri, altrimenti saranno scoperti e finiranno nei guai. Hanno abbastanza potenza di CPU per decifrarla in tempo solo se la maggior parte di loro attacca contemporaneamente.
Non si preoccupano particolarmente di quando avverrà l’attacco, basta che siano tutti d’accordo. È stato deciso che chiunque abbia voglia di farlo annuncerà un orario e quello che verrà sentito per primo sarà l’orario ufficiale dell’attacco. Il problema è che la rete non è istantanea, e se due generali annunciano orari di attacco diversi quasi nello stesso momento, alcuni potrebbero sentire prima uno e altri viceversa.
Per risolvere il problema utilizzano una catena di proof-of-work. Una volta che ogni generale riceve il tempo di attacco che ha sentito per primo, imposta il suo computer per risolvere un problema di proof-of-work estremamente difficile il quale include il tempo di attacco nel suo hash. Il proof-of-work è così difficile che ci vorranno 10 minuti di lavoro simultaneo prima che uno di loro trovi una soluzione. Una volta che uno dei generali trova una proof-of-work, la trasmette alla rete e tutti cambiano il calcolo della proof-of-work in corso per includere quella prova di lavoro nell’hash su cui stanno lavorando. Se qualcuno stava lavorando su un diverso tempo d’attacco, cambia in questo, perché la sua catena di proof-of-work ora è più lunga.
Dopo due ore, un tempo d’attacco dovrebbe essere hashato da una catena di 12 prove di lavoro. Ogni generale, semplicemente verificando la difficoltà della catena di proof-of-work, può stimare quanta potenza di CPU parallela all’ora è stata spesa e dedurre che deve aver richiesto la maggior parte dei computer per produrre quella quantità di proof-of-work nel tempo assegnato. Devono averla vista tutti in quanto la proof-of-work è la prova che ci hanno lavorato tutti. Se la potenza della CPU esibita dalla catena di proof-of-work è sufficiente per decifrare la password, possono tranquillamente attaccare al momento stabilito.
La catena proof-of-work è il modo in cui vengono risolti tutti i problemi di sincronizzazione, database distribuito e visione globale a cui facevi riferimento.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
La Cryptography Mailing List
Annulla l’iscrizione inviando “unsubscribe cryptography” a majordomo su metzdowd.com