Confundido sobre el hachís en el diagrama de Satoshi Nakamoto

En el diagrama de Satoshi Nakamoto:

ingrese la descripción de la imagen aquí

Considere el bloque Hash en el primer bloque de transacción anterior:

¿Cómo se calcula ese valor Hash? Veo flechas de una clave pública del propietario y otra flecha, por lo que es confuso. ¿La flecha que proviene de la clave pública del propietario indica que el hash está encriptado con la clave pública del propietario? Si es así, ¿cuál es la otra flecha? ¿Eso está involucrado durante el cifrado con la clave pública? En otras palabras, ¿el hash de la transacción anterior se combina de alguna manera con un nuevo hash antes de cifrarse con la clave pública? Qué está pasando aquí?

Gracias.

Respuestas (1)

En primer lugar, las transacciones no son bloques y los bloques no son transacciones. Son dos estructuras de datos distintas que parece pensar que son lo mismo.

¿Cómo se calcula eso?

Realizando SHA256 doble en la transacción.

Veo una flecha que viene de la izquierda (hablaré de eso en un momento); parece representar el hash del bloque de transacciones anterior. Pero la flecha que proviene de la clave pública del propietario 1 también me confunde. ¿Este diagrama dice que la clave pública del propietario 1 tiene un hash junto con el valor hash del bloque anterior? ¿Es eso lo que realmente sucede en Bitcoin, o hay más detalles?

Sí, la clave pública es parte de los datos que se codifican en una transacción.

Me gustaría ver el bloque original en la cadena hash representada porque ese bloque original no tendría un hash de bloque anterior al que hacer referencia. Entonces, ¿eso significaría que el hash del primer bloque es solo un hash de la clave pública del propietario?

Una transacción es más que una clave pública y una salida. Pero la primera transacción en esa cadena de transacciones no tiene ninguna entrada, por lo que no tiene ninguna transacción anterior a la que haga referencia. Esta transacción se conoce como transacción de base de monedas o transacción de generación de monedas. Es creado por mineros y esencialmente produce Bitcoin de la nada.

¿Hay buenos recursos que entren en más detalles técnicos sobre el primer bloque en la cadena de hash de transacción y cómo se calculan estos hash?

La guía para desarrolladores de Bitcoin.org explica la mayoría de los detalles de Bitcoin.


¿La flecha que proviene de la clave pública del propietario indica que el hash está encriptado con la clave pública del propietario?

No, está diciendo que la clave pública se usa para verificar la firma del Propietario 1. Esta clave pública se especifica en la transacción anterior. Para saber cuál es la transacción anterior, colocamos el hash de la misma en la transacción actual (Transacción del propietario 2). De esa manera, podemos buscar rápidamente la transacción del Propietario 1 para recuperar la clave pública del Propietario 1.

No hay encriptación que suceda en el protocolo Bitcoin. Nada está encriptado.

En otras palabras, ¿el hash de la transacción anterior se combina de alguna manera con un nuevo hash antes de cifrarse con la clave pública?

Sí, el hash de la transacción anterior se combina con los demás datos de la transacción actual para producir el hash de la transacción actual.


En lugar de tratar de comprender los detalles técnicos y los diagramas que Satoshi incluyó en el documento técnico, debe intentar comprender cómo funciona realmente Bitcoin hoy en día según el código y otra documentación disponible. El documento técnico no describe cómo funciona realmente Bitcoin; se escribió meses antes del primer lanzamiento y muchos detalles cambiaron entre los conceptos del documento técnico y la implementación real de esos conceptos.

