Con como lo hicieron, me refería al código.
// Check for negative or overflow input values
if (txPrev.vout[prevout.n].nValue < 0)
return error("ConnectInputs() : txin.nValue negative");
if (txPrev.vout[prevout.n].nValue > MAX_MONEY)
return error("ConnectInputs() : txin.nValue too high");
if (nValueIn > MAX_MONEY)
return error("ConnectInputs() : txin total too high");
Traducción:
// Comprobador de valores negativos o valores de desborde.
Entonces.. Si( el valor de txPrev.vout[prevout.n].nValue es menor a 0)
retornar error "txin.nValue es negativo"
Si( txPrev.vout[prevout.n].nValue es mayor a MAX_MONEY)
retornar error "txin.nValue es muy alto"
Si( nValueIn es mayor a MAX_MONEY)
retornar error "el total de txinn es demasiado alto"
Siendo MAX MONEY Los 21 Millones de bitcoins
static const int64 MAX_MONEY = 21000000 * COIN;
Por lo que con este FIX no podrías hacer un ataque de este tipo nuevamente, pero por en consenso los nodos y el mismo software desecharían la transacción como anómala
source:
https://github.com/bitcoin/bitcoin/commit/d4c6b90ca3f9b47adb1b2724a0c3514f80635c84#diff-118fcbaaba162ba17933c7893247df3aR1013