Estaba leyendo un documento sobre datos de transacciones y parece haber dos párrafos contradictorios:
Cada bloque debe incluir una o más transacciones. La primera de estas transacciones debe ser una transacción de base de monedas, también llamada transacción de generación, que debe cobrar y gastar la recompensa del bloque (compuesta por un subsidio del bloque y cualquier tarifa de transacción pagada por las transacciones incluidas en este bloque).
No se requiere que los bloques incluyan transacciones que no sean de base de monedas, pero los mineros casi siempre incluyen transacciones adicionales para cobrar sus tarifas de transacción.
mis preguntas son sobre transacciones de coinbase y tarifas de transacción:
¿Se agrega automáticamente una transacción de coinbase (es decir, se asume por consenso) para cada bloque, o los mineros tienen que agregarla explícitamente como la primera transacción en cada bloque? si es así, ¿cómo lo marcan como una transacción de base de monedas? ¿Es suficiente no establecer entradas y enumerarlo como el primero?
¿Cómo cobran los mineros las tarifas de transacción? ¿Tienen que agregar explícitamente transacciones que no sean de Coinbase con su propia dirección como salida? en caso afirmativo, ¿las transacciones de cobro de tarifas son del mismo tipo que otras transacciones o son especiales de alguna manera?
el primer párrafo del texto citado parece implicar que las tarifas de transacción en un bloque se pueden cobrar a través de la transacción de base de monedas, pero el segundo párrafo parece implicar que los mineros deben agregar explícitamente transacciones que no sean de base de monedas para cobrar las tarifas de transacción; si el minero M
quiere cobrar tarifas de una transacción A->B
, ¿debe M
incluir una transacción adicional A->M
además A->B
? si no, ¿cómo saben los demás dónde se cobran las tasas, es decir, la dirección de M
?
Los mineros crean de forma independiente una transacción de base de monedas para el bloque. Para crear una transacción de base de monedas, esta transacción debe ser la primera en el bloque y tener solo 1 entrada de base de monedas. La entrada de Coinbase significa que la transacción de salida es 00000000000000000000000000000000000000000000000000000000000000000 y el índice de salida es FFFFFFFF. Ingresa el monto de la transacción calculado como el monto de la recompensa del bloque según la altura del bloque, más todos los montos de las tarifas para todas las demás transacciones dentro del bloque. Miner capaz de tomar esta cantidad total en las salidas. El minero especifica su propia dirección y la cantidad de la recompensa del bloque más la recompensa de la tarifa. En caso de que el minero calcule incorrectamente las cantidades y especifique más de lo esperado, el bloque será rechazado por otros nodos. En caso de que el minero especifique, se aceptará un bloque inferior, pero el minero perderá dinero.
Ejemplo en mainnet cuando el minero pierde toda la recompensa debido a un error:
https://bitaps.com/410995608537d591d6ce5ff2a7966fa84f891c5e2269ef85e8ecdb68d5188f9b
Cyker
bitaps.com