Estoy leyendo el artículo de Satoshi, y en la Sección 2. Transacciones , comienza diciendo:
Definimos una moneda electrónica como una cadena de firmas digitales. Cada propietario transfiere la moneda al siguiente firmando digitalmente un hash de la transacción anterior y la clave pública del próximo propietario y agregándolos al final de la moneda. Un beneficiario puede verificar las firmas para verificar la cadena de propiedad.
Luego hay un buen diagrama que muestra esto en el papel.
Entonces, efectivamente, si BTC0 es la transacción anterior, la nueva transacción es:
Kp(Propietario1)
hash := H(BTC0,Kp(Propietario1))
S( hash ,Ks(Propietario0))
dónde
Kp(Owner1) es la clave pública del destinatario (Owner1)
hash := H(BTC0,Kp(Owner1)) es el Hash de la transacción anterior junto con la clave de publicación del destinatario
y
Tengo un par de preguntas:
Aquí he indicado que la 'transacción anterior' es BTC0. ¿Es esta la transacción anterior para esa moneda o la transacción anterior en la cadena? Danielle Drainville sugiere que es "la transacción anterior en la que se usó esta moneda se codifica junto con la clave pública del destinatario" en su artículo ( An Analysis of the Bitcoin Electronic Cash System )
Si es así, ¿debe haber algún tipo de búsqueda de la transacción anterior primero?
Y, si entiendo correctamente, no hay 'Monedas' en su billetera... la billetera almacena la cadena de bloques, es decir, el registro de transacciones y su(s) clave(s) pub/pri. Cuando su billetera le muestra la cantidad de bitcoins que contiene, ¿es realmente el resultado de una búsqueda en la cadena de bloques?
No entiendo completamente su pregunta, primero una reacción a su suposición.
De hecho, es para que su billetera no contenga monedas reales. Sin embargo, considere la distinción entre los términos billetera y cliente. Esta no es una distinción oficial, pero es útil para comprender los dos principios diferentes.
Un cliente de Bitcoin almacena la cadena de bloques completa. Cuando solicita información sobre una dirección o una transacción, puede inspeccionar la cadena de bloques y recuperar la información solicitada. Entonces, de hecho, los saldos se recuperan mediante una consulta a la cadena de bloques. La mayoría de los clientes mantienen un índice de todas las transacciones de sus direcciones para que estas consultas se puedan lograr de manera muy eficiente.
Una billetera a menudo se refiere al conjunto de claves privadas de sus propias direcciones. Para el cliente Bitcoin predeterminado, este es el archivo wallet.dat. Contiene una lista de las direcciones que posee y las claves privadas correspondientes que necesita para realizar transacciones con sus direcciones.
Sin embargo, el término billetera también se usa a menudo para un cliente de Bitcoin, por ejemplo, en la página de inicio de Bitcoin . Una advertencia aquí es que algunas de esas billeteras no almacenan la cadena de bloques completa, pero tienen otras técnicas para consultar implícitamente la cadena de bloques de otra manera. Este tipo de clientes se denominan clientes ligeros.
Ahora, lo que es una transacción, en principio, es solo entregar el control sobre un cierto valor en la cadena de bloques a otra dirección.
Para cada dirección hay cero o más transacciones que tienen la dirección como salida. Cuando no los envió a otra persona, se denominan bitcoins no gastados o salidas de transacciones no gastadas. La suma de esos componen el saldo de la dirección.
Cuando desee enviar estas monedas, o una parte de ellas (tenga en cuenta que no existe la noción de una moneda, sino solo un valor de la moneda que envía, que puede ser cualquier número decimal hasta la precisión de satoshi ), realiza una transacción en en el que reclama algunas de las salidas no gastadas para su dirección (como entradas para su transacción) y distribuye el valor que tienen entre otras direcciones (que son las salidas para su transacción). Por lo tanto, las salidas no gastadas de una dirección se pueden usar como entradas para una transacción.
Cuando firma la transacción y se verifica en un bloque, las salidas no gastadas ahora se gastan y las nuevas salidas no gastadas se han asignado a las direcciones que especificó en las salidas de transacción para la transacción.
Stéphane Giménez
gen m