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