CONCLUSIÓN
trabajo similar al Hashcash de Adam Back [6], en vez de usar una publicación
en un periódico o en Usenet. La prueba de trabajo implica la búsqueda de un
valor, tal que, al calcular un hash, como SHA-256, éste empiece con un número
determinado de bits con valor cero. El trabajo promedio requerido será
exponencial al número de bits requeridos con valor cero, y que puede ser
verificado ejecutando un solo hash.
Para nuestra red de marca de tiempo implementamos la prueba de trabajo
incrementando el valor de un campo nonce en el bloque, hasta que el valor es
encontrado y que dé el número requerido de bits con valor cero para el hash.
Una vez que el esfuerzo de CPU se destina para satisfacer la prueba de trabajo,
el bloque no puede ser cambiado sin rehacer el trabajo. A medida que más
bloques se van encadenando, el trabajo para cambiar un bloque incluiría
rehacer todos los bloques posteriores a éste.
La prueba de trabajo también resuelve el problema de determinar cómo
representar la decisión por mayoría. Si esta mayoría se basará en una dirección
IP, un voto, podría ser alterada por alguien capaz de asignar muchas IPs. La
prueba de trabajo es esencialmente a “una-CPU-un-voto”. La decisión de la
mayoría es representada por la cadena más larga, la cual tiene la prueba de
trabajo con mayor esfuerzo invertido. Si el mayor poder de CPU es controlado
por nodos honestos, la cadena honesta crecerá más rápido y dejará atrás
cualquier otra cadena competidora. Para modificar un bloque pasado, un
atacante tendría que rehacer la prueba de trabajo del bloque y de todos los
bloques posteriores, y luego alcanzar y superar el trabajo de los nodos
honestos. Luego demostraremos que la probabilidad de que un atacante más
lento alcance la cadena más larga, disminuye exponencialmente a medida que
bloques subsecuentes son incorporados.
325