Ultraprune merged in mainline [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2012-10-21T01:38:23+00:00


Summary:

Pieter Wuille, a Bitcoin Core developer, has announced the merging of his "ultraprune" branch into mainline, which involves significant changes to the blockchain validation process. The ultraprune feature aims to improve performance and reduce the working set size for validation by using an ultra-pruned copy of the blockchain instead of a transaction index. This copy only includes unspent transaction outputs in a custom compact format while still keeping all blocks for serving other nodes, rescanning, and reorganizations.Several changes have been made as part of this merge. The blk000?.dat files have been renamed to blocks/blk000? ?.dat with a maximum size of 128 MiB and pre-allocated per 16 MiB. The previous Berkeley DB blkindex.dat has been replaced by a LevelDB directory called blktree/, which only contains a block index without a transaction index. Additionally, a new LevelDB directory called coins/ has been added, which contains data about the current unspent transaction output set. Undo data for blocks is now stored in new files called blocks/rev000? ?.dat, which is necessary for reorganization.Two new RPC calls, gettxout and gettxoutsetinfo, have also been introduced. These changes are expected to significantly improve performance, as LevelDB handles slow I/O more efficiently than Berkeley DB, and the working set size for validation is much smaller.Wuille believes that these changes are a step towards preparing for future pruning and enabling the separation between validation nodes and archive nodes. However, he acknowledges that implementing these changes may have profound effects on the network and suggests that further discussion is needed before implementation. Unfortunately, no specific link or instructions were provided for Arklan to access the project being tested.


Updated on: 2023-08-01T04:01:12.571766+00:00