Electrum includes a locktime
in all transactions by default.
Usually the value is equal to the current block height, eg 592918
, however it sometimes drops perhaps 20 or so blocks.
What is going on here?
The locktime value is deliberately set to discourage a subtle attack known as "Fee sniping" and randomly set to an earlier block height to improve privacy (eg for CoinJoin users that need more setup time).
This is also done in Bitcoin Core with the nLockTime
.
Both Bitcoin Core and Electrum have very similar behavior when it comes to setting the locktime. As already stated in your answer, this is used to prevent fee sniping. However, besides setting the locktime to the current block height, they also choose a random block height from 99 blocks into the past on average every 10 transactions here in Bitcoin, here in Electrum. This is additionally done to give better privacy to transactions that are withheld for some time after signing (like Coinjoin transactions).