Author

Topic: Duda acerca de las transacciones y cómo se introducen en la blockchain (Read 127 times)

member
Activity: 170
Merit: 10
Perdonad mi ignorancia,

Cual es el beneficio que saca en todo el proceso de la transacción los NODOS???.
legendary
Activity: 1623
Merit: 1608
Hay muchas formas de construir tus propias transacciones.

Directamente desde código: pycoin, bitcoin-js...

Desde una web, en modo interactivo, por ejemplo: https://coinb.in

Evidentemente, Bitcoin Core también permite crear transacciones desde la consola, con los comandos createrawtransaction y signrawtransaction.
newbie
Activity: 75
Merit: 0
Muchísimas gracias por la respuesta.

Ayer durante un vuelo de 5 horas y otro de 3 me estuve leyendo y releyendo "Mastering bitcoin", un libro que ya has recomendado tú varias veces por aquí y la verdad es que es completo y sencillo de entender (salvo alguna que otra explicación matemática de hashes). Sin duda alguna de lo mejor que existe para entender el funcionamiento técnico de monedas basadas en la red blockchain.

Ahora toca pasar a la parte práctica.
Por supuesto soy usuario de bitcoin y sobretodo litecoin pero me gustaría realizar yo mis propias transacciones manualmente sin ayuda de wallets tales como Bitcoin Core, Electrum o demás. Sería sólo para cacharrear y seguir entendiendo un poco más los detalles técnicos.

Existe algún programa para ello? (aún siendo en línea de comandos, sin interfaz gráfica)

Gracias
legendary
Activity: 1623
Merit: 1608
1- En el wallet (Bitcoin Core mismamente) se crea una transacción dónde figuran los INPUTs necesarios para realizar el OUTPUT de bitcoins. Se firma con la clave privada y se envía a resto de nodos, teniendo como destino la address de la persona B.

Se entiende tu explicación, pero lo correcto sería decir algo parecido a lo siguiente: Una transacción consume UTXOs (unspent transaction outputs); cada uno de estos UTXO será un input (entrada) de la nueva transacción; la transacción se envía a varias direcciones Bitcoin y cada una de ellas es una salida (output) de esa transacción. Además, cada una de esas salidas serán UTXO porque aún están sin gastar. Se firma con la clave privada y se envía a resto de nodos.


Quote from: GeZero
2- Una vez que la transacción se transmite a la red, se queda en una lista de espera a ser incluida en un bloque junto con otras transacciones. Que la incluyan antes o después va a depender del fee que se haya pagado y del tamaño de la transacción (que no el importe en bitcoins).

Correcto.


Quote from: GeZero
3- Los mineros crean un bloque con la transacción de A a B (junto a otras transacciones mas). Es correcto? Son los mineros quien crean ese bloque?
Según he leído sólo se crea un bloque cada 10 minutos, habiendo millones de mineros en el mundo... quien es el que crea el primer bloque para después entre todos competir para validarlo?

4- Después de crear el bloque tienen que validarlo para incluirlo en la blockchain, no? Es ahí cuando el minero que obtiene el hash que empieza por 000 halla la solución matemática al bloque. El minero obtiene su recompensa y el bloque queda validado y listo para incluirlo en la blockchain.

5- Una vez que se valida y añade a la blockchain, llegan las otras validaciones. Quién las hace? Los que forman parte del nodo o los mineros?

El minero que obtiene el hash que empieza con suficientes 000000 por delante, crea el bloque, añade su precioso hash para que todos puedan verificarlo y se paga a sí mismo 12,5 BTC más las comisiones de las transacciones que ha incluido en ese bloque. Después, el resto de mineros y de nodos comprueba que el bloque es válido, es decir, el hash del minero creador del bloque empieza con suficientes 000000 por delante, el pago no supera los 12,5 BTC más las comisiones, las transacciones incluidas en él consumen solamente UTXO, el tamaño del bloque no supera el máximo, etc. A partir de ahí, los nuevos mineros están incentivados a construir sobre ese nuevo bloque para no quedarse atrás en la carrera por construir la cadena con mayor trabajo acumulado.
newbie
Activity: 75
Merit: 0
Hola a todos.

Después de leerme los documentos teóricos acerca de cómo se realiza una transacción, tengo unas consultas que a ver si algún gurú de aquí me puede solventar.

Lo que tengo más o menos claro es que si, por ejemplo, la persona A quiere pasar a B unos bitcoins lo que ocurre es lo siguiente:

1- En el wallet (Bitcoin Core mismamente) se crea una transacción dónde figuran los INPUTs necesarios para realizar el OUTPUT de bitcoins. Se firma con la clave privada y se envía a resto de nodos, teniendo como destino la address de la persona B.

2- Una vez que la transacción se transmite a la red, se queda en una lista de espera a ser incluida en un bloque junto con otras transacciones. Que la incluyan antes o después va a depender del fee que se haya pagado y del tamaño de la transacción (que no el importe en bitcoins).

Hasta aquí más o menos (corregidme si me equivoqué en algo) lo he entendido. Lo que no tengo claro es el paso siguiente.

3- Los mineros crean un bloque con la transacción de A a B (junto a otras transacciones mas). Es correcto? Son los mineros quien crean ese bloque?
Según he leído sólo se crea un bloque cada 10 minutos, habiendo millones de mineros en el mundo... quien es el que crea el primer bloque para después entre todos competir para validarlo?

4- Después de crear el bloque tienen que validarlo para incluirlo en la blockchain, no? Es ahí cuando el minero que obtiene el hash que empieza por 000 halla la solución matemática al bloque. El minero obtiene su recompensa y el bloque queda validado y listo para incluirlo en la blockchain.

5- Una vez que se valida y añade a la blockchain, llegan las otras validaciones. Quién las hace? Los que forman parte del nodo o los mineros?


Como veis he leído algo del tema pero hay partes que no las tengo de todo claras. A ver si alguien me pudiera echar un cable.

Gracias!!! Smiley
Jump to: