¿Por qué getblocktemplate usa la prioridad para la selección de transacciones?

No sé cómo getblocktemplatefunciona exactamente, pero parece incluir transacciones basadas en la prioridad .

Seleccionar transacciones en función de la prioridad no es el método más rentable para construir un bloque (a diferencia de la tarifa/byte), por lo que getblocktemplatesolo lo utilizarán los mineros que no han descubierto cómo construir sus propios bloques.

¿Por qué alguien usaría getblocktemplatelo contrario?

Respuestas (1)

Getblocktemplate construye un bloque basado en parámetros de configuración. En versiones recientes, el valor predeterminado es utilizar la tarifa por byte como criterio para todo el bloque.

Historia

En las versiones de Bitcoin hasta la 0.6 , se utilizó la selección basada en prioridad para todo el bloque. Era un medio para alentar el crecimiento de la joven economía de Bitcoin. Sin embargo, también tenía una tarifa de transacción mínima que aumentaba a medida que el espacio en bloques se acercaba al límite.

En la versión 0.7 se introdujo la -blockprioritysizeconfiguración que dividía los bloques en un área de prioridad y un área de tarifa . El área de prioridad estaba allí para admitir una pequeña cantidad de transacciones de bajo costo para continuar, y estaba limitada a 27 kB de forma predeterminada (50 kB desde la versión 0.9 ). El área de tarifas está ordenada por tarifa por byte y maximiza las tarifas totales para los mineros.

Versiones recientes

En Bitcoin Core 0.12 , la configuración predeterminada para el tamaño de prioridad se redujo a 0. También introdujo un algoritmo más eficiente para seleccionar transacciones, que funciona de manera subóptima para el área de prioridad.

En la próxima versión de Bitcoin Core 0.13 , el algoritmo de selección de algoritmo se mejorará nuevamente y utilizará la lógica Child-pays-for-parent (CPFP). Esta lógica utiliza tarifas de transacciones descendientes no confirmadas para determinar si se incluyen los padres. Aumenta las tarifas totales que se pueden tomar en comparación con el algoritmo anterior y permite que las billeteras aumenten las tarifas en una transacción al gastar sus salidas de cambio con una tarifa más alta.

Gracias, Pedro. Mientras te tengo, ¿getblocktemplate devuelve la lista de transacciones en algún orden en particular?
Sí, en el orden en que fueron seleccionados para su inclusión. Esto significa la prioridad más alta/fee_per_byte primero.