Bitcoin Core has not previously included an address indexer. Usually if you want a fast way to query address balances you would also need to run something like Fulcrum or Electrs.
While Bitcoin Core has the ability to make a transaction index, it doesn't necessarily store the total balance of any given address in an accessible way. If you've ever needed to reload a wallet in Core, and had to wait while it reindexes the chain -- or worse, realized that you pruned your node and now you need to redo IBD...) you may have wished that there was an address indexer built in.
Apparently, I number of people have attempted to make such an indexer:
This has been a long-requested feature, attempted in previous PRs (#2802, #3652, #6835, #10370, #14053).
Some concerns raised were about the ability for an index like this to scale.
However, it looks like Toth's proposal may be more efficient...and it seems like you can use it even if you prune your node.
This index can be synced in a few hours and the current disk usage is ~52 GB. This is less than the ~66 GBtxindexdisk usage in v31 and earlier. This index can also be used with a pruned node, so a full node can be supported in < 100 GB of disk space. Missing blocks are returned by hash and can be requested from peers usinggetblockfrompeer.
It looks like the proposal has gotten a bit of support and review already:
Thanks @kravens, @romanz, and @ViniciusCestarii for the reviews, and @sedited, @l0rinc, and @w0xlt for the concept ACKs!