Today marks the official release of Bitcoin Core 0.12.0, the twelfth generation of Bitcoin’s reference client as first launched by Satoshi Nakamoto seven years ago. Developed by close to 100 contributors over seven months, the latest version of Bitcoin Core includes more than 20 improvements, particularly regarding performance, security and usability.
These are the sixth most notable changes.
Memory Pool Limiting
Memory pools are the collections of unconfirmed transactions as stored individually by all full nodes. Memory pools fill up in between blocks as new transactions are transmitted over the Bitcoin network and are depleted when these transactions are included in blocks. But if a series of subsequent blocks remain full for an extended period – either due to legitimate transactions or spam attacks – memory pools might not deplete completely, and backlogs could build up. With no maximum limit, the backlog might even grow to the point where nodes run out of memory and crash. (This is the “crash landing” scenario former Bitcoin XT lead developer Mike Hearn feared.)
Memory pool limiting, as the name suggests, enforces a hard limit on the maximum size of memory pools to prevent this scenario. If the maximum is reached, nodes reject or clear