Age | Commit message (Collapse) | Author |
|
constraints
Transactions are not allowed in the memory pool or selected for inclusion in a block until their lock times exceed chainActive.Tip()->GetMedianTimePast(). However blocks including transactions which are only mature under the old rules are still accepted; this is *not* the soft-fork required to actually rely on the new constraint in production.
|
|
lock-time calculations
The lock-time code currently uses CBlock::nTime as the cutoff point for time based locked transactions. This has the unfortunate outcome of creating a perverse incentive for miners to lie about the time of a block in order to collect more fees by including transactions that by wall clock determination have not yet matured. By using CBlockIndex::GetMedianTimePast from the prior block instead, the self-interested miner no longer gains from generating blocks with fraudulent timestamps. Users can compensate for this change by simply adding an hour (3600 seconds) to their time-based lock times.
If enforced, this would be a soft-fork change. This commit only adds the functionality on an unexecuted code path, without changing the behaviour of Bitcoin Core.
|
|
Will now be needed by CHECKLOCKTIMEVERIFY code.
Rebased-From: 48e9c57cf06352f890eac4285ae022d8746cf3fd
|
|
|
|
|
|
- BITCOIN_FOLDER_SUBFOLDER_FILENAME_H
|
|
Requiring arith_uint256 at such a base level is not good for modularity.
|
|
|