4. ProofofWork Para implementar un servidor de sellado de tiempo distribuido de forma peer-to-peer, necesitaremos emplear un sistema de proof-of-work similar al Hashcash de Adam Back [6], más que al de los periódicos o los post Usenet. La
proof-of-work consiste en escanear en busca de un
valor que cuando fue hasheado, al igual que con
SHA-256, el hash comience con un número de cero bits. El trabajo medio que hace falta es exponencial en el número de cero bits requeridos y puede verificarse ejecutando un único hash.
Para nuestra red de sellado de tiempo, implementamos la proof-of-work incrementando un
nonce en el bloque hasta que se encuentre un valor que dé al
hash del bloque los cero bits requeridos. Una vez que se ha agotado el esfuerzo de
CPU para satisfacer la
proof-of-work, el bloque
no se puede cambiar sin rehacer el trabajo. A medida que bloques posteriores se encadenan tras él, el trabajo para cambiar un bloque incluiría
rehacer todos los bloques anteriores.
La
proof-of-work también resuelve el problema de determinar la representación en la
toma de decisiones mayoritarias. Si la mayoría estuviera basada en un
voto por IP, podría subvertirse por
cualquiera capaz de asignar muchas IPs. La
proof-of-work es esencialmente
un voto por CPU.
La decisión de la mayoría está representada por la cadena más larga, en la cual se ha invertido el mayor esfuerzo de proof-of-work. Si la mayoría de la potencia CPU está controlada por
nodos honestos, la cadena honesta crecerá más rápido y dejará atrás cualquier cadena que
compita. Para modificar un bloque pasado, un atacante tendría que rehacer la proof-of-work del bloque y de todos los bloques posteriores, y entonces alcanzar el trabajo de los
nodos honestos.
Demostraremos más adelante que la probabilidad de que un atacante más lento los alcance, disminuye exponencialmente a medida que se añaden bloques posteriores.
Para compensar el aumento en la velocidad del hardware y el interés variable de los nodos activos a lo largo del tiempo, la dificultad de la proof-of-work está determinada por una media móvil que apunta a un
número medio de bloques por hora. Si se generan muy deprisa, la dificultad aumenta.
4. Proof of Work https://t.me/BitcoinWP/367Bitcoin: un sistema de efectivo electrónico p2phttps://t.me/BitcoinWP/353BitCoin White Paperhttps://t.me/BitcoinWP/353