MÁS SOBRE DOBLE GASTO, PRUEBA DE TRABAJO, Y COMISIONES DE
TRANSACCIÓN
Si hay dos cadenas competidoras, cada una con una versión diferente de
la misma transacción, una tratando de dar dinero a una persona y la otra
tratando de darle el mismo dinero alguien más, es el conjunto de la
cadena de prueba de trabajo la que resolverá cuál de los gastos es válido.
No estamos "al acecho" del doble gasto para hacer sonar la alarma y
atrapar al tramposo. Simplemente decidimos cuál de los gastos es válido.
Los receptores de transacciones deben esperar unos pocos bloques para
asegurarse de que la resolución haya tenido tiempo de completarse. Los
tramposos pueden intentar y hacer simultáneamente doble gasto todo lo
que deseen, y todo lo que lograrán es que, con unos pocos bloques, uno
de los gastos se vuelve válido y los otros se serán inválidos. Cualquier
doble gasto posterior se rechaza inmediatamente una vez que ya hay un
gasto en la cadena principal.
Incluso si un gasto anterior aún no estaba en la cadena, si ya estaba en
todos los pools de nodos, entonces el segundo gasto sería rechazado por
todos los nodos que ya tienen el primer gasto.
_______________________________________________________________
Si la nueva cadena es aceptada, y se dan por vencidos para agregar su
enlace actual, vuelcan todas las transacciones del grupo L al grupo A
(junto con las transacciones que han recibido o creado desde que
comenzaron a trabajar), eliminan del grupo A esos registros de
transacciones que ya son parte de un enlace en la nueva cadena, y
comienzan a trabajar de nuevo tratando de extender la nueva cadena.
_____________________________________________________________
Correcto. También se actualizan cada vez que aparece una nueva
transacción, por lo que L prácticamente contiene todo en A todo el
tiempo.
_______________________________________________________________
Un algoritmo de firma digital de uso intensivo de la CPU firma la
cadena incluyendo el nuevo bloque L.
_____________________________________________________________
Es una prueba de trabajo SHA-256 estilo Hashcash (preimagen parcial de
cero), no una firma.
_______________________________________________________________
78
EL LIBRO DE SATOSHI
¿Existe un mecanismo para garantizar que la "cadena" no consista
únicamente en enlaces añadidos solo por los 3 ó 4 nodos más rápidos?
Porque la emisión del registro de transacción podría pasar fácilmente
por alto esos 3 ó 4 nodos y, si lo hace, y esos nodos continúan
dominando la cadena, la transacción podría no ser agregada nunca.
_____________________________________________________________
Si estás pensando en ello como una firma digital de uso intensivo de la
CPU, entonces puedes estar pensando en una carrera por terminar
primero una operación larga y el que es más rápido siempre gana.
La prueba de trabajo es un hallazgo de colisión SHA-256 estilo Hashcash.
Es un proceso sin memoria en el que se hacen millones de hashes por
segundo, con una pequeña posibilidad de encontrar uno cada vez. El
dominio de los 3 ó 4 nodos más rápidos sería sólo proporcional a su parte
de la potencia total de la CPU. Cualquier oportunidad de encontrar una
solución en cualquier momento es proporcional a la potencia de su CPU.
Habrá comisiones por las transacciones, por lo que los nodos tendrán un
incentivo para recibir e incluir todas las transacciones que puedan. Los
nodos finalmente serán compensados con las comisiones de transacción
siempre y cuando el total de monedas creadas llegue al límite
predeterminado.
_______________________________________________________________
Además, el requisito de trabajo para agregar un enlace a la cadena
debe variar (de nuevo exponencialmente) con el número de enlaces
agregados a esa cadena en la semana anterior, lo que provoca un
estricto control de la tasa de generación de monedas (y por lo tanto de
inflación).
_____________________________________________________________
Correcto.
_______________________________________________________________
Necesitas la agregación de monedas para escalar esto. Es necesario que
haya una transacción "comprobable" donde alguien retire diez monedas
individuales y cree una nueva moneda con denominación diez, etc.
_____________________________________________________________
Cada transacción es una de estas. Sección 9, Combinar y dividir el valor.
79