Bitcoin windows build 7600
The mining transaction selection algorithm has been replaced with an algorithm that selects transactions based on their feerate inclusive of unconfirmed ancestor transactions.
This means that a low-fee transaction can become more likely to be selected if a high-fee transaction that spends its outputs is relayed. With this change, the -blockminsize command line option has been removed.
The command line option -blockmaxsize remains an option to specify the maximum number of serialized bytes in a generated block. In preparation for Segregated Witness, the mining algorithm has been modified to optimize transaction selection for a given block weight, rather than a given number of serialized bytes in a block. In this release, transaction selection is unaffected by this distinction as BIP activation is not supported on mainnet in this release, see above , but in future releases and after BIP activation, these calculations would be expected to differ.
For optimal runtime performance, miners using this release should specify -blockmaxweight on the command line, and not specify -blockmaxsize. Additionally or only specifying -blockmaxsize , or relying on default settings for both, may result in performance degradation, as the logic to support -blockmaxsize performs additional computation to ensure that constraint is met. Note that for mainnet, in this release, the equivalent parameter for -blockmaxweight would be four times the desired -blockmaxsize.
See [BIP ] https: In the future, the -blockmaxsize option may be removed, as block creation is no longer optimized for this metric. Feedback is requested on whether to deprecate or keep this command line option in future releases.
In earlier versions, reindexing did validation while reading through the block files on disk. These two have now been split up, so that all blocks are known before validation starts. This was necessary to make certain optimizations that are available during normal synchronizations also available during reindexing. It is possible to only redo validation now, without rebuilding the block index, using the command line option -reindex-chainstate in addition to -reindex which does both. This new option is useful when the blocks on disk are assumed to be fine, but the chainstate is still corrupted.
It is also useful for benchmarks. As CPU mining has been useless for a long time, the internal miner has been removed in this release, and replaced with a simpler implementation for the test framework. The overall result of this is that setgenerate RPC call has been removed, as well as the -gen and -genproclimit command-line options.
For testing, the generate call can still be used to mine a block, and a new RPC call generatetoaddress has been added to mine to a specific address.
This works with wallet disabled. The former implementation of the bytespersigop filter accidentally broke bare multisig which is meant to be controlled by the permitbaremultisig option , since the consensus protocol always counts these older transaction forms as 20 sigops for backwards compatibility. Simply fixing this bug by counting more accurately would have reintroduced a vulnerability.
It has therefore been replaced with a new implementation that rather than filter such transactions, instead treats them for fee purposes only as if they were in fact the size of a transaction actually using all 20 sigops.
Upon receiving a feefilter message from a peer, a node will not send invs for any transactions which do not meet the filter feerate. The transaction relay mechanism used to relay one quarter of all transactions instantly, while queueing up the rest and sending them out in batch.
As this resulted in chains of dependent transactions being reordered, it systematically hurt transaction relay. This significantly reduces orphan transactions. To compensate for the removal of instant relay, the frequency of batch sending was doubled for outgoing peers. The maximum size of orphan transactions that are kept in memory until their ancestors arrive has been raised in PR from to bytes. They are now also removed from memory when they are included in a block, conflict with a block, and time out after 20 minutes.
We respond at most once to a getaddr request during the lifetime of a connection since PR Connections to peers who have recently been the first one to give us a valid new block or transaction are protected from disconnections since PR RPC calls have been added to output detailed statistics for individual mempool entries, as well as to calculate the in-mempool ancestors or descendants of a transaction: There was a divergence between bit and bit platforms, and the txids were missing in the hashed data.
This has been fixed, but this means that the output will be different than from previous versions. This is no longer the case. This also affects the GUI debug console.
The sorting of the output of the getrawmempool output has changed. If you have problems on a certain device or Linux distribution combination please report them on the bug tracker, it may be possible to resolve them. The executables are not expected to work out of the box on Android. The primary goal is reducing the bandwidth spikes at relay time, though in many cases it also reduces propagation delay. It is automatically enabled between compatible peers.
As a side-effect, ordinary non-mining nodes will download and upload blocks faster if those blocks were produced by miners using similar transaction filtering policies. This means that a miner who produces a block with many transactions discouraged by your node will be relayed slower than one with only transactions already in your memory pool. The overall effect of such relay differences on the network may result in blocks which include widely- discouraged transactions losing a stale block race, and therefore miners may wish to configure their node to take common relay policies into consideration.
Existing wallets will still use traditional key generation. Encrypting the wallet will create a new seed which requires a new backup! Wallet dumps created using the dumpwallet RPC will contain the deterministic seed. This is expected to allow future versions to import the seed and all associated funds, but this is not yet implemented. Keep in mind that this flag only has affect on newly created wallets.
Pull request , BIP However, BIP does not yet specify activation parameters on mainnet, and so this release does not support segwit use on mainnet. Testnet use is supported, and after BIP is updated with proposed parameters, a future release of Bitcoin Core is expected that implements those parameters for mainnet.
Furthermore, because segwit activation is not yet specified for mainnet, version 0. The mining transaction selection algorithm has been replaced with an algorithm that selects transactions based on their feerate inclusive of unconfirmed ancestor transactions.
This means that a low-fee transaction can become more likely to be selected if a high-fee transaction that spends its outputs is relayed. With this change, the -blockminsize command line option has been removed. The command line option -blockmaxsize remains an option to specify the maximum number of serialized bytes in a generated block. In preparation for Segregated Witness, the mining algorithm has been modified to optimize transaction selection for a given block weight, rather than a given number of serialized bytes in a block.
In this release, transaction selection is unaffected by this distinction as BIP activation is not supported on mainnet in this release, see above , but in future releases and after BIP activation, these calculations would be expected to differ. For optimal runtime performance, miners using this release should specify -blockmaxweight on the command line, and not specify -blockmaxsize. Additionally or only specifying -blockmaxsize , or relying on default settings for both, may result in performance degradation, as the logic to support -blockmaxsize performs additional computation to ensure that constraint is met.
Note that for mainnet, in this release, the equivalent parameter for -blockmaxweight would be four times the desired -blockmaxsize. See [BIP ] https: In the future, the -blockmaxsize option may be removed, as block creation is no longer optimized for this metric. Feedback is requested on whether to deprecate or keep this command line option in future releases. In earlier versions, reindexing did validation while reading through the block files on disk. These two have now been split up, so that all blocks are known before validation starts.
This was necessary to make certain optimizations that are available during normal synchronizations also available during reindexing. It is possible to only redo validation now, without rebuilding the block index, using the command line option -reindex-chainstate in addition to -reindex which does both. This new option is useful when the blocks on disk are assumed to be fine, but the chainstate is still corrupted.
It is also useful for benchmarks. As CPU mining has been useless for a long time, the internal miner has been removed in this release, and replaced with a simpler implementation for the test framework. The overall result of this is that setgenerate RPC call has been removed, as well as the -gen and -genproclimit command-line options.
For testing, the generate call can still be used to mine a block, and a new RPC call generatetoaddress has been added to mine to a specific address. This works with wallet disabled. The former implementation of the bytespersigop filter accidentally broke bare multisig which is meant to be controlled by the permitbaremultisig option , since the consensus protocol always counts these older transaction forms as 20 sigops for backwards compatibility.
Simply fixing this bug by counting more accurately would have reintroduced a vulnerability.