Committed bloom filters for improved wallet performance and SPV security



Summary:

The Bitcoin community has introduced several concepts aimed at improving the lightweight client model in a secure, efficient and privacy compatible manner. One of these concepts is the BFD which can be used instead of BIP37 and allows the filter to be cached between clients without needing to be recomputed. Additionally, it enables normal pruned nodes to do re-scans locally of their wallet without having to have the block data available or read the entire block chain from disk.Unconfirmed transactions are vital for real-world use, with merchants willing to accept credit card payments of thousands of dollars and ship the goods despite the fact that the transaction can be reversed up to 60 days later. Losing the ability to have instant transactions results in significant costs, which are typically well above the fraud risk. Despite such advantages, some members of the community are not convinced that displaying unconfirmed transactions in a wallet is worth the privacy tradeoff. A user has very little to gain from this knowledge until the transaction is in a block. The Bitcoin community is exploring potential ways to handle 0-conf/mempool filtering - if & once BDF would have been deployed (any type, semi-trusted oracles or protocol-level/softfork) - as this is important from a user-experience perspective (otherwise incoming funds can take several minutes to hours until they appear). Using BIP37 bloom filters just for mempool filtering would result in the same unwanted privacy-setup.


Updated on: 2023-06-11T04:57:08.531566+00:00