Según Wiki :
Si el tamaño del bloque es superior a 250 kB, las transacciones se vuelven cada vez más caras a medida que el tamaño del bloque se acerca al límite de 500 kB. Enviar una transacción cuando el tamaño del bloque es de 400 kB costará 5 veces la cantidad normal; enviar cuando es de 499 kB costará 500x, etc.
¿Cuál es la fórmula exacta que determina la tarifa de transacción?
Consulte GetMinFee() en main.h para conocer el código que determina la tarifa mínima de transacción.
La parte que estás describiendo se implementa de la siguiente manera:
// Raise the price as the block approaches full
if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2)
{
if (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
return MAX_MONEY;
nMinFee *= MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
}
dónde:
nBlockSize
depende de quienes seamos:
nBlockSize
es 1nBlockSize
es 1000nBlockSize
es el tamaño del bloque que estamos construyendo antes de agregar la nueva transacciónnNewBlockSize
es el tamaño del bloque que incluye la nueva transacciónMAX_BLOCK_SIZE_GEN
es 500kBMAX_MONEY
son 21 millones de BTC (todo el dinero del mundo)por lo que está diciendo:
500kB / (500kB - nNewBlockSize)
Nota: al reorganizar los símbolos, obtenemos exactamente lo que escribió Meni en su respuesta:
Fee
= Normal fee / ((500kB - size) / 500kB)
=Normal fee / (1 - size / 500kB)
No conozco la fórmula de ninguna fuente autorizada, pero según los ejemplos en el texto, es
Fee = Normal fee / (1 - Block size / 500KB)
O de manera equivalente (y sospecho que el código real usa este formulario)
Fee = Normal fee * (500 KB) / (500KB - Block size)
Las otras respuestas describen las reglas implementadas actualmente en el cliente, pero espero que esas reglas se reemplacen una vez que los límites de tamaño de bloque sean relevantes. Dado que esas reglas no se aplican cuando los clientes verifican la cadena de bloques, son solo pautas y se violarán si van en contra de los intereses de los mineros.
Los mineros simplemente elegirán el subconjunto de transacciones candidatas que respete los límites (tamaño de bloque y recuento de firmas) y maximice la tarifa.
Sin tener en cuenta algunas complicaciones menores (mochila y transacciones dependientes), esto significa que los mineros clasifican las transacciones según fee/transactionSize
si el tamaño máximo es el factor limitante y fee/signatureCount
si el recuento de firmas es el factor limitante.
CodesInChaos
david schwartz
CodesInChaos
david schwartz
Esteban Gornick