Corríjame si me equivoco, pero no estoy hablando de bloques en la cadena de bloques; sé la diferencia entre ese bloque y un bloque de transacción. Estoy hablando de bloques de transacciones en la cadena hash de transacciones que rastrea un activo digital desde la génesis en todos los propietarios. ¿No se puede llamar a cada enlace (objeto de datos) en esta cadena de transacciones un "bloque de transacciones"?
Leí la guía del desarrollador y creo que nuestra desconexión es que Bitcoin en realidad no crea ni discute una cadena de transacciones hash. Esto es más una abstracción de una estructura de datos que podría crearse a partir de los hashes de transacción. Así que no creo que sea relevante discutir la nomenclatura de tales "bloques de transacciones" aquí...
Pregunta editada para mayor claridad. Estoy interesado en los primeros y posteriores valores Hash a lo largo de la cadena de transacciones de propiedad.
Creo que realmente me equivoqué en la forma en que hice mi pregunta. En lugar de publicar una nueva pregunta, decidí reducir esta a lo que realmente estoy tratando de preguntar y reducir todo el desorden en mi pregunta original. Por favor acepte mis disculpas y nuevas aclaraciones. Realmente estoy tratando de entender esto. La guía para desarrolladores no me ayudó con la pregunta específica que estoy haciendo.
No, no es un bloque de transacción. Es solo una transacción. Llamarlos bloques o bloques de transacciones solo creará más confusión. Simplemente llámalo una transacción. Además, Bitcoin crea cadenas de transacciones. Una entrada de transacción hace referencia directamente al txid (también conocido como hash) de una transacción anterior.
No estoy tratando de entender Bitcoin desde el diagrama. Estoy tratando de averiguar qué se hace genéricamente en tales cadenas de transacciones. Ni siquiera me importa si es Ripple, Ethereum o Bitcoin. Estoy tratando de averiguar cuál fue la intención porque me gustaría poder enseñar la idea detrás de la cadena de transacciones. Estoy colgado en el Hash. No puedo averiguar si las transacciones tienen dos valores Hash: uno para el activo digital que se está rastreando y el otro para el bloque de transacciones, de modo que pueda vincularse al bloque anterior... Si solo hay un Hash , eso ayuda a saber...
Cada transacción tiene su propio hash. Ese hash no es parte de la transacción en sí porque se calcula directamente a partir de la transacción. Cada transacción (excepto las transacciones de base de monedas) también contiene el hash de una transacción anterior. En el diagrama, el hash que se muestra es un hash diferente cada vez, es el hash de la transacción anterior.
Bueno, gracias. Última aclaración: no estaba hablando de la flecha discontinua de la clave pública del propietario; entiendo que se usa para verificar. Estaba hablando de la flecha sólida que apunta al Hash. ¿Qué es eso que dice?
La flecha sólida significa que la clave pública Y la transacción anterior se codifican juntas. Tenga en cuenta que no es así como funciona Bitcoin (o cualquier moneda que yo sepa) y es completamente innecesario.
Creo que acabas de SOLUCIONAR mi confusión, ¡gracias! Entonces, la clave pública simplemente se encuentra en la transacción; no hace nada más que ayudar a validar la firma para la siguiente transacción... ¿Verdad? :)
Sí. La clave pública está en la transacción solo para la validación de la firma.
¿Toda esa charla solo para aprender ese simple hecho? ¡Caramba! :) :) :) Me has alegrado el día. ¡Gracias!
"No hay encriptación que suceda en el protocolo Bitcoin. Nada está encriptado". Si se trata de un problema semántico, está bien, pero ¿no es "firmar con una clave privada" una forma de encriptación digital? Quiero saber qué es correcto: veo que se usa "cifrado" todo el tiempo cuando se habla de PKC...
Una firma digital no es lo mismo que el cifrado. El cifrado ofusca un mensaje para que nadie, excepto los destinatarios previstos, pueda leer el mensaje. Con una firma digital, el mensaje no se ofusca. Más bien, el mensaje está en texto sin formato y la firma sirve como prueba de que el propietario de la clave pública creó el mensaje y verifica la autenticidad del mensaje (es decir, no fue alterado).
Gracias, Andrew, pero pensé que una firma digital encripta un hash del mensaje; luego, el mensaje y el hash encriptado se envían juntos al destinatario. Pensé que el destinatario usa la clave pública para verificar descifrando el hash y luego volviendo a calcular el hash contra el mensaje para asegurar una coincidencia. Ahora bien, si estamos diciendo lo mismo, está bien. De lo contrario, tengo curiosidad por saber dónde me he equivocado en mi comprensión. Entiendo que el mensaje en sí no está encriptado, pero ¿no lo está el hash? Y si es solo el hash, tal vez no sea bueno hablar de encriptación porque el mensaje no está encriptado.
Puede ser así para algunos algoritmos de firma digital, pero Bitcoin usa ECDSA, que no hace eso. El hash del mensaje no se recupera de ninguna manera, debe volver a calcularse a partir del mensaje para realizar la verificación de la firma.