SOBRE UN TIPO ALTERNATIVO DE CADENA DE BLOQUES CON SÓLO REGISTRO
HASH
Si un cliente se unió a la red recientemente, lo hizo asumiendo que
los validadores anteriores siguieron las reglas y que todos los
bloques preexistentes son válidos. (Nadie se uniría a una red con
fama de corrupta).
Por supuesto, en el sistema actual, si las transacciones nunca se
purgaron, un nuevo nodo podría validar todos los bloques anteriores
para la auto-consistencia. Pero aún no podrían probar la verdad
absoluta. Una red de robots podría haber tomado el relevo y
borrado algunas transacciones dejando "una nueva verdad" y
usuarios insatisfechos. Equivalente al caso 1) anterior.
En el sistema actual, si las transacciones se purgaron del árbol de
Merkle, entonces tienes el caso 2) anterior. Los recién llegados
deben confiar en el proceso. Falta algo, no tienen por qué
preocuparse. Todos deben suponer que fue válido.
Lo único que digo es que, si confías en el proceso de la competencia
de validación de bitcoins (¡y nosotros lo hacemos!), entonces
realmente no necesitas "un 2) bloque extremadamente profundo"
para ser muy profundo. Alguien dijo en otro hilo que los clientes
rechazan cualquier cambio en los bloques con más de dos horas de
antigüedad. Entonces podemos tener absoluta confianza en todos
los bloques enterrados a 12 profundidades.
Entonces, si una transacción no se gasta y se entierra en
profundidad 12, podemos purgar todos sus antepasados. Añaden
paños calientes, pero ninguna validación adicional. Tenemos que
confiar en ellos. Simplemente no hay forma de retroceder y cambiar
el rumbo.
Después de eso, cada bloque sucesivo presupone que todos los
bloques precedentes son verdaderos. De lo contrario, sería un fork y
no un bloque sucesivo. Por lo tanto, para cualquier transacción
validada contra puntos de salida en un bloque anterior, si esos
puntos de salida existen y no se han gastado, se deben suponer
válidos. Si se presume que son válidos, se debe suponer que sus
antepasados son válidos, incluso si se purgan.
---
236
EL LIBRO DE SATOSHI
En el sistema propuesto, exactamente las mismas cosas son verdad.
Si un hash de un punto de salida antecedente no se gasta y está
enterrado a 12 bloques de profundidad, entonces no se gasta en
absoluto. Nada puede cambiar ese hecho. No tiene sentido controlar
a sus antepasados. Puede finalizar la validación de la transacción,
cancelar los hashes de punto de entrada y crear nuevos hashes de
punto de salida.
Curiosamente, si un hash de punto de salida antecedente no se
gasta y se sepulta a MENOS DE 12 bloques de profundidad, entonces
está RELATIVAMENTE no utilizado. Curiosamente, todavía no tiene
sentido controlar a sus antepasados. Lo único que podría cambiar la
validez del antecedente es un cambio de rama a una cadena más
larga. Si un antecesor de un antecedente que usted está validando
esta transacción contra la que cambiada, esta transacción también
se intercambiará.
Es una de esas tramas cutres de película de la máquina de tiempo.
Cuando alguien retrocedió en el tiempo y desapareció a mi
antepasado. ¡Ahora no existo!
=====
Así que lo que digo es que, en AMBOS sistemas (existentes y
propuestos), lo único que los validadores deben hacer es validar que
los puntos de salida de los antecedentes existen y que no se han
utilizado (para la cadena de bloque actual). El proceso asegura que
todo lo demás permanece relativamente o absolutamente válido.
El resto simplemente son paños calientes.
- PD -
Sé que esto es demasiado largo y redundante, pero estoy cansado de
editar. :-)
237